grm-shared-library 1.1.200 → 1.1.201

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (136) hide show
  1. package/dist/cjs/kafka/billing-topics.js +83 -0
  2. package/dist/cjs/kafka/billing-topics.js.map +1 -0
  3. package/dist/cjs/kafka/index.js +1 -0
  4. package/dist/cjs/kafka/index.js.map +1 -1
  5. package/dist/cjs/modules/partner/constants/partner-defaults.const.js +4 -0
  6. package/dist/cjs/modules/partner/constants/partner-defaults.const.js.map +1 -1
  7. package/dist/cjs/modules/partner/constants/partner-kafka.const.js +18 -1
  8. package/dist/cjs/modules/partner/constants/partner-kafka.const.js.map +1 -1
  9. package/dist/cjs/modules/partner/dtos/create-partner-integration.dto.js +34 -0
  10. package/dist/cjs/modules/partner/dtos/create-partner-integration.dto.js.map +1 -1
  11. package/dist/cjs/modules/partner/dtos/partner-member-profile-lookup.dto.js +52 -0
  12. package/dist/cjs/modules/partner/dtos/partner-member-profile-lookup.dto.js.map +1 -0
  13. package/dist/cjs/modules/partner/dtos/partner-member-profile.dto.js +91 -0
  14. package/dist/cjs/modules/partner/dtos/partner-member-profile.dto.js.map +1 -0
  15. package/dist/cjs/modules/partner/dtos/partner-membership-query.dto.js +75 -0
  16. package/dist/cjs/modules/partner/dtos/partner-membership-query.dto.js.map +1 -0
  17. package/dist/cjs/modules/partner/dtos/sync-partner-membership.dto.js +149 -0
  18. package/dist/cjs/modules/partner/dtos/sync-partner-membership.dto.js.map +1 -0
  19. package/dist/cjs/modules/partner/dtos/update-partner-membership.dto.js +38 -0
  20. package/dist/cjs/modules/partner/dtos/update-partner-membership.dto.js.map +1 -0
  21. package/dist/cjs/modules/partner/enums/partner-adapter-operation.enum.js +6 -0
  22. package/dist/cjs/modules/partner/enums/partner-adapter-operation.enum.js.map +1 -1
  23. package/dist/cjs/modules/partner/enums/partner-member-document-type.enum.js +17 -0
  24. package/dist/cjs/modules/partner/enums/partner-member-document-type.enum.js.map +1 -0
  25. package/dist/cjs/modules/partner/enums/partner-member-gender.enum.js +19 -0
  26. package/dist/cjs/modules/partner/enums/partner-member-gender.enum.js.map +1 -0
  27. package/dist/cjs/modules/partner/enums/partner-member-profile-field.enum.js +23 -0
  28. package/dist/cjs/modules/partner/enums/partner-member-profile-field.enum.js.map +1 -0
  29. package/dist/cjs/modules/partner/enums/partner-member-state.enum.js +49 -0
  30. package/dist/cjs/modules/partner/enums/partner-member-state.enum.js.map +1 -0
  31. package/dist/cjs/modules/partner/enums/partner-membership-package-scope.enum.js +24 -0
  32. package/dist/cjs/modules/partner/enums/partner-membership-package-scope.enum.js.map +1 -0
  33. package/dist/cjs/modules/partner/enums/partner-membership-status.enum.js +65 -0
  34. package/dist/cjs/modules/partner/enums/partner-membership-status.enum.js.map +1 -0
  35. package/dist/cjs/modules/partner/enums/partner-membership-subject-type.enum.js +18 -0
  36. package/dist/cjs/modules/partner/enums/partner-membership-subject-type.enum.js.map +1 -0
  37. package/dist/cjs/modules/partner/index.js +16 -0
  38. package/dist/cjs/modules/partner/index.js.map +1 -1
  39. package/dist/cjs/modules/partner/interfaces/partner-member-profile.js +3 -0
  40. package/dist/cjs/modules/partner/interfaces/partner-member-profile.js.map +1 -0
  41. package/dist/cjs/modules/partner/interfaces/partner-membership-descriptor.js +3 -0
  42. package/dist/cjs/modules/partner/interfaces/partner-membership-descriptor.js.map +1 -0
  43. package/dist/cjs/modules/partner/interfaces/partner-membership.js +3 -0
  44. package/dist/cjs/modules/partner/interfaces/partner-membership.js.map +1 -0
  45. package/dist/cjs/modules/partner/utils/partner-membership.util.js +291 -0
  46. package/dist/cjs/modules/partner/utils/partner-membership.util.js.map +1 -0
  47. package/dist/cjs/modules/partner/utils/partner-payload.util.js +84 -2
  48. package/dist/cjs/modules/partner/utils/partner-payload.util.js.map +1 -1
  49. package/dist/cjs/modules/permission/data/permissions.data.js +3 -1
  50. package/dist/cjs/modules/permission/data/permissions.data.js.map +1 -1
  51. package/dist/cjs/modules/permission/enums/permission-actions.enum.js +7 -0
  52. package/dist/cjs/modules/permission/enums/permission-actions.enum.js.map +1 -1
  53. package/dist/cjs/modules/role/data/roles.data.js +8 -0
  54. package/dist/cjs/modules/role/data/roles.data.js.map +1 -1
  55. package/dist/esm/kafka/billing-topics.js +80 -0
  56. package/dist/esm/kafka/billing-topics.js.map +1 -0
  57. package/dist/esm/kafka/index.js +1 -0
  58. package/dist/esm/kafka/index.js.map +1 -1
  59. package/dist/esm/modules/partner/constants/partner-defaults.const.js +4 -0
  60. package/dist/esm/modules/partner/constants/partner-defaults.const.js.map +1 -1
  61. package/dist/esm/modules/partner/constants/partner-kafka.const.js +17 -0
  62. package/dist/esm/modules/partner/constants/partner-kafka.const.js.map +1 -1
  63. package/dist/esm/modules/partner/dtos/create-partner-integration.dto.js +34 -0
  64. package/dist/esm/modules/partner/dtos/create-partner-integration.dto.js.map +1 -1
  65. package/dist/esm/modules/partner/dtos/partner-member-profile-lookup.dto.js +48 -0
  66. package/dist/esm/modules/partner/dtos/partner-member-profile-lookup.dto.js.map +1 -0
  67. package/dist/esm/modules/partner/dtos/partner-member-profile.dto.js +87 -0
  68. package/dist/esm/modules/partner/dtos/partner-member-profile.dto.js.map +1 -0
  69. package/dist/esm/modules/partner/dtos/partner-membership-query.dto.js +71 -0
  70. package/dist/esm/modules/partner/dtos/partner-membership-query.dto.js.map +1 -0
  71. package/dist/esm/modules/partner/dtos/sync-partner-membership.dto.js +144 -0
  72. package/dist/esm/modules/partner/dtos/sync-partner-membership.dto.js.map +1 -0
  73. package/dist/esm/modules/partner/dtos/update-partner-membership.dto.js +34 -0
  74. package/dist/esm/modules/partner/dtos/update-partner-membership.dto.js.map +1 -0
  75. package/dist/esm/modules/partner/enums/partner-adapter-operation.enum.js +6 -0
  76. package/dist/esm/modules/partner/enums/partner-adapter-operation.enum.js.map +1 -1
  77. package/dist/esm/modules/partner/enums/partner-member-document-type.enum.js +14 -0
  78. package/dist/esm/modules/partner/enums/partner-member-document-type.enum.js.map +1 -0
  79. package/dist/esm/modules/partner/enums/partner-member-gender.enum.js +16 -0
  80. package/dist/esm/modules/partner/enums/partner-member-gender.enum.js.map +1 -0
  81. package/dist/esm/modules/partner/enums/partner-member-profile-field.enum.js +20 -0
  82. package/dist/esm/modules/partner/enums/partner-member-profile-field.enum.js.map +1 -0
  83. package/dist/esm/modules/partner/enums/partner-member-state.enum.js +46 -0
  84. package/dist/esm/modules/partner/enums/partner-member-state.enum.js.map +1 -0
  85. package/dist/esm/modules/partner/enums/partner-membership-package-scope.enum.js +21 -0
  86. package/dist/esm/modules/partner/enums/partner-membership-package-scope.enum.js.map +1 -0
  87. package/dist/esm/modules/partner/enums/partner-membership-status.enum.js +62 -0
  88. package/dist/esm/modules/partner/enums/partner-membership-status.enum.js.map +1 -0
  89. package/dist/esm/modules/partner/enums/partner-membership-subject-type.enum.js +15 -0
  90. package/dist/esm/modules/partner/enums/partner-membership-subject-type.enum.js.map +1 -0
  91. package/dist/esm/modules/partner/index.js +16 -0
  92. package/dist/esm/modules/partner/index.js.map +1 -1
  93. package/dist/esm/modules/partner/interfaces/partner-member-profile.js +2 -0
  94. package/dist/esm/modules/partner/interfaces/partner-member-profile.js.map +1 -0
  95. package/dist/esm/modules/partner/interfaces/partner-membership-descriptor.js +2 -0
  96. package/dist/esm/modules/partner/interfaces/partner-membership-descriptor.js.map +1 -0
  97. package/dist/esm/modules/partner/interfaces/partner-membership.js +2 -0
  98. package/dist/esm/modules/partner/interfaces/partner-membership.js.map +1 -0
  99. package/dist/esm/modules/partner/utils/partner-membership.util.js +277 -0
  100. package/dist/esm/modules/partner/utils/partner-membership.util.js.map +1 -0
  101. package/dist/esm/modules/partner/utils/partner-payload.util.js +83 -1
  102. package/dist/esm/modules/partner/utils/partner-payload.util.js.map +1 -1
  103. package/dist/esm/modules/permission/data/permissions.data.js +3 -1
  104. package/dist/esm/modules/permission/data/permissions.data.js.map +1 -1
  105. package/dist/esm/modules/permission/enums/permission-actions.enum.js +7 -0
  106. package/dist/esm/modules/permission/enums/permission-actions.enum.js.map +1 -1
  107. package/dist/esm/modules/role/data/roles.data.js +8 -0
  108. package/dist/esm/modules/role/data/roles.data.js.map +1 -1
  109. package/dist/types/kafka/billing-topics.d.ts +77 -0
  110. package/dist/types/kafka/index.d.ts +1 -0
  111. package/dist/types/modules/partner/constants/partner-defaults.const.d.ts +4 -0
  112. package/dist/types/modules/partner/constants/partner-kafka.const.d.ts +17 -0
  113. package/dist/types/modules/partner/dtos/create-partner-integration.dto.d.ts +4 -0
  114. package/dist/types/modules/partner/dtos/partner-member-profile-lookup.dto.d.ts +45 -0
  115. package/dist/types/modules/partner/dtos/partner-member-profile.dto.d.ts +28 -0
  116. package/dist/types/modules/partner/dtos/partner-membership-query.dto.d.ts +19 -0
  117. package/dist/types/modules/partner/dtos/sync-partner-membership.dto.d.ts +114 -0
  118. package/dist/types/modules/partner/dtos/update-partner-membership.dto.d.ts +18 -0
  119. package/dist/types/modules/partner/enums/partner-adapter-operation.enum.d.ts +7 -1
  120. package/dist/types/modules/partner/enums/partner-member-document-type.enum.d.ts +12 -0
  121. package/dist/types/modules/partner/enums/partner-member-gender.enum.d.ts +14 -0
  122. package/dist/types/modules/partner/enums/partner-member-profile-field.enum.d.ts +18 -0
  123. package/dist/types/modules/partner/enums/partner-member-state.enum.d.ts +39 -0
  124. package/dist/types/modules/partner/enums/partner-membership-package-scope.enum.d.ts +19 -0
  125. package/dist/types/modules/partner/enums/partner-membership-status.enum.d.ts +53 -0
  126. package/dist/types/modules/partner/enums/partner-membership-subject-type.enum.d.ts +13 -0
  127. package/dist/types/modules/partner/index.d.ts +16 -0
  128. package/dist/types/modules/partner/interfaces/partner-integration.d.ts +22 -0
  129. package/dist/types/modules/partner/interfaces/partner-member-profile.d.ts +65 -0
  130. package/dist/types/modules/partner/interfaces/partner-membership-descriptor.d.ts +108 -0
  131. package/dist/types/modules/partner/interfaces/partner-membership.d.ts +149 -0
  132. package/dist/types/modules/partner/interfaces/partner-provider-descriptor.d.ts +16 -0
  133. package/dist/types/modules/partner/utils/partner-membership.util.d.ts +156 -0
  134. package/dist/types/modules/partner/utils/partner-payload.util.d.ts +27 -0
  135. package/dist/types/modules/permission/enums/permission-actions.enum.d.ts +2 -0
  136. package/package.json +1 -1
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BILLING_TOPICS_FOR_PARTNER_MEMBERSHIP = exports.BILLING_KAFKA_TOPICS = void 0;
4
+ /**
5
+ * Topics owned by clarion-billing.
6
+ *
7
+ * Promoted here from the service itself because they now have consumers in
8
+ * other services (clarion-notification for renewals, clarion-partner-services
9
+ * for membership provisioning). A topic name that lives in the producer's own
10
+ * source is a string a consumer has to copy, and a copied string is one that
11
+ * drifts silently: the consumer keeps subscribing to a topic nobody publishes
12
+ * any more, and nothing fails - it just quietly stops working.
13
+ *
14
+ * clarion-billing re-exports this as `BILLING_KAFKA_TOPICS` so its own call
15
+ * sites are unchanged.
16
+ */
17
+ exports.BILLING_KAFKA_TOPICS = {
18
+ PACKAGE_CREATED: 'billing.package.created',
19
+ PACKAGE_UPDATED: 'billing.package.updated',
20
+ SUBSCRIPTION_CREATED: 'billing.subscription.created',
21
+ SUBSCRIPTION_PENDING_PAYMENT: 'billing.subscription.pending_payment',
22
+ SUBSCRIPTION_ACTIVATED: 'billing.subscription.activated',
23
+ SUBSCRIPTION_RENEWED: 'billing.subscription.renewed',
24
+ SUBSCRIPTION_EXPIRED: 'billing.subscription.expired',
25
+ SUBSCRIPTION_CANCELLED: 'billing.subscription.cancelled',
26
+ SUBSCRIPTION_SUSPENDED: 'billing.subscription.suspended',
27
+ SUBSCRIPTION_MANUAL_RENEWAL_REQUIRED: 'billing.subscription.manual_renewal_required',
28
+ SUBSCRIPTION_RENEWAL_REMINDER: 'billing.subscription.renewal_reminder',
29
+ PAYMENT_INITIATED: 'billing.payment.initiated',
30
+ PAYMENT_SUCCEEDED: 'billing.payment.succeeded',
31
+ PAYMENT_FAILED: 'billing.payment.failed',
32
+ INVOICE_GENERATED: 'billing.invoice.generated',
33
+ INVOICE_PAID: 'billing.invoice.paid',
34
+ RECEIPT_GENERATED: 'billing.receipt.generated',
35
+ ENTITLEMENT_CHANGED: 'billing.entitlement.changed',
36
+ TRIAL_STARTED: 'billing.trial.started',
37
+ TRIAL_ALERT_CONSUMED: 'billing.trial.alert_consumed',
38
+ TRIAL_EXHAUSTED: 'billing.trial.exhausted',
39
+ TRIAL_EXPIRED: 'billing.trial.expired',
40
+ TRIAL_GRANTED: 'billing.trial.granted',
41
+ TRIAL_REVOKED: 'billing.trial.revoked',
42
+ CORPORATE_CLIENT_CREATED: 'billing.corporate_client.created',
43
+ CORPORATE_MEMBER_ADDED: 'billing.corporate_member.added',
44
+ CORPORATE_MEMBER_REMOVED: 'billing.corporate_member.removed',
45
+ SETTLEMENT_GENERATED: 'billing.settlement.generated',
46
+ SETTLEMENT_PAID: 'billing.settlement.paid',
47
+ BENEFICIARY_CREATED: 'billing.beneficiary.created',
48
+ BENEFICIARY_PENDING_PAYMENT: 'billing.beneficiary.pending_payment',
49
+ BENEFICIARY_ACTIVATED: 'billing.beneficiary.activated',
50
+ BENEFICIARY_REMOVED: 'billing.beneficiary.removed',
51
+ BENEFICIARY_EXPIRED: 'billing.beneficiary.expired',
52
+ BENEFICIARY_SUSPENDED: 'billing.beneficiary.suspended',
53
+ BENEFICIARY_PAYMENT_REQUIRED: 'billing.beneficiary.payment_required',
54
+ BENEFICIARY_PAYMENT_SUCCEEDED: 'billing.beneficiary.payment_succeeded',
55
+ BENEFICIARY_PAYMENT_FAILED: 'billing.beneficiary.payment_failed',
56
+ /**
57
+ * The complete current state of one subscriber's partner-relevant cover.
58
+ *
59
+ * A STATE topic, not a change topic, and the only one
60
+ * clarion-partner-services consumes. Every other billing topic here is a
61
+ * change notification on its own topic, and Kafka guarantees no ordering
62
+ * across topics - so `subscription.activated` and `subscription.expired`
63
+ * for one person arrive in an arbitrary order, as do a beneficiary being
64
+ * added and the subscription that owns them. Applying those as deltas to a
65
+ * partner that will not let a dependent be withdrawn until the end of the
66
+ * term produces duplicate members and permanently burns seats.
67
+ *
68
+ * One topic carrying the full picture, fenced by a monotonic sequence,
69
+ * converges from any order of arrival.
70
+ */
71
+ PARTNER_MEMBERSHIP_SYNC: 'billing.partner_membership.sync',
72
+ };
73
+ /**
74
+ * The billing topics clarion-partner-services listens to.
75
+ *
76
+ * Exactly ONE, on purpose. Subscribing to the six lifecycle topics that DRIVE
77
+ * this state would mean reassembling a subscriber's picture from six unordered
78
+ * streams; billing already holds that picture whole, so it publishes it whole.
79
+ */
80
+ exports.BILLING_TOPICS_FOR_PARTNER_MEMBERSHIP = [
81
+ exports.BILLING_KAFKA_TOPICS.PARTNER_MEMBERSHIP_SYNC,
82
+ ];
83
+ //# sourceMappingURL=billing-topics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"billing-topics.js","sourceRoot":"","sources":["../../../src/kafka/billing-topics.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;GAYG;AACU,QAAA,oBAAoB,GAAG;IAChC,eAAe,EAAE,yBAAyB;IAC1C,eAAe,EAAE,yBAAyB;IAE1C,oBAAoB,EAAE,8BAA8B;IACpD,4BAA4B,EAAE,sCAAsC;IACpE,sBAAsB,EAAE,gCAAgC;IACxD,oBAAoB,EAAE,8BAA8B;IACpD,oBAAoB,EAAE,8BAA8B;IACpD,sBAAsB,EAAE,gCAAgC;IACxD,sBAAsB,EAAE,gCAAgC;IACxD,oCAAoC,EAAE,8CAA8C;IACpF,6BAA6B,EAAE,uCAAuC;IAEtE,iBAAiB,EAAE,2BAA2B;IAC9C,iBAAiB,EAAE,2BAA2B;IAC9C,cAAc,EAAE,wBAAwB;IAExC,iBAAiB,EAAE,2BAA2B;IAC9C,YAAY,EAAE,sBAAsB;IACpC,iBAAiB,EAAE,2BAA2B;IAE9C,mBAAmB,EAAE,6BAA6B;IAElD,aAAa,EAAE,uBAAuB;IACtC,oBAAoB,EAAE,8BAA8B;IACpD,eAAe,EAAE,yBAAyB;IAC1C,aAAa,EAAE,uBAAuB;IACtC,aAAa,EAAE,uBAAuB;IACtC,aAAa,EAAE,uBAAuB;IAEtC,wBAAwB,EAAE,kCAAkC;IAC5D,sBAAsB,EAAE,gCAAgC;IACxD,wBAAwB,EAAE,kCAAkC;IAE5D,oBAAoB,EAAE,8BAA8B;IACpD,eAAe,EAAE,yBAAyB;IAE1C,mBAAmB,EAAE,6BAA6B;IAClD,2BAA2B,EAAE,qCAAqC;IAClE,qBAAqB,EAAE,+BAA+B;IACtD,mBAAmB,EAAE,6BAA6B;IAClD,mBAAmB,EAAE,6BAA6B;IAClD,qBAAqB,EAAE,+BAA+B;IACtD,4BAA4B,EAAE,sCAAsC;IACpE,6BAA6B,EAAE,uCAAuC;IACtE,0BAA0B,EAAE,oCAAoC;IAEhE;;;;;;;;;;;;;;OAcG;IACH,uBAAuB,EAAE,iCAAiC;CACpD,CAAC;AAEX;;;;;;GAMG;AACU,QAAA,qCAAqC,GAAsB;IACpE,4BAAoB,CAAC,uBAAuB;CAC/C,CAAC"}
@@ -15,6 +15,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./topics"), exports);
18
+ __exportStar(require("./billing-topics"), exports);
18
19
  __exportStar(require("./dtos/user/create-user-created-payload.dto"), exports);
