@stamhoofd/models 2.89.1 → 2.90.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.
Files changed (46) hide show
  1. package/dist/src/helpers/MemberMerger.d.ts.map +1 -1
  2. package/dist/src/helpers/MemberMerger.js +46 -38
  3. package/dist/src/helpers/MemberMerger.js.map +1 -1
  4. package/dist/src/helpers/MemberMerger.test.js +17 -17
  5. package/dist/src/helpers/MemberMerger.test.js.map +1 -1
  6. package/dist/src/migrations/1752655335-events-webshop-id.sql +3 -0
  7. package/dist/src/migrations/1752678047-confirmation-email.sql +2 -0
  8. package/dist/src/models/EmailVerificationCode.js +1 -1
  9. package/dist/src/models/EmailVerificationCode.js.map +1 -1
  10. package/dist/src/models/Event.d.ts +1 -0
  11. package/dist/src/models/Event.d.ts.map +1 -1
  12. package/dist/src/models/Event.js +4 -0
  13. package/dist/src/models/Event.js.map +1 -1
  14. package/dist/src/models/PasswordToken.d.ts.map +1 -1
  15. package/dist/src/models/PasswordToken.js +4 -1
  16. package/dist/src/models/PasswordToken.js.map +1 -1
  17. package/dist/src/models/Registration.d.ts +1 -0
  18. package/dist/src/models/Registration.d.ts.map +1 -1
  19. package/dist/src/models/Registration.js +4 -0
  20. package/dist/src/models/Registration.js.map +1 -1
  21. package/dist/src/models/WebshopUitpasNumber.js +1 -1
  22. package/dist/src/models/WebshopUitpasNumber.js.map +1 -1
  23. package/package.json +2 -2
  24. package/src/helpers/MemberMerger.test.ts +17 -17
  25. package/src/helpers/MemberMerger.ts +60 -37
  26. package/src/migrations/1752655335-events-webshop-id.sql +3 -0
  27. package/src/migrations/1752678047-confirmation-email.sql +2 -0
  28. package/src/models/EmailVerificationCode.ts +1 -1
  29. package/src/models/Event.ts +3 -0
  30. package/src/models/PasswordToken.ts +4 -1
  31. package/src/models/Registration.ts +3 -0
  32. package/src/models/WebshopUitpasNumber.ts +1 -1
  33. package/dist/src/migrations/1648392491-default-templates.sql +0 -9
  34. package/dist/src/migrations/1651245707-default-templates-reminders.sql +0 -6
  35. package/dist/src/migrations/1724929140-default-templates-verify-email.sql +0 -5
  36. package/dist/src/migrations/1724939437-default-templates-invite-admin.sql +0 -5
  37. package/dist/src/migrations/1735994471-default-email-templates.sql +0 -5
  38. package/dist/src/migrations/1742393831-default-template-partially-accepted-event-notification.sql +0 -2
  39. package/dist/src/migrations/1743070458-default-email-template-orders.sql +0 -2
  40. package/src/migrations/1648392491-default-templates.sql +0 -9
  41. package/src/migrations/1651245707-default-templates-reminders.sql +0 -6
  42. package/src/migrations/1724929140-default-templates-verify-email.sql +0 -5
  43. package/src/migrations/1724939437-default-templates-invite-admin.sql +0 -5
  44. package/src/migrations/1735994471-default-email-templates.sql +0 -5
  45. package/src/migrations/1742393831-default-template-partially-accepted-event-notification.sql +0 -2
  46. package/src/migrations/1743070458-default-email-template-orders.sql +0 -2
