@stamhoofd/models 2.115.1 → 2.117.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/factories/MemberFactory.d.ts +3 -3
- package/dist/src/factories/MemberFactory.d.ts.map +1 -1
- package/dist/src/factories/MemberFactory.js.map +1 -1
- package/dist/src/helpers/Handlebars.d.ts.map +1 -1
- package/dist/src/helpers/Handlebars.js +4 -0
- package/dist/src/helpers/Handlebars.js.map +1 -1
- package/dist/src/index.d.ts +0 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +0 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/migrations/1770917406-create-cached-balances-global-index.sql +2 -0
- package/dist/src/migrations/1770917407-create-member-name-ordering-index.sql +2 -0
- package/dist/src/migrations/1770917408-create-member-name-ordering-index-desc.sql +2 -0
- package/dist/src/migrations/1770917409-create-member-age-ordering-index.sql +2 -0
- package/dist/src/migrations/1770917410-create-member-age-ordering-index-desc.sql +2 -0
- package/dist/src/migrations/1770917411-drop-duplicate-member-indexes.sql +3 -0
- package/dist/src/migrations/1771510518-events-index-organization-id-start-date.sql +2 -0
- package/dist/src/migrations/1771918307-membership-active-filter-index.sql +2 -0
- package/dist/src/migrations/1772033555-balance-item-package-id.sql +3 -0
- package/dist/src/migrations/1772033715-balance-item-start-end-date.sql +3 -0
- package/dist/src/models/AuditLog.d.ts +1 -0
- package/dist/src/models/AuditLog.d.ts.map +1 -1
- package/dist/src/models/AuditLog.js +8 -0
- package/dist/src/models/AuditLog.js.map +1 -1
- package/dist/src/models/BalanceItem.d.ts +22 -2
- package/dist/src/models/BalanceItem.d.ts.map +1 -1
- package/dist/src/models/BalanceItem.js +32 -0
- package/dist/src/models/BalanceItem.js.map +1 -1
- package/dist/src/models/Document.d.ts +3 -3
- package/dist/src/models/Document.d.ts.map +1 -1
- package/dist/src/models/Document.js +11 -7
- package/dist/src/models/Document.js.map +1 -1
- package/dist/src/models/DocumentTemplate.d.ts +4 -0
- package/dist/src/models/DocumentTemplate.d.ts.map +1 -1
- package/dist/src/models/DocumentTemplate.js +33 -12
- package/dist/src/models/DocumentTemplate.js.map +1 -1
- package/dist/src/models/Group.d.ts +1 -5
- package/dist/src/models/Group.d.ts.map +1 -1
- package/dist/src/models/Group.js +1 -55
- package/dist/src/models/Group.js.map +1 -1
- package/dist/src/models/Invoice.d.ts +1 -4
- package/dist/src/models/Invoice.d.ts.map +1 -1
- package/dist/src/models/Invoice.js +0 -45
- package/dist/src/models/Invoice.js.map +1 -1
- package/dist/src/models/Member.d.ts +51 -10
- package/dist/src/models/Member.d.ts.map +1 -1
- package/dist/src/models/Member.js +209 -126
- package/dist/src/models/Member.js.map +1 -1
- package/dist/src/models/Organization.d.ts +19 -1
- package/dist/src/models/Organization.d.ts.map +1 -1
- package/dist/src/models/Organization.js +28 -3
- package/dist/src/models/Organization.js.map +1 -1
- package/dist/src/models/Platform.test.js +3 -3
- package/dist/src/models/Platform.test.js.map +1 -1
- package/dist/src/models/Registration.d.ts +1 -2
- package/dist/src/models/Registration.d.ts.map +1 -1
- package/dist/src/models/Registration.js +12 -88
- package/dist/src/models/Registration.js.map +1 -1
- package/dist/src/models/RegistrationPeriod.d.ts +1 -0
- package/dist/src/models/RegistrationPeriod.d.ts.map +1 -1
- package/dist/src/models/RegistrationPeriod.js +5 -0
- package/dist/src/models/RegistrationPeriod.js.map +1 -1
- package/dist/src/models/STPackage.d.ts +1 -5
- package/dist/src/models/STPackage.d.ts.map +1 -1
- package/dist/src/models/STPackage.js +0 -41
- package/dist/src/models/STPackage.js.map +1 -1
- package/dist/src/models/User.d.ts.map +1 -1
- package/dist/src/models/User.js +1 -0
- package/dist/src/models/User.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
- package/src/factories/MemberFactory.ts +3 -3
- package/src/helpers/Handlebars.ts +4 -0
- package/src/index.ts +0 -1
- package/src/migrations/1770917406-create-cached-balances-global-index.sql +2 -0
- package/src/migrations/1770917407-create-member-name-ordering-index.sql +2 -0
- package/src/migrations/1770917408-create-member-name-ordering-index-desc.sql +2 -0
- package/src/migrations/1770917409-create-member-age-ordering-index.sql +2 -0
- package/src/migrations/1770917410-create-member-age-ordering-index-desc.sql +2 -0
- package/src/migrations/1770917411-drop-duplicate-member-indexes.sql +3 -0
- package/src/migrations/1771510518-events-index-organization-id-start-date.sql +2 -0
- package/src/migrations/1771918307-membership-active-filter-index.sql +2 -0
- package/src/migrations/1772033555-balance-item-package-id.sql +3 -0
- package/src/migrations/1772033715-balance-item-start-end-date.sql +3 -0
- package/src/models/AuditLog.ts +10 -1
- package/src/models/BalanceItem.ts +32 -2
- package/src/models/Document.ts +13 -10
- package/src/models/DocumentTemplate.ts +37 -13
- package/src/models/Group.ts +4 -71
- package/src/models/Invoice.ts +0 -57
- package/src/models/Member.ts +262 -156
- package/src/models/Organization.ts +34 -4
- package/src/models/Platform.test.ts +3 -3
- package/src/models/Registration.ts +21 -99
- package/src/models/RegistrationPeriod.ts +6 -0
- package/src/models/STPackage.ts +0 -50
- package/src/models/User.ts +2 -1
- package/dist/src/helpers/GroupBuilder.d.ts +0 -9
- package/dist/src/helpers/GroupBuilder.d.ts.map +0 -1
- package/dist/src/helpers/GroupBuilder.js +0 -382
- package/dist/src/helpers/GroupBuilder.js.map +0 -1
- package/src/helpers/GroupBuilder.ts +0 -415
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"User.js","sourceRoot":"","sources":["../../../src/models/User.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"User.js","sourceRoot":"","sources":["../../../src/models/User.ts"],"names":[],"mappings":";;;;AAAA,iEAAkF;AAElF,wCAA8E;AAC9E,sDAAuJ;AACvJ,4DAA4B;AAC5B,+BAAoC;AAEpC,6DAAwD;AACxD,8CAAiD;AACjD,yCAA0C;AAE1C,MAAa,IAAK,SAAQ,oBAAc;IACpC,MAAM,CAAC,KAAK,GAAG,OAAO,CAAC;IACvB,yCAAyC;IAEzC,UAAU;IAMV,EAAE,CAAU;IAGZ,cAAc,CAAgB;IAG9B,QAAQ,GAAkB,IAAI,CAAC;IAG/B,SAAS,GAAkB,IAAI,CAAC;IAGhC,QAAQ,GAAkB,IAAI,CAAC;IAG/B,KAAK,CAAS;IAGd,QAAQ,GAAkB,IAAI,CAAC;IAG/B,QAAQ,GAAG,KAAK,CAAC;IAGjB,WAAW,GAA2B,IAAI,CAAC;IAE3C;;;OAGG;IAEH,uBAAuB,GAAuB,IAAI,CAAC;IAGnD,IAAI,GAAoB,IAAI,CAAC;IAY7B,SAAS,CAAO;IAUhB,SAAS,CAAO;IAEhB,MAAM,CAAC,YAAY,GAAG,IAAI,mCAAiB,CAAC,uBAAY,EAAE,cAAc,CAAC,CAAC;IAE1E,IAAI,IAAI;QACJ,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClC,OAAO,IAAI,CAAC,SAAS,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC;QAChD,CAAC;QAED,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,OAAO,IAAI,CAAC,SAAS,CAAC;QAC1B,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC,QAAQ,CAAC;QACzB,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,eAAe,CAAC,GAAG,YAA2B;QAC1C,OAAO,sBAAS,CAAC,MAAM,CAAC;YACpB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,YAAY,EAAE;gBACV,GAAG,YAAY;gBACf,wBAAW,CAAC,MAAM,CAAC;oBACf,KAAK,EAAE,WAAW;oBAClB,KAAK,EAAE,IAAI,CAAC,SAAS,IAAI,EAAE;iBAC9B,CAAC;gBACF,wBAAW,CAAC,MAAM,CAAC;oBACf,KAAK,EAAE,UAAU;oBACjB,KAAK,EAAE,IAAI,CAAC,QAAQ,IAAI,EAAE;iBAC7B,CAAC;gBACF,wBAAW,CAAC,MAAM,CAAC;oBACf,KAAK,EAAE,OAAO;oBACd,KAAK,EAAE,IAAI,CAAC,KAAK;iBACpB,CAAC;aACL;SACJ,CAAC,CAAC;IACP,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,OAAgC;QAC3D,wBAAwB;QACxB,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE;aAClB,KAAK,CAAC,gBAAgB,EAAE,IAAI,CAAC;aAC7B,KAAK,CAAC,aAAa,EAAE,IAAI,EAAE,IAAI,CAAC;aAChC,KAAK,CACF,SAAG,CAAC,WAAW,CAAC,SAAG,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,2BAA2B,CAAC,EACvE,IAAI,EACJ,iBAAW,CACd;aACA,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;QAE5B,IAAI,OAAO,EAAE,QAAQ,KAAK,SAAS,EAAE,CAAC;YAClC,CAAC,CAAC,KAAK,CAAC,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC1C,CAAC;QAED,IAAI,MAAM,GAAG,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC;QAE7B,oBAAoB;QACpB,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAE1C,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,cAAsB,EAAE,OAAgC;QAC3E,IAAI,SAAS,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;YACpC,wBAAwB;YACxB,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE;iBAClB,KAAK,CAAC,gBAAgB,EAAE,IAAI,CAAC;iBAC7B,KAAK,CAAC,aAAa,EAAE,IAAI,EAAE,IAAI,CAAC;iBAChC,KAAK,CACF,SAAG,CAAC,WAAW,CACX,SAAG,CAAC,WAAW,CAAC,SAAG,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,iCAAiC,CAAC,EAC7E,KAAK,GAAG,cAAc,GAAG,GAAG,EAC5B,IAAI,CACP,EACD,IAAI,EACJ,IAAI,CACP,CACJ;YAED,IAAI,OAAO,EAAE,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAClC,CAAC,CAAC,KAAK,CAAC,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC1C,CAAC;YAED,IAAI,MAAM,GAAG,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC;YAE7B,oBAAoB;YACpB,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAE1C,OAAO,MAAM,CAAC;QAClB,CAAC;QAED,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE;aAClB,KAAK,CAAC,gBAAgB,EAAE,cAAc,CAAC;aACvC,KAAK,CAAC,aAAa,EAAE,IAAI,EAAE,IAAI,CAAC,CACpC;QAED,IAAI,OAAO,EAAE,QAAQ,KAAK,SAAS,EAAE,CAAC;YAClC,CAAC,CAAC,KAAK,CAAC,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC1C,CAAC;QAED,IAAI,MAAM,GAAG,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC;QAE7B,oBAAoB;QACpB,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAE1C,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,eAAyB;QAC9C,OAAO,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,cAAc,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,eAAe,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/L,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,KAAW;QACnB,IAAI,KAAK,CAAC,UAAU,EAAE,EAAE,CAAC;YACrB,kCAAkC;YAClC,IAAI,IAAI,CAAC,uBAAuB,IAAI,KAAK,CAAC,uBAAuB,EAAE,CAAC;gBAChE,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;YACpE,CAAC;iBACI,CAAC;gBACF,IAAI,CAAC,IAAI,CAAC,uBAAuB,IAAI,KAAK,CAAC,uBAAuB,EAAE,CAAC;oBACjE,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC,uBAAuB,CAAC;gBACjE,CAAC;YACL,CAAC;YACD,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;YAElB,IAAI,KAAK,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;gBACrC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;YACrC,CAAC;YAED,IAAI,KAAK,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACnC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;YACnC,CAAC;QACL,CAAC;QAED,MAAM,MAAM,GAAG,CAAC,gEAAa,aAAa,GAAC,CAAC,CAAC,MAAM,CAAC;QAEpD,wDAAwD;QACxD,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,iCAAiC,CAAC,KAAK,CAAC,CAAC;QAEtE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,OAAO,CAAC,GAAG,CAAC,2BAA2B,GAAG,KAAK,CAAC,EAAE,GAAG,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;YACvE,MAAM,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC9D,CAAC;QAED,uBAAuB;QACvB,MAAM,KAAK,GAAG,sDAAsD,CAAC;QACrE,MAAM,0BAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;QAElD,kBAAkB;QAClB,MAAM,MAAM,GAAG,6DAA6D,CAAC;QAC7E,MAAM,0BAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;QAEnD,gBAAgB;QAChB,MAAM,MAAM,GAAG,uDAAuD,CAAC;QACvE,MAAM,0BAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;QAEnD,gBAAgB;QAChB,MAAM,0BAAQ,CAAC,MAAM,CAAC,+CAA+C,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;QAE5F,0BAA0B;QAC1B,MAAM,0BAAQ,CAAC,MAAM,CAAC,yDAAyD,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;QAEtG,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC;IACzB,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,cAA6B,EAAE,KAAa,EAAE,QAAgB;QAC7E,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;QACpE,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAC7C,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,IAAI,SAAS,CAAC,WAAW,KAAK,aAAa,EAAE,CAAC;YAC1C,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;gBAC3B,OAAO,IAAI,CAAC;YAChB,CAAC;QACL,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,2CAA2C,EAAE,KAAK,CAAC,CAAC;YAChE,OAAO;QACX,CAAC;QAED,IAAI,CAAC;YACD,IAAI,MAAM,gBAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC;gBAC/C,OAAO,IAAI,CAAC;YAChB,CAAC;QACL,CAAC;QACD,OAAO,CAAC,EAAE,CAAC;YACP,mBAAmB;YACnB,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACrB,CAAC;IACL,CAAC;IAED,wCAAwC;IACxC,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,QAAgB;QAChD,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,0BAAQ,CAAC,MAAM,CAAC,UAAU,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,yCAAyC,IAAI,CAAC,KAAK,iDAAiD,IAAI,CAAC,KAAK,gHAAgH,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;QACxT,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,uBAAuB;QACnB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,IAAI,SAAS;QACT,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC;IACrF,CAAC;IAED,IAAI,YAAY;QACZ,OAAO,IAAI,CAAC,EAAE,KAAK,GAAG,CAAC;IAC3B,CAAC;IAED,UAAU;QACN,IAAI,IAAI,CAAC,uBAAuB,EAAE,EAAE,CAAC;YACjC,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,gBAAgB,EAAE,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/C,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAES,OAAO;QACb,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,kDAAkD;YAClD,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,cAA6B,EAAE,KAAa;QACpE,OAAO,MAAM,IAAI,CAAC,oBAAoB,CAAC,cAAc,EAAE,KAAK,EAAE,EAAE,mBAAmB,EAAE,IAAI,EAAE,CAAC,CAAC;IACjG,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,cAAsB,EAAE,KAAa;QACvE,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC;YAC3B,KAAK;YACL,cAAc,EAAE,cAAc;SACjC,EAAE;YACC,KAAK,EAAE,CAAC;SACX,CAAC,CAAC;QAEH,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACpB,OAAO,SAAS,CAAC;QACrB,CAAC;QACD,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAEtB,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,cAA6B,EAAE,KAAa,EAAE,EAAE,mBAAmB,GAAG,KAAK,KAAwC,EAAE;QACnJ,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC;YAC3B,KAAK;YACL,cAAc,EAAE,SAAS,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc;SAC5E,EAAE;YACC,KAAK,EAAE,CAAC;SACX,CAAC,CAAC;QAEH,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACpB,IAAI,cAAc,IAAI,SAAS,CAAC,QAAQ,KAAK,cAAc,EAAE,CAAC;gBAC1D,OAAO,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,mBAAmB,EAAE,CAAC,CAAC;YAC3E,CAAC;YACD,OAAO,SAAS,CAAC;QACrB,CAAC;QACD,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAEtB,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC;YACrD,IAAI,cAAc,IAAI,SAAS,CAAC,QAAQ,KAAK,cAAc,EAAE,CAAC;gBAC1D,OAAO,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,mBAAmB,EAAE,CAAC,CAAC;YAC3E,CAAC;YACD,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,uCAAuC;QACvC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,QAAgB;QAC9B,MAAM,IAAI,GAAG,MAAM,gBAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,gBAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QACpE,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,aAAa,CACtB,YAAiC,EACjC,IAAmG;QAEnG,MAAM,EACF,KAAK,EACL,SAAS,EACT,QAAQ,GACX,GAAG,IAAI,CAAC;QAET,IAAI,CAAC,YAAY,IAAI,SAAS,CAAC,QAAQ,KAAK,UAAU,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YAC5E,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC5C,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QACxB,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,EAAE,IAAI,IAAI,CAAC,CAAC;QAC5F,IAAI,CAAC,EAAE,GAAG,IAAA,SAAM,GAAE,CAAC;QACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAEzB,IAAI,CAAC;YACD,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QACtB,CAAC;QACD,OAAO,CAAC,EAAE,CAAC;YACP,yBAAyB;YACzB,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,IAAI,cAAc,EAAE,CAAC;gBACrC,OAAO;YACX,CAAC;YACD,MAAM,CAAC,CAAC;QACZ,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,QAAQ,CACjB,YAAiC,EACjC,IAAa,EACb,OAAqC;QAErC,MAAM,EACF,KAAK,EACL,QAAQ,EACR,EAAE,EACF,SAAS,EACT,QAAQ,GACX,GAAG,IAAI,CAAC;QAET,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC5D,CAAC;QAED,IAAI,CAAC,YAAY,IAAI,SAAS,CAAC,QAAQ,KAAK,UAAU,IAAI,CAAC,OAAO,EAAE,aAAa,EAAE,CAAC;YAChF,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC5C,CAAC;QAED,IAAI,MAAM,IAAI,CAAC,oBAAoB,CAAC,YAAY,EAAE,EAAE,IAAI,IAAI,EAAE,KAAK,EAAE,EAAE,mBAAmB,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;YAClG,iBAAiB;YACjB,OAAO;QACX,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QACxB,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,EAAE,IAAI,IAAI,CAAC,CAAC;QAC5F,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,IAAA,SAAM,GAAE,CAAC;QACzB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC1C,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAEzB,IAAI,CAAC;YACD,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QACtB,CAAC;QACD,OAAO,CAAC,EAAE,CAAC;YACP,yBAAyB;YACzB,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,IAAI,cAAc,EAAE,CAAC;gBACrC,OAAO;YACX,CAAC;YACD,MAAM,CAAC,CAAC;QACZ,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,iBAAiB,CAAC,IAAuB,EAAE,GAAW,EAAE,eAAe,GAAG,KAAK;QAC3E,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACb,IAAI,CAAC,IAAI,GAAG,qBAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACpC,CAAC;QACD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACzD,IAAI,WAAW,EAAE,CAAC;YACd,IAAI,WAAW,KAAK,GAAG,EAAE,CAAC;gBACtB,MAAM,IAAI,2BAAW,CAAC;oBAClB,IAAI,EAAE,0BAA0B;oBAChC,OAAO,EAAE,mDAAmD;oBAC5D,KAAK,EAAE,EAAE,CAAC,sCAAsC,CAAC;oBACjD,UAAU,EAAE,GAAG;iBAClB,CAAC,CAAC;YACP,CAAC;QACL,CAAC;aACI,CAAC;YACF,IAAI,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC;gBACxC,iGAAiG;gBACjG,MAAM,IAAI,2BAAW,CAAC;oBAClB,IAAI,EAAE,wBAAwB;oBAC9B,OAAO,EAAE,kHAAkH;oBAC3H,KAAK,EAAE,EAAE,CAAC,sCAAsC,CAAC;oBACjD,UAAU,EAAE,GAAG;iBAClB,CAAC,CAAC;YACP,CAAC;QACL,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,WAAW,CACpB,YAAiC,EACjC,IAA8E;QAE9E,MAAM,EACF,KAAK,EACL,EAAE,EACF,SAAS,EACT,QAAQ,GACX,GAAG,IAAI,CAAC;QAET,IAAI,SAAS,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;YACpC,IAAI,YAAY,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;YAC/C,CAAC;QACL,CAAC;aACI,CAAC;YACF,IAAI,CAAC,YAAY,EAAE,CAAC;gBAChB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;YAC5C,CAAC;QACL,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QACxB,IAAI,CAAC,cAAc,GAAG,YAAY,EAAE,EAAE,IAAI,IAAI,CAAC;QAC/C,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,IAAA,SAAM,GAAE,CAAC;QACzB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QAE5C,IAAI,CAAC;YACD,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QACtB,CAAC;QACD,OAAO,CAAC,EAAE,CAAC;YACP,yBAAyB;YACzB,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;gBACtC,OAAO;YACX,CAAC;YACD,MAAM,CAAC,CAAC;QACZ,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,QAAgB;QACjC,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,qBAAqB;YACrB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,OAAO;QACX,CAAC;QACD,IAAI,CAAC,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC9C,CAAC;IAED,YAAY;QACR,OAAO,iBAAU,CAAC,MAAM,CAAC;YACrB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE;YAC7B,WAAW,EAAE,IAAI,CAAC,uBAAuB,EAAE;YAC3C,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,cAAc,EAAE,IAAI,CAAC,cAAc;SACtC,CAAC,CAAC;IACP,CAAC;IAED,UAAU;QACN,OAAO;YACH;gBACI,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,IAAI,EAAE,IAAI,CAAC,IAAI;aAClB;SACJ,CAAC;IACN,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,SAAS;QAClB,OAAO,qBAAY,CAAC,QAAQ,CAAC,gBAAgB,EAAE,KAAK,IAAI,EAAE;YACtD,kBAAkB;YAClB,IAAI,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACpC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACT,wBAAwB;gBACxB,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC;gBACnB,KAAK,CAAC,EAAE,GAAG,GAAG,CAAC;gBACf,KAAK,CAAC,SAAS,GAAG,QAAQ,CAAC;gBAC3B,KAAK,CAAC,KAAK,GAAG,wBAAwB,CAAC;gBACvC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACtB,KAAK,CAAC,WAAW,GAAG,4BAAe,CAAC,MAAM,CAAC;oBACvC,iBAAiB,EAAE,wBAAW,CAAC,IAAI;iBACtC,CAAC,CAAC;gBACH,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC;gBAE5B,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;YACvB,CAAC;YAED,OAAO,KAAK,CAAC;QACjB,CAAC,CAAC,CAAC;IACP,CAAC;;AArkBL,oBAskBC;AA5jBG;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;gCACU;AAGZ;IADC,IAAA,wBAAM,EAAC,EAAE,UAAU,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;4CAC5C;AAG9B;IADC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;sCACZ;AAG/B;IADC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;uCACX;AAGhC;IADC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;sCACZ;AAG/B;IADC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;mCACb;AAGd;IADC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;sCACZ;AAG/B;IADC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;sCACX;AAGjB;IADC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,4BAAe,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;yCACxB;AAO3C;IADC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,wBAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;qDACZ;AAGnD;IADC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,qBAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;kCAC/B;AAY7B;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;uCACc;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;uCACc"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"root":["../src/index.ts","../src/factories/addressfactory.ts","../src/factories/balanceitemfactory.ts","../src/factories/documenttemplatefactory.ts","../src/factories/emailtemplatefactory.ts","../src/factories/emergencycontactfactory.ts","../src/factories/eventfactory.ts","../src/factories/eventnotificationfactory.ts","../src/factories/eventnotificationtypefactory.ts","../src/factories/groupfactory.ts","../src/factories/memberfactory.ts","../src/factories/memberresponsibilityrecordfactory.ts","../src/factories/organizationfactory.ts","../src/factories/organizationregistrationperiodfactory.ts","../src/factories/organizationtagfactory.ts","../src/factories/parentfactory.ts","../src/factories/platformeventtypefactory.ts","../src/factories/platformresponsibilityfactory.ts","../src/factories/recordanswerfactory.ts","../src/factories/recordcategoryfactory.ts","../src/factories/recordfactory.ts","../src/factories/registercodefactory.ts","../src/factories/registrationfactory.ts","../src/factories/registrationperiodfactory.ts","../src/factories/stpackagefactory.ts","../src/factories/userfactory.ts","../src/factories/webshopfactory.ts","../src/factories/index.ts","../src/helpers/dnsvalidator.ts","../src/helpers/emailbuilder.ts","../src/helpers/
|
|
1
|
+
{"root":["../src/index.ts","../src/factories/addressfactory.ts","../src/factories/balanceitemfactory.ts","../src/factories/documenttemplatefactory.ts","../src/factories/emailtemplatefactory.ts","../src/factories/emergencycontactfactory.ts","../src/factories/eventfactory.ts","../src/factories/eventnotificationfactory.ts","../src/factories/eventnotificationtypefactory.ts","../src/factories/groupfactory.ts","../src/factories/memberfactory.ts","../src/factories/memberresponsibilityrecordfactory.ts","../src/factories/organizationfactory.ts","../src/factories/organizationregistrationperiodfactory.ts","../src/factories/organizationtagfactory.ts","../src/factories/parentfactory.ts","../src/factories/platformeventtypefactory.ts","../src/factories/platformresponsibilityfactory.ts","../src/factories/recordanswerfactory.ts","../src/factories/recordcategoryfactory.ts","../src/factories/recordfactory.ts","../src/factories/registercodefactory.ts","../src/factories/registrationfactory.ts","../src/factories/registrationperiodfactory.ts","../src/factories/stpackagefactory.ts","../src/factories/userfactory.ts","../src/factories/webshopfactory.ts","../src/factories/index.ts","../src/helpers/dnsvalidator.ts","../src/helpers/emailbuilder.ts","../src/helpers/handlebars.ts","../src/helpers/membermerger.test.ts","../src/helpers/membermerger.ts","../src/helpers/ratelimiter.ts","../src/helpers/webshopcounter.ts","../src/migrations/1605262045-import-postcodes.ts","../src/migrations/1605262046-import-postcodes-nl.ts","../src/models/auditlog.ts","../src/models/balanceitem.ts","../src/models/balanceitempayment.ts","../src/models/buckaroopayment.ts","../src/models/cachedbalance.ts","../src/models/document.ts","../src/models/documenttemplate.test.ts","../src/models/documenttemplate.ts","../src/models/email.test.ts","../src/models/email.ts","../src/models/emailrecipient.ts","../src/models/emailtemplate.ts","../src/models/emailverificationcode.ts","../src/models/event.ts","../src/models/eventnotification.ts","../src/models/group.ts","../src/models/image.ts","../src/models/invoice.ts","../src/models/invoicedbalanceitem.ts","../src/models/member.ts","../src/models/memberplatformmembership.ts","../src/models/memberresponsibilityrecord.ts","../src/models/memberuser.ts","../src/models/mergedmember.ts","../src/models/molliepayment.ts","../src/models/mollietoken.ts","../src/models/onetimetoken.ts","../src/models/order.ts","../src/models/organization.ts","../src/models/organizationregistrationperiod.ts","../src/models/passwordtoken.ts","../src/models/payconiqpayment.ts","../src/models/payment.ts","../src/models/platform.test.ts","../src/models/platform.ts","../src/models/registercode.ts","../src/models/registration.ts","../src/models/registrationperiod.ts","../src/models/stcredit.ts","../src/models/stinvoice.ts","../src/models/stpackage.ts","../src/models/stpendinginvoice.ts","../src/models/stripeaccount.ts","../src/models/stripecheckoutsession.ts","../src/models/stripepaymentintent.ts","../src/models/ticket.ts","../src/models/token.test.ts","../src/models/token.ts","../src/models/uitpasclientcredential.ts","../src/models/usedregistercode.ts","../src/models/user.ts","../src/models/userpermissions.ts","../src/models/webshop.ts","../src/models/webshopdiscountcode.ts","../src/models/webshopuitpasnumber.ts","../src/models/index.ts","../src/models/addresses/city.ts","../src/models/addresses/postalcode.test.ts","../src/models/addresses/postalcode.ts","../src/models/addresses/province.ts","../src/models/addresses/street.ts","../src/structures/organizationservermetadata.ts","../tests/jest.global.setup.ts","../tests/jest.setup.ts","../../../../environment.d.ts","../../../../jest-extended.d.ts","../../../stamhoofd.d.ts"],"version":"5.8.3"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stamhoofd/models",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.117.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": "ad4b006dca3aa5a7c14b2afc83b6df3c2a72424c"
|
|
34
34
|
}
|
|
@@ -2,7 +2,7 @@ import { Factory } from '@simonbackx/simple-database';
|
|
|
2
2
|
import { Gender, MemberDetails, ParentType } from '@stamhoofd/structures';
|
|
3
3
|
import { Formatter } from '@stamhoofd/utility';
|
|
4
4
|
|
|
5
|
-
import { Member,
|
|
5
|
+
import { Member, MemberWithUsersRegistrationsAndGroups } from '../models/Member.js';
|
|
6
6
|
import { Organization } from '../models/Organization.js';
|
|
7
7
|
import { User } from '../models/User.js';
|
|
8
8
|
import { EmergencyContactFactory } from './EmergencyContactFactory.js';
|
|
@@ -27,8 +27,8 @@ class Options {
|
|
|
27
27
|
maxAge?: number;
|
|
28
28
|
}
|
|
29
29
|
|
|
30
|
-
export class MemberFactory extends Factory<Options,
|
|
31
|
-
async create(): Promise<
|
|
30
|
+
export class MemberFactory extends Factory<Options, MemberWithUsersRegistrationsAndGroups> {
|
|
31
|
+
async create(): Promise<MemberWithUsersRegistrationsAndGroups> {
|
|
32
32
|
const organization = this.options.organization
|
|
33
33
|
?? (STAMHOOFD.userMode === 'organization' ? (await new OrganizationFactory({}).create()) : null);
|
|
34
34
|
|
|
@@ -81,6 +81,10 @@ Handlebars.registerHelper('filterString', (a, options) => {
|
|
|
81
81
|
if (options.hash.type === 'phone') {
|
|
82
82
|
return Formatter.removeAccents(a).replace(/[^A-Za-z0-9+]+/g, '');
|
|
83
83
|
}
|
|
84
|
+
if (options.hash.type === 'companyNumber') {
|
|
85
|
+
// BE prefix not allowed
|
|
86
|
+
return Formatter.removeAccents(a).replace(/[^0-9]+/g, '');
|
|
87
|
+
}
|
|
84
88
|
// Default: alphanumeric
|
|
85
89
|
return Formatter.removeAccents(a).replace(/[^A-Za-z0-9]+/g, '');
|
|
86
90
|
});
|
package/src/index.ts
CHANGED
package/src/models/AuditLog.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { column } from '@simonbackx/simple-database';
|
|
2
2
|
import { ArrayDecoder, Decoder, MapDecoder, StringDecoder, StringOrNumberDecoder } from '@simonbackx/simple-encoding';
|
|
3
3
|
import { QueryableModel } from '@stamhoofd/sql';
|
|
4
|
-
import { AuditLogPatchItem, AuditLogReplacement, AuditLogSource, AuditLogType } from '@stamhoofd/structures';
|
|
4
|
+
import { AuditLogPatchItem, AuditLogReplacement, AuditLogSource, AuditLogType, getAuditLogTypeReplacements } from '@stamhoofd/structures';
|
|
5
5
|
import { v7 as uuidv7 } from 'uuid';
|
|
6
6
|
|
|
7
7
|
export class AuditLog extends QueryableModel {
|
|
@@ -70,4 +70,13 @@ export class AuditLog extends QueryableModel {
|
|
|
70
70
|
},
|
|
71
71
|
})
|
|
72
72
|
createdAt: Date;
|
|
73
|
+
|
|
74
|
+
validate() {
|
|
75
|
+
const replacements = getAuditLogTypeReplacements(this.type);
|
|
76
|
+
for (const replacement of replacements) {
|
|
77
|
+
if (!this.replacements.has(replacement)) {
|
|
78
|
+
throw new Error(`Missing replacement ${replacement}`);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
73
82
|
}
|
|
@@ -48,6 +48,12 @@ export class BalanceItem extends QueryableModel {
|
|
|
48
48
|
@column({ type: 'string', nullable: true })
|
|
49
49
|
orderId: string | null = null;
|
|
50
50
|
|
|
51
|
+
/**
|
|
52
|
+
* The STPackage ID that is linked to this balance item
|
|
53
|
+
*/
|
|
54
|
+
@column({ type: 'string', nullable: true })
|
|
55
|
+
packageId: string | null = null;
|
|
56
|
+
|
|
51
57
|
/**
|
|
52
58
|
* The depending balance item ID that is linked to this balance item
|
|
53
59
|
* -> as soon as this balance item is paid, we'll mark this balance item as pending if it is still hidden
|
|
@@ -65,6 +71,20 @@ export class BalanceItem extends QueryableModel {
|
|
|
65
71
|
@column({ type: 'string' })
|
|
66
72
|
description = '';
|
|
67
73
|
|
|
74
|
+
/**
|
|
75
|
+
* In case this balance item is associated with an item that was charged for a certain period, the startDate is saved here.
|
|
76
|
+
* e.g. startDate of the registration.
|
|
77
|
+
*/
|
|
78
|
+
@column({ type: 'datetime', nullable: true })
|
|
79
|
+
startDate: Date | null = null;
|
|
80
|
+
|
|
81
|
+
/**
|
|
82
|
+
* In case this balance item is associated with an item that was charged for a certain period, the endDate is saved here.
|
|
83
|
+
* e.g. endDate of the registration.
|
|
84
|
+
*/
|
|
85
|
+
@column({ type: 'datetime', nullable: true })
|
|
86
|
+
endDate: Date | null = null;
|
|
87
|
+
|
|
68
88
|
/**
|
|
69
89
|
* @deprecated Use quantity
|
|
70
90
|
*/
|
|
@@ -306,6 +326,16 @@ export class BalanceItem extends QueryableModel {
|
|
|
306
326
|
return this.priceWithVAT - this.pricePaid - this.pricePending;
|
|
307
327
|
}
|
|
308
328
|
|
|
329
|
+
/**
|
|
330
|
+
* Returns zero if the balance item is canceled, otherwise priceWithVAT
|
|
331
|
+
*/
|
|
332
|
+
get priceDue() {
|
|
333
|
+
if (this.status === BalanceItemStatus.Canceled) {
|
|
334
|
+
return 0;
|
|
335
|
+
}
|
|
336
|
+
return this.priceWithVAT;
|
|
337
|
+
}
|
|
338
|
+
|
|
309
339
|
/**
|
|
310
340
|
* price minus pricePaid
|
|
311
341
|
*/
|
|
@@ -513,7 +543,7 @@ export class BalanceItem extends QueryableModel {
|
|
|
513
543
|
await Database.update(query, params);
|
|
514
544
|
}
|
|
515
545
|
|
|
516
|
-
static async loadPayments(items: BalanceItem[]) {
|
|
546
|
+
static async loadPayments(items: (BalanceItem | { id: string })[]) {
|
|
517
547
|
if (items.length == 0) {
|
|
518
548
|
return { balanceItemPayments: [], payments: [] };
|
|
519
549
|
}
|
|
@@ -535,7 +565,7 @@ export class BalanceItem extends QueryableModel {
|
|
|
535
565
|
});
|
|
536
566
|
}
|
|
537
567
|
|
|
538
|
-
static async getStructureWithPayments(items: BalanceItem[]): Promise<BalanceItemWithPayments[]> {
|
|
568
|
+
static async getStructureWithPayments(items: (BalanceItem | BalanceItemStruct)[]): Promise<BalanceItemWithPayments[]> {
|
|
539
569
|
if (items.length === 0) {
|
|
540
570
|
return [];
|
|
541
571
|
}
|
package/src/models/Document.ts
CHANGED
|
@@ -5,7 +5,7 @@ import { v4 as uuidv4 } from 'uuid';
|
|
|
5
5
|
|
|
6
6
|
import { QueryableModel } from '@stamhoofd/sql';
|
|
7
7
|
import { render } from '../helpers/Handlebars.js';
|
|
8
|
-
import { MemberWithRegistrations, RegistrationWithMember } from './Member.js';
|
|
8
|
+
import { Member, MemberWithRegistrations, MemberWithUsersRegistrationsAndGroups, RegistrationWithMember } from './Member.js';
|
|
9
9
|
import { Organization } from './Organization.js';
|
|
10
10
|
import { Registration } from './Registration.js';
|
|
11
11
|
|
|
@@ -142,25 +142,27 @@ export class Document extends QueryableModel {
|
|
|
142
142
|
}
|
|
143
143
|
|
|
144
144
|
const Member = (await import('./Member.js')).Member;
|
|
145
|
-
const
|
|
145
|
+
const registration = await Registration.getByID(this.registrationId);
|
|
146
146
|
if (!registration) {
|
|
147
147
|
console.log('No registration when updating document', this.id);
|
|
148
148
|
await template.updateDocumentWithAnswers(this, this.data.fieldAnswers);
|
|
149
149
|
return;
|
|
150
150
|
}
|
|
151
151
|
|
|
152
|
-
await
|
|
152
|
+
const [loadedRegistration] = await Member.loadMembersForRegistrations([registration]);
|
|
153
|
+
await template.updateDocumentFor(this, loadedRegistration);
|
|
153
154
|
}
|
|
154
155
|
|
|
155
|
-
static async updateForMember(memberOrId: string | MemberWithRegistrations) {
|
|
156
|
+
static async updateForMember(memberOrId: string | Member | MemberWithRegistrations) {
|
|
156
157
|
try {
|
|
157
158
|
console.log('Updating documents for member', typeof memberOrId === 'string' ? memberOrId : memberOrId.id);
|
|
158
159
|
const Member = (await import('./Member.js')).Member;
|
|
159
|
-
const member = typeof memberOrId === 'string' ? await Member.
|
|
160
|
+
const member = typeof memberOrId === 'string' ? await Member.getByID(memberOrId) : memberOrId;
|
|
160
161
|
if (member) {
|
|
161
|
-
const
|
|
162
|
+
const [loadedMember] = await Member.loadRegistrations([member]);
|
|
163
|
+
const organizationIds = Formatter.uniqueArray(loadedMember.registrations.map(r => r.organizationId));
|
|
162
164
|
for (const organizationId of organizationIds) {
|
|
163
|
-
await this.updateForRegistrations(
|
|
165
|
+
await this.updateForRegistrations(loadedMember.registrations.filter(r => r.registeredAt && r.deactivatedAt === null && r.organizationId === organizationId).map(r => r.id), organizationId);
|
|
164
166
|
}
|
|
165
167
|
}
|
|
166
168
|
}
|
|
@@ -198,7 +200,7 @@ export class Document extends QueryableModel {
|
|
|
198
200
|
}
|
|
199
201
|
}
|
|
200
202
|
|
|
201
|
-
static async updateForRegistrations(registrationIds: string[], organizationId: string) {
|
|
203
|
+
static async updateForRegistrations(registrationIds: string[] | Registration[], organizationId: string) {
|
|
202
204
|
if (!registrationIds.length) {
|
|
203
205
|
return;
|
|
204
206
|
}
|
|
@@ -210,10 +212,11 @@ export class Document extends QueryableModel {
|
|
|
210
212
|
|
|
211
213
|
if (templates.length) {
|
|
212
214
|
const Member = (await import('./Member.js')).Member;
|
|
213
|
-
const registrations = await Member.getRegistrationWithMembersByIDs(registrationIds);
|
|
215
|
+
const registrations = registrationIds.length === 0 || typeof registrationIds[0] !== 'string' ? (registrationIds as Registration[]) : await Member.getRegistrationWithMembersByIDs(registrationIds as string[]);
|
|
216
|
+
const loadedRegistrations = await Member.loadMembersForRegistrations(registrations);
|
|
214
217
|
|
|
215
218
|
for (const template of templates) {
|
|
216
|
-
await template.updateForRegistrations(
|
|
219
|
+
await template.updateForRegistrations(loadedRegistrations);
|
|
217
220
|
}
|
|
218
221
|
}
|
|
219
222
|
}
|
|
@@ -2,7 +2,7 @@ import { column } from '@simonbackx/simple-database';
|
|
|
2
2
|
import { isSimpleError, isSimpleErrors, SimpleError } from '@simonbackx/simple-errors';
|
|
3
3
|
import { QueueHandler } from '@stamhoofd/queues';
|
|
4
4
|
import { BalanceItemStatus, DocumentData, DocumentPrivateSettings, DocumentSettings, DocumentStatus, DocumentTemplatePrivate, GroupType, NationalRegisterNumberOptOut, Parent, RecordAddressAnswer, RecordAnswer, RecordAnswerDecoder, RecordDateAnswer, RecordPriceAnswer, RecordSettings, RecordTextAnswer, RecordType } from '@stamhoofd/structures';
|
|
5
|
-
import { Sorter } from '@stamhoofd/utility';
|
|
5
|
+
import { Formatter, Sorter } from '@stamhoofd/utility';
|
|
6
6
|
import { v4 as uuidv4 } from 'uuid';
|
|
7
7
|
|
|
8
8
|
import { QueryableModel } from '@stamhoofd/sql';
|
|
@@ -89,6 +89,18 @@ export class DocumentTemplate extends QueryableModel {
|
|
|
89
89
|
return DocumentTemplatePrivate.create(this);
|
|
90
90
|
}
|
|
91
91
|
|
|
92
|
+
/**
|
|
93
|
+
* Still do an update when answers are locked
|
|
94
|
+
*/
|
|
95
|
+
async updateAnswers(document: Document) {
|
|
96
|
+
// Add global answers (same for each document)
|
|
97
|
+
for (const answer of this.settings.fieldAnswers.values()) {
|
|
98
|
+
// todo: check duplicate
|
|
99
|
+
answer.reviewedAt = null;
|
|
100
|
+
document.data.fieldAnswers.set(answer.settings.id, answer);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
|
|
92
104
|
/**
|
|
93
105
|
* Returns the default answers for a given registration
|
|
94
106
|
*/
|
|
@@ -96,7 +108,7 @@ export class DocumentTemplate extends QueryableModel {
|
|
|
96
108
|
const fieldAnswers = new Map<string, RecordAnswer>();
|
|
97
109
|
let missingData = false;
|
|
98
110
|
|
|
99
|
-
const group = await Group.getByID(registration.groupId);
|
|
111
|
+
const group = 'group' in registration ? registration.group as Group : await Group.getByID(registration.groupId);
|
|
100
112
|
const { items: balanceItems, payments } = await BalanceItem.getForRegistration(registration.id, this.organizationId);
|
|
101
113
|
|
|
102
114
|
const paidAtDates = payments.flatMap(p => p.paidAt ? [p.paidAt?.getTime()] : []);
|
|
@@ -372,11 +384,11 @@ export class DocumentTemplate extends QueryableModel {
|
|
|
372
384
|
}
|
|
373
385
|
}
|
|
374
386
|
|
|
375
|
-
// Add
|
|
376
|
-
for (const
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
387
|
+
// Add other default data
|
|
388
|
+
for (const key in defaultData) {
|
|
389
|
+
if (defaultData[key] && defaultData[key].settings.id === key && !fieldAnswers.get(key)) {
|
|
390
|
+
fieldAnswers.set(key, defaultData[key]);
|
|
391
|
+
}
|
|
380
392
|
}
|
|
381
393
|
|
|
382
394
|
// Add group based answers (same for each group)
|
|
@@ -386,11 +398,11 @@ export class DocumentTemplate extends QueryableModel {
|
|
|
386
398
|
fieldAnswers.set(answer.settings.id, answer);
|
|
387
399
|
}
|
|
388
400
|
|
|
389
|
-
// Add
|
|
390
|
-
for (const
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
401
|
+
// Add global answers (same for each document)
|
|
402
|
+
for (const answer of this.settings.fieldAnswers.values()) {
|
|
403
|
+
// todo: check duplicate
|
|
404
|
+
answer.reviewedAt = null;
|
|
405
|
+
fieldAnswers.set(answer.settings.id, answer);
|
|
394
406
|
}
|
|
395
407
|
|
|
396
408
|
// Verify answers
|
|
@@ -421,9 +433,20 @@ export class DocumentTemplate extends QueryableModel {
|
|
|
421
433
|
const existingDocuments = await Document.where({ templateId: this.id, registrationId: { sign: 'IN', value: registrations.map(r => r.id) } });
|
|
422
434
|
const documents: Document[] = [];
|
|
423
435
|
|
|
436
|
+
const includedRegistrations = registrations.filter(r => this.checkRegistrationIncluded(r));
|
|
437
|
+
|
|
438
|
+
// Load groups
|
|
439
|
+
const groupIds = Formatter.uniqueArray(includedRegistrations.map(r => r.groupId));
|
|
440
|
+
const groups = await Group.getByIDs(...groupIds);
|
|
441
|
+
|
|
424
442
|
for (const registration of registrations) {
|
|
443
|
+
const group = groups.find(g => g.id === registration.groupId);
|
|
444
|
+
if (group) {
|
|
445
|
+
registration.setRelation(Registration.group, group);
|
|
446
|
+
}
|
|
425
447
|
documents.push(...await this.updateForRegistration(registration, existingDocuments.filter(d => d.registrationId === registration.id)));
|
|
426
448
|
}
|
|
449
|
+
|
|
427
450
|
return documents;
|
|
428
451
|
}
|
|
429
452
|
|
|
@@ -447,7 +470,7 @@ export class DocumentTemplate extends QueryableModel {
|
|
|
447
470
|
return [];
|
|
448
471
|
}
|
|
449
472
|
|
|
450
|
-
const group = await Group.getByID(registration.groupId);
|
|
473
|
+
const group = 'group' in registration ? registration.group as Group : await Group.getByID(registration.groupId);
|
|
451
474
|
const description = `${registration.member.details.name}, ${group ? group.settings.name.toString() : ''}${group && group.settings.period && group.type === GroupType.Membership ? ' ' + group.settings.period?.nameShort : ''}`;
|
|
452
475
|
|
|
453
476
|
if (existingDocuments.length > 0) {
|
|
@@ -561,6 +584,7 @@ export class DocumentTemplate extends QueryableModel {
|
|
|
561
584
|
const documents = await Document.where({ templateId: this.id });
|
|
562
585
|
for (const document of documents) {
|
|
563
586
|
abort.throwIfAborted();
|
|
587
|
+
await this.updateAnswers(document); // Only update global data
|
|
564
588
|
if (document.status === DocumentStatus.Draft || document.status === DocumentStatus.Published) {
|
|
565
589
|
document.status = this.status;
|
|
566
590
|
await document.save();
|
package/src/models/Group.ts
CHANGED
|
@@ -1,12 +1,11 @@
|
|
|
1
|
-
import { column, Database, ManyToOneRelation
|
|
1
|
+
import { column, Database, ManyToOneRelation } from '@simonbackx/simple-database';
|
|
2
2
|
import { GroupCategory, GroupPrivateSettings, GroupSettings, GroupStatus, Group as GroupStruct, GroupType, 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
|
-
import { QueryableModel } from '@stamhoofd/sql';
|
|
8
|
-
import {
|
|
9
|
-
import { Member, MemberWithRegistrations, OrganizationRegistrationPeriod, Payment, Registration, User } from './index.js';
|
|
7
|
+
import { ModelCache, QueryableModel } from '@stamhoofd/sql';
|
|
8
|
+
import { Member, OrganizationRegistrationPeriod, Payment, Registration, User } from './index.js';
|
|
10
9
|
|
|
11
10
|
if (Member === undefined) {
|
|
12
11
|
throw new Error('Import Member is undefined');
|
|
@@ -23,6 +22,7 @@ if (Registration === undefined) {
|
|
|
23
22
|
|
|
24
23
|
export class Group extends QueryableModel {
|
|
25
24
|
static table = 'groups';
|
|
25
|
+
// static cache = new ModelCache<Group>();
|
|
26
26
|
|
|
27
27
|
@column({
|
|
28
28
|
primary: true, type: 'string', beforeSave(value) {
|
|
@@ -135,73 +135,6 @@ export class Group extends QueryableModel {
|
|
|
135
135
|
return [...map.values()];
|
|
136
136
|
}
|
|
137
137
|
|
|
138
|
-
/**
|
|
139
|
-
* Fetch all members with their corresponding (valid) registrations, users
|
|
140
|
-
*/
|
|
141
|
-
async getMembersWithRegistration(waitingList = false, cycleOffset = 0): Promise<MemberWithRegistrations[]> {
|
|
142
|
-
let query = `SELECT ${Member.getDefaultSelect()}, ${Registration.getDefaultSelect()}, ${User.getDefaultSelect()} from \`${Member.table}\`\n`;
|
|
143
|
-
|
|
144
|
-
query += `JOIN \`${Registration.table}\` ON \`${Registration.table}\`.\`${Member.registrations.foreignKey}\` = \`${Member.table}\`.\`${Member.primary.name}\` AND (\`${Registration.table}\`.\`registeredAt\` is not null OR \`${Registration.table}\`.\`waitingList\` = 1)\n`;
|
|
145
|
-
|
|
146
|
-
if (waitingList) {
|
|
147
|
-
query += `JOIN \`${Registration.table}\` as reg_filter ON reg_filter.\`${Member.registrations.foreignKey}\` = \`${Member.table}\`.\`${Member.primary.name}\` AND reg_filter.\`waitingList\` = 1\n`;
|
|
148
|
-
}
|
|
149
|
-
else {
|
|
150
|
-
query += `JOIN \`${Registration.table}\` as reg_filter ON reg_filter.\`${Member.registrations.foreignKey}\` = \`${Member.table}\`.\`${Member.primary.name}\` AND reg_filter.\`waitingList\` = 0 AND reg_filter.\`registeredAt\` is not null\n`;
|
|
151
|
-
}
|
|
152
|
-
|
|
153
|
-
query += Member.users.joinQuery(Member.table, User.table) + '\n';
|
|
154
|
-
|
|
155
|
-
// We do an extra join because we also need to get the other registrations of each member (only one regitration has to match the query)
|
|
156
|
-
query += `where reg_filter.\`groupId\` = ? AND reg_filter.\`cycle\` = ?`;
|
|
157
|
-
|
|
158
|
-
const [results] = await Database.select(query, [this.id, this.cycle - cycleOffset]);
|
|
159
|
-
const members: MemberWithRegistrations[] = [];
|
|
160
|
-
|
|
161
|
-
const groupIds = results.map(r => r[Registration.table]?.groupId).filter(id => id) as string[];
|
|
162
|
-
const groups = await Group.getByIDs(...Formatter.uniqueArray(groupIds));
|
|
163
|
-
|
|
164
|
-
for (const row of results) {
|
|
165
|
-
const foundMember = Member.fromRow(row[Member.table]);
|
|
166
|
-
if (!foundMember) {
|
|
167
|
-
throw new Error('Expected member in every row');
|
|
168
|
-
}
|
|
169
|
-
const _f = foundMember.setManyRelation(Member.registrations as unknown as OneToManyRelation<'registrations', Member, Registration & { group: Group }>, []).setManyRelation(Member.users, []);
|
|
170
|
-
|
|
171
|
-
// Seach if we already got this member?
|
|
172
|
-
const existingMember = members.find(m => m.id == _f.id);
|
|
173
|
-
|
|
174
|
-
const member: MemberWithRegistrations = (existingMember ?? _f);
|
|
175
|
-
if (!existingMember) {
|
|
176
|
-
members.push(member);
|
|
177
|
-
}
|
|
178
|
-
|
|
179
|
-
// Check if we have a registration with a payment
|
|
180
|
-
const registration = Registration.fromRow(row[Registration.table]);
|
|
181
|
-
if (registration) {
|
|
182
|
-
// Check if we already have this registration
|
|
183
|
-
if (!member.registrations.find(r => r.id == registration.id)) {
|
|
184
|
-
const group = groups.find(g => g.id == registration.groupId);
|
|
185
|
-
if (!group) {
|
|
186
|
-
throw new Error('Expected group');
|
|
187
|
-
}
|
|
188
|
-
member.registrations.push(registration.setRelation(Registration.group, group));
|
|
189
|
-
}
|
|
190
|
-
}
|
|
191
|
-
|
|
192
|
-
// Check if we have a user
|
|
193
|
-
const user = User.fromRow(row[User.table]);
|
|
194
|
-
if (user) {
|
|
195
|
-
// Check if we already have this registration
|
|
196
|
-
if (!member.users.find(r => r.id == user.id)) {
|
|
197
|
-
member.users.push(user);
|
|
198
|
-
}
|
|
199
|
-
}
|
|
200
|
-
}
|
|
201
|
-
|
|
202
|
-
return members;
|
|
203
|
-
}
|
|
204
|
-
|
|
205
138
|
/**
|
|
206
139
|
* @deprecated
|
|
207
140
|
*/
|
package/src/models/Invoice.ts
CHANGED
|
@@ -153,63 +153,6 @@ export class Invoice extends QueryableModel {
|
|
|
153
153
|
})
|
|
154
154
|
updatedAt: Date;
|
|
155
155
|
|
|
156
|
-
static async createFrom(organization: { id: string }, struct: InvoiceStruct) {
|
|
157
|
-
const model = new Invoice();
|
|
158
|
-
model.customer = struct.customer;
|
|
159
|
-
model.seller = struct.seller;
|
|
160
|
-
model.organizationId = organization.id;
|
|
161
|
-
model.payingOrganizationId = struct.payingOrganizationId;
|
|
162
|
-
|
|
163
|
-
model.payableRoundingAmount = struct.payableRoundingAmount;
|
|
164
|
-
model.VATTotal = struct.VATTotal;
|
|
165
|
-
model.VATTotalAmount = struct.VATTotalAmount;
|
|
166
|
-
model.totalWithoutVAT = struct.totalWithoutVAT;
|
|
167
|
-
model.totalWithVAT = struct.totalWithVAT;
|
|
168
|
-
model.totalBalanceInvoicedAmount = struct.totalBalanceInvoicedAmount;
|
|
169
|
-
|
|
170
|
-
model.ipAddress = struct.ipAddress;
|
|
171
|
-
model.userAgent = struct.userAgent;
|
|
172
|
-
|
|
173
|
-
model.stripeAccountId = struct.stripeAccountId;
|
|
174
|
-
model.reference = struct.reference;
|
|
175
|
-
|
|
176
|
-
model.negativeInvoiceId = struct.negativeInvoiceId;
|
|
177
|
-
|
|
178
|
-
await model.save();
|
|
179
|
-
|
|
180
|
-
// Create balances
|
|
181
|
-
try {
|
|
182
|
-
for (const item of struct.items) {
|
|
183
|
-
const invoiced = new InvoicedBalanceItem();
|
|
184
|
-
invoiced.invoiceId = model.id;
|
|
185
|
-
invoiced.organizationId = model.organizationId;
|
|
186
|
-
invoiced.balanceItemId = item.balanceItemId;
|
|
187
|
-
|
|
188
|
-
invoiced.VATExcempt = item.VATExcempt;
|
|
189
|
-
invoiced.VATPercentage = item.VATPercentage;
|
|
190
|
-
invoiced.VATIncluded = item.VATIncluded;
|
|
191
|
-
|
|
192
|
-
invoiced.unitPrice = item.unitPrice;
|
|
193
|
-
invoiced.quantity = item.quantity;
|
|
194
|
-
|
|
195
|
-
invoiced.balanceInvoicedAmount = item.balanceInvoicedAmount;
|
|
196
|
-
|
|
197
|
-
invoiced.totalWithoutVAT = item.totalWithoutVAT;
|
|
198
|
-
|
|
199
|
-
await invoiced.save();
|
|
200
|
-
}
|
|
201
|
-
}
|
|
202
|
-
catch (e) {
|
|
203
|
-
try {
|
|
204
|
-
await model.delete();
|
|
205
|
-
}
|
|
206
|
-
catch (ee) {
|
|
207
|
-
console.error('Error while trying to delete invoice because of fail save', ee, 'Deleting because of error', e);
|
|
208
|
-
}
|
|
209
|
-
throw e;
|
|
210
|
-
}
|
|
211
|
-
}
|
|
212
|
-
|
|
213
156
|
static async loadBalanceItems(invoices: Invoice[]) {
|
|
214
157
|
if (invoices.length === 0) {
|
|
215
158
|
return { invoicedBalanceItems: [] };
|