@stamhoofd/models 2.77.0 → 2.77.2

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.
@@ -600,5 +600,29 @@ describe('member merge', () => {
600
600
  expect(otherIds).toContain(m1.id);
601
601
  expect(otherIds).toContain(m2.id);
602
602
  });
603
+ describe('Regressions', () => {
604
+ /**
605
+ * tests STA-460
606
+ */
607
+ test('Members with same email addreses do not get the email added as alternative email', () => {
608
+ const m1 = new models_1.Member();
609
+ const m2 = new models_1.Member();
610
+ const base = structures_1.MemberDetails.create({
611
+ email: 'example@example.com',
612
+ firstName: 'John',
613
+ lastName: 'Doe',
614
+ });
615
+ const other = structures_1.MemberDetails.create({
616
+ email: 'example@example.com',
617
+ firstName: 'John',
618
+ lastName: 'Doe',
619
+ });
620
+ m1.details = base.clone();
621
+ m2.details = other.clone();
622
+ (0, MemberMerger_1.mergeMemberDetails)(m1, m2);
623
+ expect(m1.details.email).toBe('example@example.com');
624
+ expect(m1.details.alternativeEmails).toEqual([]);
625
+ });
626
+ });
603
627
  });
604
628
  //# sourceMappingURL=MemberMerger.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MemberMerger.test.js","sourceRoot":"","sources":["../../../src/helpers/MemberMerger.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MemberMerger.test.js","sourceRoot":"","sources":["../../../src/helpers/MemberMerger.test.ts"],"names":[],"mappings":";;AAAA,sDAY+B;AAC/B,+BAAoC;AACpC,sCAAmC;AACnC,iDAAsE;AAEtE,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC1B,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAChC,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;YAChC,kBAAkB;YAClB,MAAM,EAAE,GAAG,IAAI,eAAM,EAAE,CAAC;YACxB,MAAM,EAAE,GAAG,IAAI,eAAM,EAAE,CAAC;YACxB,MAAM,KAAK,GAAG,0BAAa,CAAC,MAAM,CAAC;gBAC/B,SAAS,EAAE,GAAG;gBACd,QAAQ,EAAE,EAAE;gBACZ,QAAQ,EAAE,SAAS;gBACnB,YAAY,EAAE,SAAS;gBACvB,YAAY,EAAE,SAAS;gBACvB,KAAK,EAAE,GAAG;gBACV,KAAK,EAAE,SAAS;gBAChB,MAAM,EAAE,mBAAM,CAAC,KAAK;gBACpB,wBAAwB,EAAE,SAAS;gBACnC,eAAe,EAAE,SAAS;gBAC1B,OAAO,EAAE,SAAS;gBAClB,OAAO,EAAE,EAAE;gBACX,iBAAiB,EAAE,EAAE;gBACrB,WAAW,EAAE,SAAS;gBACtB,aAAa,EAAE,SAAS;gBACxB,gBAAgB,EAAE,EAAE;gBACpB,gBAAgB,EAAE,EAAE;gBACpB,mBAAmB,EAAE,EAAE;gBACvB,KAAK,EAAE,SAAS;aACnB,CAAC,CAAC;YAEH,MAAM,YAAY,GAAG,yBAAY,CAAC,MAAM,CAAC;gBACrC,QAAQ,EAAE,2BAAc,CAAC,MAAM,CAAC;oBAC5B,IAAI,EAAE,SAAS;oBACf,QAAQ,EAAE,IAAI;oBACd,OAAO,EAAE,EAAE;iBACd,CAAC;aACL,CAAC,CAAC;YAEH,MAAM,KAAK,GAAG,0BAAa,CAAC,MAAM,CAAC;gBAC/B,SAAS,EAAE,MAAM;gBACjB,QAAQ,EAAE,KAAK;gBACf,QAAQ,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;gBAC9B,YAAY,EAAE,KAAK;gBACnB,YAAY,EAAE,IAAI;gBAClB,KAAK,EAAE,mBAAmB;gBAC1B,KAAK,EAAE,UAAU;gBACjB,MAAM,EAAE,mBAAM,CAAC,IAAI;gBACnB,wBAAwB,EAAE,0BAAa,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;gBAC/D,eAAe,EAAE,0BAAa,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;gBACtD,OAAO,EAAE,oBAAO,CAAC,MAAM,CAAC;oBACpB,IAAI,EAAE,WAAW;oBACjB,MAAM,EAAE,cAAc;oBACtB,MAAM,EAAE,GAAG;oBACX,UAAU,EAAE,QAAQ;oBACpB,OAAO,EAAE,oBAAO,CAAC,WAAW;iBAC/B,CAAC;gBACF,OAAO,EAAE,CAAC,mBAAM,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;gBAChE,iBAAiB,EAAE;oBACf,6BAAgB,CAAC,MAAM,CAAC;wBACpB,IAAI,EAAE,QAAQ;wBACd,KAAK,EAAE,OAAO;wBACd,KAAK,EAAE,aAAa;qBACvB,CAAC;iBACL;gBACD,WAAW,EAAE,wBAAW,CAAC,MAAM,CAAC;oBAC5B,KAAK,EAAE;wBACH,uBAAU,CAAC,MAAM,CAAC;4BACd,IAAI,EAAE,SAAS;4BACf,UAAU,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;yBACnC,CAAC;wBACF,uBAAU,CAAC,MAAM,CAAC;4BACd,IAAI,EAAE,SAAS;4BACf,UAAU,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;yBACnC,CAAC;qBACL;iBACJ,CAAC;gBACF,aAAa,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC,CAAC;gBACzD,gBAAgB,EAAE,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;gBACtD,gBAAgB,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC;gBAC1C,mBAAmB,EAAE;oBACjB,oBAAO,CAAC,MAAM,CAAC;wBACX,IAAI,EAAE,WAAW;wBACjB,MAAM,EAAE,cAAc;wBACtB,MAAM,EAAE,GAAG;wBACX,UAAU,EAAE,QAAQ;wBACpB,OAAO,EAAE,oBAAO,CAAC,WAAW;qBAC/B,CAAC;iBACL;gBACD,KAAK,EAAE,OAAO;aACjB,CAAC,CAAC;YAEH,EAAE,CAAC,OAAO,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;YAC3B,EAAE,CAAC,OAAO,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;YAC3B,aAAa;YAEb,MAAM;YACN,IAAI,EAAiB,CAAC;YAEtB,SAAS,CAAC,GAAG,EAAE;gBACX,IAAA,iCAAkB,EAAC,EAAE,EAAE,EAAE,CAAC,CAAC;gBAC3B,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC;YACpB,CAAC,CAAC,CAAC;YAEH,SAAS;YACT,IAAI,CAAC,WAAW,EAAE,GAAG,EAAE;gBACnB,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YAC/C,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE;gBAClB,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC7C,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,cAAc,EAAE,GAAG,EAAE;gBACtB,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YACrD,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,cAAc,EAAE,GAAG,EAAE;gBACtB,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YACrD,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;gBACf,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACnC,MAAM,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC3D,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;gBACf,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACnC,MAAM,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC3D,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE;gBAChB,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACzC,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE;gBAClB,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CACrC,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAClC,CAAC;YACN,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,4BAA4B,EAAE,GAAG,EAAE;gBACpC,MAAM,CAAC,EAAE,CAAC,wBAAwB,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAC1D,KAAK,CAAC,wBAAwB,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CACvD,CAAC;YACN,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,kBAAkB,EAAE,GAAG,EAAE;gBAC1B,MAAM,CAAC,EAAE,CAAC,eAAe,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CACjD,KAAK,CAAC,eAAe,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAC9C,CAAC;YACN,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE;gBACjB,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YACnD,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE;gBACjB,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACzD,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,oBAAoB,EAAE,GAAG,EAAE;gBAC5B,MAAM,CAAC,EAAE,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,IAAI,CACpC,KAAK,CAAC,iBAAiB,CAAC,MAAM,CACjC,CAAC;YACN,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,cAAc,EAAE,GAAG,EAAE;gBACtB,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CACpC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CACjC,CAAC;YACN,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE;gBACjB,MAAM,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YACjE,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,kBAAkB,EAAE,GAAG,EAAE;gBAC1B,MAAM,CAAC,EAAE,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;YAC3E,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,kBAAkB,EAAE,GAAG,EAAE;gBAC1B,MAAM,CAAC,EAAE,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;YAC3E,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,qBAAqB,EAAE,GAAG,EAAE;gBAC7B,MAAM,CAAC,EAAE,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,IAAI,CACtC,KAAK,CAAC,mBAAmB,CAAC,MAAM,CACnC,CAAC;YACN,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;gBACf,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACtC,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;YACjC,kBAAkB;YAClB,MAAM,EAAE,GAAG,IAAI,eAAM,EAAE,CAAC;YACxB,MAAM,EAAE,GAAG,IAAI,eAAM,EAAE,CAAC;YAExB,MAAM,YAAY,GAAG,yBAAY,CAAC,MAAM,CAAC;gBACrC,QAAQ,EAAE,2BAAc,CAAC,MAAM,CAAC;oBAC5B,IAAI,EAAE,SAAS;oBACf,QAAQ,EAAE,IAAI;oBACd,OAAO,EAAE,EAAE;iBACd,CAAC;aACL,CAAC,CAAC;YAEH,MAAM,KAAK,GAAG,0BAAa,CAAC,MAAM,CAAC;gBAC/B,SAAS,EAAE,MAAM;gBACjB,QAAQ,EAAE,KAAK;gBACf,QAAQ,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;gBAC9B,YAAY,EAAE,KAAK;gBACnB,YAAY,EAAE,IAAI;gBAClB,KAAK,EAAE,mBAAmB;gBAC1B,KAAK,EAAE,UAAU;gBACjB,MAAM,EAAE,mBAAM,CAAC,IAAI;gBACnB,wBAAwB,EAAE,0BAAa,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;gBAC/D,eAAe,EAAE,0BAAa,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;gBACtD,OAAO,EAAE,oBAAO,CAAC,MAAM,CAAC;oBACpB,IAAI,EAAE,WAAW;oBACjB,MAAM,EAAE,cAAc;oBACtB,MAAM,EAAE,GAAG;oBACX,UAAU,EAAE,QAAQ;oBACpB,OAAO,EAAE,oBAAO,CAAC,WAAW;iBAC/B,CAAC;gBACF,OAAO,EAAE,CAAC,mBAAM,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;gBAChE,iBAAiB,EAAE;oBACf,6BAAgB,CAAC,MAAM,CAAC;wBACpB,IAAI,EAAE,QAAQ;wBACd,KAAK,EAAE,OAAO;wBACd,KAAK,EAAE,aAAa;qBACvB,CAAC;iBACL;gBACD,WAAW,EAAE,wBAAW,CAAC,MAAM,CAAC;oBAC5B,KAAK,EAAE;wBACH,uBAAU,CAAC,MAAM,CAAC;4BACd,IAAI,EAAE,SAAS;4BACf,UAAU,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;yBACnC,CAAC;wBACF,uBAAU,CAAC,MAAM,CAAC;4BACd,IAAI,EAAE,SAAS;4BACf,UAAU,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;yBACnC,CAAC;qBACL;iBACJ,CAAC;gBACF,aAAa,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC,CAAC;gBACzD,gBAAgB,EAAE,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;gBACtD,gBAAgB,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC;gBAC1C,mBAAmB,EAAE;oBACjB,oBAAO,CAAC,MAAM,CAAC;wBACX,IAAI,EAAE,WAAW;wBACjB,MAAM,EAAE,cAAc;wBACtB,MAAM,EAAE,GAAG;wBACX,UAAU,EAAE,QAAQ;wBACpB,OAAO,EAAE,oBAAO,CAAC,WAAW;qBAC/B,CAAC;iBACL;gBACD,KAAK,EAAE,OAAO;aACjB,CAAC,CAAC;YAEH,MAAM,KAAK,GAAG,0BAAa,CAAC,MAAM,CAAC;gBAC/B,SAAS,EAAE,GAAG;gBACd,QAAQ,EAAE,EAAE;gBACZ,QAAQ,EAAE,SAAS;gBACnB,YAAY,EAAE,SAAS;gBACvB,YAAY,EAAE,SAAS;gBACvB,KAAK,EAAE,GAAG;gBACV,KAAK,EAAE,SAAS;gBAChB,MAAM,EAAE,mBAAM,CAAC,KAAK;gBACpB,wBAAwB,EAAE,SAAS;gBACnC,eAAe,EAAE,SAAS;gBAC1B,OAAO,EAAE,SAAS;gBAClB,OAAO,EAAE,EAAE;gBACX,iBAAiB,EAAE,EAAE;gBACrB,WAAW,EAAE,SAAS;gBACtB,aAAa,EAAE,SAAS;gBACxB,gBAAgB,EAAE,EAAE;gBACpB,gBAAgB,EAAE,EAAE;gBACpB,mBAAmB,EAAE,EAAE;gBACvB,KAAK,EAAE,SAAS;aACnB,CAAC,CAAC;YAEH,EAAE,CAAC,OAAO,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;YAC3B,EAAE,CAAC,OAAO,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;YAC3B,aAAa;YAEb,MAAM;YACN,IAAI,EAAiB,CAAC;YAEtB,SAAS,CAAC,GAAG,EAAE;gBACX,IAAA,iCAAkB,EAAC,EAAE,EAAE,EAAE,CAAC,CAAC;gBAC3B,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC;YACpB,CAAC,CAAC,CAAC;YAEH,SAAS;YACT,IAAI,CAAC,WAAW,EAAE,GAAG,EAAE;gBACnB,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YAC/C,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE;gBAClB,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC7C,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,cAAc,EAAE,GAAG,EAAE;gBACtB,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YACrD,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,cAAc,EAAE,GAAG,EAAE;gBACtB,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YACrD,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;gBACf,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACnC,MAAM,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC3D,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;gBACf,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACnC,MAAM,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC3D,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE;gBAChB,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACzC,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE;gBAClB,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CACrC,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAClC,CAAC;YACN,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,4BAA4B,EAAE,GAAG,EAAE;gBACpC,MAAM,CAAC,EAAE,CAAC,wBAAwB,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAC1D,KAAK,CAAC,wBAAwB,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CACvD,CAAC;YACN,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,kBAAkB,EAAE,GAAG,EAAE;gBAC1B,MAAM,CAAC,EAAE,CAAC,eAAe,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CACjD,KAAK,CAAC,eAAe,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAC9C,CAAC;YACN,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE;gBACjB,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YACnD,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE;gBACjB,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACzD,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,oBAAoB,EAAE,GAAG,EAAE;gBAC5B,MAAM,CAAC,EAAE,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,IAAI,CACpC,KAAK,CAAC,iBAAiB,CAAC,MAAM,CACjC,CAAC;YACN,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,cAAc,EAAE,GAAG,EAAE;gBACtB,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CACpC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CACjC,CAAC;YACN,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE;gBACjB,MAAM,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YACjE,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,kBAAkB,EAAE,GAAG,EAAE;gBAC1B,MAAM,CAAC,EAAE,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;YAC3E,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,kBAAkB,EAAE,GAAG,EAAE;gBAC1B,MAAM,CAAC,EAAE,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;YAC3E,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,qBAAqB,EAAE,GAAG,EAAE;gBAC7B,MAAM,CAAC,EAAE,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,IAAI,CACtC,KAAK,CAAC,mBAAmB,CAAC,MAAM,CACnC,CAAC;YACN,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;gBACf,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACtC,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,iCAAiC,EAAE,GAAG,EAAE;YAC7C,kBAAkB;YAClB,MAAM,EAAE,GAAG,IAAI,eAAM,EAAE,CAAC;YACxB,MAAM,EAAE,GAAG,IAAI,eAAM,EAAE,CAAC;YAExB,MAAM,aAAa,GAAG,yBAAY,CAAC,MAAM,CAAC;gBACtC,QAAQ,EAAE,2BAAc,CAAC,MAAM,CAAC;oBAC5B,IAAI,EAAE,SAAS;oBACf,QAAQ,EAAE,IAAI;oBACd,OAAO,EAAE,EAAE;iBACd,CAAC;aACL,CAAC,CAAC;YAEH,MAAM,cAAc,GAAG,aAAa,CAAC,KAAK,EAAE,CAAC;YAC7C,cAAc,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAE3C,MAAM,aAAa,GAAG,yBAAY,CAAC,MAAM,CAAC;gBACtC,QAAQ,EAAE,2BAAc,CAAC,MAAM,CAAC;oBAC5B,IAAI,EAAE,SAAS;oBACf,QAAQ,EAAE,IAAI;oBACd,OAAO,EAAE,EAAE;iBACd,CAAC;aACL,CAAC,CAAC;YAEH,kCAAkC;YAClC,MAAM,UAAU,GAAG,mBAAM,CAAC,MAAM,CAAC;gBAC7B,SAAS,EAAE,MAAM;gBACjB,QAAQ,EAAE,KAAK;gBACf,KAAK,EAAE,cAAc;gBACrB,KAAK,EAAE,UAAU;aACpB,CAAC,CAAC;YAEH,MAAM,UAAU,GAAG,mBAAM,CAAC,MAAM,CAAC;gBAC7B,SAAS,EAAE,MAAM;gBACjB,QAAQ,EAAE,KAAK;gBACf,KAAK,EAAE,iBAAiB;gBACxB,KAAK,EAAE,SAAS;gBAChB,OAAO,EAAE,oBAAO,CAAC,MAAM,CAAC;oBACpB,MAAM,EAAE,aAAa;oBACrB,MAAM,EAAE,GAAG;oBACX,IAAI,EAAE,WAAW;oBACjB,UAAU,EAAE,QAAQ;oBACpB,OAAO,EAAE,oBAAO,CAAC,OAAO;iBAC3B,CAAC;aACL,CAAC,CAAC;YAEH,MAAM,KAAK,GAAG,0BAAa,CAAC,MAAM,CAAC;gBAC/B,SAAS,EAAE,MAAM;gBACjB,QAAQ,EAAE,KAAK;gBACf,QAAQ,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;gBAC9B,YAAY,EAAE,KAAK;gBACnB,YAAY,EAAE,IAAI;gBAClB,KAAK,EAAE,mBAAmB;gBAC1B,KAAK,EAAE,UAAU;gBACjB,MAAM,EAAE,mBAAM,CAAC,IAAI;gBACnB,wBAAwB,EAAE,0BAAa,CAAC,MAAM,CAAC;oBAC3C,KAAK,EAAE,IAAI;oBACX,IAAI,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;iBAC7B,CAAC;gBACF,eAAe,EAAE,0BAAa,CAAC,MAAM,CAAC;oBAClC,KAAK,EAAE,IAAI;oBACX,IAAI,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;iBAC7B,CAAC;gBACF,OAAO,EAAE,oBAAO,CAAC,MAAM,CAAC;oBACpB,IAAI,EAAE,WAAW;oBACjB,MAAM,EAAE,cAAc;oBACtB,MAAM,EAAE,GAAG;oBACX,UAAU,EAAE,QAAQ;oBACpB,OAAO,EAAE,oBAAO,CAAC,WAAW;iBAC/B,CAAC;gBACF,OAAO,EAAE,CAAC,UAAU,CAAC;gBACrB,iBAAiB,EAAE;oBACf,6BAAgB,CAAC,MAAM,CAAC;wBACpB,IAAI,EAAE,QAAQ;wBACd,KAAK,EAAE,OAAO;wBACd,KAAK,EAAE,aAAa;qBACvB,CAAC;oBACF,6BAAgB,CAAC,MAAM,CAAC;wBACpB,IAAI,EAAE,SAAS;wBACf,KAAK,EAAE,QAAQ;wBACf,KAAK,EAAE,aAAa;qBACvB,CAAC;iBACL;gBACD,WAAW,EAAE,wBAAW,CAAC,MAAM,CAAC;oBAC5B,KAAK,EAAE;wBACH,uBAAU,CAAC,MAAM,CAAC;4BACd,IAAI,EAAE,SAAS;4BACf,UAAU,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;yBACnC,CAAC;wBACF,uBAAU,CAAC,MAAM,CAAC;4BACd,IAAI,EAAE,SAAS;4BACf,UAAU,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;yBACnC,CAAC;qBACL;iBACJ,CAAC;gBACF,aAAa,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC,CAAC;gBAC3D,gBAAgB,EAAE,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;gBACtD,gBAAgB,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC;gBAC1C,mBAAmB,EAAE;oBACjB,oBAAO,CAAC,MAAM,CAAC;wBACX,IAAI,EAAE,WAAW;wBACjB,MAAM,EAAE,cAAc;wBACtB,MAAM,EAAE,GAAG;wBACX,UAAU,EAAE,QAAQ;wBACpB,OAAO,EAAE,oBAAO,CAAC,WAAW;qBAC/B,CAAC;iBACL;gBACD,KAAK,EAAE,OAAO;aACjB,CAAC,CAAC;YAEH,MAAM,KAAK,GAAG,0BAAa,CAAC,MAAM,CAAC;gBAC/B,SAAS,EAAE,MAAM;gBACjB,QAAQ,EAAE,KAAK;gBACf,QAAQ,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;gBAC9B,YAAY,EAAE,QAAQ;gBACtB,YAAY,EAAE,KAAK;gBACnB,KAAK,EAAE,mBAAmB;gBAC1B,KAAK,EAAE,WAAW;gBAClB,MAAM,EAAE,mBAAM,CAAC,MAAM;gBACrB,eAAe;gBACf,wBAAwB,EAAE,0BAAa,CAAC,MAAM,CAAC;oBAC3C,KAAK,EAAE,KAAK;oBACZ,IAAI,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;iBAC7B,CAAC;gBACF,aAAa;gBACb,eAAe,EAAE,0BAAa,CAAC,MAAM,CAAC;oBAClC,KAAK,EAAE,KAAK;oBACZ,IAAI,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;iBAC7B,CAAC;gBACF,OAAO,EAAE,oBAAO,CAAC,MAAM,CAAC;oBACpB,IAAI,EAAE,WAAW;oBACjB,MAAM,EAAE,cAAc;oBACtB,MAAM,EAAE,GAAG;oBACX,UAAU,EAAE,QAAQ;oBACpB,OAAO,EAAE,oBAAO,CAAC,WAAW;iBAC/B,CAAC;gBACF,OAAO,EAAE;oBACL,UAAU;oBACV,mBAAM,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;iBAC1D;gBACD,iBAAiB,EAAE;oBACf,6BAAgB,CAAC,MAAM,CAAC;wBACpB,IAAI,EAAE,yBAAyB;wBAC/B,KAAK,EAAE,OAAO;wBACd,KAAK,EAAE,aAAa;qBACvB,CAAC;oBACF,6BAAgB,CAAC,MAAM,CAAC;wBACpB,IAAI,EAAE,QAAQ;wBACd,KAAK,EAAE,OAAO;wBACd,KAAK,EAAE,aAAa;qBACvB,CAAC;iBACL;gBACD,WAAW,EAAE,wBAAW,CAAC,MAAM,CAAC;oBAC5B,KAAK,EAAE;wBACH,uBAAU,CAAC,MAAM,CAAC;4BACd,IAAI,EAAE,SAAS;4BACf,UAAU,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;yBACnC,CAAC;wBACF,uBAAU,CAAC,MAAM,CAAC;4BACd,IAAI,EAAE,SAAS;4BACf,UAAU,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;yBACnC,CAAC;qBACL;iBACJ,CAAC;gBACF,aAAa,EAAE,IAAI,GAAG,CAAC;oBACnB,CAAC,aAAa,CAAC,EAAE,EAAE,aAAa,CAAC;oBACjC,CAAC,aAAa,CAAC,EAAE,EAAE,aAAa,CAAC;oBACjC,CAAC,cAAc,CAAC,EAAE,EAAE,cAAc,CAAC;iBACtC,CAAC;gBACF,gBAAgB,EAAE,CAAC,yBAAyB,CAAC;gBAC7C,gBAAgB,EAAE,CAAC,YAAY,EAAE,YAAY,CAAC;gBAC9C,mBAAmB,EAAE;oBACjB,oBAAO,CAAC,MAAM,CAAC;wBACX,IAAI,EAAE,WAAW;wBACjB,MAAM,EAAE,cAAc;wBACtB,MAAM,EAAE,KAAK;wBACb,UAAU,EAAE,QAAQ;wBACpB,OAAO,EAAE,oBAAO,CAAC,WAAW;qBAC/B,CAAC;iBACL;gBACD,KAAK,EAAE,OAAO;aACjB,CAAC,CAAC;YAEH,EAAE,CAAC,OAAO,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;YAC3B,EAAE,CAAC,OAAO,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;YAC3B,aAAa;YAEb,MAAM;YACN,IAAI,EAAiB,CAAC;YACtB,IAAI,OAAe,CAAC;YAEpB,SAAS,CAAC,GAAG,EAAE;gBACX,IAAA,iCAAkB,EAAC,EAAE,EAAE,EAAE,CAAC,CAAC;gBAC3B,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC;gBAChB,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,UAAU,CAAC,EAAE,CAAE,CAAC;YAC5D,CAAC,CAAC,CAAC;YAEH,SAAS;YACT,IAAI,CAAC,WAAW,EAAE,GAAG,EAAE;gBACnB,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YAC/C,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE;gBAClB,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC7C,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,cAAc,EAAE,GAAG,EAAE;gBACtB,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YACrD,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,cAAc,EAAE,GAAG,EAAE;gBACtB,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YACrD,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;gBACf,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACnC,MAAM,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACpD,MAAM,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC3D,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;gBACf,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACnC,MAAM,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACvD,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE;gBAChB,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACzC,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE;gBAClB,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CACrC,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAClC,CAAC;YACN,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,4BAA4B,EAAE,GAAG,EAAE;gBACpC,MAAM,CAAC,EAAE,CAAC,wBAAwB,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAC1D,KAAK,CAAC,wBAAwB,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CACvD,CAAC;YACN,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,kBAAkB,EAAE,GAAG,EAAE;gBAC1B,MAAM,CAAC,EAAE,CAAC,eAAe,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CACjD,KAAK,CAAC,eAAe,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAC9C,CAAC;YACN,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE;gBACjB,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;gBAC/C,MAAM,CAAC,EAAE,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CACnD,KAAK,CAAC,OAAO,EAAE,EAAE,CACpB,CAAC;YACN,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE;gBACjB,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;gBACrD,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;gBACnD,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;gBAC7C,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;gBAC7C,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;gBACzD,MAAM,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;gBACxD,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,KAAM,CAAC,iBAAiB,EAAE,CAAC,CAAC;YACvF,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,oBAAoB,EAAE,GAAG,EAAE;gBAC5B,MAAM,CAAC,EAAE,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAChD,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,cAAc,EAAE,GAAG,EAAE;gBACtB,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAChD,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE;gBACjB,MAAM,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC1C,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,kBAAkB,EAAE,GAAG,EAAE;gBAC1B,MAAM,CAAC,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC;oBACvC,gBAAgB;oBAChB,gBAAgB;oBAChB,yBAAyB;iBAC5B,CAAC,IAAI,EAAE,CAAC,CAAC;YACd,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,kBAAkB,EAAE,GAAG,EAAE;gBAC1B,MAAM,CAAC,EAAE,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC/C,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,qBAAqB,EAAE,GAAG,EAAE;gBAC7B,iDAAiD;gBAEjD,0GAA0G;gBAC1G,MAAM,UAAU,GAAG,EAAE,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACzD,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC;oBAC9B,KAAK,CAAC,OAAQ,CAAC,EAAE;oBACjB,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,EAAE;oBAC/B,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,EAAE;iBAClC,CAAC,IAAI,EAAE,CAAC,CAAC;YACd,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;gBACf,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;YAC7C,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,sDAAsD,EAAE,GAAG,EAAE;QAC9D,MAAM,EAAE,GAAG,IAAI,eAAM,EAAE,CAAC;QACxB,EAAE,CAAC,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACpC,EAAE,CAAC,EAAE,GAAG,IAAA,SAAM,GAAE,CAAC;QACjB,MAAM,EAAE,GAAG,IAAI,eAAM,EAAE,CAAC;QACxB,EAAE,CAAC,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACpC,EAAE,CAAC,EAAE,GAAG,IAAA,SAAM,GAAE,CAAC;QACjB,MAAM,EAAE,GAAG,IAAI,eAAM,EAAE,CAAC;QACxB,EAAE,CAAC,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACpC,EAAE,CAAC,EAAE,GAAG,IAAA,SAAM,GAAE,CAAC;QAEjB,MAAM,OAAO,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAE7B,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,IAAA,+BAAgB,EAAC,OAAO,CAAC,CAAC;QAEnD,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAE5B,MAAM,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC/B,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACvC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAClC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;QACzB;;WAEG;QACH,IAAI,CAAC,kFAAkF,EAAE,GAAG,EAAE;YAC1F,MAAM,EAAE,GAAG,IAAI,eAAM,EAAE,CAAC;YACxB,MAAM,EAAE,GAAG,IAAI,eAAM,EAAE,CAAC;YAExB,MAAM,IAAI,GAAG,0BAAa,CAAC,MAAM,CAAC;gBAC9B,KAAK,EAAE,qBAAqB;gBAC5B,SAAS,EAAE,MAAM;gBACjB,QAAQ,EAAE,KAAK;aAClB,CAAC,CAAC;YAEH,MAAM,KAAK,GAAG,0BAAa,CAAC,MAAM,CAAC;gBAC/B,KAAK,EAAE,qBAAqB;gBAC5B,SAAS,EAAE,MAAM;gBACjB,QAAQ,EAAE,KAAK;aAClB,CAAC,CAAC;YAEH,EAAE,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;YAC1B,EAAE,CAAC,OAAO,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;YAE3B,IAAA,iCAAkB,EAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YAE3B,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;YACrD,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -38,6 +38,7 @@ export declare class MemberPlatformMembership extends QueryableModel {
