This commit is contained in:
@@ -1,6 +1,5 @@
|
||||
const { StaffTrainingAssignment, StaffAchievement, UsersAuth, Subject } = require('../models');
|
||||
const { cacheUtils } = require('../config/redis');
|
||||
const { addDatabaseWriteJob } = require('../config/bullmq');
|
||||
const { v4: uuidv4 } = require('uuid');
|
||||
|
||||
/**
|
||||
@@ -55,11 +54,7 @@ class TrainingController {
|
||||
for (const assignment of assignments) {
|
||||
if (assignment.status !== 'completed' && new Date(assignment.deadline) < now) {
|
||||
if (assignment.status !== 'overdue') {
|
||||
await addDatabaseWriteJob('update', 'StaffTrainingAssignment', {
|
||||
id: assignment.id,
|
||||
status: 'overdue',
|
||||
});
|
||||
assignment.status = 'overdue';
|
||||
await assignment.update({ status: 'overdue' });
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -102,16 +97,15 @@ class TrainingController {
|
||||
notes: notes || null,
|
||||
};
|
||||
|
||||
// Async write to DB via BullMQ
|
||||
await addDatabaseWriteJob('create', 'StaffTrainingAssignment', assignmentData);
|
||||
const newAssignment = await StaffTrainingAssignment.create(assignmentData);
|
||||
|
||||
// Clear cache
|
||||
await cacheUtils.del(`training:assignments:${staff_id}:*`);
|
||||
|
||||
res.status(202).json({
|
||||
res.status(201).json({
|
||||
success: true,
|
||||
message: 'Training assignment request queued',
|
||||
data: assignmentData,
|
||||
message: 'Training assignment created successfully',
|
||||
data: newAssignment,
|
||||
});
|
||||
} catch (error) {
|
||||
next(error);
|
||||
@@ -142,17 +136,15 @@ class TrainingController {
|
||||
});
|
||||
}
|
||||
|
||||
await addDatabaseWriteJob('update', 'StaffTrainingAssignment', {
|
||||
id,
|
||||
status,
|
||||
});
|
||||
await assignment.update({ status });
|
||||
|
||||
// Clear cache
|
||||
await cacheUtils.del(`training:assignments:${assignment.staff_id}:*`);
|
||||
|
||||
res.status(202).json({
|
||||
res.status(200).json({
|
||||
success: true,
|
||||
message: 'Assignment status update queued',
|
||||
message: 'Assignment status updated successfully',
|
||||
data: assignment,
|
||||
});
|
||||
} catch (error) {
|
||||
next(error);
|
||||
@@ -199,16 +191,15 @@ class TrainingController {
|
||||
verified_at: verified_by ? new Date() : null,
|
||||
};
|
||||
|
||||
// Async write to DB via BullMQ
|
||||
await addDatabaseWriteJob('create', 'StaffAchievement', achievementData);
|
||||
const newAchievement = await StaffAchievement.create(achievementData);
|
||||
|
||||
// Clear cache
|
||||
await cacheUtils.del(`training:achievements:${staff_id}`);
|
||||
|
||||
res.status(202).json({
|
||||
res.status(201).json({
|
||||
success: true,
|
||||
message: 'Achievement creation request queued',
|
||||
data: achievementData,
|
||||
message: 'Achievement created successfully',
|
||||
data: newAchievement,
|
||||
});
|
||||
} catch (error) {
|
||||
next(error);
|
||||
|
||||
Reference in New Issue
Block a user