From b3a52f640da550c40c2bda60767fab584dc318ca Mon Sep 17 00:00:00 2001 From: cbolles Date: Tue, 12 Mar 2024 16:01:19 -0400 Subject: [PATCH 1/3] Add training field when enabling entries --- packages/server/src/tag/services/tag.service.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/server/src/tag/services/tag.service.ts b/packages/server/src/tag/services/tag.service.ts index 4a205f6e..449cb2b9 100644 --- a/packages/server/src/tag/services/tag.service.ts +++ b/packages/server/src/tag/services/tag.service.ts @@ -210,7 +210,8 @@ export class TagService { study: study._id, complete: false, order, - enabled: enabled + enabled: enabled, + training: false }); } } From be0a019b87b45ce3925ca0220d547c37d9d02960 Mon Sep 17 00:00:00 2001 From: cbolles Date: Tue, 12 Mar 2024 16:12:32 -0400 Subject: [PATCH 2/3] Handle removing users for disabled tags --- packages/server/src/tag/services/tag.service.ts | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/packages/server/src/tag/services/tag.service.ts b/packages/server/src/tag/services/tag.service.ts index 449cb2b9..d5633240 100644 --- a/packages/server/src/tag/services/tag.service.ts +++ b/packages/server/src/tag/services/tag.service.ts @@ -223,7 +223,21 @@ export class TagService { } private async getIncomplete(study: Study, user: string): Promise { - return this.tagModel.findOne({ study: study._id, user, complete: false, enabled: true }); + const incomplete = await this.tagModel.findOne({ study: study._id, user, complete: false }); + + // If no incomplete tag, return null + if (!incomplete) { + return incomplete; + } + + // Make sure the tag is still enabled, otherwise remove the user association and return null + if (!incomplete.enabled) { + await this.tagModel.updateOne({ _id: incomplete._id, }, { $unset: { user: '' }}); + return null; + } + + // Otherwise, there is a tag that the user should complete + return incomplete; } private async removeByStudy(study: Study): Promise { From 734e068bcf2fed3725662ea8432c6227d6646e91 Mon Sep 17 00:00:00 2001 From: cbolles Date: Tue, 12 Mar 2024 16:16:46 -0400 Subject: [PATCH 3/3] Fix formatting --- packages/server/src/tag/services/tag.service.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/server/src/tag/services/tag.service.ts b/packages/server/src/tag/services/tag.service.ts index d5633240..41fb3b32 100644 --- a/packages/server/src/tag/services/tag.service.ts +++ b/packages/server/src/tag/services/tag.service.ts @@ -232,7 +232,7 @@ export class TagService { // Make sure the tag is still enabled, otherwise remove the user association and return null if (!incomplete.enabled) { - await this.tagModel.updateOne({ _id: incomplete._id, }, { $unset: { user: '' }}); + await this.tagModel.updateOne({ _id: incomplete._id }, { $unset: { user: '' } }); return null; }