19
20
  __exportStar(require("./dtos/user/user-created-payload.dto"), exports);
20
21
  __exportStar(require("./dtos/user/create-user-registered-payload.dto"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/kafka/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,8EAA4D;AAC5D,uEAAqD;AACrD,iFAA+D;AAC/D,0EAAwD;AACxD,oEAAkD;AAClD,6DAA2C;AAC3C,6EAA2D;AAC3D,+FAA6E"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/kafka/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,mDAAiC;AACjC,8EAA4D;AAC5D,uEAAqD;AACrD,iFAA+D;AAC/D,0EAAwD;AACxD,oEAAkD;AAClD,6DAA2C;AAC3C,6EAA2D;AAC3D,+FAA6E"}
@@ -89,6 +89,10 @@ exports.PARTNER_FIELD_LIMITS = {
89
89
  RELATIONSHIP_MAX_LENGTH: 50,
90
90
  /** Emergency-contact numbers offered to a partner, primary guardian first. */
91
91
  MAX_EMERGENCY_CONTACT_PHONE_NUMBERS: 5,
92
+ /** Human-readable membership description sent alongside a member id. */
93
+ MEMBERSHIP_LABEL_MAX_LENGTH: 100,
94
+ /** A person's full name as a partner membership records it. */
95
+ MEMBER_NAME_MAX_LENGTH: 200,
92
96
  };
93
97
  /**
94
98
  * Header carrying a caller-supplied idempotency key on routing requests. Kept
@@ -1 +1 @@
1
- {"version":3,"file":"partner-defaults.const.js","sourceRoot":"","sources":["../../../../../src/modules/partner/constants/partner-defaults.const.ts"],"names":[],"mappings":";;;AAAA,sFAA6E;AAC7E,4FAAkF;AAElF;;;;;GAKG;AACU,QAAA,yBAAyB,GAAG;IACrC,uFAAuF;IACvF,YAAY,EAAE,CAAC;IACf,8EAA8E;IAC9E,kBAAkB,EAAE,EAAE;IACtB,uDAAuD;IACvD,iBAAiB,EAAE,GAAG;IACtB,yEAAyE;IACzE,kBAAkB,EAAE,KAAK;IACzB,wEAAwE;IACxE,eAAe,EAAE,IAAI;IACrB;;;;OAIG;IACH,uBAAuB,EAAE,EAAE;IAC3B,0DAA0D;IAC1D,QAAQ,EAAE,GAAG;IACb;;;OAGG;IACH,yBAAyB,EAAE,EAAE;IAC7B,0FAA0F;IAC1F,uBAAuB,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE;CAC/B,CAAC;AAEX;;;;;;;;GAQG;AACU,QAAA,qBAAqB,GAAG;IACjC,0EAA0E;IAC1E,eAAe,EAAE,EAAE;IACnB,0DAA0D;IAC1D,WAAW,EAAE,GAAG;IAChB;;;;;;;OAOG;IACH,aAAa,EAAE,EAAE;CACX,CAAC;AAEX;;;;;;;;;GASG;AACU,QAAA,iCAAiC,GAA+D;IACzG,CAAC,uCAAe,CAAC,GAAG,CAAC,EAAE,wDAAuB,CAAC,KAAK;IACpD,CAAC,uCAAe,CAAC,GAAG,CAAC,EAAE,wDAAuB,CAAC,OAAO;IACtD,CAAC,uCAAe,CAAC,KAAK,CAAC,EAAE,wDAAuB,CAAC,OAAO;IACxD,CAAC,uCAAe,CAAC,GAAG,CAAC,EAAE,wDAAuB,CAAC,OAAO;IACtD,CAAC,uCAAe,CAAC,KAAK,CAAC,EAAE,wDAAuB,CAAC,OAAO;IACxD,CAAC,uCAAe,CAAC,IAAI,CAAC,EAAE,wDAAuB,CAAC,OAAO;IACvD,CAAC,uCAAe,CAAC,YAAY,CAAC,EAAE,wDAAuB,CAAC,OAAO;IAC/D,CAAC,uCAAe,CAAC,SAAS,CAAC,EAAE,wDAAuB,CAAC,OAAO;IAC5D,CAAC,uCAAe,CAAC,KAAK,CAAC,EAAE,wDAAuB,CAAC,OAAO;CAC3D,CAAC;AAEF,2EAA2E;AAC9D,QAAA,oBAAoB,GAAG;IAChC,kBAAkB,EAAE,GAAG;IACvB,gBAAgB,EAAE,IAAI;IACtB,uBAAuB,EAAE,GAAG;IAC5B,uBAAuB,EAAE,EAAE;IAC3B,8EAA8E;IAC9E,mCAAmC,EAAE,CAAC;CAChC,CAAC;AAEX;;;GAGG;AACU,QAAA,kCAAkC,GAAG,mCAAmC,CAAC"}
1
+ {"version":3,"file":"partner-defaults.const.js","sourceRoot":"","sources":["../../../../../src/modules/partner/constants/partner-defaults.const.ts"],"names":[],"mappings":";;;AAAA,sFAA6E;AAC7E,4FAAkF;AAElF;;;;;GAKG;AACU,QAAA,yBAAyB,GAAG;IACrC,uFAAuF;IACvF,YAAY,EAAE,CAAC;IACf,8EAA8E;IAC9E,kBAAkB,EAAE,EAAE;IACtB,uDAAuD;IACvD,iBAAiB,EAAE,GAAG;IACtB,yEAAyE;IACzE,kBAAkB,EAAE,KAAK;IACzB,wEAAwE;IACxE,eAAe,EAAE,IAAI;IACrB;;;;OAIG;IACH,uBAAuB,EAAE,EAAE;IAC3B,0DAA0D;IAC1D,QAAQ,EAAE,GAAG;IACb;;;OAGG;IACH,yBAAyB,EAAE,EAAE;IAC7B,0FAA0F;IAC1F,uBAAuB,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE;CAC/B,CAAC;AAEX;;;;;;;;GAQG;AACU,QAAA,qBAAqB,GAAG;IACjC,0EAA0E;IAC1E,eAAe,EAAE,EAAE;IACnB,0DAA0D;IAC1D,WAAW,EAAE,GAAG;IAChB;;;;;;;OAOG;IACH,aAAa,EAAE,EAAE;CACX,CAAC;AAEX;;;;;;;;;GASG;AACU,QAAA,iCAAiC,GAA+D;IACzG,CAAC,uCAAe,CAAC,GAAG,CAAC,EAAE,wDAAuB,CAAC,KAAK;IACpD,CAAC,uCAAe,CAAC,GAAG,CAAC,EAAE,wDAAuB,CAAC,OAAO;IACtD,CAAC,uCAAe,CAAC,KAAK,CAAC,EAAE,wDAAuB,CAAC,OAAO;IACxD,CAAC,uCAAe,CAAC,GAAG,CAAC,EAAE,wDAAuB,CAAC,OAAO;IACtD,CAAC,uCAAe,CAAC,KAAK,CAAC,EAAE,wDAAuB,CAAC,OAAO;IACxD,CAAC,uCAAe,CAAC,IAAI,CAAC,EAAE,wDAAuB,CAAC,OAAO;IACvD,CAAC,uCAAe,CAAC,YAAY,CAAC,EAAE,wDAAuB,CAAC,OAAO;IAC/D,CAAC,uCAAe,CAAC,SAAS,CAAC,EAAE,wDAAuB,CAAC,OAAO;IAC5D,CAAC,uCAAe,CAAC,KAAK,CAAC,EAAE,wDAAuB,CAAC,OAAO;CAC3D,CAAC;AAEF,2EAA2E;AAC9D,QAAA,oBAAoB,GAAG;IAChC,kBAAkB,EAAE,GAAG;IACvB,gBAAgB,EAAE,IAAI;IACtB,uBAAuB,EAAE,GAAG;IAC5B,uBAAuB,EAAE,EAAE;IAC3B,8EAA8E;IAC9E,mCAAmC,EAAE,CAAC;IACtC,wEAAwE;IACxE,2BAA2B,EAAE,GAAG;IAChC,+DAA+D;IAC/D,sBAAsB,EAAE,GAAG;CACrB,CAAC;AAEX;;;GAGG;AACU,QAAA,kCAAkC,GAAG,mCAAmC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PARTNER_REALTIME_CHANNEL = exports.PARTNER_CONSUMER_GROUPS = void 0;
3
+ exports.PARTNER_MEMBERSHIP_EVENT_DEDUP_TTL_SECONDS = exports.PARTNER_MEMBERSHIP_CONSUMER_GROUP = exports.PARTNER_REALTIME_CHANNEL = exports.PARTNER_CONSUMER_GROUPS = void 0;
4
4
  /**
5
5
  * Consumer groups for the partner dispatch topics. One group per logical
6
6
  * consumer, so adding a consumer never steals another's messages.
@@ -17,4 +17,21 @@ exports.PARTNER_CONSUMER_GROUPS = {
17
17
  * to.
18
18
  */
19
19
  exports.PARTNER_REALTIME_CHANNEL = 'partner:dispatch:events';
20
+ /**
21
+ * Consumer group clarion-partner-services joins to learn who has bought cover.
22
+ *
23
+ * Its own group, separate from every other billing consumer, so a partner
24
+ * membership backlog can never delay a renewal notification and a redeploy of
25
+ * one cannot rebalance the other.
26
+ */
27
+ exports.PARTNER_MEMBERSHIP_CONSUMER_GROUP = 'partner-membership-billing';
28
+ /**
29
+ * How long a consumed billing event is remembered, to collapse redeliveries.
30
+ *
31
+ * Kafka gives at-least-once delivery and the outbox retries on its own, so the
32
+ * same activation can arrive several times. Provisioning is idempotent on the
33
+ * unique (integrationId, subjectReference) index anyway - this only saves the
34
+ * wasted work, so a generous window costs nothing.
35
+ */
36
+ exports.PARTNER_MEMBERSHIP_EVENT_DEDUP_TTL_SECONDS = 6 * 60 * 60;
20
37
  //# sourceMappingURL=partner-kafka.const.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"partner-kafka.const.js","sourceRoot":"","sources":["../../../../../src/modules/partner/constants/partner-kafka.const.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACU,QAAA,uBAAuB,GAAG;IACnC,kFAAkF;IAClF,YAAY,EAAE,+BAA+B;IAC7C,qEAAqE;IACrE,QAAQ,EAAE,2BAA2B;CAC/B,CAAC;AAEX;;;;GAIG;AACU,QAAA,wBAAwB,GAAG,yBAAyB,CAAC"}
1
+ {"version":3,"file":"partner-kafka.const.js","sourceRoot":"","sources":["../../../../../src/modules/partner/constants/partner-kafka.const.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACU,QAAA,uBAAuB,GAAG;IACnC,kFAAkF;IAClF,YAAY,EAAE,+BAA+B;IAC7C,qEAAqE;IACrE,QAAQ,EAAE,2BAA2B;CAC/B,CAAC;AAEX;;;;GAIG;AACU,QAAA,wBAAwB,GAAG,yBAAyB,CAAC;AAElE;;;;;;GAMG;AACU,QAAA,iCAAiC,GAAG,4BAA4B,CAAC;AAE9E;;;;;;;GAOG;AACU,QAAA,0CAA0C,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC"}
@@ -15,6 +15,7 @@ const class_transformer_1 = require("class-transformer");
15
15
  const class_validator_1 = require("class-validator");
16
16
  const country_code_enum_1 = require("../../country/enums/country-code.enum");
17
17
  const partner_integration_environment_enum_1 = require("../enums/partner-integration-environment.enum");
18
+ const partner_membership_package_scope_enum_1 = require("../enums/partner-membership-package-scope.enum");
18
19
  const partner_provider_code_enum_1 = require("../enums/partner-provider-code.enum");
19
20
  const partner_routing_mode_enum_1 = require("../enums/partner-routing-mode.enum");
20
21
  const partner_service_capability_enum_1 = require("../enums/partner-service-capability.enum");
@@ -162,6 +163,39 @@ __decorate([
162
163
  (0, class_validator_1.IsOptional)(),
163
164
  __metadata("design:type", Number)
164
165
  ], CreatePartnerIntegrationDto.prototype, "priority", void 0);
166
+ __decorate([
167
+ (0, swagger_1.ApiPropertyOptional)({
168
+ description: 'Register the subscribers of this organization with the partner as members, ahead of any emergency. ' +
169
+ 'Defaults to false: it sends personal details to a third party, which is a decision to be made ' +
170
+ 'deliberately rather than a side effect of saving the form.',
171
+ example: false,
172
+ }),
173
+ (0, class_validator_1.IsBoolean)(),
174
+ (0, class_validator_1.IsOptional)(),
175
+ __metadata("design:type", Boolean)
176
+ ], CreatePartnerIntegrationDto.prototype, "membershipEnabled", void 0);
177
+ __decorate([
178
+ (0, swagger_1.ApiPropertyOptional)({
179
+ enum: partner_membership_package_scope_enum_1.PartnerMembershipPackageScope,
180
+ description: 'Whose subscribers are registered. ALL (default) covers every package the organization sells; ' +
181
+ 'SELECTED registers only the packages named in membershipPackageIds.',
182
+ }),
183
+ (0, class_validator_1.IsEnum)(partner_membership_package_scope_enum_1.PartnerMembershipPackageScope),
184
+ (0, class_validator_1.IsOptional)(),
185
+ __metadata("design:type", String)
186
+ ], CreatePartnerIntegrationDto.prototype, "membershipPackageScope", void 0);
187
+ __decorate([
188
+ (0, swagger_1.ApiPropertyOptional)({
189
+ description: 'Billing package ids to register, when the scope is SELECTED.',
190
+ example: [12, 13],
191
+ type: [Number],
192
+ }),
193
+ (0, class_validator_1.IsArray)(),
194
+ (0, class_validator_1.IsInt)({ each: true }),
195
+ (0, class_transformer_1.Type)(() => Number),
196
+ (0, class_validator_1.IsOptional)(),
197
+ __metadata("design:type", Array)
198
+ ], CreatePartnerIntegrationDto.prototype, "membershipPackageIds", void 0);
165
199
  __decorate([
166
200
  (0, swagger_1.ApiPropertyOptional)({ enum: country_code_enum_1.CountryCode, description: 'Country the partnership operates in. Defaults to KE.' }),
167
201
  (0, class_validator_1.IsEnum)(country_code_enum_1.CountryCode),
@@ -1 +1 @@
1
- {"version":3,"file":"create-partner-integration.dto.js","sourceRoot":"","sources":["../../../../../src/modules/partner/dtos/create-partner-integration.dto.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-partner-integration.dto.js","sourceRoot":"","sources":["../../../../../src/modules/partner/dtos/create-partner-integration.dto.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.PartnerMemberProfileLookupDto = void 0;
13
+ const class_transformer_1 = require("class-transformer");
14
+ const class_validator_1 = require("class-validator");
15
+ /**
16
+ * Ask the service that owns people for the details a partner membership needs.
17
+ *
18
+ * PULLED at provision time rather than pushed on an event, and that is the
19
+ * whole point. An event payload is retained for as long as its topic is and is
20
+ * readable by every consumer group present and future, so a date of birth put
21
+ * on one can never be recalled - and clarion-billing's outbox archives every
22
+ * payload it has ever published in a table nothing prunes. Pulling also means a
23
+ * partner that later wants one more fact changes ONE producer and no event
24
+ * schema at all.
25
+ *
26
+ * Never called on the emergency path. A membership already provisioned carries
27
+ * its own frozen profile, so an alert never waits on this.
28
+ */
29
+ class PartnerMemberProfileLookupDto {
30
+ }
31
+ exports.PartnerMemberProfileLookupDto = PartnerMemberProfileLookupDto;
32
+ __decorate([
33
+ (0, class_validator_1.IsArray)(),
34
+ (0, class_validator_1.ArrayNotEmpty)(),
35
+ (0, class_validator_1.ArrayMaxSize)(200),
36
+ (0, class_validator_1.IsString)({ each: true }),
37
+ (0, class_transformer_1.Transform)(({ value }) => typeof value === 'string'
38
+ ? value.split(',').map((entry) => entry.trim()).filter(Boolean)
39
+ : value),
40
+ __metadata("design:type", Array)
41
+ ], PartnerMemberProfileLookupDto.prototype, "references", void 0);
42
+ __decorate([
43
+ (0, class_validator_1.IsInt)(),
44
+ __metadata("design:type", Number)
45
+ ], PartnerMemberProfileLookupDto.prototype, "organizationId", void 0);
46
+ __decorate([
47
+ (0, class_validator_1.IsOptional)(),
48
+ (0, class_validator_1.IsString)(),
49
+ (0, class_validator_1.MaxLength)(2),
50
+ __metadata("design:type", String)
51
+ ], PartnerMemberProfileLookupDto.prototype, "countryCode", void 0);
52
+ //# sourceMappingURL=partner-member-profile-lookup.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"partner-member-profile-lookup.dto.js","sourceRoot":"","sources":["../../../../../src/modules/partner/dtos/partner-member-profile-lookup.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yDAA8C;AAC9C,qDAA+G;AAG/G;;;;;;;;;;;;;GAaG;AACH,MAAa,6BAA6B;CA0BzC;AA1BD,sEA0BC;AAZG;IATC,IAAA,yBAAO,GAAE;IACT,IAAA,+BAAa,GAAE;IACf,IAAA,8BAAY,EAAC,GAAG,CAAC;IACjB,IAAA,0BAAQ,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACxB,IAAA,6BAAS,EAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CACrB,OAAO,KAAK,KAAK,QAAQ;QACrB,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;QAC/D,CAAC,CAAC,KAAK,CACd;;iEACqB;AAQtB;IADC,IAAA,uBAAK,GAAE;;qEACgB;AAGxB;IADC,IAAA,4BAAU,GAAE;IAAE,IAAA,0BAAQ,GAAE;IAAE,IAAA,2BAAS,EAAC,CAAC,CAAC;;kEAClB"}
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.PartnerMemberProfileDto = void 0;
13
+ const class_validator_1 = require("class-validator");
14
+ const class_transformer_1 = require("class-transformer");
15
+ const partner_member_document_type_enum_1 = require("../enums/partner-member-document-type.enum");
16
+ const partner_member_gender_enum_1 = require("../enums/partner-member-gender.enum");
17
+ /** Blank strings mean "not supplied", not "supplied and empty". */
18
+ const blankToUndefined = ({ value }) => typeof value === 'string' && value.trim() === '' ? undefined : value;
19
+ /**
20
+ * The personal details a partner membership needs, as an operator or an
21
+ * internal caller supplies them.
22
+ *
23
+ * Validated HERE rather than at the partner, because the alternative is
24
+ * discovering that a date of birth was unparseable by watching a member fail to
25
+ * provision hours after somebody typed it. Every field is optional: this DTO is
26
+ * used both to create a profile and to patch one, and which fields are actually
27
+ * REQUIRED is the partner's business, answered from its descriptor.
28
+ */
29
+ class PartnerMemberProfileDto {
30
+ }
31
+ exports.PartnerMemberProfileDto = PartnerMemberProfileDto;
32
+ __decorate([
33
+ (0, class_validator_1.IsOptional)(),
34
+ (0, class_validator_1.IsString)(),
35
+ (0, class_validator_1.MaxLength)(200),
36
+ (0, class_transformer_1.Transform)(blankToUndefined),
37
+ __metadata("design:type", String)
38
+ ], PartnerMemberProfileDto.prototype, "fullName", void 0);
39
+ __decorate([
40
+ (0, class_validator_1.IsOptional)(),
41
+ (0, class_validator_1.IsString)(),
42
+ (0, class_transformer_1.Transform)(blankToUndefined),
43
+ (0, class_validator_1.Matches)(/^\+[1-9]\d{9,14}$/, {
44
+ message: 'phoneNumber must be in international format, e.g. +254712345678',
45
+ }),
46
+ __metadata("design:type", String)
47
+ ], PartnerMemberProfileDto.prototype, "phoneNumber", void 0);
48
+ __decorate([
49
+ (0, class_validator_1.IsOptional)(),
50
+ (0, class_validator_1.IsEmail)(),
51
+ (0, class_transformer_1.Transform)(blankToUndefined),
52
+ __metadata("design:type", String)
53
+ ], PartnerMemberProfileDto.prototype, "email", void 0);
54
+ __decorate([
55
+ (0, class_validator_1.IsOptional)(),
56
+ (0, class_validator_1.IsString)(),
57
+ (0, class_transformer_1.Transform)(blankToUndefined),
58
+ (0, class_validator_1.Matches)(/^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])$/, {
59
+ message: 'dateOfBirth must be a calendar date in YYYY-MM-DD form',
60
+ }),
61
+ __metadata("design:type", String)
62
+ ], PartnerMemberProfileDto.prototype, "dateOfBirth", void 0);
63
+ __decorate([
64
+ (0, class_validator_1.IsOptional)(),
65
+ (0, class_validator_1.IsEnum)(partner_member_gender_enum_1.PartnerMemberGender),
66
+ (0, class_transformer_1.Transform)(blankToUndefined),
67
+ __metadata("design:type", String)
68
+ ], PartnerMemberProfileDto.prototype, "gender", void 0);
69
+ __decorate([
70
+ (0, class_validator_1.IsOptional)(),
71
+ (0, class_validator_1.IsEnum)(partner_member_document_type_enum_1.PartnerMemberDocumentType),
72
+ (0, class_transformer_1.Transform)(blankToUndefined),
73
+ __metadata("design:type", String)
74
+ ], PartnerMemberProfileDto.prototype, "documentType", void 0);
75
+ __decorate([
76
+ (0, class_validator_1.IsOptional)(),
77
+ (0, class_validator_1.IsString)(),
78
+ (0, class_validator_1.Length)(4, 20),
79
+ (0, class_transformer_1.Transform)(blankToUndefined),
80
+ (0, class_validator_1.Matches)(/^[A-Za-z0-9]+$/, {
81
+ message: 'documentNumber must be alphanumeric',
82
+ }),
83
+ __metadata("design:type", String)
84
+ ], PartnerMemberProfileDto.prototype, "documentNumber", void 0);
85
+ __decorate([
86
+ (0, class_validator_1.IsOptional)(),
87
+ (0, class_validator_1.IsISO31661Alpha2)(),
88
+ (0, class_transformer_1.Transform)(({ value }) => typeof value === 'string' && value.trim() !== '' ? value.trim().toUpperCase() : undefined),
89
+ __metadata("design:type", String)
90
+ ], PartnerMemberProfileDto.prototype, "documentCountryCode", void 0);
91
+ //# sourceMappingURL=partner-member-profile.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"partner-member-profile.dto.js","sourceRoot":"","sources":["../../../../../src/modules/partner/dtos/partner-member-profile.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAAsH;AACtH,yDAA8C;AAC9C,kGAAuF;AACvF,oFAA0E;AAE1E,mEAAmE;AACnE,MAAM,gBAAgB,GAAG,CAAC,EAAE,KAAK,EAAsB,EAAE,EAAE,CACvD,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC;AAEzE;;;;;;;;;GASG;AACH,MAAa,uBAAuB;CAiDnC;AAjDD,0DAiDC;AA9CG;IAFC,IAAA,4BAAU,GAAE;IAAE,IAAA,0BAAQ,GAAE;IAAE,IAAA,2BAAS,EAAC,GAAG,CAAC;IACxC,IAAA,6BAAS,EAAC,gBAAgB,CAAC;;yDACV;AAWlB;IALC,IAAA,4BAAU,GAAE;IAAE,IAAA,0BAAQ,GAAE;IACxB,IAAA,6BAAS,EAAC,gBAAgB,CAAC;IAC3B,IAAA,yBAAO,EAAC,mBAAmB,EAAE;QAC1B,OAAO,EAAE,iEAAiE;KAC7E,CAAC;;4DACmB;AAIrB;IAFC,IAAA,4BAAU,GAAE;IAAE,IAAA,yBAAO,GAAE;IACvB,IAAA,6BAAS,EAAC,gBAAgB,CAAC;;sDACb;AAQf;IALC,IAAA,4BAAU,GAAE;IAAE,IAAA,0BAAQ,GAAE;IACxB,IAAA,6BAAS,EAAC,gBAAgB,CAAC;IAC3B,IAAA,yBAAO,EAAC,+CAA+C,EAAE;QACtD,OAAO,EAAE,wDAAwD;KACpE,CAAC;;4DACmB;AAIrB;IAFC,IAAA,4BAAU,GAAE;IAAE,IAAA,wBAAM,EAAC,gDAAmB,CAAC;IACzC,IAAA,6BAAS,EAAC,gBAAgB,CAAC;;uDACC;AAI7B;IAFC,IAAA,4BAAU,GAAE;IAAE,IAAA,wBAAM,EAAC,6DAAyB,CAAC;IAC/C,IAAA,6BAAS,EAAC,gBAAgB,CAAC;;6DACa;AAOzC;IALC,IAAA,4BAAU,GAAE;IAAE,IAAA,0BAAQ,GAAE;IAAE,IAAA,wBAAM,EAAC,CAAC,EAAE,EAAE,CAAC;IACvC,IAAA,6BAAS,EAAC,gBAAgB,CAAC;IAC3B,IAAA,yBAAO,EAAC,gBAAgB,EAAE;QACvB,OAAO,EAAE,qCAAqC;KACjD,CAAC;;+DACsB;AAOxB;IAJC,IAAA,4BAAU,GAAE;IAAE,IAAA,kCAAgB,GAAE;IAChC,IAAA,6BAAS,EAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CACrB,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS,CAC5F;;oEAC4B"}
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.PartnerMembershipQueryDto = void 0;
13
+ const class_transformer_1 = require("class-transformer");
14
+ const class_validator_1 = require("class-validator");
15
+ const partner_membership_status_enum_1 = require("../enums/partner-membership-status.enum");
16
+ const partner_membership_subject_type_enum_1 = require("../enums/partner-membership-subject-type.enum");
17
+ /** Filters for the membership list an operator works from. */
18
+ class PartnerMembershipQueryDto {
19
+ }
20
+ exports.PartnerMembershipQueryDto = PartnerMembershipQueryDto;
21
+ __decorate([
22
+ (0, class_validator_1.IsOptional)(),
23
+ (0, class_transformer_1.Type)(() => Number),
24
+ (0, class_validator_1.IsInt)(),
25
+ __metadata("design:type", Number)
26
+ ], PartnerMembershipQueryDto.prototype, "integrationId", void 0);
27
+ __decorate([
28
+ (0, class_validator_1.IsOptional)(),
29
+ (0, class_validator_1.IsEnum)(partner_membership_status_enum_1.PartnerMembershipStatus),
30
+ __metadata("design:type", String)
31
+ ], PartnerMembershipQueryDto.prototype, "status", void 0);
32
+ __decorate([
33
+ (0, class_validator_1.IsOptional)(),
34
+ (0, class_validator_1.IsEnum)(partner_membership_subject_type_enum_1.PartnerMembershipSubjectType),
35
+ __metadata("design:type", String)
36
+ ], PartnerMembershipQueryDto.prototype, "subjectType", void 0);
37
+ __decorate([
38
+ (0, class_validator_1.IsOptional)(),
39
+ (0, class_transformer_1.Type)(() => Number),
40
+ (0, class_validator_1.IsInt)(),
41
+ __metadata("design:type", Number)
42
+ ], PartnerMembershipQueryDto.prototype, "userId", void 0);
43
+ __decorate([
44
+ (0, class_validator_1.IsOptional)(),
45
+ (0, class_transformer_1.Type)(() => Number),
46
+ (0, class_validator_1.IsInt)(),
47
+ __metadata("design:type", Number)
48
+ ], PartnerMembershipQueryDto.prototype, "subscriptionId", void 0);
49
+ __decorate([
50
+ (0, class_validator_1.IsOptional)(),
51
+ (0, class_validator_1.IsString)(),
52
+ __metadata("design:type", String)
53
+ ], PartnerMembershipQueryDto.prototype, "search", void 0);
54
+ __decorate([
55
+ (0, class_validator_1.IsOptional)(),
56
+ (0, class_validator_1.IsBoolean)(),
57
+ (0, class_transformer_1.Transform)(({ value }) => value === true || value === 'true'),
58
+ __metadata("design:type", Boolean)
59
+ ], PartnerMembershipQueryDto.prototype, "needsAttention", void 0);
60
+ __decorate([
61
+ (0, class_validator_1.IsOptional)(),
62
+ (0, class_transformer_1.Type)(() => Number),
63
+ (0, class_validator_1.IsInt)(),
64
+ (0, class_validator_1.Min)(1),
65
+ __metadata("design:type", Number)
66
+ ], PartnerMembershipQueryDto.prototype, "page", void 0);
67
+ __decorate([
68
+ (0, class_validator_1.IsOptional)(),
69
+ (0, class_transformer_1.Type)(() => Number),
70
+ (0, class_validator_1.IsInt)(),
71
+ (0, class_validator_1.Min)(1),
72
+ (0, class_validator_1.Max)(200),
73
+ __metadata("design:type", Number)
74
+ ], PartnerMembershipQueryDto.prototype, "limit", void 0);
75
+ //# sourceMappingURL=partner-membership-query.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"partner-membership-query.dto.js","sourceRoot":"","sources":["../../../../../src/modules/partner/dtos/partner-membership-query.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yDAAoD;AACpD,qDAA2F;AAC3F,4FAAkF;AAClF,wGAA6F;AAE7F,8DAA8D;AAC9D,MAAa,yBAAyB;CAiCrC;AAjCD,8DAiCC;AA/BG;IADC,IAAA,4BAAU,GAAE;IAAE,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,MAAM,CAAC;IAAE,IAAA,uBAAK,GAAE;;gEACnB;AAGvB;IADC,IAAA,4BAAU,GAAE;IAAE,IAAA,wBAAM,EAAC,wDAAuB,CAAC;;yDACb;AAGjC;IADC,IAAA,4BAAU,GAAE;IAAE,IAAA,wBAAM,EAAC,mEAA4B,CAAC;;8DACR;AAG3C;IADC,IAAA,4BAAU,GAAE;IAAE,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,MAAM,CAAC;IAAE,IAAA,uBAAK,GAAE;;yDAC1B;AAGhB;IADC,IAAA,4BAAU,GAAE;IAAE,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,MAAM,CAAC;IAAE,IAAA,uBAAK,GAAE;;iEAClB;AAIxB;IADC,IAAA,4BAAU,GAAE;IAAE,IAAA,0BAAQ,GAAE;;yDACT;AAQhB;IAFC,IAAA,4BAAU,GAAE;IAAE,IAAA,2BAAS,GAAE;IACzB,IAAA,6BAAS,EAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,MAAM,CAAC;;iEACpC;AAGzB;IADC,IAAA,4BAAU,GAAE;IAAE,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,MAAM,CAAC;IAAE,IAAA,uBAAK,GAAE;IAAE,IAAA,qBAAG,EAAC,CAAC,CAAC;;uDACpC;AAGd;IADC,IAAA,4BAAU,GAAE;IAAE,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,MAAM,CAAC;IAAE,IAAA,uBAAK,GAAE;IAAE,IAAA,qBAAG,EAAC,CAAC,CAAC;IAAE,IAAA,qBAAG,EAAC,GAAG,CAAC;;wDAC7C"}
@@ -0,0 +1,149 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.SyncPartnerMembershipDto = exports.SyncPartnerMembershipDependentDto = void 0;
13
+ const class_transformer_1 = require("class-transformer");
14
+ const class_validator_1 = require("class-validator");
15
+ const country_code_enum_1 = require("../../country/enums/country-code.enum");
16
+ const partner_membership_subject_type_enum_1 = require("../enums/partner-membership-subject-type.enum");
17
+ /**
18
+ * One dependent carried on the subject's cover, BY REFERENCE.
19
+ *
20
+ * Deliberately carries no personal detail. This payload travels over Kafka,
21
+ * where it is retained for as long as the topic is and is readable by anything
22
+ * with consumer access - which is the wrong place for a child's date of birth.
23
+ * The receiving service resolves the person from clarion-authentication, the
24
+ * one service that owns people, at the moment it actually needs them.
25
+ */
26
+ class SyncPartnerMembershipDependentDto {
27
+ }
28
+ exports.SyncPartnerMembershipDependentDto = SyncPartnerMembershipDependentDto;
29
+ __decorate([
30
+ (0, class_validator_1.IsString)(),
31
+ (0, class_validator_1.MaxLength)(100),
32
+ __metadata("design:type", String)
33
+ ], SyncPartnerMembershipDependentDto.prototype, "dependentReference", void 0);
34
+ __decorate([
35
+ (0, class_validator_1.IsOptional)(),
36
+ (0, class_validator_1.IsInt)(),
37
+ __metadata("design:type", Number)
38
+ ], SyncPartnerMembershipDependentDto.prototype, "userId", void 0);
39
+ __decorate([
40
+ (0, class_validator_1.IsOptional)(),
41
+ (0, class_validator_1.IsString)(),
42
+ (0, class_validator_1.MaxLength)(50),
43
+ __metadata("design:type", String)
44
+ ], SyncPartnerMembershipDependentDto.prototype, "relationship", void 0);
45
+ /**
46
+ * "Here is everything true about this person's cover right now - make the
47
+ * partner's records agree." The single internal contract for membership
48
+ * provisioning, and deliberately a STATE statement rather than a change
49
+ * notification.
50
+ *
51
+ * Carries IDENTIFIERS AND COMMERCIAL FACTS ONLY - never a person's details.
52
+ * The subject's name, phone, date of birth and identity document are resolved
53
+ * from clarion-authentication when they are needed, because this payload is
54
+ * published on a Kafka topic: whatever is put in it is retained for the topic's
55
+ * lifetime and readable by every consumer, present and future. A date of birth
56
+ * does not belong there, and once it is there it cannot be recalled.
57
+ *
58
+ * It is otherwise SELF-CONTAINED - clarion-partner-services never calls back
59
+ * into clarion-billing to finish the job, the same rule
60
+ * `RouteIncidentToPartnersDto` follows, because the service that owns
61
+ * emergencies must not acquire a synchronous dependency on the service that
62
+ * owns money.
63
+ *
64
+ * It carries NO partnership id. Which partners a subscriber should be
65
+ * registered with is decided from coverage rules inside
66
+ * clarion-partner-services, because that is where the partnerships live;
67
+ * clarion-billing states the FACTS (who, what they bought, what it covers) and
68
+ * makes no partner decisions at all.
69
+ */
70
+ class SyncPartnerMembershipDto {
71
+ }
72
+ exports.SyncPartnerMembershipDto = SyncPartnerMembershipDto;
73
+ __decorate([
74
+ (0, class_validator_1.IsOptional)(),
75
+ (0, class_transformer_1.Type)(() => Number),
76
+ (0, class_validator_1.IsInt)(),
77
+ (0, class_validator_1.Min)(0),
78
+ __metadata("design:type", Number)
79
+ ], SyncPartnerMembershipDto.prototype, "sequence", void 0);
80
+ __decorate([
81
+ (0, class_validator_1.IsOptional)(),
82
+ (0, class_validator_1.IsString)(),
83
+ (0, class_validator_1.MaxLength)(64),
84
+ __metadata("design:type", String)
85
+ ], SyncPartnerMembershipDto.prototype, "eventId", void 0);
86
+ __decorate([
87
+ (0, class_validator_1.IsInt)(),
88
+ __metadata("design:type", Number)
89
+ ], SyncPartnerMembershipDto.prototype, "organizationId", void 0);
90
+ __decorate([
91
+ (0, class_validator_1.IsEnum)(partner_membership_subject_type_enum_1.PartnerMembershipSubjectType),
92
+ __metadata("design:type", String)
93
+ ], SyncPartnerMembershipDto.prototype, "subjectType", void 0);
94
+ __decorate([
95
+ (0, class_validator_1.IsInt)(),
96
+ __metadata("design:type", Number)
97
+ ], SyncPartnerMembershipDto.prototype, "subjectId", void 0);
98
+ __decorate([
99
+ (0, class_validator_1.IsOptional)(),
100
+ (0, class_validator_1.IsInt)(),
101
+ __metadata("design:type", Number)
102
+ ], SyncPartnerMembershipDto.prototype, "userId", void 0);
103
+ __decorate([
104
+ (0, class_validator_1.IsOptional)(),
105
+ (0, class_validator_1.IsInt)(),
106
+ __metadata("design:type", Number)
107
+ ], SyncPartnerMembershipDto.prototype, "subscriptionId", void 0);
108
+ __decorate([
109
+ (0, class_validator_1.IsOptional)(),
110
+ (0, class_validator_1.IsInt)(),
111
+ __metadata("design:type", Number)
112
+ ], SyncPartnerMembershipDto.prototype, "packageId", void 0);
113
+ __decorate([
114
+ (0, class_validator_1.IsOptional)(),
115
+ (0, class_validator_1.IsString)(),
116
+ (0, class_validator_1.MaxLength)(100),
117
+ __metadata("design:type", String)
118
+ ], SyncPartnerMembershipDto.prototype, "packageName", void 0);
119
+ __decorate([
120
+ (0, class_validator_1.IsOptional)(),
121
+ (0, class_validator_1.IsEnum)(country_code_enum_1.CountryCode),
122
+ __metadata("design:type", String)
123
+ ], SyncPartnerMembershipDto.prototype, "countryCode", void 0);
124
+ __decorate([
125
+ (0, class_validator_1.IsOptional)(),
126
+ (0, class_validator_1.IsInt)(),
127
+ (0, class_validator_1.Min)(1),
128
+ (0, class_validator_1.Max)(120),
129
+ __metadata("design:type", Number)
130
+ ], SyncPartnerMembershipDto.prototype, "billingIntervalMonths", void 0);
131
+ __decorate([
132
+ (0, class_validator_1.IsBoolean)(),
133
+ __metadata("design:type", Boolean)
134
+ ], SyncPartnerMembershipDto.prototype, "active", void 0);
135
+ __decorate([
136
+ (0, class_validator_1.IsArray)(),
137
+ (0, class_validator_1.IsInt)({ each: true }),
138
+ (0, class_validator_1.ArrayMaxSize)(500),
139
+ __metadata("design:type", Array)
140
+ ], SyncPartnerMembershipDto.prototype, "coveredIncidentTypeIds", void 0);
141
+ __decorate([
142
+ (0, class_validator_1.IsOptional)(),
143
+ (0, class_validator_1.IsArray)(),
144
+ (0, class_validator_1.ValidateNested)({ each: true }),
145
+ (0, class_transformer_1.Type)(() => SyncPartnerMembershipDependentDto),
146
+ (0, class_validator_1.ArrayMaxSize)(50),
147
+ __metadata("design:type", Array)
148
+ ], SyncPartnerMembershipDto.prototype, "dependents", void 0);
149
+ //# sourceMappingURL=sync-partner-membership.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync-partner-membership.dto.js","sourceRoot":"","sources":["../../../../../src/modules/partner/dtos/sync-partner-membership.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yDAAyC;AACzC,qDAYyB;AACzB,6EAAoE;AACpE,wGAA6F;AAE7F;;;;;;;;GAQG;AACH,MAAa,iCAAiC;CAkB7C;AAlBD,8EAkBC;AARG;IADC,IAAA,0BAAQ,GAAE;IAAE,IAAA,2BAAS,EAAC,GAAG,CAAC;;6EACC;AAI5B;IADC,IAAA,4BAAU,GAAE;IAAE,IAAA,uBAAK,GAAE;;iEACN;AAGhB;IADC,IAAA,4BAAU,GAAE;IAAE,IAAA,0BAAQ,GAAE;IAAE,IAAA,2BAAS,EAAC,EAAE,CAAC;;uEAClB;AAG1B;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAa,wBAAwB;CA4FpC;AA5FD,4DA4FC;AAhFG;IADC,IAAA,4BAAU,GAAE;IAAE,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,MAAM,CAAC;IAAE,IAAA,uBAAK,GAAE;IAAE,IAAA,qBAAG,EAAC,CAAC,CAAC;;0DAChC;AAQlB;IADC,IAAA,4BAAU,GAAE;IAAE,IAAA,0BAAQ,GAAE;IAAE,IAAA,2BAAS,EAAC,EAAE,CAAC;;yDACvB;AAGjB;IADC,IAAA,uBAAK,GAAE;;gEACgB;AAGxB;IADC,IAAA,wBAAM,EAAC,mEAA4B,CAAC;;6DACM;AAI3C;IADC,IAAA,uBAAK,GAAE;;2DACW;AAInB;IADC,IAAA,4BAAU,GAAE;IAAE,IAAA,uBAAK,GAAE;;wDACN;AAGhB;IADC,IAAA,4BAAU,GAAE;IAAE,IAAA,uBAAK,GAAE;;gEACE;AAGxB;IADC,IAAA,4BAAU,GAAE;IAAE,IAAA,uBAAK,GAAE;;2DACH;AAInB;IADC,IAAA,4BAAU,GAAE;IAAE,IAAA,0BAAQ,GAAE;IAAE,IAAA,2BAAS,EAAC,GAAG,CAAC;;6DACpB;AAGrB;IADC,IAAA,4BAAU,GAAE;IAAE,IAAA,wBAAM,EAAC,+BAAW,CAAC;;6DACR;AAS1B;IADC,IAAA,4BAAU,GAAE;IAAE,IAAA,uBAAK,GAAE;IAAE,IAAA,qBAAG,EAAC,CAAC,CAAC;IAAE,IAAA,qBAAG,EAAC,GAAG,CAAC;;uEACT;AAS/B;IADC,IAAA,2BAAS,GAAE;;wDACK;AASjB;IADC,IAAA,yBAAO,GAAE;IAAE,IAAA,uBAAK,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAAE,IAAA,8BAAY,EAAC,GAAG,CAAC;;wEAClB;AAiBlC;IAHC,IAAA,4BAAU,GAAE;IAAE,IAAA,yBAAO,GAAE;IAAE,IAAA,gCAAc,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACvD,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,iCAAiC,CAAC;IAC7C,IAAA,8BAAY,EAAC,EAAE,CAAC;;4DACgC"}