38
38
  canDelete(hasPlatformFullAccess?: boolean): boolean;
39
39
  delete(): Promise<void>;
40
40
  isElegibleForTrial(member: Member): Promise<boolean>;
41
+ correctDates(member: Member, registration?: Registration): Promise<void>;
41
42
  calculatePrice(member: Member, registration?: Registration): Promise<void>;
42
43
  doDelete(): Promise<void>;
43
44
  }
@@ -1 +1 @@
1
- {"version":3,"file":"MemberPlatformMembership.d.ts","sourceRoot":"","sources":["../../../src/models/MemberPlatformMembership.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAqB,MAAM,gBAAgB,CAAC;AAKnE,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGlC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C,qBAAa,wBAAyB,SAAQ,cAAc;IACxD,MAAM,CAAC,KAAK,SAAiC;IAQ7C,EAAE,EAAG,MAAM,CAAC;IAGZ,QAAQ,EAAE,MAAM,CAAC;IAGjB,gBAAgB,EAAE,MAAM,CAAC;IAGzB,cAAc,EAAE,MAAM,CAAC;IAGvB,QAAQ,EAAE,MAAM,CAAC;IAGjB,SAAS,EAAE,IAAI,CAAC;IAGhB,OAAO,EAAE,IAAI,CAAC;IAEd;;;;;OAKG;IAEH,UAAU,EAAE,IAAI,GAAG,IAAI,CAAQ;IAG/B,UAAU,EAAE,IAAI,GAAG,IAAI,CAAQ;IAG/B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAQ;IAGpC,KAAK,SAAK;IAGV,oBAAoB,SAAK;IAEzB;;;OAGG;IAEH,iBAAiB,SAAK;IAGtB,UAAU,SAAK;IAEf;;OAEG;IAEH,SAAS,UAAS;IAKlB,SAAS,EAAE,IAAI,GAAG,IAAI,CAAQ;IAY9B,SAAS,EAAE,IAAI,CAAC;IAUhB,SAAS,EAAE,IAAI,CAAC;IAIhB,MAAM,UAAS;IAEf,SAAS,CAAC,qBAAqB,UAAQ;IAWvC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAIjB,kBAAkB,CAAC,MAAM,EAAE,MAAM;IA8BjC,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,YAAY;IAqK1D,QAAQ;CAYjB"}
1
+ {"version":3,"file":"MemberPlatformMembership.d.ts","sourceRoot":"","sources":["../../../src/models/MemberPlatformMembership.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAqB,MAAM,gBAAgB,CAAC;AAKnE,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGlC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C,qBAAa,wBAAyB,SAAQ,cAAc;IACxD,MAAM,CAAC,KAAK,SAAiC;IAQ7C,EAAE,EAAG,MAAM,CAAC;IAGZ,QAAQ,EAAE,MAAM,CAAC;IAGjB,gBAAgB,EAAE,MAAM,CAAC;IAGzB,cAAc,EAAE,MAAM,CAAC;IAGvB,QAAQ,EAAE,MAAM,CAAC;IAGjB,SAAS,EAAE,IAAI,CAAC;IAGhB,OAAO,EAAE,IAAI,CAAC;IAEd;;;;;OAKG;IAEH,UAAU,EAAE,IAAI,GAAG,IAAI,CAAQ;IAG/B,UAAU,EAAE,IAAI,GAAG,IAAI,CAAQ;IAG/B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAQ;IAGpC,KAAK,SAAK;IAGV,oBAAoB,SAAK;IAEzB;;;OAGG;IAEH,iBAAiB,SAAK;IAGtB,UAAU,SAAK;IAEf;;OAEG;IAEH,SAAS,UAAS;IAKlB,SAAS,EAAE,IAAI,GAAG,IAAI,CAAQ;IAY9B,SAAS,EAAE,IAAI,CAAC;IAUhB,SAAS,EAAE,IAAI,CAAC;IAIhB,MAAM,UAAS;IAEf,SAAS,CAAC,qBAAqB,UAAQ;IAWvC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAIjB,kBAAkB,CAAC,MAAM,EAAE,MAAM;IA8BjC,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,YAAY;IAqGxD,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,YAAY;IAqH1D,QAAQ;CAYjB"}
@@ -83,6 +83,92 @@ class MemberPlatformMembership extends sql_1.QueryableModel {
83
83
  }
84
84
  return true;
85
85
  }
86
+ async correctDates(member, registration) {
87
+ if (this.locked) {
88
+ // price of locked membership cannot be changed
89
+ return;
90
+ }
91
+ const platform = await Platform_1.Platform.getSharedPrivateStruct();
92
+ const membershipType = platform.config.membershipTypes.find(m => m.id === this.membershipTypeId);
93
+ if (!membershipType) {
94
+ throw new simple_errors_1.SimpleError({
95
+ code: 'invalid_membership_type',
96
+ message: 'Unknown membership type',
97
+ human: 'Deze aansluiting is niet (meer) beschikbaar',
98
+ });
99
+ }
100
+ const periodConfig = membershipType.periods.get(this.periodId);
101
+ if (!periodConfig) {
102
+ throw new simple_errors_1.SimpleError({
103
+ code: 'period_unavailable',
104
+ message: 'Membership not available for this period',
105
+ human: 'Deze aansluiting is nog niet beschikbaar voor dit werkjaar',
106
+ });
107
+ }
108
+ if (membershipType.behaviour === structures_1.PlatformMembershipTypeBehaviour.Days) {
109
+ // Make sure time is equal between start and end date
110
+ let startBrussels = utility_1.Formatter.luxon(this.startDate);
111
+ let endBrussels = utility_1.Formatter.luxon(this.endDate);
112
+ startBrussels = startBrussels.set({ hour: 0, minute: 0, second: 0, millisecond: 0 });
113
+ endBrussels = endBrussels.set({ hour: 23, minute: 59, second: 59, millisecond: 0 });
114
+ this.startDate = startBrussels.toJSDate();
115
+ this.endDate = endBrussels.toJSDate();
116
+ this.expireDate = null;
117
+ }
118
+ else {
119
+ this.endDate = utility_1.Formatter.luxon(periodConfig.endDate).set({ hour: 23, minute: 59, second: 59, millisecond: 0 }).toJSDate();
120
+ this.expireDate = periodConfig.expireDate ? utility_1.Formatter.luxon(periodConfig.expireDate).set({ hour: 23, minute: 59, second: 59, millisecond: 0 }).toJSDate() : null;
121
+ // Alter start date
122
+ if (registration) {
123
+ const preferredStartDate = registration.startDate ?? registration.registeredAt ?? this.createdAt;
124
+ this.startDate = periodConfig.startDate;
125
+ if (preferredStartDate > periodConfig.startDate && preferredStartDate < periodConfig.endDate) {
126
+ let startBrussels = utility_1.Formatter.luxon(preferredStartDate);
127
+ startBrussels = startBrussels.set({ hour: 0, minute: 0, second: 0, millisecond: 0 });
128
+ this.startDate = startBrussels.toJSDate();
129
+ }
130
+ }
131
+ else {
132
+ // Keep the set date, but make sure it is at 0:00 in CET
133
+ let startBrussels = utility_1.Formatter.luxon(this.startDate);
134
+ startBrussels = startBrussels.set({ hour: 0, minute: 0, second: 0, millisecond: 0 });
135
+ this.startDate = startBrussels.toJSDate();
136
+ }
137
+ }
138
+ let minimumStartDate = utility_1.Formatter.luxon(periodConfig.startDate).set({ hour: 0, minute: 0, second: 0, millisecond: 0 }).toJSDate();
139
+ if (!this.existsInDatabase) {
140
+ if (membershipType.behaviour === structures_1.PlatformMembershipTypeBehaviour.Days) {
141
+ // Cannot create a membership in the past
142
+ minimumStartDate = utility_1.Formatter.luxon(new Date()).set({ hour: 0, minute: 0, second: 0, millisecond: 0 }).toJSDate();
143
+ }
144
+ }
145
+ if (this.startDate < minimumStartDate) {
146
+ this.startDate = minimumStartDate;
147
+ }
148
+ if (this.endDate < this.startDate) {
149
+ this.endDate = utility_1.Formatter.luxon(this.startDate).set({ hour: 23, minute: 59, second: 59, millisecond: 0 }).toJSDate();
150
+ }
151
+ if (periodConfig.trialDays) {
152
+ // Check whether you are elegible for a trial
153
+ if (await this.isElegibleForTrial(member)) {
154
+ // Allowed to set trial until, maximum periodConfig.trialDays after startDate
155
+ let trialUntil = utility_1.Formatter.luxon(this.startDate).plus({ days: periodConfig.trialDays });
156
+ trialUntil = trialUntil.set({ hour: 23, minute: 59, second: 59, millisecond: 0 });
157
+ // Max end date
158
+ if (trialUntil.toJSDate() > this.endDate) {
159
+ trialUntil = utility_1.Formatter.luxon(this.endDate).set({ hour: 23, minute: 59, second: 59, millisecond: 0 });
160
+ }
161
+ this.trialUntil = trialUntil.toJSDate();
162
+ }
163
+ else {
164
+ this.trialUntil = null;
165
+ }
166
+ }
167
+ else {
168
+ // No trial
169
+ this.trialUntil = null;
170
+ }
171
+ }
86
172
  async calculatePrice(member, registration) {
87
173
  if (this.locked) {
88
174
  // price of locked membership cannot be changed
@@ -116,8 +202,10 @@ class MemberPlatformMembership extends sql_1.QueryableModel {
116
202
  }
117
203
  const tagIds = organization.meta.tags;
118
204
  const shouldApplyReducedPrice = member.details.shouldApplyReducedPrice;
119
- const priceConfig = periodConfig.getPriceConfigForDate(membershipType.behaviour === structures_1.PlatformMembershipTypeBehaviour.Days ? this.startDate : (this.createdAt ?? new Date()));
120
- const earliestPriceConfig = periodConfig.getPriceConfigForDate(membershipType.behaviour === structures_1.PlatformMembershipTypeBehaviour.Days ? new Date(1950, 0, 1) : (new Date(1950, 0, 1)));
205
+ // Correct dates so we get the correct price config
206
+ await this.correctDates(member, registration);
207
+ const priceConfig = periodConfig.getPriceConfigForDate(this.startDate);
208
+ const earliestPriceConfig = periodConfig.getPriceConfigForDate(new Date(1950, 0, 1));
121
209
  let freeDays = 0;
122
210
  const d = this.createdAt ?? new Date();
123
211
  if (periodConfig.amountFree) {
@@ -141,14 +229,6 @@ class MemberPlatformMembership extends sql_1.QueryableModel {
141
229
  }
142
230
  }
143
231
  if (membershipType.behaviour === structures_1.PlatformMembershipTypeBehaviour.Days) {
144
- // Make sure time is equal between start and end date
145
- let startBrussels = utility_1.Formatter.luxon(this.startDate);
146
- let endBrussels = utility_1.Formatter.luxon(this.endDate);
147
- startBrussels = startBrussels.set({ hour: 0, minute: 0, second: 0, millisecond: 0 });
148
- endBrussels = endBrussels.set({ hour: 23, minute: 59, second: 59, millisecond: 0 });
149
- this.startDate = startBrussels.toJSDate();
150
- this.endDate = endBrussels.toJSDate();
151
- this.expireDate = null;
152
232
  const days = Math.round((this.endDate.getTime() - this.startDate.getTime()) / (1000 * 60 * 60 * 24));
153
233
  this.maximumFreeAmount = days;
154
234
  this.priceWithoutDiscount = earliestPriceConfig.calculatePrice(tagIds, false, days);
@@ -158,48 +238,12 @@ class MemberPlatformMembership extends sql_1.QueryableModel {
158
238
  else {
159
239
  this.priceWithoutDiscount = earliestPriceConfig.getBasePrice(tagIds, false);
160
240
  this.price = priceConfig.getBasePrice(tagIds, shouldApplyReducedPrice);
161
- this.endDate = periodConfig.endDate;
162
- this.expireDate = periodConfig.expireDate;
163
241
  this.maximumFreeAmount = this.price > 0 ? 1 : 0;
164
242
  this.freeAmount = 0;
165
243
  if (freeDays > 0) {
166
244
  this.price = 0;
167
245
  this.freeAmount = 1;
168
246
  }
169
- // Alter start date
170
- if (registration && registration.startDate) {
171
- this.startDate = periodConfig.startDate;
172
- if (registration.startDate > periodConfig.startDate && registration.startDate < periodConfig.endDate) {
173
- let startBrussels = utility_1.Formatter.luxon(registration.startDate);
174
- startBrussels = startBrussels.set({ hour: 0, minute: 0, second: 0, millisecond: 0 });
175
- this.startDate = startBrussels.toJSDate();
176
- }
177
- }
178
- else {
179
- let startBrussels = utility_1.Formatter.luxon(this.startDate);
180
- startBrussels = startBrussels.set({ hour: 0, minute: 0, second: 0, millisecond: 0 });
181
- this.startDate = startBrussels.toJSDate();
182
- }
183
- }
184
- if (periodConfig.trialDays) {
185
- // Check whether you are elegible for a trial
186
- if (await this.isElegibleForTrial(member)) {
187
- // Allowed to set trial until, maximum periodConfig.trialDays after startDate
188
- let trialUntil = utility_1.Formatter.luxon(this.startDate).plus({ days: periodConfig.trialDays });
189
- trialUntil = trialUntil.set({ hour: 23, minute: 59, second: 59, millisecond: 0 });
190
- // Max end date
191
- if (trialUntil.toJSDate() > this.endDate) {
192
- trialUntil = utility_1.Formatter.luxon(this.endDate).set({ hour: 23, minute: 59, second: 59, millisecond: 0 });
193
- }
194
- this.trialUntil = trialUntil.toJSDate();
195
- }
196
- else {
197
- this.trialUntil = null;
198
- }
199
- }
200
- else {
201
- // No trial
202
- this.trialUntil = null;
203
247
  }
204
248
  // Never charge itself
205
249
  const chargeVia = platform.membershipOrganizationId;
@@ -207,6 +251,7 @@ class MemberPlatformMembership extends sql_1.QueryableModel {
207
251
  this.price = 0;
208
252
  this.priceWithoutDiscount = 0;
209
253
  this.freeAmount = 0;
254
+ this.maximumFreeAmount = 0;
210
255
  }
211
256
  if (this.balanceItemId) {
212
257
  this.maximumFreeAmount = this.freeAmount;
@@ -1 +1 @@
1
- {"version":3,"file":"MemberPlatformMembership.js","sourceRoot":"","sources":["../../../src/models/MemberPlatformMembership.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MemberPlatformMembership.js","sourceRoot":"","sources":["../../../src/models/MemberPlatformMembership.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stamhoofd/models",
3
- "version": "2.77.0",
3
+ "version": "2.77.2",
4
4
  "main": "./dist/src/index.js",
5
5
  "types": "./dist/src/index.d.ts",
6
6
  "license": "UNLICENCED",
@@ -29,5 +29,5 @@
29
29
  "publishConfig": {
30
30
  "access": "public"
31
31
  },
32
- "gitHead": "209036d412e24fefe961eeeeaa5a8618297bfcd7"
32
+ "gitHead": "8106bfebe63c39050eb31749e0c65ea9ddae08d7"
33
33
  }
@@ -729,4 +729,34 @@ describe('member merge', () => {
729
729
  expect(otherIds).toContain(m1.id);
730
730
  expect(otherIds).toContain(m2.id);
731
731
  });
732
+
733
+ describe('Regressions', () => {
734
+ /**
735
+ * tests STA-460
736
+ */
737
+ test('Members with same email addreses do not get the email added as alternative email', () => {
738
+ const m1 = new Member();
739
+ const m2 = new Member();
740
+
741
+ const base = MemberDetails.create({
742
+ email: 'example@example.com',
743
+ firstName: 'John',
744
+ lastName: 'Doe',
745
+ });
746
+
747
+ const other = MemberDetails.create({
748
+ email: 'example@example.com',
749
+ firstName: 'John',
750
+ lastName: 'Doe',
751
+ });
752
+
753
+ m1.details = base.clone();
754
+ m2.details = other.clone();
755
+
756
+ mergeMemberDetails(m1, m2);
757
+
758
+ expect(m1.details.email).toBe('example@example.com');
759
+ expect(m1.details.alternativeEmails).toEqual([]);
760
+ });
761
+ });
732
762
  });
@@ -153,6 +153,107 @@ export class MemberPlatformMembership extends QueryableModel {
153
153
  return true;
154
154
  }
155
155
 
156
+ async correctDates(member: Member, registration?: Registration) {
157
+ if (this.locked) {
158
+ // price of locked membership cannot be changed
159
+ return;
160
+ }
161
+
162
+ const platform = await Platform.getSharedPrivateStruct();
163
+ const membershipType = platform.config.membershipTypes.find(m => m.id === this.membershipTypeId);
164
+
165
+ if (!membershipType) {
166
+ throw new SimpleError({
167
+ code: 'invalid_membership_type',
168
+ message: 'Unknown membership type',
169
+ human: 'Deze aansluiting is niet (meer) beschikbaar',
170
+ });
171
+ }
172
+
173
+ const periodConfig = membershipType.periods.get(this.periodId);
174
+
175
+ if (!periodConfig) {
176
+ throw new SimpleError({
177
+ code: 'period_unavailable',
178
+ message: 'Membership not available for this period',
179
+ human: 'Deze aansluiting is nog niet beschikbaar voor dit werkjaar',
180
+ });
181
+ }
182
+
183
+ if (membershipType.behaviour === PlatformMembershipTypeBehaviour.Days) {
184
+ // Make sure time is equal between start and end date
185
+ let startBrussels = Formatter.luxon(this.startDate);
186
+ let endBrussels = Formatter.luxon(this.endDate);
187
+ startBrussels = startBrussels.set({ hour: 0, minute: 0, second: 0, millisecond: 0 });
188
+ endBrussels = endBrussels.set({ hour: 23, minute: 59, second: 59, millisecond: 0 });
189
+ this.startDate = startBrussels.toJSDate();
190
+ this.endDate = endBrussels.toJSDate();
191
+ this.expireDate = null;
192
+ }
193
+ else {
194
+ this.endDate = Formatter.luxon(periodConfig.endDate).set({ hour: 23, minute: 59, second: 59, millisecond: 0 }).toJSDate();
195
+ this.expireDate = periodConfig.expireDate ? Formatter.luxon(periodConfig.expireDate).set({ hour: 23, minute: 59, second: 59, millisecond: 0 }).toJSDate() : null;
196
+
197
+ // Alter start date
198
+ if (registration) {
199
+ const preferredStartDate = registration.startDate ?? registration.registeredAt ?? this.createdAt;
200
+ this.startDate = periodConfig.startDate;
201
+
202
+ if (preferredStartDate > periodConfig.startDate && preferredStartDate < periodConfig.endDate) {
203
+ let startBrussels = Formatter.luxon(preferredStartDate);
204
+ startBrussels = startBrussels.set({ hour: 0, minute: 0, second: 0, millisecond: 0 });
205
+ this.startDate = startBrussels.toJSDate();
206
+ }
207
+ }
208
+ else {
209
+ // Keep the set date, but make sure it is at 0:00 in CET
210
+ let startBrussels = Formatter.luxon(this.startDate);
211
+ startBrussels = startBrussels.set({ hour: 0, minute: 0, second: 0, millisecond: 0 });
212
+ this.startDate = startBrussels.toJSDate();
213
+ }
214
+ }
215
+
216
+ let minimumStartDate = Formatter.luxon(periodConfig.startDate).set({ hour: 0, minute: 0, second: 0, millisecond: 0 }).toJSDate();
217
+
218
+ if (!this.existsInDatabase) {
219
+ if (membershipType.behaviour === PlatformMembershipTypeBehaviour.Days) {
220
+ // Cannot create a membership in the past
221
+ minimumStartDate = Formatter.luxon(new Date()).set({ hour: 0, minute: 0, second: 0, millisecond: 0 }).toJSDate();
222
+ }
223
+ }
224
+
225
+ if (this.startDate < minimumStartDate) {
226
+ this.startDate = minimumStartDate;
227
+ }
228
+
229
+ if (this.endDate < this.startDate) {
230
+ this.endDate = Formatter.luxon(this.startDate).set({ hour: 23, minute: 59, second: 59, millisecond: 0 }).toJSDate();
231
+ }
232
+
233
+ if (periodConfig.trialDays) {
234
+ // Check whether you are elegible for a trial
235
+ if (await this.isElegibleForTrial(member)) {
236
+ // Allowed to set trial until, maximum periodConfig.trialDays after startDate
237
+ let trialUntil = Formatter.luxon(this.startDate).plus({ days: periodConfig.trialDays });
238
+ trialUntil = trialUntil.set({ hour: 23, minute: 59, second: 59, millisecond: 0 });
239
+
240
+ // Max end date
241
+ if (trialUntil.toJSDate() > this.endDate) {
242
+ trialUntil = Formatter.luxon(this.endDate).set({ hour: 23, minute: 59, second: 59, millisecond: 0 });
243
+ }
244
+
245
+ this.trialUntil = trialUntil.toJSDate();
246
+ }
247
+ else {
248
+ this.trialUntil = null;
249
+ }
250
+ }
251
+ else {
252
+ // No trial
253
+ this.trialUntil = null;
254
+ }
255
+ }
256
+
156
257
  async calculatePrice(member: Member, registration?: Registration) {
157
258
  if (this.locked) {
158
259
  // price of locked membership cannot be changed
@@ -193,8 +294,10 @@ export class MemberPlatformMembership extends QueryableModel {
193
294
  const tagIds = organization.meta.tags;
194
295
  const shouldApplyReducedPrice = member.details.shouldApplyReducedPrice;
195
296
 
196
- const priceConfig = periodConfig.getPriceConfigForDate(membershipType.behaviour === PlatformMembershipTypeBehaviour.Days ? this.startDate : (this.createdAt ?? new Date()));
197
- const earliestPriceConfig = periodConfig.getPriceConfigForDate(membershipType.behaviour === PlatformMembershipTypeBehaviour.Days ? new Date(1950, 0, 1) : (new Date(1950, 0, 1)));
297
+ // Correct dates so we get the correct price config
298
+ await this.correctDates(member, registration);
299
+ const priceConfig = periodConfig.getPriceConfigForDate(this.startDate);
300
+ const earliestPriceConfig = periodConfig.getPriceConfigForDate(new Date(1950, 0, 1));
198
301
 
199
302
  let freeDays = 0;
200
303
 
@@ -227,16 +330,6 @@ export class MemberPlatformMembership extends QueryableModel {
227
330
  }
228
331
 
229
332
  if (membershipType.behaviour === PlatformMembershipTypeBehaviour.Days) {
230
- // Make sure time is equal between start and end date
231
- let startBrussels = Formatter.luxon(this.startDate);
232
- let endBrussels = Formatter.luxon(this.endDate);
233
- startBrussels = startBrussels.set({ hour: 0, minute: 0, second: 0, millisecond: 0 });
234
- endBrussels = endBrussels.set({ hour: 23, minute: 59, second: 59, millisecond: 0 });
235
- this.startDate = startBrussels.toJSDate();
236
- this.endDate = endBrussels.toJSDate();
237
-
238
- this.expireDate = null;
239
-
240
333
  const days = Math.round((this.endDate.getTime() - this.startDate.getTime()) / (1000 * 60 * 60 * 24));
241
334
  this.maximumFreeAmount = days;
242
335
  this.priceWithoutDiscount = earliestPriceConfig.calculatePrice(tagIds, false, days);
@@ -246,8 +339,6 @@ export class MemberPlatformMembership extends QueryableModel {
246
339
  else {
247
340
  this.priceWithoutDiscount = earliestPriceConfig.getBasePrice(tagIds, false);
248
341
  this.price = priceConfig.getBasePrice(tagIds, shouldApplyReducedPrice);
249
- this.endDate = periodConfig.endDate;
250
- this.expireDate = periodConfig.expireDate;
251
342
  this.maximumFreeAmount = this.price > 0 ? 1 : 0;
252
343
  this.freeAmount = 0;
253
344
 
@@ -255,45 +346,6 @@ export class MemberPlatformMembership extends QueryableModel {
255
346
  this.price = 0;
256
347
  this.freeAmount = 1;
257
348
  }
258
-
259
- // Alter start date
260
- if (registration && registration.startDate) {
261
- this.startDate = periodConfig.startDate;
262
-
263
- if (registration.startDate > periodConfig.startDate && registration.startDate < periodConfig.endDate) {
264
- let startBrussels = Formatter.luxon(registration.startDate);
265
- startBrussels = startBrussels.set({ hour: 0, minute: 0, second: 0, millisecond: 0 });
266
- this.startDate = startBrussels.toJSDate();
267
- }
268
- }
269
- else {
270
- let startBrussels = Formatter.luxon(this.startDate);
271
- startBrussels = startBrussels.set({ hour: 0, minute: 0, second: 0, millisecond: 0 });
272
- this.startDate = startBrussels.toJSDate();
273
- }
274
- }
275
-
276
- if (periodConfig.trialDays) {
277
- // Check whether you are elegible for a trial
278
- if (await this.isElegibleForTrial(member)) {
279
- // Allowed to set trial until, maximum periodConfig.trialDays after startDate
280
- let trialUntil = Formatter.luxon(this.startDate).plus({ days: periodConfig.trialDays });
281
- trialUntil = trialUntil.set({ hour: 23, minute: 59, second: 59, millisecond: 0 });
282
-
283
- // Max end date
284
- if (trialUntil.toJSDate() > this.endDate) {
285
- trialUntil = Formatter.luxon(this.endDate).set({ hour: 23, minute: 59, second: 59, millisecond: 0 });
286
- }
287
-
288
- this.trialUntil = trialUntil.toJSDate();
289
- }
290
- else {
291
- this.trialUntil = null;
292
- }
293
- }
294
- else {
295
- // No trial
296
- this.trialUntil = null;
297
349
  }
298
350
 
299
351
  // Never charge itself
@@ -302,6 +354,7 @@ export class MemberPlatformMembership extends QueryableModel {
302
354
  this.price = 0;
303
355
  this.priceWithoutDiscount = 0;
304
356
  this.freeAmount = 0;
357
+ this.maximumFreeAmount = 0;
305
358
  }
306
359
 
307
360
  if (this.balanceItemId) {