@stamhoofd/models 2.40.0 → 2.41.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"SetupStepsUpdater.d.ts","sourceRoot":"","sources":["../../../src/helpers/SetupStepsUpdater.ts"],"names":[],"mappings":"AAGA,OAAO,EAGH,QAAQ,IAAI,cAAc,EAI7B,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAIH,YAAY,EACZ,8BAA8B,EAEjC,MAAM,WAAW,CAAC;AAInB,qBAAa,gBAAgB;IACzB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAWtC;WAEO,kDAAkD,CAAC,EAC5D,SAAS,GACZ,GAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAO;WAoEjB,uBAAuB,CAAC,EAAE,EAAE,MAAM;WAalC,qBAAqB,CAC9B,YAAY,EAAE,YAAY,EAC1B,EACI,QAAQ,EACR,8BAA8B,GACjC,GAAE;QACC,QAAQ,CAAC,EAAE,cAAc,CAAC;QAC1B,8BAA8B,CAAC,EAAE,8BAA8B,CAAC;KAC9D;mBAkCW,SAAS;IAe9B,OAAO,CAAC,MAAM,CAAC,kBAAkB;IA8CjC,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAW/B,OAAO,CAAC,MAAM,CAAC,mBAAmB;mBAkBb,0BAA0B;IA+F/C,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAqB/B,OAAO,CAAC,MAAM,CAAC,iBAAiB;mBASX,uBAAuB;CAwB/C"}
1
+ {"version":3,"file":"SetupStepsUpdater.d.ts","sourceRoot":"","sources":["../../../src/helpers/SetupStepsUpdater.ts"],"names":[],"mappings":"AAGA,OAAO,EAGH,QAAQ,IAAI,cAAc,EAI7B,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAIH,YAAY,EACZ,8BAA8B,EAEjC,MAAM,WAAW,CAAC;AAInB,qBAAa,gBAAgB;IACzB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAWtC;WAEO,kDAAkD,CAAC,EAC5D,SAAS,GACZ,GAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAO;WAoEjB,uBAAuB,CAAC,EAAE,EAAE,MAAM;WAalC,qBAAqB,CAC9B,YAAY,EAAE,YAAY,EAC1B,EACI,QAAQ,EACR,8BAA8B,GACjC,GAAE;QACC,QAAQ,CAAC,EAAE,cAAc,CAAC;QAC1B,8BAA8B,CAAC,EAAE,8BAA8B,CAAC;KAC9D;mBAkCW,SAAS;IAe9B,OAAO,CAAC,MAAM,CAAC,kBAAkB;IA8CjC,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAW/B,OAAO,CAAC,MAAM,CAAC,mBAAmB;mBAkBb,0BAA0B;IA+F/C,OAAO,CAAC,MAAM,CAAC,gBAAgB;IA0B/B,OAAO,CAAC,MAAM,CAAC,iBAAiB;mBASX,uBAAuB;CAmD/C"}
@@ -226,7 +226,12 @@ class SetupStepUpdater {
226
226
  totalSteps,
227
227
  finishedSteps,
228
228
  });
229
- setupSteps.markReviewed(structures_1.SetupStepType.Emails, { userId: 'backend', userName: 'backend' });
229
+ if (finishedSteps >= totalSteps) {
230
+ setupSteps.markReviewed(structures_1.SetupStepType.Emails, { userId: 'backend', userName: 'backend' });
231
+ }
232
+ else {
233
+ setupSteps.resetReviewed(structures_1.SetupStepType.Emails);
234
+ }
230
235
  }
231
236
  static updateStepPayment(setupSteps, _organization, _platform) {
232
237
  setupSteps.update(structures_1.SetupStepType.Payment, {
@@ -235,20 +240,41 @@ class SetupStepUpdater {
235
240
  });
236
241
  }
237
242
  static async updateStepRegistrations(setupSteps, organization, platform) {
238
- const defaultAgeGroupIds = platform.config.defaultAgeGroups.map(x => x.id);
239
- const groupsWithDefaultAgeGroupIdQuery = sql_1.SQL.select().from(sql_1.SQL.table(models_1.Group.table))
240
- .where(sql_1.SQL.column('organizationId'), organization.id)
241
- .where(sql_1.SQL.column('periodId'), organization.periodId)
242
- .where(sql_1.SQL.column('defaultAgeGroupId'), defaultAgeGroupIds);
243
- const totalSteps = await groupsWithDefaultAgeGroupIdQuery.count();
244
- const finishedSteps = await groupsWithDefaultAgeGroupIdQuery
245
- .where(sql_1.SQL.jsonValue(sql_1.SQL.column('settings'), '$.value.registeredMembers'), sql_1.SQLWhereSign.GreaterEqual, structures_1.minimumRegistrationCount)
246
- .count();
247
- setupSteps.update(structures_1.SetupStepType.Registrations, {
248
- totalSteps,
249
- finishedSteps,
250
- });
251
- setupSteps.markReviewed(structures_1.SetupStepType.Registrations, { userId: 'backend', userName: 'backend' });
243
+ const defaultAgeGroupIds = platform.config.defaultAgeGroups.filter(g => g.minimumRequiredMembers > 0).map(x => x.id);
244
+ const groupsWithDefaultAgeGroups = await models_1.Group.select()
245
+ .where('organizationId', organization.id)
246
+ .where('periodId', organization.periodId)
247
+ .where('defaultAgeGroupId', defaultAgeGroupIds)
248
+ .where('deletedAt', null)
249
+ .fetch();
250
+ let totalSteps = 0;
251
+ // Count per default age group, (e.g. minmium 10 means the total across all members with the same age group id should be 10, not 10 each)
252
+ const processedDefaultAgeGroupIds = new Map();
253
+ for (const group of groupsWithDefaultAgeGroups) {
254
+ const defaultAgeGroup = platform.config.defaultAgeGroups.find(g => g.id === group.defaultAgeGroupId);
255
+ if (!defaultAgeGroup) {
256
+ continue;
257
+ }
258
+ if (!processedDefaultAgeGroupIds.has(defaultAgeGroup.id)) {
259
+ totalSteps += defaultAgeGroup.minimumRequiredMembers;
260
+ processedDefaultAgeGroupIds.set(defaultAgeGroup.id, Math.min(defaultAgeGroup.minimumRequiredMembers, group.settings.registeredMembers ?? 0));
261
+ }
262
+ else {
263
+ processedDefaultAgeGroupIds.set(defaultAgeGroup.id, Math.min(defaultAgeGroup.minimumRequiredMembers, processedDefaultAgeGroupIds.get(defaultAgeGroup.id) + (group.settings.registeredMembers ?? 0)));
264
+ }
265
+ }
266
+ const finishedSteps = Array.from(processedDefaultAgeGroupIds.values()).reduce((a, b) => a + b, 0);
267
+ if (finishedSteps)
268
+ setupSteps.update(structures_1.SetupStepType.Registrations, {
269
+ totalSteps,
270
+ finishedSteps,
271
+ });
272
+ if (finishedSteps >= totalSteps) {
273
+ setupSteps.markReviewed(structures_1.SetupStepType.Registrations, { userId: 'backend', userName: 'backend' });
274
+ }
275
+ else {
276
+ setupSteps.resetReviewed(structures_1.SetupStepType.Registrations);
277
+ }
252
278
  }
253
279
  }
