WIP(teams): more partial fixing

This commit is contained in:
Sabe Jones
2021-02-09 17:08:43 -06:00
committed by SabreCat
parent 248e1c6fe9
commit 6cddb3bf82
4 changed files with 26 additions and 127 deletions

View File

@@ -6,11 +6,6 @@ const SHARED_COMPLETION = {
every: 'allAssignedCompletion',
};
async function _completeMasterTask (masterTask) {
masterTask.completed = true;
await masterTask.save();
}
async function _deleteUnfinishedTasks (groupMemberTask) {
await Tasks.Task.deleteMany({
'group.taskId': groupMemberTask.group.taskId,
@@ -21,33 +16,11 @@ async function _deleteUnfinishedTasks (groupMemberTask) {
}).exec();
}
async function _evaluateAllAssignedCompletion (masterTask) {
let completions;
if (masterTask.group.approval && masterTask.group.approval.required) {
completions = await Tasks.Task.countDocuments({
'group.taskId': masterTask._id,
'group.approval.approved': true,
}).exec();
} else {
completions = await Tasks.Task.countDocuments({
'group.taskId': masterTask._id,
completed: true,
}).exec();
}
if (completions >= masterTask.group.assignedUsers.length) {
await _completeMasterTask(masterTask);
}
}
async function handleSharedCompletion (masterTask, groupMemberTask) {
if (masterTask.type !== 'todo') return;
if (masterTask.group.sharedCompletion === SHARED_COMPLETION.single) {
await _deleteUnfinishedTasks(groupMemberTask);
await _completeMasterTask(masterTask);
} else if (masterTask.group.sharedCompletion === SHARED_COMPLETION.every) {
await _evaluateAllAssignedCompletion(masterTask);
}
if (masterTask.type === 'reward') return;
if (masterTask.type === 'todo') await _deleteUnfinishedTasks(groupMemberTask);
masterTask.completed = groupMemberTask.completed;
await masterTask.save();
}
export {