@@ -58,6 +58,7 @@ class Registration extends sql_1.QueryableModel {
58
58
  * register normally.
59
59
  */
60
60
  canRegister = false;
61
+ sendConfirmationEmail = true;
61
62
  deactivatedAt = null;
62
63
  /**
63
64
  * @deprecated
@@ -316,6 +317,9 @@ tslib_1.__decorate([
316
317
  tslib_1.__decorate([
317
318
  (0, simple_database_1.column)({ type: 'boolean' })
318
319
  ], Registration.prototype, "canRegister", void 0);
320
+ tslib_1.__decorate([
321
+ (0, simple_database_1.column)({ type: 'boolean' })
322
+ ], Registration.prototype, "sendConfirmationEmail", void 0);
319
323
  tslib_1.__decorate([
320
324
  (0, simple_database_1.column)({ type: 'datetime', nullable: true })
321
325
  ], Registration.prototype, "deactivatedAt", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"Registration.js","sourceRoot":"","sources":["../../../src/models/Registration.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Registration.js","sourceRoot":"","sources":["../../../src/models/Registration.ts"],"names":[],"mappings":"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"}
@@ -14,7 +14,7 @@ class WebshopUitpasNumber extends sql_1.QueryableModel {
14
14
  productId;
15
15
  orderId = '';
16
16
  static async areUitpasNumbersUsed(webshopId, productId, uitpasNumbers) {
17
- const hasBeenUsed = !!(await WebshopUitpasNumber.select('uitpasNumber').where('webshopId', webshopId).andWhere('productId', productId).andWhere('uitpasNumber', uitpasNumbers).first(false));
17
+ const hasBeenUsed = !!(await WebshopUitpasNumber.select().where('webshopId', webshopId).andWhere('productId', productId).andWhere('uitpasNumber', uitpasNumbers).first(false));
18
18
  return hasBeenUsed;
19
19
  }
20
20
  }
@@ -1 +1 @@
1
- {"version":3,"file":"WebshopUitpasNumber.js","sourceRoot":"","sources":["../../../src/models/WebshopUitpasNumber.ts"],"names":[],"mappings":";;;;AAAA,iEAAqD;AACrD,wCAAgD;AAChD,+BAAoC;AAEpC,MAAa,mBAAoB,SAAQ,oBAAc;IACnD,MAAM,CAAC,KAAK,GAAG,wBAAwB,CAAC;IAExC,UAAU;IAMV,EAAE,CAAU;IAGZ,YAAY,CAAS;IAGrB,SAAS,CAAS;IAGlB,SAAS,CAAS;IAGlB,OAAO,GAAG,EAAE,CAAC;IAEb,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,SAAiB,EAAE,SAAiB,EAAE,aAAuB;QAC3F,MAAM,WAAW,GAAG,CAAC,CAAC,CAAC,MAAM,mBAAmB,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;QAC7L,OAAO,WAAW,CAAC;IACvB,CAAC;;AA1BL,kDA2BC;AAlBG;IALC,IAAA,wBAAM,EAAC;QACJ,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,CAAC,KAAK;YAC3C,OAAO,KAAK,IAAI,IAAA,SAAM,GAAE,CAAC;QAC7B,CAAC;KACJ,CAAC;+CACU;AAGZ;IADC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;yDACN;AAGrB;IADC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;sDACT;AAGlB;IADC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;sDACT;AAGlB;IADC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;oDACd"}
1
+ {"version":3,"file":"WebshopUitpasNumber.js","sourceRoot":"","sources":["../../../src/models/WebshopUitpasNumber.ts"],"names":[],"mappings":";;;;AAAA,iEAAqD;AACrD,wCAAgD;AAChD,+BAAoC;AAEpC,MAAa,mBAAoB,SAAQ,oBAAc;IACnD,MAAM,CAAC,KAAK,GAAG,wBAAwB,CAAC;IAExC,UAAU;IAMV,EAAE,CAAU;IAGZ,YAAY,CAAS;IAGrB,SAAS,CAAS;IAGlB,SAAS,CAAS;IAGlB,OAAO,GAAG,EAAE,CAAC;IAEb,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,SAAiB,EAAE,SAAiB,EAAE,aAAuB;QAC3F,MAAM,WAAW,GAAG,CAAC,CAAC,CAAC,MAAM,mBAAmB,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;QAC/K,OAAO,WAAW,CAAC;IACvB,CAAC;;AA1BL,kDA2BC;AAlBG;IALC,IAAA,wBAAM,EAAC;QACJ,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,CAAC,KAAK;YAC3C,OAAO,KAAK,IAAI,IAAA,SAAM,GAAE,CAAC;QAC7B,CAAC;KACJ,CAAC;+CACU;AAGZ;IADC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;yDACN;AAGrB;IADC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;sDACT;AAGlB;IADC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;sDACT;AAGlB;IADC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;oDACd"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stamhoofd/models",
3
- "version": "2.89.1",
3
+ "version": "2.90.0",
4
4
  "main": "./dist/src/index.js",
5
5
  "types": "./dist/src/index.d.ts",
6
6
  "license": "UNLICENCED",
@@ -30,5 +30,5 @@
30
30
  "publishConfig": {
31
31
  "access": "public"
32
32
  },
33
- "gitHead": "538a0e198d2db14c1e7650c75a645113b4394e71"
33
+ "gitHead": "d360b2ce795e378363765863457cd595f4841b73"
34
34
  }
@@ -448,8 +448,8 @@ describe('member merge', () => {
448
448
  });
449
449
 
450
450
  const d1Old = MemberDetails.create({
451
- firstName: 'John',
452
- lastName: 'Doe',
451
+ firstName: 'Jöhn',
452
+ lastName: 'Dôe',
453
453
  birthDay: new Date(1990, 1, 1),
454
454
  memberNumber: '123',
455
455
  uitpasNumber: '56',
@@ -612,27 +612,27 @@ describe('member merge', () => {
612
612
  });
613
613
 
614
614
  test('uitpasNumber', () => {
615
- expect(d1.uitpasNumber).toBe(d1Old.uitpasNumber);
615
+ expect(d1.uitpasNumber).toBe(d2Old.uitpasNumber);
616
616
  });
617
617
 
618
618
  test('email', () => {
619
- expect(d1.email).toBe(d1Old.email);
620
- expect(d1.alternativeEmails).toContain(d2Old.email);
621
- expect(d1.unverifiedEmails).not.toContain(d2Old.email);
619
+ expect(d1.email).toBe(d2Old.email);
620
+ expect(d1.alternativeEmails).toContain(d1Old.email);
621
+ expect(d1.unverifiedEmails).not.toContain(d1Old.email);
622
622
  });
623
623
 
624
624
  test('phone', () => {
625
- expect(d1.phone).toBe(d1Old.phone);
626
- expect(d1.unverifiedPhones).toContain(d2Old.phone);
625
+ expect(d1.phone).toBe(d2Old.phone);
626
+ expect(d1.unverifiedPhones).toContain(d1Old.phone);
627
627
  });
628
628
 
629
629
  test('gender', () => {
630
- expect(d1.gender).toBe(d1Old.gender);
630
+ expect(d1.gender).toBe(d2Old.gender);
631
631
  });
632
632
 
633
633
  test('birthDay', () => {
634
634
  expect(d1.birthDay?.getTime() ?? -1).toBe(
635
- d1Old.birthDay?.getTime() ?? -1,
635
+ d2Old.birthDay?.getTime() ?? -1,
636
636
  );
637
637
  });
638
638
 
@@ -649,9 +649,9 @@ describe('member merge', () => {
649
649
  });
650
650
 
651
651
  test('address', () => {
652
- expect(d1.address?.id).toBe(d1Old.address?.id);
652
+ expect(d1.address?.id).toBe(d2Old.address?.id);
653
653
  expect(d1.unverifiedAddresses.map(a => a.id)).toContain(
654
- d2Old.address?.id,
654
+ d1Old.address?.id,
655
655
  );
656
656
  });
657
657
 
@@ -659,11 +659,11 @@ describe('member merge', () => {
659
659
  expect(d1.parents.length).toBe(2);
660
660
  expect(parent1.firstName).toBe(parent1Alt.firstName);
661
661
  expect(parent1.lastName).toBe(parent1Alt.lastName);
662
- expect(parent1.email).toBe(oldParent1.email);
663
- expect(parent1.phone).toBe(oldParent1.phone);
662
+ expect(parent1.email).toBe(parent1Alt.email?.toLowerCase());
663
+ expect(parent1.phone).toBe(parent1Alt.phone);
664
664
  expect(parent1.address?.id).toBe(parent1Alt.address?.id);
665
- expect(d1.unverifiedPhones).toContain(parent1Alt.phone);
666
- expect(parent1.alternativeEmails).toContain(parent1Alt.email!.toLocaleLowerCase());
665
+ expect(d1.unverifiedPhones).toContain(oldParent1.phone);
666
+ expect(parent1.alternativeEmails).toContain(oldParent1.email!.toLocaleLowerCase());
667
667
  });
668
668
 
669
669
  test('emergency contacts', () => {
@@ -696,7 +696,7 @@ describe('member merge', () => {
696
696
  // Should be combination of unverified addresses + address of the second member (which coulnd't be merged)
697
697
  const addressIds = d1.unverifiedAddresses.map(a => a.id);
698
698
  expect(addressIds.sort()).toEqual([
699
- d2Old.address!.id,
699
+ d1Old.address!.id,
700
700
  d1Old.unverifiedAddresses[0].id,
701
701
  d2Old.unverifiedAddresses[0].id,
702
702
  ].sort());
@@ -221,7 +221,7 @@ export function mergeMemberDetails(base: Member, other: Member): void {
221
221
  mergeStringIfBaseNotSet(baseDetails, otherDetails, 'lastName');
222
222
 
223
223
  mergeStringIfBaseNotSet(baseDetails, otherDetails, 'memberNumber');
224
- mergeStringIfBaseNotSet(baseDetails, otherDetails, 'uitpasNumber');
224
+ mergeString(baseDetails, otherDetails, 'uitpasNumber');
225
225
 
226
226
  // email
227
227
  mergeEmail(baseDetails, otherDetails);
@@ -230,7 +230,7 @@ export function mergeMemberDetails(base: Member, other: Member): void {
230
230
  mergePhone(baseDetails, otherDetails, baseDetails);
231
231
 
232
232
  // gender
233
- if (baseDetails.gender === Gender.Other) {
233
+ if (otherDetails.gender !== Gender.Other) {
234
234
  baseDetails.gender = otherDetails.gender;
235
235
  }
236
236
 
@@ -238,7 +238,7 @@ export function mergeMemberDetails(base: Member, other: Member): void {
238
238
  mergeNotes(baseDetails, otherDetails);
239
239
 
240
240
  // date
241
- mergeIfBaseNotSet(baseDetails, otherDetails, 'birthDay');
241
+ merge(baseDetails, otherDetails, 'birthDay');
242
242
 
243
243
  // boolean status
244
244
  mergeBooleanStatusIfBaseNotSet(
@@ -299,6 +299,13 @@ export function mergeMemberDetails(base: Member, other: Member): void {
299
299
  baseDetails.unverifiedAddresses.push(address);
300
300
  }
301
301
  }
302
+
303
+ // Ids
304
+ baseDetails.oldIds = Formatter.uniqueArray([...baseDetails.oldIds, ...otherDetails.oldIds]).filter(b => b !== base.id);
305
+
306
+ if (other.id) {
307
+ baseDetails.oldIds = Formatter.uniqueArray([...baseDetails.oldIds, other.id]);
308
+ }
302
309
  }
303
310
 
304
311
  export function selectBaseMember(members: Member[]): {
@@ -335,14 +342,12 @@ function mergeAnswers(base: MemberDetails, other: MemberDetails) {
335
342
  }
336
343
 
337
344
  function mergeNotes(base: MemberDetails, other: MemberDetails) {
338
- if (base.notes && other.notes) {
345
+ if (base.notes && other.notes && base.notes !== other.notes) {
339
346
  base.notes = `${base.notes}\n${other.notes}`;
340
347
  }
341
- else if (base.notes) {
342
- return;
343
- }
344
- else {
348
+ else if (other.notes) {
345
349
  base.notes = other.notes;
350
+ return;
346
351
  }
347
352
  }
348
353
 
@@ -371,11 +376,11 @@ function mergeParents(base: MemberDetails, other: MemberDetails) {
371
376
  }
372
377
 
373
378
  function mergeParent(base: Parent, other: Parent, baseDetails: MemberDetails) {
374
- if (base.type === ParentType.Other) {
379
+ if (other.type !== ParentType.Other) {
375
380
  base.type = other.type;
376
381
  }
377
- mergeStringIfBaseNotSet(base, other, 'firstName');
378
- mergeStringIfBaseNotSet(base, other, 'lastName');
382
+ mergeString(base, other, 'firstName');
383
+ mergeString(base, other, 'lastName');
379
384
  // add other emails to alternative emails
380
385
  mergeEmail(base, other);
381
386
  mergePhone(base, other, baseDetails);
@@ -387,7 +392,7 @@ function mergeEmail(
387
392
  other: { email: string | null; alternativeEmails: string[] },
388
393
  ) {
389
394
  const allEmails = Formatter.uniqueArray(
390
- [base.email, ...base.alternativeEmails, other.email, ...other.alternativeEmails]
395
+ [other.email, ...other.alternativeEmails, base.email, ...base.alternativeEmails]
391
396
  .filter(f => f !== null)
392
397
  .filter(f => !isNullOrEmpty(f)),
393
398
  );
@@ -400,13 +405,13 @@ function mergePhone(
400
405
  other: { phone: string | null | undefined },
401
406
  baseDetails: MemberDetails,
402
407
  ) {
403
- const isPhoneMerged = mergeStringIfBaseNotSet(base, other, 'phone');
404
- const otherPhone = other.phone;
405
- if (!isPhoneMerged && !isNullOrEmpty(otherPhone)) {
408
+ const originalPhone = base.phone;
409
+ const isPhoneMerged = mergeString(base, other, 'phone');
410
+ if (isPhoneMerged && !isNullOrEmpty(originalPhone)) {
406
411
  if (
407
- !baseDetails.unverifiedPhones.some(phone => phone === otherPhone)
412
+ !baseDetails.unverifiedPhones.some(phone => phone === originalPhone)
408
413
  ) {
409
- baseDetails.unverifiedPhones.push(otherPhone!);
414
+ baseDetails.unverifiedPhones.push(originalPhone!);
410
415
  }
411
416
  }
412
417
  }
@@ -419,48 +424,64 @@ function mergeAddress(
419
424
  const baseAddress = base.address;
420
425
  const otherAddress = other.address;
421
426
 
422
- if (!baseAddress) {
423
- base.address = otherAddress;
427
+ if (!otherAddress) {
428
+ return;
424
429
  }
425
- else if (otherAddress && baseAddress.id !== otherAddress.id) {
426
- // add other address to unverified addresses
430
+
431
+ base.address = otherAddress;
432
+
433
+ if (baseAddress && baseAddress.id !== otherAddress.id) {
434
+ // add base address to unverified addresses
427
435
  if (
428
436
  !baseDetails.unverifiedAddresses.some(
429
- address => address.id === otherAddress.id,
437
+ address => address.id === baseAddress.id,
430
438
  )
431
439
  ) {
432
- baseDetails.unverifiedAddresses.push(otherAddress);
440
+ baseDetails.unverifiedAddresses.push(baseAddress);
433
441
  }
434
442
  }
435
443
  }
436
444
 
437
- function mergeStringIfBaseNotSet<T, K extends keyof T>(
445
+ function mergeString<T, K extends keyof T>(
438
446
  base: T,
439
447
  other: T,
440
448
  key: K & (T[K] extends string | null | undefined ? K : never),
441
449
  ): boolean {
442
- const baseValue = base[key] as string | null | undefined;
443
- if (!isNullOrEmpty(baseValue)) {
450
+ const otherValue = other[key] as string | null | undefined;
451
+ if (isNullOrEmpty(otherValue)) {
444
452
  return false;
445
453
  }
454
+
455
+ (base[key] as string | null | undefined) = otherValue;
456
+
457
+ return true;
458
+ }
459
+
460
+ function mergeStringIfBaseNotSet<T, K extends keyof T>(
461
+ base: T,
462
+ other: T,
463
+ key: K & (T[K] extends string | null | undefined ? K : never),
464
+ ): boolean {
446
465
  const otherValue = other[key] as string | null | undefined;
447
466
  if (isNullOrEmpty(otherValue)) {
448
467
  return false;
449
468
  }
450
469
 
470
+ if (!isNullOrEmpty(base[key] as string | null | undefined)) {
471
+ return false;
472
+ }
473
+
451
474
  (base[key] as string | null | undefined) = otherValue;
452
475
 
453
476
  return true;
454
477
  }
455
478
 
456
- function mergeIfBaseNotSet<T, K extends keyof T>(
479
+ function merge<T, K extends keyof T>(
457
480
  base: T,
458
481
  other: T,
459
482
  key: K &
460
483
  (T[K] extends number | Date | boolean | null | undefined ? K : never),
461
484
  ): boolean {
462
- const baseValue = base[key] as number | Date | boolean | null | undefined;
463
- if (!(baseValue === null || baseValue === undefined)) return false;
464
485
  const otherValue = other[key] as number | Date | boolean | null | undefined;
465
486
  if (otherValue === null || otherValue === undefined) return false;
466
487
  (base[key] as number | Date | boolean | null | undefined) = otherValue;
@@ -474,17 +495,19 @@ function mergeBooleanStatusIfBaseNotSet<T, K extends keyof T>(
474
495
  ): boolean {
475
496
  const otherValue = other[key] as BooleanStatus | null | undefined;
476
497
  if (otherValue === null || otherValue === undefined) return false;
498
+
477
499
  const baseValue = base[key] as BooleanStatus | null | undefined;
478
- if (!(baseValue === null || baseValue === undefined)) {
479
- if (baseValue.date < otherValue.date) {
480
- (base[key] as BooleanStatus | null | undefined) = otherValue;
481
- return true;
482
- }
483
- return false;
500
+ if (baseValue === undefined || baseValue === null) {
501
+ (base[key] as BooleanStatus | null | undefined) = otherValue;
502
+ return true;
484
503
  }
485
504
 
486
- (base[key] as BooleanStatus | null | undefined) = otherValue;
487
- return true;
505
+ if (baseValue.date < otherValue.date) {
506
+ (base[key] as BooleanStatus | null | undefined) = otherValue;
507
+ return true;
508
+ }
509
+
510
+ return false;
488
511
  }
489
512
 
490
513
  /**
@@ -0,0 +1,3 @@
1
+ ALTER TABLE `events`
2
+ ADD COLUMN `webshopId` varchar(36) NULL AFTER `groupId`,
3
+ ADD FOREIGN KEY (`webshopId`) REFERENCES `webshops` (`id`) ON UPDATE CASCADE ON DELETE CASCADE;
@@ -0,0 +1,2 @@
1
+ ALTER TABLE `registrations`
2
+ ADD COLUMN `sendConfirmationEmail` tinyint(1) NOT NULL DEFAULT '1' AFTER `canRegister`;
@@ -361,7 +361,7 @@ export class EmailVerificationCode extends QueryableModel {
361
361
  else {
362
362
  verificationCode = verificationCodes[0];
363
363
 
364
- if (verificationCode.expiresAt < new Date(new Date().getTime() - 15 * 60 * 1000) || verificationCode.tries >= EmailVerificationCode.MAX_TRIES) {
364
+ if (verificationCode.email !== email || verificationCode.expiresAt < new Date(new Date().getTime() - 15 * 60 * 1000) || verificationCode.tries >= EmailVerificationCode.MAX_TRIES) {
365
365
  // Expired: also update the token
366
366
  await verificationCode.generateCode();
367
367
  }
@@ -24,6 +24,9 @@ export class Event extends QueryableModel {
24
24
  @column({ type: 'string', nullable: true })
25
25
  groupId: string | null = null;
26
26
 
27
+ @column({ type: 'string', nullable: true })
28
+ webshopId: string | null = null;
29
+
27
30
  @column({ type: 'datetime' })
28
31
  startDate: Date;
29
32
 
@@ -120,7 +120,10 @@ export class PasswordToken extends QueryableModel {
120
120
  let host: string;
121
121
  if (user.permissions || !organization || STAMHOOFD.userMode === 'platform') {
122
122
  host = 'https://' + (STAMHOOFD.domains.dashboard) + '/' + i18n.locale;
123
- return host + '/reset-password' + ((user.organizationId || organization) ? ('/' + encodeURIComponent(user.organizationId ?? organization!.id)) : '') + '?token=' + encodeURIComponent(token.token);
123
+ if (user.organizationId && organization) {
124
+ host += '/auto/' + encodeURIComponent(organization.uri);
125
+ }
126
+ return host + '/reset-password?token=' + encodeURIComponent(token.token);
124
127
  }
125
128
 
126
129
  host = 'https://' + organization.getHost(i18n);
@@ -117,6 +117,9 @@ export class Registration extends QueryableModel {
117
117
  @column({ type: 'boolean' })
118
118
  canRegister = false;
119
119
 
120
+ @column({ type: 'boolean' })
121
+ sendConfirmationEmail = true;
122
+
120
123
  @column({ type: 'datetime', nullable: true })
121
124
  deactivatedAt: Date | null = null;
122
125
 
@@ -26,7 +26,7 @@ export class WebshopUitpasNumber extends QueryableModel {
26
26
  orderId = '';
27
27
 
28
28
  static async areUitpasNumbersUsed(webshopId: string, productId: string, uitpasNumbers: string[]): Promise<boolean> {
29
- const hasBeenUsed = !!(await WebshopUitpasNumber.select('uitpasNumber').where('webshopId', webshopId).andWhere('productId', productId).andWhere('uitpasNumber', uitpasNumbers).first(false));
29
+ const hasBeenUsed = !!(await WebshopUitpasNumber.select().where('webshopId', webshopId).andWhere('productId', productId).andWhere('uitpasNumber', uitpasNumbers).first(false));
30
30
  return hasBeenUsed;
31
31
  }
32
32
  }