254
280
  exports.SetupStepUpdater = SetupStepUpdater;
@@ -1 +1 @@
1
- {"version":3,"file":"SetupStepsUpdater.js","sourceRoot":"","sources":["../../../src/helpers/SetupStepsUpdater.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SetupStepsUpdater.js","sourceRoot":"","sources":["../../../src/helpers/SetupStepsUpdater.ts"],"names":[],"mappings":";;;AAAA,6DAAwD;AACxD,8CAAiD;AACjD,wCAAmD;AACnD,sDAO+B;AAC/B,gDAA+C;AAC/C,sCAOmB;AAInB,MAAa,gBAAgB;IACjB,MAAM,CAAU,oBAAoB,GAGxC;QACI,CAAC,0BAAa,CAAC,gBAAgB,CAAC,EAAE,IAAI,CAAC,0BAA0B;QACjE,CAAC,0BAAa,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,mBAAmB;QACnD,CAAC,0BAAa,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,gBAAgB;QAC7C,CAAC,0BAAa,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,kBAAkB;QACjD,CAAC,0BAAa,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,gBAAgB;QAC7C,CAAC,0BAAa,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,iBAAiB;QAC/C,CAAC,0BAAa,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC,uBAAuB;KAC9D,CAAC;IAEN,MAAM,CAAC,KAAK,CAAC,kDAAkD,CAAC,EAC5D,SAAS,MACe,EAAE;QAC1B,MAAM,GAAG,GAAG,oDAAoD,CAAC;QACjE,qBAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAEzB,MAAM,qBAAY,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,IAAI,EAAE;YACxC,MAAM,QAAQ,GAAG,CAAC,MAAM,iBAAQ,CAAC,sBAAsB,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;YAEnE,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAEpC,IAAI,MAAM,GAAG,EAAE,CAAC;YAEhB,OAAO,IAAI,EAAE,CAAC;gBACV,MAAM,+BAA+B,GAC/B,MAAM,uCAA8B,CAAC,KAAK,CACxC;oBACI,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE;oBAChC,QAAQ,EAAE,QAAQ;iBACrB,EACD,EAAE,KAAK,EAAE,SAAS,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,CAC3C,CAAC;gBAEN,IAAI,+BAA+B,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC/C,MAAM,GAAG,EAAE,CAAC;oBACZ,MAAM;gBACV,CAAC;gBAED,MAAM,qBAAqB,GAAG,IAAI,GAAG,CACjC,+BAA+B,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;oBAC3C,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;gBAC3C,CAAC,CAAC,CACL,CAAC;gBAEF,MAAM,aAAa,GAAG,MAAM,qBAAY,CAAC,QAAQ,CAC7C,GAAG,qBAAqB,CAAC,IAAI,EAAE,CAClC,CAAC;gBAEF,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;oBACvC,MAAM,cAAc,GAAG,YAAY,CAAC,EAAE,CAAC;oBACvC,MAAM,8BAA8B,GAC9B,qBAAqB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;oBAEhD,IAAI,CAAC,8BAA8B,EAAE,CAAC;wBAClC,OAAO,CAAC,KAAK,CACT,mFAAmF,cAAc,EAAE,CACtG,CAAC;wBACF,SAAS;oBACb,CAAC;oBAED,OAAO,CAAC,GAAG,CACP,0CAA0C;0BACxC,cAAc,CACnB,CAAC;oBAEF,MAAM,gBAAgB,CAAC,SAAS,CAC5B,8BAA8B,EAC9B,QAAQ,EACR,YAAY,CACf,CAAC;gBACN,CAAC;gBAED,MAAM;sBACA,+BAA+B,CAC7B,+BAA+B,CAAC,MAAM,GAAG,CAAC,CAC7C,CAAC,EAAE,CAAC;YACb,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,EAAU;QAC3C,MAAM,YAAY,GAAG,MAAM,qBAAY,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACpD,IAAI,CAAC,YAAY,EAAE,CAAC;YAChB,MAAM,IAAI,2BAAW,CAAC;gBAClB,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,wBAAwB;gBACjC,KAAK,EAAE,mCAAmC;aAC7C,CAAC,CAAC;QACP,CAAC;QAED,MAAM,IAAI,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAC;IACnD,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAC9B,YAA0B,EAC1B,EACI,QAAQ,EACR,8BAA8B,MAI9B,EAAE;QAEN,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,QAAQ,GAAG,MAAM,iBAAQ,CAAC,sBAAsB,EAAE,CAAC;YACnD,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACZ,OAAO,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;gBACvC,OAAO;YACX,CAAC;QACL,CAAC;QAED,IAAI,CAAC,8BAA8B,EAAE,CAAC;YAClC,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACpC,8BAA8B,GAAG,CAC7B,MAAM,uCAA8B,CAAC,KAAK,CAAC;gBACvC,cAAc,EAAE,YAAY,CAAC,EAAE;gBAC/B,QAAQ,EAAE,QAAQ;aACrB,CAAC,CACL,CAAC,CAAC,CAAC,CAAC;YAEL,IAAI,CAAC,8BAA8B,EAAE,CAAC;gBAClC,OAAO,CAAC,KAAK,CACT,sDAAsD,YAAY,CAAC,EAAE,iBAAiB,QAAQ,YAAY,CAC7G,CAAC;gBACF,OAAO;YACX,CAAC;QACL,CAAC;QAED,MAAM,IAAI,CAAC,SAAS,CAChB,8BAA8B,EAC9B,QAAQ,EACR,YAAY,CACf,CAAC;IACN,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,SAAS,CAC1B,8BAA8D,EAC9D,QAAwB,EACxB,YAA0B;QAE1B,MAAM,UAAU,GAAG,8BAA8B,CAAC,UAAU,CAAC;QAE7D,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,0BAAa,CAAC,EAAE,CAAC;YAClD,MAAM,SAAS,GAAG,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;YACtD,MAAM,SAAS,CAAC,UAAU,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;QACxD,CAAC;QAED,MAAM,8BAA8B,CAAC,IAAI,EAAE,CAAC;IAChD,CAAC;IAEO,MAAM,CAAC,kBAAkB,CAC7B,UAAsB,EACtB,YAA0B,EAC1B,QAAwB;QAExB,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,IAAI,aAAa,GAAG,CAAC,CAAC;QAEtB,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC;QAElD,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;YACrC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,WAAW,CAAC;YAEjC,iDAAiD;YACjD,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;gBAC/B,SAAS;YACb,CAAC;YAED,UAAU,EAAE,CAAC;YAEb,MAAM,aAAa,GAAG,WAAW,CAAC,EAAE,CAAC;YACrC,IAAI,uBAAuB,GAAG,CAAC,CAAC;YAEhC,KAAK,MAAM,OAAO,IAAI,YAAY,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;gBACtD,IAAI,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;oBACjD,uBAAuB,EAAE,CAAC;gBAC9B,CAAC;YACL,CAAC;YAED,IAAI,GAAG,KAAK,IAAI,IAAI,uBAAuB,GAAG,GAAG,EAAE,CAAC;gBAChD,SAAS;YACb,CAAC;YAED,IAAI,GAAG,KAAK,IAAI,IAAI,uBAAuB,GAAG,GAAG,EAAE,CAAC;gBAChD,SAAS;YACb,CAAC;YAED,aAAa,EAAE,CAAC;QACpB,CAAC;QAED,UAAU,CAAC,MAAM,CAAC,0BAAa,CAAC,QAAQ,EAAE;YACtC,UAAU;YACV,aAAa;SAChB,CAAC,CAAC;IACP,CAAC;IAEO,MAAM,CAAC,gBAAgB,CAC3B,UAAsB,EACtB,aAA2B,EAC3B,SAAyB;QAEzB,UAAU,CAAC,MAAM,CAAC,0BAAa,CAAC,MAAM,EAAE;YACpC,UAAU,EAAE,CAAC;YACb,aAAa,EAAE,CAAC;SACnB,CAAC,CAAC;IACP,CAAC;IAEO,MAAM,CAAC,mBAAmB,CAC9B,UAAsB,EACtB,YAA0B,EAC1B,SAAyB;QAEzB,MAAM,UAAU,GAAG,CAAC,CAAC;QACrB,IAAI,aAAa,GAAG,CAAC,CAAC;QAEtB,IAAI,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;YACrC,aAAa,GAAG,CAAC,CAAC;QACtB,CAAC;QAED,UAAU,CAAC,MAAM,CAAC,0BAAa,CAAC,SAAS,EAAE;YACvC,UAAU;YACV,aAAa;SAChB,CAAC,CAAC;IACP,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,0BAA0B,CAC3C,UAAsB,EACtB,YAA0B,EAC1B,QAAwB;QAExB,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,gDAAgD,GAAG,QAAQ,CAAC,MAAM,CAAC,gBAAgB;aACpF,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,IAAI,CAAC,CAAC,CAAC,cAAc,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;QAEhF,MAAM,iBAAiB,GAAG,gDAAgD,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAE1F,MAAM,UAAU,GAAG,iBAAiB,CAAC,MAAM,KAAK,CAAC;YAC7C,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,MAAM,mCAA0B,CAAC,MAAM,EAAE;iBACtC,KAAK,CAAC,kBAAkB,EAAE,iBAAiB,CAAC;iBAC5C,KAAK,CAAC,gBAAgB,EAAE,YAAY,CAAC,EAAE,CAAC;iBACxC,KAAK,CAAC,SAAG,CAAC,KAAK,CAAC,SAAS,EAAE,kBAAY,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;iBAC1E,KAAK,EAAE,CAAC;QAEjB,yFAAyF;QACzF,MAAM,SAAS,GAAG,mBAAS,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;QACzE,MAAM,OAAO,GAAG,MAAM,eAAM,CAAC,YAAY,CAAC,GAAG,SAAS,CAAC,CAAC;QACxD,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,KAAK,YAAY,CAAC,EAAE,IAAI,CAAC,CAAC,QAAQ,KAAK,YAAY,CAAC,QAAQ,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,sBAAS,CAAC,UAAU,IAAI,CAAC,CAAC,aAAa,KAAK,IAAI,IAAI,CAAC,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC;QAElP,MAAM,eAAe,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAEpD,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;QAE7E,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,IAAI,aAAa,GAAG,CAAC,CAAC;QAEtB,MAAM,MAAM,GAAG,MAAM,cAAK,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC;QAE1E,MAAM,oBAAoB,GAAoE,gDAAgD;aACzI,OAAO,CAAC,CAAC,cAAc,EAAE,EAAE;YACxB,MAAM,kBAAkB,GAAG,cAAc,CAAC,kBAAkB,CAAC;YAC7D,IAAI,kBAAkB,KAAK,IAAI,EAAE,CAAC;gBAC9B,MAAM,IAAI,GAAkE;oBACxE,cAAc;oBACd,KAAK,EAAE,IAAI;iBACd,CAAC;gBACF,OAAO,CAAC,IAAI,CAAC,CAAC;YAClB,CAAC;YAED,OAAO,MAAM;iBACR,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,KAAK,IAAI,IAAI,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;iBAC7F,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;gBACX,OAAO;oBACH,cAAc;oBACd,KAAK;iBACR,CAAC;YACN,CAAC,CAAC,CAAC;QACX,CAAC,CAAC,CAAC;QAEP,KAAK,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,IAAI,oBAAoB,EAAE,CAAC;YAC3D,MAAM,EAAE,cAAc,EAAE,GAAG,EAAE,cAAc,EAAE,GAAG,EAAE,GAAG,cAAc,CAAC;YAEpE,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;gBACf,SAAS;YACb,CAAC;YAED,UAAU,IAAI,GAAG,CAAC;YAElB,MAAM,gBAAgB,GAAG,cAAc,CAAC,EAAE,CAAC;YAC3C,IAAI,kCAAkC,GAAG,CAAC,CAAC;YAE3C,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACjB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;oBAC3B,IAAI,MAAM,CAAC,gBAAgB,KAAK,gBAAgB,EAAE,CAAC;wBAC/C,kCAAkC,EAAE,CAAC;oBACzC,CAAC;gBACL,CAAC;YACL,CAAC;iBACI,CAAC;gBACF,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;oBAC3B,IAAI,MAAM,CAAC,gBAAgB,KAAK,gBAAgB,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK,CAAC,EAAE,EAAE,CAAC;wBAC9E,kCAAkC,EAAE,CAAC;oBACzC,CAAC;gBACL,CAAC;YACL,CAAC;YAED,IAAI,GAAG,KAAK,IAAI,IAAI,kCAAkC,GAAG,GAAG,EAAE,CAAC;gBAC3D,YAAY;gBACZ,SAAS;YACb,CAAC;YAED,aAAa,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,kCAAkC,CAAC,CAAC;QACvE,CAAC;QAED,UAAU,CAAC,MAAM,CAAC,0BAAa,CAAC,gBAAgB,EAAE;YAC9C,UAAU;YACV,aAAa;SAChB,CAAC,CAAC;IACP,CAAC;IAEO,MAAM,CAAC,gBAAgB,CAAC,UAAsB,EAClD,YAA0B,EAC1B,SAAyB;QACzB,MAAM,UAAU,GAAG,CAAC,CAAC;QACrB,IAAI,aAAa,GAAG,CAAC,CAAC;QAEtB,MAAM,MAAM,GAAG,YAAY,CAAC,WAAW,CAAC,MAAM,CAAC;QAE/C,2CAA2C;QAC3C,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;YAC9B,aAAa,GAAG,CAAC,CAAC;QACtB,CAAC;QAED,UAAU,CAAC,MAAM,CAAC,0BAAa,CAAC,MAAM,EAAE;YACpC,UAAU;YACV,aAAa;SAChB,CAAC,CAAC;QAEH,IAAI,aAAa,IAAI,UAAU,EAAE,CAAC;YAC9B,UAAU,CAAC,YAAY,CAAC,0BAAa,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC;QAC9F,CAAC;aACI,CAAC;YACF,UAAU,CAAC,aAAa,CAAC,0BAAa,CAAC,MAAM,CAAC,CAAC;QACnD,CAAC;IACL,CAAC;IAEO,MAAM,CAAC,iBAAiB,CAAC,UAAsB,EACnD,aAA2B,EAC3B,SAAyB;QACzB,UAAU,CAAC,MAAM,CAAC,0BAAa,CAAC,OAAO,EAAE;YACrC,UAAU,EAAE,CAAC;YACb,aAAa,EAAE,CAAC;SACnB,CAAC,CAAC;IACP,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,UAAsB,EAC/D,YAA0B,EAC1B,QAAwB;QACxB,MAAM,kBAAkB,GAAG,QAAQ,CAAC,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,sBAAsB,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAErH,MAAM,0BAA0B,GAAG,MAAM,cAAK,CAAC,MAAM,EAAE;aAClD,KAAK,CAAC,gBAAgB,EAAE,YAAY,CAAC,EAAE,CAAC;aACxC,KAAK,CAAC,UAAU,EAAE,YAAY,CAAC,QAAQ,CAAC;aACxC,KAAK,CAAC,mBAAmB,EAAE,kBAAkB,CAAC;aAC9C,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC;aACxB,KAAK,EAAE,CAAC;QAEb,IAAI,UAAU,GAAG,CAAC,CAAC;QAEnB,yIAAyI;QACzI,MAAM,2BAA2B,GAAwB,IAAI,GAAG,EAAE,CAAC;QAEnE,KAAK,MAAM,KAAK,IAAI,0BAA0B,EAAE,CAAC;YAC7C,MAAM,eAAe,GAAG,QAAQ,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,iBAAiB,CAAC,CAAC;YACrG,IAAI,CAAC,eAAe,EAAE,CAAC;gBACnB,SAAS;YACb,CAAC;YACD,IAAI,CAAC,2BAA2B,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC,EAAE,CAAC;gBACvD,UAAU,IAAI,eAAe,CAAC,sBAAsB,CAAC;gBACrD,2BAA2B,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,sBAAsB,EAAE,KAAK,CAAC,QAAQ,CAAC,iBAAiB,IAAI,CAAC,CAAC,CAAC,CAAC;YACjJ,CAAC;iBACI,CAAC;gBACF,2BAA2B,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,EAC9C,IAAI,CAAC,GAAG,CACJ,eAAe,CAAC,sBAAsB,EACtC,2BAA2B,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,CAAE,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,iBAAiB,IAAI,CAAC,CAAC,CACjG,CACJ,CAAC;YACN,CAAC;QACL,CAAC;QAED,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QAElG,IAAI,aAAa;YACb,UAAU,CAAC,MAAM,CAAC,0BAAa,CAAC,aAAa,EAAE;gBAC3C,UAAU;gBACV,aAAa;aAChB,CAAC,CAAC;QAEP,IAAI,aAAa,IAAI,UAAU,EAAE,CAAC;YAC9B,UAAU,CAAC,YAAY,CAAC,0BAAa,CAAC,aAAa,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC;QACrG,CAAC;aACI,CAAC;YACF,UAAU,CAAC,aAAa,CAAC,0BAAa,CAAC,aAAa,CAAC,CAAC;QAC1D,CAAC;IACL,CAAC;;AAzZL,4CA0ZC"}
@@ -1,6 +1,7 @@
1
1
  import { Model } from '@simonbackx/simple-database';
2
2
  import { GroupCategory, GroupPrivateSettings, GroupSettings, GroupStatus, Group as GroupStruct, GroupType, StockReservation } from '@stamhoofd/structures';
3
3
  import { MemberWithRegistrations, OrganizationRegistrationPeriod } from './';
4
+ import { SQLSelect } from '@stamhoofd/sql';
4
5
  export declare class Group extends Model {
5
6
  static table: string;
6
7
  id: string;
@@ -43,9 +44,17 @@ export declare class Group extends Model {
43
44
  private static getCount;
44
45
  updateOccupancy(options?: {
45
46
  isNew?: boolean;
47
+ previousProperties?: {
48
+ defaultAgeGroupId: string | null;
49
+ deletedAt: Date | null;
50
+ };
46
51
  }): Promise<void>;
47
52
  static deleteUnreachable(organizationId: string, period: OrganizationRegistrationPeriod, allGroups: Group[]): Promise<void>;
48
53
  static applyStockReservations(groupId: string, addStockReservations: StockReservation[], free?: boolean): Promise<void>;
49
54
  static freeStockReservations(groupId: string, reservations: StockReservation[]): Promise<void>;
55
+ /**
56
+ * Experimental: needs to move to library
57
+ */
58
+ static select(): SQLSelect<Group>;
50
59
  }
51
60
  //# sourceMappingURL=Group.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Group.d.ts","sourceRoot":"","sources":["../../../src/models/Group.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuC,KAAK,EAAqB,MAAM,6BAA6B,CAAC;AAC5G,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,aAAa,EAAE,WAAW,EAAE,KAAK,IAAI,WAAW,EAAE,SAAS,EAA4B,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAOrL,OAAO,EAAU,uBAAuB,EAAE,8BAA8B,EAA+B,MAAM,IAAI,CAAC;AAelH,qBAAa,KAAM,SAAQ,KAAK;IAC5B,MAAM,CAAC,KAAK,SAAY;IAOxB,EAAE,EAAG,MAAM,CAAC;IAGZ,IAAI,YAAwB;IAG5B,QAAQ,EAAE,aAAa,CAAC;IAKxB,eAAe,uBAAmC;IAGlD,cAAc,EAAE,MAAM,CAAC;IAGvB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAQ;IAGpC,QAAQ,EAAE,MAAM,CAAC;IAGjB,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAQ;IAExC;;OAEG;IAEH,KAAK,SAAK;IAYV,SAAS,EAAE,IAAI,CAAC;IAUhB,SAAS,EAAE,IAAI,CAAC;IAMhB,SAAS,EAAE,IAAI,GAAG,IAAI,CAAQ;IAG9B,MAAM,cAAoB;IAE1B;;OAEG;IAEH,iBAAiB,EAAE,gBAAgB,EAAE,CAAM;WAE9B,MAAM,CAAC,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,UAAO;IAUlF;;OAEG;IACH,mBAAmB,CAAC,GAAG,EAAE,aAAa,EAAE,EAAE,SAAS,UAAO,GAAG,aAAa,EAAE;IAkB5E;;OAEG;IACG,0BAA0B,CAAC,WAAW,UAAQ,EAAE,WAAW,SAAI,GAAG,OAAO,CAAC,uBAAuB,EAAE,CAAC;IAgE1G;;OAEG;IACH,YAAY;IAIZ;;OAEG;IACH,mBAAmB;mBAIE,QAAQ;IAWvB,eAAe,CAAC,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE;WA0BtC,iBAAiB,CAAC,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,8BAA8B,EAAE,SAAS,EAAE,KAAK,EAAE;WAiDpG,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,EAAE,IAAI,UAAQ;WAiB9F,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,gBAAgB,EAAE;CAGvF"}
1
+ {"version":3,"file":"Group.d.ts","sourceRoot":"","sources":["../../../src/models/Group.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuC,KAAK,EAA6C,MAAM,6BAA6B,CAAC;AACpI,OAAO,EAAmB,aAAa,EAAE,oBAAoB,EAAE,aAAa,EAAE,WAAW,EAAE,KAAK,IAAI,WAAW,EAAE,SAAS,EAA4B,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAOtM,OAAO,EAAU,uBAAuB,EAAE,8BAA8B,EAAyC,MAAM,IAAI,CAAC;AAC5H,OAAO,EAAO,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAehD,qBAAa,KAAM,SAAQ,KAAK;IAC5B,MAAM,CAAC,KAAK,SAAY;IAOxB,EAAE,EAAG,MAAM,CAAC;IAGZ,IAAI,YAAwB;IAG5B,QAAQ,EAAE,aAAa,CAAC;IAKxB,eAAe,uBAAmC;IAGlD,cAAc,EAAE,MAAM,CAAC;IAGvB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAQ;IAGpC,QAAQ,EAAE,MAAM,CAAC;IAGjB,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAQ;IAExC;;OAEG;IAEH,KAAK,SAAK;IAYV,SAAS,EAAE,IAAI,CAAC;IAUhB,SAAS,EAAE,IAAI,CAAC;IAMhB,SAAS,EAAE,IAAI,GAAG,IAAI,CAAQ;IAG9B,MAAM,cAAoB;IAE1B;;OAEG;IAEH,iBAAiB,EAAE,gBAAgB,EAAE,CAAM;WAE9B,MAAM,CAAC,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,UAAO;IAUlF;;OAEG;IACH,mBAAmB,CAAC,GAAG,EAAE,aAAa,EAAE,EAAE,SAAS,UAAO,GAAG,aAAa,EAAE;IAkB5E;;OAEG;IACG,0BAA0B,CAAC,WAAW,UAAQ,EAAE,WAAW,SAAI,GAAG,OAAO,CAAC,uBAAuB,EAAE,CAAC;IAgE1G;;OAEG;IACH,YAAY;IAIZ;;OAEG;IACH,mBAAmB;mBAIE,QAAQ;IAWvB,eAAe,CAAC,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAC;QAAC,kBAAkB,CAAC,EAAE;YAAE,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;YAAC,SAAS,EAAE,IAAI,GAAG,IAAI,CAAA;SAAE,CAAA;KAAE;WAkDzH,iBAAiB,CAAC,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,8BAA8B,EAAE,SAAS,EAAE,KAAK,EAAE;WAiDpG,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,EAAE,IAAI,UAAQ;WAiB9F,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,gBAAgB,EAAE;IAIpF;;OAEG;IACH,MAAM,CAAC,MAAM;CAchB"}
@@ -10,6 +10,7 @@ const queues_1 = require("@stamhoofd/queues");
10
10
  const utility_1 = require("@stamhoofd/utility");
11
11
  const SetupStepsUpdater_1 = require("../helpers/SetupStepsUpdater");
12
12
  const _1 = require("./");
13
+ const sql_1 = require("@stamhoofd/sql");
13
14
  if (_1.Member === undefined) {
14
15
  throw new Error('Import Member is undefined');
15
16
  }
@@ -150,14 +151,32 @@ class Group extends simple_database_1.Model {
150
151
  const registeredMembersAfter = await Group.getCount('groupId = ? and registeredAt is not null AND deactivatedAt is null', [this.id]);
151
152
  this.settings.registeredMembers = registeredMembersAfter;
152
153
  this.settings.reservedMembers = await Group.getCount('groupId = ? and registeredAt is null AND (canRegister = 1 OR reservedUntil >= ?)', [this.id, new Date()]);
153
- if (this.defaultAgeGroupId) {
154
- const hasSufficientMembersBefore = registeredMembersBefore >= structures_1.minimumRegistrationCount;
155
- const hasSufficientMembersAfter = (registeredMembersAfter ?? 0) >= structures_1.minimumRegistrationCount;
156
- if (options?.isNew || hasSufficientMembersAfter !== hasSufficientMembersBefore) {
157
- SetupStepsUpdater_1.SetupStepUpdater.updateForOrganizationId(this.organizationId)
158
- .catch(console.error);
154
+ let updateSteps = false;
155
+ const currentDefaultAgeGroupId = this.defaultAgeGroupId;
156
+ const oldDefaultAgeGroupId = (options?.previousProperties?.defaultAgeGroupId ?? this.defaultAgeGroupId);
157
+ const platform = await _1.Platform.getSharedStruct();
158
+ const currentDefaultAgeGroup = platform.config.defaultAgeGroups.find(g => g.id === currentDefaultAgeGroupId);
159
+ const oldDefaultAgeGroup = platform.config.defaultAgeGroups.find(g => g.id === oldDefaultAgeGroupId);
160
+ const includedInMiniumSteps = !!currentDefaultAgeGroup && currentDefaultAgeGroup.minimumRequiredMembers > 0 && !this.deletedAt;
161
+ const wasIncludedInMinimumSteps = options?.isNew ? false : (!!oldDefaultAgeGroup && oldDefaultAgeGroup.minimumRequiredMembers > 0 && !(options?.previousProperties?.deletedAt ?? this.deletedAt));
162
+ if (includedInMiniumSteps !== wasIncludedInMinimumSteps) {
163
+ // Total steps have changed
164
+ updateSteps = true;
165
+ }
166
+ else {
167
+ // Check if members have changed beyond threshold
168
+ const membersBefore = (wasIncludedInMinimumSteps ? registeredMembersBefore : 0);
169
+ const memberAfter = (includedInMiniumSteps ? (registeredMembersAfter ?? 0) : 0);
170
+ if (membersBefore !== memberAfter) {
171
+ if (currentDefaultAgeGroup?.minimumRequiredMembers && (membersBefore < currentDefaultAgeGroup.minimumRequiredMembers || memberAfter < currentDefaultAgeGroup.minimumRequiredMembers)) {
172
+ updateSteps = true;
173
+ }
159
174
  }
160
175
  }
176
+ if (updateSteps) {
177
+ SetupStepsUpdater_1.SetupStepUpdater.updateForOrganizationId(this.organizationId)
178
+ .catch(console.error);
179
+ }
161
180
  }
162
181
  static async deleteUnreachable(organizationId, period, allGroups) {
163
182
  const reachable = new Map();
@@ -216,6 +235,20 @@ class Group extends simple_database_1.Model {
216
235
  static async freeStockReservations(groupId, reservations) {
217
236
  return await this.applyStockReservations(groupId, reservations, true);
218
237
  }
238
+ /**
239
+ * Experimental: needs to move to library
240
+ */
241
+ static select() {
242
+ const transformer = (row) => {
243
+ const d = this.fromRow(row[this.table]);
244
+ if (!d) {
245
+ throw new Error('EmailTemplate not found');
246
+ }
247
+ return d;
248
+ };
249
+ const select = new sql_1.SQLSelect(transformer, sql_1.SQL.wildcard());
250
+ return select.from(sql_1.SQL.table(this.table));
251
+ }
219
252
  }
220
253
  exports.Group = Group;
221
254
  tslib_1.__decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"Group.js","sourceRoot":"","sources":["../../../src/models/Group.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Group.js","sourceRoot":"","sources":["../../../src/models/Group.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stamhoofd/models",
3
- "version": "2.40.0",
3
+ "version": "2.41.0",
4
4
  "main": "./dist/src/index.js",
5
5
  "types": "./dist/src/index.d.ts",
6
6
  "license": "UNLICENCED",
@@ -29,5 +29,5 @@
29
29
  "publishConfig": {
30
30
  "access": "public"
31
31
  },
32
- "gitHead": "6839689f56361c6ba6f34f6113a5cdc4bbd7b209"
32
+ "gitHead": "03f83c0617324280ab302a12fc0669f021b6dceb"
33
33
  }
@@ -363,7 +363,12 @@ export class SetupStepUpdater {
363
363
  finishedSteps,
364
364
  });
365
365
 
366
- setupSteps.markReviewed(SetupStepType.Emails, { userId: 'backend', userName: 'backend' });
366
+ if (finishedSteps >= totalSteps) {
367
+ setupSteps.markReviewed(SetupStepType.Emails, { userId: 'backend', userName: 'backend' });
368
+ }
369
+ else {
370
+ setupSteps.resetReviewed(SetupStepType.Emails);
371
+ }
367
372
  }
368
373
 
369
374
  private static updateStepPayment(setupSteps: SetupSteps,
@@ -378,25 +383,52 @@ export class SetupStepUpdater {
378
383
  private static async updateStepRegistrations(setupSteps: SetupSteps,
379
384
  organization: Organization,
380
385
  platform: PlatformStruct) {
381
- const defaultAgeGroupIds = platform.config.defaultAgeGroups.map(x => x.id);
386
+ const defaultAgeGroupIds = platform.config.defaultAgeGroups.filter(g => g.minimumRequiredMembers > 0).map(x => x.id);
382
387
 
383
- const groupsWithDefaultAgeGroupIdQuery = SQL.select().from(
384
- SQL.table(Group.table),
385
- )
386
- .where(SQL.column('organizationId'), organization.id)
387
- .where(SQL.column('periodId'), organization.periodId)
388
- .where(SQL.column('defaultAgeGroupId'), defaultAgeGroupIds);
388
+ const groupsWithDefaultAgeGroups = await Group.select()
389
+ .where('organizationId', organization.id)
390
+ .where('periodId', organization.periodId)
391
+ .where('defaultAgeGroupId', defaultAgeGroupIds)
392
+ .where('deletedAt', null)
393
+ .fetch();
389
394
 
390
- const totalSteps = await groupsWithDefaultAgeGroupIdQuery.count();
391
- const finishedSteps = await groupsWithDefaultAgeGroupIdQuery
392
- .where(SQL.jsonValue(SQL.column('settings'), '$.value.registeredMembers'), SQLWhereSign.GreaterEqual, minimumRegistrationCount)
393
- .count();
395
+ let totalSteps = 0;
394
396
 
395
- setupSteps.update(SetupStepType.Registrations, {
396
- totalSteps,
397
- finishedSteps,
398
- });
397
+ // Count per default age group, (e.g. minmium 10 means the total across all members with the same age group id should be 10, not 10 each)
398
+ const processedDefaultAgeGroupIds: Map<string, number> = new Map();
399
399
 
400
- setupSteps.markReviewed(SetupStepType.Registrations, { userId: 'backend', userName: 'backend' });
400
+ for (const group of groupsWithDefaultAgeGroups) {
401
+ const defaultAgeGroup = platform.config.defaultAgeGroups.find(g => g.id === group.defaultAgeGroupId);
402
+ if (!defaultAgeGroup) {
403
+ continue;
404
+ }
405
+ if (!processedDefaultAgeGroupIds.has(defaultAgeGroup.id)) {
406
+ totalSteps += defaultAgeGroup.minimumRequiredMembers;
407
+ processedDefaultAgeGroupIds.set(defaultAgeGroup.id, Math.min(defaultAgeGroup.minimumRequiredMembers, group.settings.registeredMembers ?? 0));
408
+ }
409
+ else {
410
+ processedDefaultAgeGroupIds.set(defaultAgeGroup.id,
411
+ Math.min(
412
+ defaultAgeGroup.minimumRequiredMembers,
413
+ processedDefaultAgeGroupIds.get(defaultAgeGroup.id)! + (group.settings.registeredMembers ?? 0),
414
+ ),
415
+ );
416
+ }
417
+ }
418
+
419
+ const finishedSteps = Array.from(processedDefaultAgeGroupIds.values()).reduce((a, b) => a + b, 0);
420
+
421
+ if (finishedSteps)
422
+ setupSteps.update(SetupStepType.Registrations, {
423
+ totalSteps,
424
+ finishedSteps,
425
+ });
426
+
427
+ if (finishedSteps >= totalSteps) {
428
+ setupSteps.markReviewed(SetupStepType.Registrations, { userId: 'backend', userName: 'backend' });
429
+ }
430
+ else {
431
+ setupSteps.resetReviewed(SetupStepType.Registrations);
432
+ }
401
433
  }
402
434
  }
@@ -1,12 +1,13 @@
1
- import { column, Database, ManyToOneRelation, Model, OneToManyRelation } from '@simonbackx/simple-database';
2
- import { GroupCategory, GroupPrivateSettings, GroupSettings, GroupStatus, Group as GroupStruct, GroupType, minimumRegistrationCount, StockReservation } from '@stamhoofd/structures';
1
+ import { column, Database, ManyToOneRelation, Model, OneToManyRelation, SQLResultNamespacedRow } from '@simonbackx/simple-database';
2
+ import { DefaultAgeGroup, GroupCategory, GroupPrivateSettings, GroupSettings, GroupStatus, Group as GroupStruct, GroupType, minimumRegistrationCount, StockReservation } from '@stamhoofd/structures';
3
3
  import { v4 as uuidv4 } from 'uuid';
4
4
 
5
5
  import { ArrayDecoder } from '@simonbackx/simple-encoding';
6
6
  import { QueueHandler } from '@stamhoofd/queues';
7
7
  import { Formatter } from '@stamhoofd/utility';
8
8
  import { SetupStepUpdater } from '../helpers/SetupStepsUpdater';
9
- import { Member, MemberWithRegistrations, OrganizationRegistrationPeriod, Payment, Registration, User } from './';
9
+ import { Member, MemberWithRegistrations, OrganizationRegistrationPeriod, Payment, Platform, Registration, User } from './';
10
+ import { SQL, SQLSelect } from '@stamhoofd/sql';
10
11
 
11
12
  if (Member === undefined) {
12
13
  throw new Error('Import Member is undefined');
@@ -220,7 +221,7 @@ export class Group extends Model {
220
221
  return null;
221
222
  }
222
223
 
223
- async updateOccupancy(options?: { isNew?: boolean }) {
224
+ async updateOccupancy(options?: { isNew?: boolean; previousProperties?: { defaultAgeGroupId: string | null; deletedAt: Date | null } }) {
224
225
  const registeredMembersBefore = this.settings.registeredMembers ?? 0;
225
226
 
226
227
  const registeredMembersAfter = await Group.getCount(
@@ -235,15 +236,39 @@ export class Group extends Model {
235
236
  [this.id, new Date()],
236
237
  );
237
238
 
238
- if (this.defaultAgeGroupId) {
239
- const hasSufficientMembersBefore = registeredMembersBefore >= minimumRegistrationCount;
240
- const hasSufficientMembersAfter = (registeredMembersAfter ?? 0) >= minimumRegistrationCount;
239
+ let updateSteps = false;
241
240
 
242
- if (options?.isNew || hasSufficientMembersAfter !== hasSufficientMembersBefore) {
243
- SetupStepUpdater.updateForOrganizationId(this.organizationId)
244
- .catch(console.error);
241
+ const currentDefaultAgeGroupId = this.defaultAgeGroupId;
242
+ const oldDefaultAgeGroupId = (options?.previousProperties?.defaultAgeGroupId ?? this.defaultAgeGroupId);
243
+
244
+ const platform = await Platform.getSharedStruct();
245
+
246
+ const currentDefaultAgeGroup = platform.config.defaultAgeGroups.find(g => g.id === currentDefaultAgeGroupId);
247
+ const oldDefaultAgeGroup = platform.config.defaultAgeGroups.find(g => g.id === oldDefaultAgeGroupId);
248
+
249
+ const includedInMiniumSteps = !!currentDefaultAgeGroup && currentDefaultAgeGroup.minimumRequiredMembers > 0 && !this.deletedAt;
250
+ const wasIncludedInMinimumSteps = options?.isNew ? false : (!!oldDefaultAgeGroup && oldDefaultAgeGroup.minimumRequiredMembers > 0 && !(options?.previousProperties?.deletedAt ?? this.deletedAt));
251
+
252
+ if (includedInMiniumSteps !== wasIncludedInMinimumSteps) {
253
+ // Total steps have changed
254
+ updateSteps = true;
255
+ }
256
+ else {
257
+ // Check if members have changed beyond threshold
258
+ const membersBefore = (wasIncludedInMinimumSteps ? registeredMembersBefore : 0);
259
+ const memberAfter = (includedInMiniumSteps ? (registeredMembersAfter ?? 0) : 0);
260
+
261
+ if (membersBefore !== memberAfter) {
262
+ if (currentDefaultAgeGroup?.minimumRequiredMembers && (membersBefore < currentDefaultAgeGroup.minimumRequiredMembers || memberAfter < currentDefaultAgeGroup.minimumRequiredMembers)) {
263
+ updateSteps = true;
264
+ }
245
265
  }
246
266
  }
267
+
268
+ if (updateSteps) {
269
+ SetupStepUpdater.updateForOrganizationId(this.organizationId)
270
+ .catch(console.error);
271
+ }
247
272
  }
248
273
 
249
274
  static async deleteUnreachable(organizationId: string, period: OrganizationRegistrationPeriod, allGroups: Group[]) {
@@ -315,6 +340,24 @@ export class Group extends Model {
315
340
  static async freeStockReservations(groupId: string, reservations: StockReservation[]) {
316
341
  return await this.applyStockReservations(groupId, reservations, true);
317
342
  }
343
+
344
+ /**
345
+ * Experimental: needs to move to library
346
+ */
347
+ static select() {
348
+ const transformer = (row: SQLResultNamespacedRow): Group => {
349
+ const d = (this as typeof Group & typeof Model).fromRow(row[this.table] as any) as Group | undefined;
350
+
351
+ if (!d) {
352
+ throw new Error('EmailTemplate not found');
353
+ }
354
+
355
+ return d;
356
+ };
357
+
358
+ const select = new SQLSelect(transformer, SQL.wildcard());
359
+ return select.from(SQL.table(this.table));
360
+ }
318
361
  }
319
362
 
320
363
  Registration.group = new ManyToOneRelation(Group, 'group');