@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.
- package/dist/src/helpers/MemberMerger.d.ts.map +1 -1
- package/dist/src/helpers/MemberMerger.js +46 -38
- package/dist/src/helpers/MemberMerger.js.map +1 -1
- package/dist/src/helpers/MemberMerger.test.js +17 -17
- package/dist/src/helpers/MemberMerger.test.js.map +1 -1
- package/dist/src/migrations/1752655335-events-webshop-id.sql +3 -0
- package/dist/src/migrations/1752678047-confirmation-email.sql +2 -0
- package/dist/src/models/EmailVerificationCode.js +1 -1
- package/dist/src/models/EmailVerificationCode.js.map +1 -1
- package/dist/src/models/Event.d.ts +1 -0
- package/dist/src/models/Event.d.ts.map +1 -1
- package/dist/src/models/Event.js +4 -0
- package/dist/src/models/Event.js.map +1 -1
- package/dist/src/models/PasswordToken.d.ts.map +1 -1
- package/dist/src/models/PasswordToken.js +4 -1
- package/dist/src/models/PasswordToken.js.map +1 -1
- package/dist/src/models/Registration.d.ts +1 -0
- package/dist/src/models/Registration.d.ts.map +1 -1
- package/dist/src/models/Registration.js +4 -0
- package/dist/src/models/Registration.js.map +1 -1
- package/dist/src/models/WebshopUitpasNumber.js +1 -1
- package/dist/src/models/WebshopUitpasNumber.js.map +1 -1
- package/package.json +2 -2
- package/src/helpers/MemberMerger.test.ts +17 -17
- package/src/helpers/MemberMerger.ts +60 -37
- package/src/migrations/1752655335-events-webshop-id.sql +3 -0
- package/src/migrations/1752678047-confirmation-email.sql +2 -0
- package/src/models/EmailVerificationCode.ts +1 -1
- package/src/models/Event.ts +3 -0
- package/src/models/PasswordToken.ts +4 -1
- package/src/models/Registration.ts +3 -0
- package/src/models/WebshopUitpasNumber.ts +1 -1
- package/dist/src/migrations/1648392491-default-templates.sql +0 -9
- package/dist/src/migrations/1651245707-default-templates-reminders.sql +0 -6
- package/dist/src/migrations/1724929140-default-templates-verify-email.sql +0 -5
- package/dist/src/migrations/1724939437-default-templates-invite-admin.sql +0 -5
- package/dist/src/migrations/1735994471-default-email-templates.sql +0 -5
- package/dist/src/migrations/1742393831-default-template-partially-accepted-event-notification.sql +0 -2
- package/dist/src/migrations/1743070458-default-email-template-orders.sql +0 -2
- package/src/migrations/1648392491-default-templates.sql +0 -9
- package/src/migrations/1651245707-default-templates-reminders.sql +0 -6
- package/src/migrations/1724929140-default-templates-verify-email.sql +0 -5
- package/src/migrations/1724939437-default-templates-invite-admin.sql +0 -5
- package/src/migrations/1735994471-default-email-templates.sql +0 -5
- package/src/migrations/1742393831-default-template-partially-accepted-event-notification.sql +0 -2
- 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":";;;;AAAA,iEAAkF;AAClF,sDAA0R;AAC1R,gDAA+C;AAC/C,+BAAoC;AAEpC,iEAAsF;AACtF,wCAAgD;AAChD,0DAA4D;AAC5D,yBAA+E;AAE/E,MAAa,YAAa,SAAQ,oBAAc;IAC5C,MAAM,CAAC,KAAK,GAAG,eAAe,CAAC;IAO/B,EAAE,CAAU;IAGZ,QAAQ,CAAS;IAGjB,cAAc,CAAS;IAGvB,oBAAoB,GAAkB,IAAI,CAAC;IAG3C,QAAQ,CAAS;IAGjB,OAAO,CAAS;IAGhB,UAAU,CAAa;IAGvB,OAAO,GAAyB,EAAE,CAAC;IAGnC,aAAa,GAA8B,IAAI,GAAG,EAAE,CAAC;IAErD;;OAEG;IAEH,SAAS,GAAkB,IAAI,CAAC;IAEhC;;OAEG;IAEH,KAAK,GAAW,CAAC,CAAC;IAElB;;;OAGG;IAEH,KAAK,GAAkB,IAAI,CAAC;IAY5B,SAAS,CAAO;IAUhB,SAAS,CAAO;IAEhB;;OAEG;IAEH,YAAY,GAAgB,IAAI,CAAC;IAGjC,aAAa,GAAgB,IAAI,CAAC;IAElC;;OAEG;IAEH,SAAS,GAAgB,IAAI,CAAC;IAE9B;;OAEG;IAEH,UAAU,GAAgB,IAAI,CAAC;IAE/B;;OAEG;IAEH,WAAW,GAAG,KAAK,CAAC;IAEpB;;;OAGG;IAEH,WAAW,GAAG,KAAK,CAAC;IAGpB,qBAAqB,GAAG,IAAI,CAAC;IAG7B,aAAa,GAAgB,IAAI,CAAC;IAElC;;;OAGG;IAEH,SAAS,GAAG,CAAC,CAAC;IAEd;;OAEG;IAEH,iBAAiB,GAAuB,EAAE,CAAC;IAE3C;;;;;;;;OAQG;IAEH,SAAS,GAAG,IAAI,GAAG,EAAuC,CAAC;IAE3D,MAAM,CAAC,KAAK,CAAsD;IAElE,YAAY;QACR,OAAO,yBAAqB,CAAC,MAAM,CAAC;YAChC,GAAG,IAAI;YACP,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE;YAChC,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,CAAC;SACzB,CAAC,CAAC;IACP,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,cAAsB;QAChD,MAAM,KAAK,GAAG;kCACY,YAAY,CAAC,KAAK,4BAA4B,YAAY,CAAC,KAAK;+CACnD,YAAY,CAAC,KAAK;oDACb,YAAY,CAAC,KAAK,sEAAsE,YAAY,CAAC,KAAK,qCAAqC,YAAY,CAAC,KAAK,0BAA0B,CAAC;QAExO,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,0BAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;QACjE,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;QAElC,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,KAAe,CAAC;QAC3B,CAAC;aACI,CAAC;YACF,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,OAAO,CAAC,CAAC;YAC1D,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;QACpC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,YAA0B,EAAE,KAAyB;QACrE,MAAM,EAAE,MAAM,EAAE,GAAG,gEAAa,UAAU,GAAC,CAAC;QAE5C,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAEhE,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,OAAO,EAAE,CAAC;QACd,CAAC;QAED,OAAO,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,sBAAS,CAAC,MAAM,CAAC;YAC7C,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,MAAM,EAAE,IAAI,CAAC,EAAE;YACf,YAAY,EAAE;gBACV,wBAAW,CAAC,MAAM,CAAC;oBACf,KAAK,EAAE,iBAAiB;oBACxB,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS;iBAClC,CAAC;gBACF,wBAAW,CAAC,MAAM,CAAC;oBACf,KAAK,EAAE,gBAAgB;oBACvB,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ;iBACjC,CAAC;gBACF,wBAAW,CAAC,MAAM,CAAC;oBACf,KAAK,EAAE,aAAa;oBACpB,KAAK,EAAE,UAAU,GAAG,YAAY,CAAC,OAAO,EAAE;iBAC7C,CAAC;gBACF,wBAAW,CAAC,MAAM,CAAC;oBACf,KAAK,EAAE,WAAW;oBAClB,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE;iBACxC,CAAC;aACL;SACJ,CAAC,CAAC,CAAC;IACR,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,IAEvB;QACG,MAAM,KAAK,GAAG,CAAC,gEAAa,IAAI,GAAC,CAAC,CAAC,KAAK,CAAC;QACzC,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEhD,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,OAAO;QACX,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,eAAY,CAAC,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACtE,IAAI,CAAC,YAAY,EAAE,CAAC;YAChB,OAAO;QACX,CAAC;QAED,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;QAEjE,wBAAwB;QACxB,MAAM,IAAA,gCAAiB,EAAC,YAAY,EAAE;YAClC,QAAQ,EAAE;gBACN,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,KAAK;aACR;YACD,UAAU;YACV,IAAI,EAAE,eAAe;SACxB,CAAC,CAAC;IACP,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAU,EAAE,YAA0B,EAAE,OAA6B;QAChG,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,mBAAmB,EAAE,CAAC;QAC3D,MAAM,QAAQ,GAAG,cAAc,CAAC,QAAQ,CAAC;QAEzC,MAAM,UAAU,GAAG;YACf,sBAAS,CAAC,MAAM,CAAC;gBACb,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,MAAM,EAAE,IAAI,CAAC,EAAE;gBACf,YAAY,EAAE;oBACV,wBAAW,CAAC,MAAM,CAAC;wBACf,KAAK,EAAE,YAAY;wBACnB,KAAK,EAAE,mBAAS,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;qBACxC,CAAC;oBACF,wBAAW,CAAC,MAAM,CAAC;wBACf,KAAK,EAAE,eAAe;wBACtB,KAAK,EAAE,gCAAmB,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,IAAI,0BAAa,CAAC,OAAO,CAAC;qBAC9E,CAAC;oBACF,wBAAW,CAAC,MAAM,CAAC;wBACf,KAAK,EAAE,qBAAqB;wBAC5B,KAAK,EAAE,CAAC,OAAO,CAAC,mBAAmB,IAAI,EAAE,CAAC;qBAC7C,CAAC;oBACF,wBAAW,CAAC,MAAM,CAAC;wBACf,KAAK,EAAE,qBAAqB;wBAC5B,KAAK,EAAE,OAAO,CAAC,gBAAgB,EAAE,IAAI,IAAI,EAAE;qBAC9C,CAAC;oBACF,wBAAW,CAAC,MAAM,CAAC;wBACf,KAAK,EAAE,sBAAsB;wBAC7B,KAAK,EAAE,OAAO,CAAC,gBAAgB,EAAE,QAAQ,IAAI,YAAY,CAAC,IAAI;qBACjE,CAAC;oBACF,wBAAW,CAAC,MAAM,CAAC;wBACf,KAAK,EAAE,iBAAiB;wBACxB,KAAK,EAAE,EAAE,CAAC,sCAAsC,CAAC,GAAG,GAAG,GAAG,cAAc,CAAC,WAAW;qBACvF,CAAC;oBACF,wBAAW,CAAC,MAAM,CAAC;wBACf,KAAK,EAAE,aAAa;wBACpB,KAAK,EAAE,cAAc,CAAC,WAAW;qBACpC,CAAC;oBACF,wBAAW,CAAC,MAAM,CAAC;wBACf,KAAK,EAAE,eAAe;wBACtB,KAAK,EAAE,EAAE;wBACT,IAAI,EAAE,cAAc,CAAC,mBAAmB,EAAE;qBAC7C,CAAC;oBACF,wBAAW,CAAC,MAAM,CAAC;wBACf,KAAK,EAAE,cAAc;wBACrB,KAAK,EAAE,EAAE;wBACT,IAAI,EAAE,cAAc,CAAC,YAAY,EAAE;qBACtC,CAAC;oBACF,wBAAW,CAAC,MAAM,CAAC;wBACf,KAAK,EAAE,aAAa;wBACpB,KAAK,EAAE,UAAU,GAAG,YAAY,CAAC,OAAO,EAAE;qBAC7C,CAAC;oBACF,wBAAW,CAAC,MAAM,CAAC;wBACf,KAAK,EAAE,kBAAkB;wBACzB,KAAK,EAAE,YAAY,CAAC,IAAI;qBAC3B,CAAC;iBACL;aACJ,CAAC;SACL,CAAC;QAEF,IAAI,KAAK,GAA6B,IAAI,CAAC;QAE3C,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACvB,MAAM,KAAK,GAAG,CAAC,gEAAa,IAAI,GAAC,CAAC,CAAC,KAAK,CAAC;YACzC,KAAK,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7C,CAAC;QAED,wBAAwB;QACxB,MAAM,IAAA,gCAAiB,EAAC,YAAY,EAAE;YAClC,QAAQ,EAAE;gBACN,IAAI,EAAE,8BAAiB,CAAC,2BAA2B;gBACnD,KAAK;aACR;YACD,IAAI,EAAE,eAAe;YACrB,UAAU;SACb,CAAC,CAAC;IACP,CAAC;IAED,kBAAkB;QACd,OAAO,CAAC,IAAI,CAAC,YAAY,KAAK,IAAI,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,GAAG,IAAI,IAAI,EAAE,CAAC,CAAC;IACtJ,CAAC;;AA5TL,oCA6TC;AArTG;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;wCACU;AAGZ;IADC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;8CACV;AAGjB;IADC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;oDACJ;AAGvB;IADC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;0DACA;AAG3C;IADC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;8CACV;AAGjB;IADC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,CAAC,KAAK,EAAE,CAAC;6CAC3C;AAGhB;IADC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,uBAAU,EAAE,CAAC;gDACvB;AAGvB;IADC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,8BAAY,CAAC,+BAAkB,CAAC,EAAE,CAAC;6CACrC;AAGnC;IADC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,4BAAU,CAAC,+BAAa,EAAE,gCAAmB,CAAC,EAAE,CAAC;mDACjC;AAMrD;IADC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;+CACX;AAMhC;IADC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;2CACV;AAOlB;IADC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;2CAChB;AAY5B;IAVC,IAAA,wBAAM,EAAC;QACJ,IAAI,EAAE,UAAU,EAAE,UAAU,CAAC,GAAS;YAClC,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;gBACpB,OAAO,GAAG,CAAC;YACf,CAAC;YACD,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;YACxB,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;YACxB,OAAO,IAAI,CAAC;QAChB,CAAC;KACJ,CAAC;+CACc;AAUhB;IARC,IAAA,wBAAM,EAAC;QACJ,IAAI,EAAE,UAAU,EAAE,UAAU;YACxB,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;YACxB,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;YACxB,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,UAAU,EAAE,IAAI;KACnB,CAAC;+CACc;AAMhB;IADC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;kDACZ;AAGjC;IADC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;mDACX;AAMlC;IADC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;+CACf;AAM9B;IADC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;gDACd;AAM/B;IADC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;iDACR;AAOpB;IADC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;iDACR;AAGpB;IADC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;2DACC;AAG7B;IADC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;mDACX;AAOlC;IADC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;+CACd;AAMd;IADC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,8BAAY,CAAC,6BAAgB,CAAC,EAAE,CAAC;uDAC3B;AAY3C;IADC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,4BAAU,CAAC,+BAAa,EAAE,wCAA2B,CAAC,EAAE,CAAC;+CACnC"}
|
|
@@ -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(
|
|
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,
|
|
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.
|
|
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": "
|
|
33
|
+
"gitHead": "d360b2ce795e378363765863457cd595f4841b73"
|
|
34
34
|
}
|
|
@@ -448,8 +448,8 @@ describe('member merge', () => {
|
|
|
448
448
|
});
|
|
449
449
|
|
|
450
450
|
const d1Old = MemberDetails.create({
|
|
451
|
-
firstName: '
|
|
452
|
-
lastName: '
|
|
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(
|
|
615
|
+
expect(d1.uitpasNumber).toBe(d2Old.uitpasNumber);
|
|
616
616
|
});
|
|
617
617
|
|
|
618
618
|
test('email', () => {
|
|
619
|
-
expect(d1.email).toBe(
|
|
620
|
-
expect(d1.alternativeEmails).toContain(
|
|
621
|
-
expect(d1.unverifiedEmails).not.toContain(
|
|
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(
|
|
626
|
-
expect(d1.unverifiedPhones).toContain(
|
|
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(
|
|
630
|
+
expect(d1.gender).toBe(d2Old.gender);
|
|
631
631
|
});
|
|
632
632
|
|
|
633
633
|
test('birthDay', () => {
|
|
634
634
|
expect(d1.birthDay?.getTime() ?? -1).toBe(
|
|
635
|
-
|
|
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(
|
|
652
|
+
expect(d1.address?.id).toBe(d2Old.address?.id);
|
|
653
653
|
expect(d1.unverifiedAddresses.map(a => a.id)).toContain(
|
|
654
|
-
|
|
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(
|
|
663
|
-
expect(parent1.phone).toBe(
|
|
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(
|
|
666
|
-
expect(parent1.alternativeEmails).toContain(
|
|
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
|
-
|
|
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
|
-
|
|
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 (
|
|
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
|
-
|
|
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 (
|
|
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 (
|
|
379
|
+
if (other.type !== ParentType.Other) {
|
|
375
380
|
base.type = other.type;
|
|
376
381
|
}
|
|
377
|
-
|
|
378
|
-
|
|
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
|
-
[
|
|
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
|
|
404
|
-
const
|
|
405
|
-
if (
|
|
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 ===
|
|
412
|
+
!baseDetails.unverifiedPhones.some(phone => phone === originalPhone)
|
|
408
413
|
) {
|
|
409
|
-
baseDetails.unverifiedPhones.push(
|
|
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 (!
|
|
423
|
-
|
|
427
|
+
if (!otherAddress) {
|
|
428
|
+
return;
|
|
424
429
|
}
|
|
425
|
-
|
|
426
|
-
|
|
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 ===
|
|
437
|
+
address => address.id === baseAddress.id,
|
|
430
438
|
)
|
|
431
439
|
) {
|
|
432
|
-
baseDetails.unverifiedAddresses.push(
|
|
440
|
+
baseDetails.unverifiedAddresses.push(baseAddress);
|
|
433
441
|
}
|
|
434
442
|
}
|
|
435
443
|
}
|
|
436
444
|
|
|
437
|
-
function
|
|
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
|
|
443
|
-
if (
|
|
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
|
|
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 (
|
|
479
|
-
|
|
480
|
-
|
|
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
|
-
(
|
|
487
|
-
|
|
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
|
/**
|
|
@@ -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
|
}
|
package/src/models/Event.ts
CHANGED
|
@@ -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
|
-
|
|
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(
|
|
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
|
}
|