@reorderjs/reorder 1.0.1

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 (231) hide show
  1. package/.medusa/server/scripts/reset-reorder-plugin-data.js +175 -0
  2. package/.medusa/server/src/admin/index.js +17889 -0
  3. package/.medusa/server/src/admin/index.mjs +17871 -0
  4. package/.medusa/server/src/admin/types/activity-log.js +10 -0
  5. package/.medusa/server/src/admin/types/analytics.js +17 -0
  6. package/.medusa/server/src/admin/types/cancellation.js +27 -0
  7. package/.medusa/server/src/admin/types/dunning.js +19 -0
  8. package/.medusa/server/src/admin/types/plan-offer.js +25 -0
  9. package/.medusa/server/src/admin/types/renewal.js +23 -0
  10. package/.medusa/server/src/admin/types/subscription.js +22 -0
  11. package/.medusa/server/src/api/admin/cancellations/[id]/apply-offer/route.js +30 -0
  12. package/.medusa/server/src/api/admin/cancellations/[id]/finalize/route.js +31 -0
  13. package/.medusa/server/src/api/admin/cancellations/[id]/reason/route.js +31 -0
  14. package/.medusa/server/src/api/admin/cancellations/[id]/route.js +20 -0
  15. package/.medusa/server/src/api/admin/cancellations/middlewares.js +55 -0
  16. package/.medusa/server/src/api/admin/cancellations/route.js +20 -0
  17. package/.medusa/server/src/api/admin/cancellations/utils.js +116 -0
  18. package/.medusa/server/src/api/admin/cancellations/validators.js +130 -0
  19. package/.medusa/server/src/api/admin/dunning/[id]/mark-recovered/route.js +27 -0
  20. package/.medusa/server/src/api/admin/dunning/[id]/mark-unrecovered/route.js +27 -0
  21. package/.medusa/server/src/api/admin/dunning/[id]/retry-now/route.js +28 -0
  22. package/.medusa/server/src/api/admin/dunning/[id]/retry-schedule/route.js +29 -0
  23. package/.medusa/server/src/api/admin/dunning/[id]/route.js +20 -0
  24. package/.medusa/server/src/api/admin/dunning/middlewares.js +60 -0
  25. package/.medusa/server/src/api/admin/dunning/route.js +20 -0
  26. package/.medusa/server/src/api/admin/dunning/utils.js +70 -0
  27. package/.medusa/server/src/api/admin/dunning/validators.js +81 -0
  28. package/.medusa/server/src/api/admin/orders/[id]/subscription-summary/route.js +10 -0
  29. package/.medusa/server/src/api/admin/orders/utils.js +8 -0
  30. package/.medusa/server/src/api/admin/plugin/route.js +7 -0
  31. package/.medusa/server/src/api/admin/renewals/[id]/approve-changes/route.js +27 -0
  32. package/.medusa/server/src/api/admin/renewals/[id]/force/route.js +30 -0
  33. package/.medusa/server/src/api/admin/renewals/[id]/reject-changes/route.js +27 -0
  34. package/.medusa/server/src/api/admin/renewals/[id]/route.js +10 -0
  35. package/.medusa/server/src/api/admin/renewals/middlewares.js +61 -0
  36. package/.medusa/server/src/api/admin/renewals/route.js +10 -0
  37. package/.medusa/server/src/api/admin/renewals/utils.js +60 -0
  38. package/.medusa/server/src/api/admin/renewals/validators.js +62 -0
  39. package/.medusa/server/src/api/admin/subscription-analytics/export/route.js +20 -0
  40. package/.medusa/server/src/api/admin/subscription-analytics/kpis/route.js +20 -0
  41. package/.medusa/server/src/api/admin/subscription-analytics/middlewares.js +45 -0
  42. package/.medusa/server/src/api/admin/subscription-analytics/rebuild/route.js +75 -0
  43. package/.medusa/server/src/api/admin/subscription-analytics/trends/route.js +20 -0
  44. package/.medusa/server/src/api/admin/subscription-analytics/utils.js +81 -0
  45. package/.medusa/server/src/api/admin/subscription-analytics/validators.js +76 -0
  46. package/.medusa/server/src/api/admin/subscription-logs/[id]/route.js +20 -0
  47. package/.medusa/server/src/api/admin/subscription-logs/middlewares.js +66 -0
  48. package/.medusa/server/src/api/admin/subscription-logs/route.js +20 -0
  49. package/.medusa/server/src/api/admin/subscription-logs/utils.js +84 -0
  50. package/.medusa/server/src/api/admin/subscription-logs/validators.js +32 -0
  51. package/.medusa/server/src/api/admin/subscription-offers/[id]/route.js +22 -0
  52. package/.medusa/server/src/api/admin/subscription-offers/[id]/toggle/route.js +17 -0
  53. package/.medusa/server/src/api/admin/subscription-offers/middlewares.js +58 -0
  54. package/.medusa/server/src/api/admin/subscription-offers/route.js +20 -0
  55. package/.medusa/server/src/api/admin/subscription-offers/utils.js +41 -0
  56. package/.medusa/server/src/api/admin/subscription-offers/validators.js +112 -0
  57. package/.medusa/server/src/api/admin/subscription-settings/middlewares.js +15 -0
  58. package/.medusa/server/src/api/admin/subscription-settings/route.js +33 -0
  59. package/.medusa/server/src/api/admin/subscription-settings/utils.js +109 -0
  60. package/.medusa/server/src/api/admin/subscription-settings/validators.js +74 -0
  61. package/.medusa/server/src/api/admin/subscriptions/[id]/cancel/route.js +18 -0
  62. package/.medusa/server/src/api/admin/subscriptions/[id]/logs/route.js +20 -0
  63. package/.medusa/server/src/api/admin/subscriptions/[id]/pause/route.js +18 -0
  64. package/.medusa/server/src/api/admin/subscriptions/[id]/resume/route.js +18 -0
  65. package/.medusa/server/src/api/admin/subscriptions/[id]/route.js +10 -0
  66. package/.medusa/server/src/api/admin/subscriptions/[id]/schedule-plan-change/route.js +26 -0
  67. package/.medusa/server/src/api/admin/subscriptions/[id]/update-shipping-address/route.js +27 -0
  68. package/.medusa/server/src/api/admin/subscriptions/middlewares.js +79 -0
  69. package/.medusa/server/src/api/admin/subscriptions/route.js +10 -0
  70. package/.medusa/server/src/api/admin/subscriptions/utils.js +42 -0
  71. package/.medusa/server/src/api/admin/subscriptions/validators.js +76 -0
  72. package/.medusa/server/src/api/middlewares.js +32 -0
  73. package/.medusa/server/src/api/store/carts/[id]/subscribe/route.js +18 -0
  74. package/.medusa/server/src/api/store/customers/me/subscriptions/[id]/cancellation/route.js +37 -0
  75. package/.medusa/server/src/api/store/customers/me/subscriptions/route.js +10 -0
  76. package/.medusa/server/src/api/store/customers/me/subscriptions/utils.js +104 -0
  77. package/.medusa/server/src/api/store/customers/me/subscriptions/validators.js +13 -0
  78. package/.medusa/server/src/api/store/plugin/route.js +7 -0
  79. package/.medusa/server/src/jobs/process-analytics-daily-snapshots.js +149 -0
  80. package/.medusa/server/src/jobs/process-cancellation-operational-metrics.js +102 -0
  81. package/.medusa/server/src/jobs/process-dunning-retries.js +249 -0
  82. package/.medusa/server/src/jobs/process-renewal-cycles.js +180 -0
  83. package/.medusa/server/src/links/cancellation-subscription.js +13 -0
  84. package/.medusa/server/src/links/renewal-order.js +12 -0
  85. package/.medusa/server/src/links/renewal-subscription.js +13 -0
  86. package/.medusa/server/src/links/subscription-cart.js +12 -0
  87. package/.medusa/server/src/links/subscription-customer.js +13 -0
  88. package/.medusa/server/src/links/subscription-order.js +13 -0
  89. package/.medusa/server/src/links/subscription-product.js +13 -0
  90. package/.medusa/server/src/links/subscription-variant.js +13 -0
  91. package/.medusa/server/src/modules/activity-log/index.js +13 -0
  92. package/.medusa/server/src/modules/activity-log/migrations/Migration20260401204521.js +24 -0
  93. package/.medusa/server/src/modules/activity-log/migrations/Migration20260405112500.js +16 -0
  94. package/.medusa/server/src/modules/activity-log/models/subscription-log.js +52 -0
  95. package/.medusa/server/src/modules/activity-log/service.js +13 -0
  96. package/.medusa/server/src/modules/activity-log/types/index.js +33 -0
  97. package/.medusa/server/src/modules/activity-log/utils/admin-query.js +261 -0
  98. package/.medusa/server/src/modules/activity-log/utils/normalize-log-event.js +169 -0
  99. package/.medusa/server/src/modules/analytics/constants.js +8 -0
  100. package/.medusa/server/src/modules/analytics/index.js +13 -0
  101. package/.medusa/server/src/modules/analytics/migrations/Migration20260402183116.js +27 -0
  102. package/.medusa/server/src/modules/analytics/models/subscription-metrics-daily.js +65 -0
  103. package/.medusa/server/src/modules/analytics/service.js +13 -0
  104. package/.medusa/server/src/modules/analytics/utils/admin-query.js +632 -0
  105. package/.medusa/server/src/modules/analytics/utils/data-quality.js +101 -0
  106. package/.medusa/server/src/modules/analytics/utils/observability.js +127 -0
  107. package/.medusa/server/src/modules/cancellation/index.js +13 -0
  108. package/.medusa/server/src/modules/cancellation/migrations/Migration20260401143914.js +34 -0
  109. package/.medusa/server/src/modules/cancellation/migrations/Migration20260405112000.js +14 -0
  110. package/.medusa/server/src/modules/cancellation/models/cancellation-case.js +52 -0
  111. package/.medusa/server/src/modules/cancellation/models/retention-offer-event.js +47 -0
  112. package/.medusa/server/src/modules/cancellation/service.js +15 -0
  113. package/.medusa/server/src/modules/cancellation/types/index.js +43 -0
  114. package/.medusa/server/src/modules/cancellation/utils/admin-query.js +530 -0
  115. package/.medusa/server/src/modules/cancellation/utils/audit.js +21 -0
  116. package/.medusa/server/src/modules/cancellation/utils/errors.js +31 -0
  117. package/.medusa/server/src/modules/cancellation/utils/observability.js +77 -0
  118. package/.medusa/server/src/modules/cancellation/utils/operational-metrics.js +131 -0
  119. package/.medusa/server/src/modules/cancellation/utils/retention-offer-policy.js +31 -0
  120. package/.medusa/server/src/modules/dunning/index.js +13 -0
  121. package/.medusa/server/src/modules/dunning/migrations/Migration20260330190157.js +36 -0
  122. package/.medusa/server/src/modules/dunning/models/dunning-attempt.js +48 -0
  123. package/.medusa/server/src/modules/dunning/models/dunning-case.js +61 -0
  124. package/.medusa/server/src/modules/dunning/service.js +15 -0
  125. package/.medusa/server/src/modules/dunning/types/index.js +19 -0
  126. package/.medusa/server/src/modules/dunning/utils/admin-query.js +548 -0
  127. package/.medusa/server/src/modules/dunning/utils/errors.js +40 -0
  128. package/.medusa/server/src/modules/dunning/utils/observability.js +109 -0
  129. package/.medusa/server/src/modules/dunning/utils/retry-schedule.js +47 -0
  130. package/.medusa/server/src/modules/dunning/utils/scheduler-query.js +42 -0
  131. package/.medusa/server/src/modules/plan-offer/index.js +13 -0
  132. package/.medusa/server/src/modules/plan-offer/migrations/Migration20260329104245.js +22 -0
  133. package/.medusa/server/src/modules/plan-offer/migrations/Migration20260329153000.js +25 -0
  134. package/.medusa/server/src/modules/plan-offer/models/plan-offer.js +35 -0
  135. package/.medusa/server/src/modules/plan-offer/service.js +13 -0
  136. package/.medusa/server/src/modules/plan-offer/types/index.js +26 -0
  137. package/.medusa/server/src/modules/plan-offer/utils/admin-query.js +429 -0
  138. package/.medusa/server/src/modules/plan-offer/utils/effective-config.js +84 -0
  139. package/.medusa/server/src/modules/plan-offer/utils/errors.js +55 -0
  140. package/.medusa/server/src/modules/renewal/index.js +13 -0
  141. package/.medusa/server/src/modules/renewal/migrations/Migration20260329185930.js +34 -0
  142. package/.medusa/server/src/modules/renewal/models/renewal-attempt.js +49 -0
  143. package/.medusa/server/src/modules/renewal/models/renewal-cycle.js +56 -0
  144. package/.medusa/server/src/modules/renewal/service.js +15 -0
  145. package/.medusa/server/src/modules/renewal/types/index.js +23 -0
  146. package/.medusa/server/src/modules/renewal/utils/admin-query.js +450 -0
  147. package/.medusa/server/src/modules/renewal/utils/errors.js +39 -0
  148. package/.medusa/server/src/modules/renewal/utils/observability.js +89 -0
  149. package/.medusa/server/src/modules/renewal/utils/scheduler-query.js +48 -0
  150. package/.medusa/server/src/modules/renewal/utils/upcoming-cycle.js +54 -0
  151. package/.medusa/server/src/modules/settings/index.js +13 -0
  152. package/.medusa/server/src/modules/settings/migrations/Migration20260403121004.js +17 -0
  153. package/.medusa/server/src/modules/settings/migrations/Migration20260403132519.js +17 -0
  154. package/.medusa/server/src/modules/settings/models/subscription-settings.js +32 -0
  155. package/.medusa/server/src/modules/settings/service.js +82 -0
  156. package/.medusa/server/src/modules/settings/types.js +15 -0
  157. package/.medusa/server/src/modules/settings/utils/audit.js +43 -0
  158. package/.medusa/server/src/modules/settings/utils/normalize-settings.js +99 -0
  159. package/.medusa/server/src/modules/subscription/index.js +13 -0
  160. package/.medusa/server/src/modules/subscription/migrations/Migration20260327143452.js +24 -0
  161. package/.medusa/server/src/modules/subscription/migrations/Migration20260329194835.js +16 -0
  162. package/.medusa/server/src/modules/subscription/models/subscription.js +64 -0
  163. package/.medusa/server/src/modules/subscription/service.js +13 -0
  164. package/.medusa/server/src/modules/subscription/types/index.js +17 -0
  165. package/.medusa/server/src/modules/subscription/utils/admin-query.js +465 -0
  166. package/.medusa/server/src/modules/subscription/utils/errors.js +28 -0
  167. package/.medusa/server/src/subscription-flows/create-subscription-from-cart.js +178 -0
  168. package/.medusa/server/src/workflows/apply-retention-offer.js +52 -0
  169. package/.medusa/server/src/workflows/approve-renewal-changes.js +61 -0
  170. package/.medusa/server/src/workflows/cancel-subscription.js +64 -0
  171. package/.medusa/server/src/workflows/create-or-upsert-plan-offer.js +11 -0
  172. package/.medusa/server/src/workflows/ensure-next-renewal-cycle.js +11 -0
  173. package/.medusa/server/src/workflows/finalize-cancellation.js +88 -0
  174. package/.medusa/server/src/workflows/force-renewal-cycle.js +11 -0
  175. package/.medusa/server/src/workflows/index.js +79 -0
  176. package/.medusa/server/src/workflows/mark-dunning-recovered.js +11 -0
  177. package/.medusa/server/src/workflows/mark-dunning-unrecovered.js +11 -0
  178. package/.medusa/server/src/workflows/pause-subscription.js +61 -0
  179. package/.medusa/server/src/workflows/process-renewal-cycle.js +43 -0
  180. package/.medusa/server/src/workflows/rebuild-analytics-daily-snapshots.js +13 -0
  181. package/.medusa/server/src/workflows/reject-renewal-changes.js +61 -0
  182. package/.medusa/server/src/workflows/resume-subscription.js +76 -0
  183. package/.medusa/server/src/workflows/run-dunning-retry.js +23 -0
  184. package/.medusa/server/src/workflows/schedule-subscription-plan-change.js +57 -0
  185. package/.medusa/server/src/workflows/start-cancellation-case.js +58 -0
  186. package/.medusa/server/src/workflows/start-dunning.js +11 -0
  187. package/.medusa/server/src/workflows/steps/apply-retention-offer.js +200 -0
  188. package/.medusa/server/src/workflows/steps/approve-renewal-changes.js +48 -0
  189. package/.medusa/server/src/workflows/steps/cancel-subscription.js +48 -0
  190. package/.medusa/server/src/workflows/steps/create-initial-renewal-cycle.js +6 -0
  191. package/.medusa/server/src/workflows/steps/create-subscription-log-event.js +61 -0
  192. package/.medusa/server/src/workflows/steps/create-subscription-record.js +56 -0
  193. package/.medusa/server/src/workflows/steps/ensure-next-renewal-cycle.js +151 -0
  194. package/.medusa/server/src/workflows/steps/finalize-cancellation.js +161 -0
  195. package/.medusa/server/src/workflows/steps/force-renewal-cycle.js +120 -0
  196. package/.medusa/server/src/workflows/steps/link-subscription-commerce-entities.js +44 -0
  197. package/.medusa/server/src/workflows/steps/mark-dunning-recovered.js +72 -0
  198. package/.medusa/server/src/workflows/steps/mark-dunning-unrecovered.js +53 -0
  199. package/.medusa/server/src/workflows/steps/normalize-analytics-rebuild-range.js +59 -0
  200. package/.medusa/server/src/workflows/steps/pause-subscription.js +50 -0
  201. package/.medusa/server/src/workflows/steps/process-renewal-cycle.js +641 -0
  202. package/.medusa/server/src/workflows/steps/rebuild-analytics-daily-snapshots.js +519 -0
  203. package/.medusa/server/src/workflows/steps/reject-renewal-changes.js +48 -0
  204. package/.medusa/server/src/workflows/steps/resume-subscription.js +45 -0
  205. package/.medusa/server/src/workflows/steps/run-dunning-retry.js +592 -0
  206. package/.medusa/server/src/workflows/steps/schedule-subscription-plan-change.js +81 -0
  207. package/.medusa/server/src/workflows/steps/shared-cancellation-log.js +3 -0
  208. package/.medusa/server/src/workflows/steps/shared-plan-offer.js +280 -0
  209. package/.medusa/server/src/workflows/steps/shared-renewal-approval.js +34 -0
  210. package/.medusa/server/src/workflows/steps/start-cancellation-case.js +147 -0
  211. package/.medusa/server/src/workflows/steps/start-dunning.js +237 -0
  212. package/.medusa/server/src/workflows/steps/toggle-plan-offer.js +33 -0
  213. package/.medusa/server/src/workflows/steps/update-cancellation-reason.js +95 -0
  214. package/.medusa/server/src/workflows/steps/update-dunning-retry-schedule.js +91 -0
  215. package/.medusa/server/src/workflows/steps/update-plan-offer.js +51 -0
  216. package/.medusa/server/src/workflows/steps/update-subscription-settings.js +91 -0
  217. package/.medusa/server/src/workflows/steps/update-subscription-shipping-address.js +54 -0
  218. package/.medusa/server/src/workflows/steps/upsert-plan-offer.js +48 -0
  219. package/.medusa/server/src/workflows/steps/validate-subscription-cart.js +280 -0
  220. package/.medusa/server/src/workflows/toggle-plan-offer.js +11 -0
  221. package/.medusa/server/src/workflows/update-cancellation-reason.js +53 -0
  222. package/.medusa/server/src/workflows/update-dunning-retry-schedule.js +11 -0
  223. package/.medusa/server/src/workflows/update-plan-offer.js +11 -0
  224. package/.medusa/server/src/workflows/update-subscription-settings.js +11 -0
  225. package/.medusa/server/src/workflows/update-subscription-shipping-address.js +99 -0
  226. package/.medusa/server/src/workflows/utils/analytics-incremental.js +24 -0
  227. package/.medusa/server/src/workflows/utils/date-output.js +13 -0
  228. package/.medusa/server/src/workflows/utils/subscription-settings.js +13 -0
  229. package/LICENSE +21 -0
  230. package/README.md +200 -0
  231. package/package.json +73 -0
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ActivityLogAdminActorType = void 0;
4
+ var ActivityLogAdminActorType;
5
+ (function (ActivityLogAdminActorType) {
6
+ ActivityLogAdminActorType["USER"] = "user";
7
+ ActivityLogAdminActorType["SYSTEM"] = "system";
8
+ ActivityLogAdminActorType["SCHEDULER"] = "scheduler";
9
+ })(ActivityLogAdminActorType || (exports.ActivityLogAdminActorType = ActivityLogAdminActorType = {}));
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZpdHktbG9nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FkbWluL3R5cGVzL2FjdGl2aXR5LWxvZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxJQUFZLHlCQUlYO0FBSkQsV0FBWSx5QkFBeUI7SUFDbkMsMENBQWEsQ0FBQTtJQUNiLDhDQUFpQixDQUFBO0lBQ2pCLG9EQUF1QixDQUFBO0FBQ3pCLENBQUMsRUFKVyx5QkFBeUIseUNBQXpCLHlCQUF5QixRQUlwQyJ9
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AnalyticsMetricKey = exports.AnalyticsGroupBy = void 0;
4
+ var AnalyticsGroupBy;
5
+ (function (AnalyticsGroupBy) {
6
+ AnalyticsGroupBy["DAY"] = "day";
7
+ AnalyticsGroupBy["WEEK"] = "week";
8
+ AnalyticsGroupBy["MONTH"] = "month";
9
+ })(AnalyticsGroupBy || (exports.AnalyticsGroupBy = AnalyticsGroupBy = {}));
10
+ var AnalyticsMetricKey;
11
+ (function (AnalyticsMetricKey) {
12
+ AnalyticsMetricKey["MRR"] = "mrr";
13
+ AnalyticsMetricKey["CHURN_RATE"] = "churn_rate";
14
+ AnalyticsMetricKey["LTV"] = "ltv";
15
+ AnalyticsMetricKey["ACTIVE_SUBSCRIPTIONS_COUNT"] = "active_subscriptions_count";
16
+ })(AnalyticsMetricKey || (exports.AnalyticsMetricKey = AnalyticsMetricKey = {}));
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5hbHl0aWNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FkbWluL3R5cGVzL2FuYWx5dGljcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxJQUFZLGdCQUlYO0FBSkQsV0FBWSxnQkFBZ0I7SUFDMUIsK0JBQVcsQ0FBQTtJQUNYLGlDQUFhLENBQUE7SUFDYixtQ0FBZSxDQUFBO0FBQ2pCLENBQUMsRUFKVyxnQkFBZ0IsZ0NBQWhCLGdCQUFnQixRQUkzQjtBQUVELElBQVksa0JBS1g7QUFMRCxXQUFZLGtCQUFrQjtJQUM1QixpQ0FBVyxDQUFBO0lBQ1gsK0NBQXlCLENBQUE7SUFDekIsaUNBQVcsQ0FBQTtJQUNYLCtFQUF5RCxDQUFBO0FBQzNELENBQUMsRUFMVyxrQkFBa0Isa0NBQWxCLGtCQUFrQixRQUs3QiJ9
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RetentionOfferDecisionAdminStatus = exports.CancellationFinalOutcomeAdmin = exports.CancellationCaseAdminStatus = void 0;
4
+ var CancellationCaseAdminStatus;
5
+ (function (CancellationCaseAdminStatus) {
6
+ CancellationCaseAdminStatus["REQUESTED"] = "requested";
7
+ CancellationCaseAdminStatus["EVALUATING_RETENTION"] = "evaluating_retention";
8
+ CancellationCaseAdminStatus["RETENTION_OFFERED"] = "retention_offered";
9
+ CancellationCaseAdminStatus["RETAINED"] = "retained";
10
+ CancellationCaseAdminStatus["PAUSED"] = "paused";
11
+ CancellationCaseAdminStatus["CANCELED"] = "canceled";
12
+ })(CancellationCaseAdminStatus || (exports.CancellationCaseAdminStatus = CancellationCaseAdminStatus = {}));
13
+ var CancellationFinalOutcomeAdmin;
14
+ (function (CancellationFinalOutcomeAdmin) {
15
+ CancellationFinalOutcomeAdmin["RETAINED"] = "retained";
16
+ CancellationFinalOutcomeAdmin["PAUSED"] = "paused";
17
+ CancellationFinalOutcomeAdmin["CANCELED"] = "canceled";
18
+ })(CancellationFinalOutcomeAdmin || (exports.CancellationFinalOutcomeAdmin = CancellationFinalOutcomeAdmin = {}));
19
+ var RetentionOfferDecisionAdminStatus;
20
+ (function (RetentionOfferDecisionAdminStatus) {
21
+ RetentionOfferDecisionAdminStatus["PROPOSED"] = "proposed";
22
+ RetentionOfferDecisionAdminStatus["ACCEPTED"] = "accepted";
23
+ RetentionOfferDecisionAdminStatus["REJECTED"] = "rejected";
24
+ RetentionOfferDecisionAdminStatus["APPLIED"] = "applied";
25
+ RetentionOfferDecisionAdminStatus["EXPIRED"] = "expired";
26
+ })(RetentionOfferDecisionAdminStatus || (exports.RetentionOfferDecisionAdminStatus = RetentionOfferDecisionAdminStatus = {}));
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FuY2VsbGF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FkbWluL3R5cGVzL2NhbmNlbGxhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxJQUFZLDJCQU9YO0FBUEQsV0FBWSwyQkFBMkI7SUFDckMsc0RBQXVCLENBQUE7SUFDdkIsNEVBQTZDLENBQUE7SUFDN0Msc0VBQXVDLENBQUE7SUFDdkMsb0RBQXFCLENBQUE7SUFDckIsZ0RBQWlCLENBQUE7SUFDakIsb0RBQXFCLENBQUE7QUFDdkIsQ0FBQyxFQVBXLDJCQUEyQiwyQ0FBM0IsMkJBQTJCLFFBT3RDO0FBRUQsSUFBWSw2QkFJWDtBQUpELFdBQVksNkJBQTZCO0lBQ3ZDLHNEQUFxQixDQUFBO0lBQ3JCLGtEQUFpQixDQUFBO0lBQ2pCLHNEQUFxQixDQUFBO0FBQ3ZCLENBQUMsRUFKVyw2QkFBNkIsNkNBQTdCLDZCQUE2QixRQUl4QztBQUVELElBQVksaUNBTVg7QUFORCxXQUFZLGlDQUFpQztJQUMzQywwREFBcUIsQ0FBQTtJQUNyQiwwREFBcUIsQ0FBQTtJQUNyQiwwREFBcUIsQ0FBQTtJQUNyQix3REFBbUIsQ0FBQTtJQUNuQix3REFBbUIsQ0FBQTtBQUNyQixDQUFDLEVBTlcsaUNBQWlDLGlEQUFqQyxpQ0FBaUMsUUFNNUMifQ==
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DunningAttemptAdminStatus = exports.DunningCaseAdminStatus = void 0;
4
+ var DunningCaseAdminStatus;
5
+ (function (DunningCaseAdminStatus) {
6
+ DunningCaseAdminStatus["OPEN"] = "open";
7
+ DunningCaseAdminStatus["RETRY_SCHEDULED"] = "retry_scheduled";
8
+ DunningCaseAdminStatus["RETRYING"] = "retrying";
9
+ DunningCaseAdminStatus["AWAITING_MANUAL_RESOLUTION"] = "awaiting_manual_resolution";
10
+ DunningCaseAdminStatus["RECOVERED"] = "recovered";
11
+ DunningCaseAdminStatus["UNRECOVERED"] = "unrecovered";
12
+ })(DunningCaseAdminStatus || (exports.DunningCaseAdminStatus = DunningCaseAdminStatus = {}));
13
+ var DunningAttemptAdminStatus;
14
+ (function (DunningAttemptAdminStatus) {
15
+ DunningAttemptAdminStatus["PROCESSING"] = "processing";
16
+ DunningAttemptAdminStatus["SUCCEEDED"] = "succeeded";
17
+ DunningAttemptAdminStatus["FAILED"] = "failed";
18
+ })(DunningAttemptAdminStatus || (exports.DunningAttemptAdminStatus = DunningAttemptAdminStatus = {}));
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHVubmluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hZG1pbi90eXBlcy9kdW5uaW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLElBQVksc0JBT1g7QUFQRCxXQUFZLHNCQUFzQjtJQUNoQyx1Q0FBYSxDQUFBO0lBQ2IsNkRBQW1DLENBQUE7SUFDbkMsK0NBQXFCLENBQUE7SUFDckIsbUZBQXlELENBQUE7SUFDekQsaURBQXVCLENBQUE7SUFDdkIscURBQTJCLENBQUE7QUFDN0IsQ0FBQyxFQVBXLHNCQUFzQixzQ0FBdEIsc0JBQXNCLFFBT2pDO0FBRUQsSUFBWSx5QkFJWDtBQUpELFdBQVkseUJBQXlCO0lBQ25DLHNEQUF5QixDQUFBO0lBQ3pCLG9EQUF1QixDQUFBO0lBQ3ZCLDhDQUFpQixDQUFBO0FBQ25CLENBQUMsRUFKVyx5QkFBeUIseUNBQXpCLHlCQUF5QixRQUlwQyJ9
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PlanOfferDiscountType = exports.PlanOfferFrequencyInterval = exports.PlanOfferScope = exports.PlanOfferAdminStatus = void 0;
4
+ var PlanOfferAdminStatus;
5
+ (function (PlanOfferAdminStatus) {
6
+ PlanOfferAdminStatus["ENABLED"] = "enabled";
7
+ PlanOfferAdminStatus["DISABLED"] = "disabled";
8
+ })(PlanOfferAdminStatus || (exports.PlanOfferAdminStatus = PlanOfferAdminStatus = {}));
9
+ var PlanOfferScope;
10
+ (function (PlanOfferScope) {
11
+ PlanOfferScope["PRODUCT"] = "product";
12
+ PlanOfferScope["VARIANT"] = "variant";
13
+ })(PlanOfferScope || (exports.PlanOfferScope = PlanOfferScope = {}));
14
+ var PlanOfferFrequencyInterval;
15
+ (function (PlanOfferFrequencyInterval) {
16
+ PlanOfferFrequencyInterval["WEEK"] = "week";
17
+ PlanOfferFrequencyInterval["MONTH"] = "month";
18
+ PlanOfferFrequencyInterval["YEAR"] = "year";
19
+ })(PlanOfferFrequencyInterval || (exports.PlanOfferFrequencyInterval = PlanOfferFrequencyInterval = {}));
20
+ var PlanOfferDiscountType;
21
+ (function (PlanOfferDiscountType) {
22
+ PlanOfferDiscountType["PERCENTAGE"] = "percentage";
23
+ PlanOfferDiscountType["FIXED"] = "fixed";
24
+ })(PlanOfferDiscountType || (exports.PlanOfferDiscountType = PlanOfferDiscountType = {}));
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhbi1vZmZlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hZG1pbi90eXBlcy9wbGFuLW9mZmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLElBQVksb0JBR1g7QUFIRCxXQUFZLG9CQUFvQjtJQUM5QiwyQ0FBbUIsQ0FBQTtJQUNuQiw2Q0FBcUIsQ0FBQTtBQUN2QixDQUFDLEVBSFcsb0JBQW9CLG9DQUFwQixvQkFBb0IsUUFHL0I7QUFFRCxJQUFZLGNBR1g7QUFIRCxXQUFZLGNBQWM7SUFDeEIscUNBQW1CLENBQUE7SUFDbkIscUNBQW1CLENBQUE7QUFDckIsQ0FBQyxFQUhXLGNBQWMsOEJBQWQsY0FBYyxRQUd6QjtBQUVELElBQVksMEJBSVg7QUFKRCxXQUFZLDBCQUEwQjtJQUNwQywyQ0FBYSxDQUFBO0lBQ2IsNkNBQWUsQ0FBQTtJQUNmLDJDQUFhLENBQUE7QUFDZixDQUFDLEVBSlcsMEJBQTBCLDBDQUExQiwwQkFBMEIsUUFJckM7QUFFRCxJQUFZLHFCQUdYO0FBSEQsV0FBWSxxQkFBcUI7SUFDL0Isa0RBQXlCLENBQUE7SUFDekIsd0NBQWUsQ0FBQTtBQUNqQixDQUFDLEVBSFcscUJBQXFCLHFDQUFyQixxQkFBcUIsUUFHaEMifQ==
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RenewalApprovalStatus = exports.RenewalAttemptAdminStatus = exports.RenewalCycleAdminStatus = void 0;
4
+ var RenewalCycleAdminStatus;
5
+ (function (RenewalCycleAdminStatus) {
6
+ RenewalCycleAdminStatus["SCHEDULED"] = "scheduled";
7
+ RenewalCycleAdminStatus["PROCESSING"] = "processing";
8
+ RenewalCycleAdminStatus["SUCCEEDED"] = "succeeded";
9
+ RenewalCycleAdminStatus["FAILED"] = "failed";
10
+ })(RenewalCycleAdminStatus || (exports.RenewalCycleAdminStatus = RenewalCycleAdminStatus = {}));
11
+ var RenewalAttemptAdminStatus;
12
+ (function (RenewalAttemptAdminStatus) {
13
+ RenewalAttemptAdminStatus["PROCESSING"] = "processing";
14
+ RenewalAttemptAdminStatus["SUCCEEDED"] = "succeeded";
15
+ RenewalAttemptAdminStatus["FAILED"] = "failed";
16
+ })(RenewalAttemptAdminStatus || (exports.RenewalAttemptAdminStatus = RenewalAttemptAdminStatus = {}));
17
+ var RenewalApprovalStatus;
18
+ (function (RenewalApprovalStatus) {
19
+ RenewalApprovalStatus["PENDING"] = "pending";
20
+ RenewalApprovalStatus["APPROVED"] = "approved";
21
+ RenewalApprovalStatus["REJECTED"] = "rejected";
22
+ })(RenewalApprovalStatus || (exports.RenewalApprovalStatus = RenewalApprovalStatus = {}));
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZXdhbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hZG1pbi90eXBlcy9yZW5ld2FsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLElBQVksdUJBS1g7QUFMRCxXQUFZLHVCQUF1QjtJQUNqQyxrREFBdUIsQ0FBQTtJQUN2QixvREFBeUIsQ0FBQTtJQUN6QixrREFBdUIsQ0FBQTtJQUN2Qiw0Q0FBaUIsQ0FBQTtBQUNuQixDQUFDLEVBTFcsdUJBQXVCLHVDQUF2Qix1QkFBdUIsUUFLbEM7QUFFRCxJQUFZLHlCQUlYO0FBSkQsV0FBWSx5QkFBeUI7SUFDbkMsc0RBQXlCLENBQUE7SUFDekIsb0RBQXVCLENBQUE7SUFDdkIsOENBQWlCLENBQUE7QUFDbkIsQ0FBQyxFQUpXLHlCQUF5Qix5Q0FBekIseUJBQXlCLFFBSXBDO0FBRUQsSUFBWSxxQkFJWDtBQUpELFdBQVkscUJBQXFCO0lBQy9CLDRDQUFtQixDQUFBO0lBQ25CLDhDQUFxQixDQUFBO0lBQ3JCLDhDQUFxQixDQUFBO0FBQ3ZCLENBQUMsRUFKVyxxQkFBcUIscUNBQXJCLHFCQUFxQixRQUloQyJ9
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SubscriptionDiscountType = exports.SubscriptionFrequencyInterval = exports.SubscriptionAdminStatus = void 0;
4
+ var SubscriptionAdminStatus;
5
+ (function (SubscriptionAdminStatus) {
6
+ SubscriptionAdminStatus["ACTIVE"] = "active";
7
+ SubscriptionAdminStatus["PAUSED"] = "paused";
8
+ SubscriptionAdminStatus["CANCELLED"] = "cancelled";
9
+ SubscriptionAdminStatus["PAST_DUE"] = "past_due";
10
+ })(SubscriptionAdminStatus || (exports.SubscriptionAdminStatus = SubscriptionAdminStatus = {}));
11
+ var SubscriptionFrequencyInterval;
12
+ (function (SubscriptionFrequencyInterval) {
13
+ SubscriptionFrequencyInterval["WEEK"] = "week";
14
+ SubscriptionFrequencyInterval["MONTH"] = "month";
15
+ SubscriptionFrequencyInterval["YEAR"] = "year";
16
+ })(SubscriptionFrequencyInterval || (exports.SubscriptionFrequencyInterval = SubscriptionFrequencyInterval = {}));
17
+ var SubscriptionDiscountType;
18
+ (function (SubscriptionDiscountType) {
19
+ SubscriptionDiscountType["PERCENTAGE"] = "percentage";
20
+ SubscriptionDiscountType["FIXED"] = "fixed";
21
+ })(SubscriptionDiscountType || (exports.SubscriptionDiscountType = SubscriptionDiscountType = {}));
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Vic2NyaXB0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FkbWluL3R5cGVzL3N1YnNjcmlwdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxJQUFZLHVCQUtYO0FBTEQsV0FBWSx1QkFBdUI7SUFDakMsNENBQWlCLENBQUE7SUFDakIsNENBQWlCLENBQUE7SUFDakIsa0RBQXVCLENBQUE7SUFDdkIsZ0RBQXFCLENBQUE7QUFDdkIsQ0FBQyxFQUxXLHVCQUF1Qix1Q0FBdkIsdUJBQXVCLFFBS2xDO0FBRUQsSUFBWSw2QkFJWDtBQUpELFdBQVksNkJBQTZCO0lBQ3ZDLDhDQUFhLENBQUE7SUFDYixnREFBZSxDQUFBO0lBQ2YsOENBQWEsQ0FBQTtBQUNmLENBQUMsRUFKVyw2QkFBNkIsNkNBQTdCLDZCQUE2QixRQUl4QztBQUVELElBQVksd0JBR1g7QUFIRCxXQUFZLHdCQUF3QjtJQUNsQyxxREFBeUIsQ0FBQTtJQUN6QiwyQ0FBZSxDQUFBO0FBQ2pCLENBQUMsRUFIVyx3QkFBd0Isd0NBQXhCLHdCQUF3QixRQUduQyJ9
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.POST = void 0;
4
+ const utils_1 = require("../../utils");
5
+ const workflows_1 = require("../../../../../workflows");
6
+ const POST = async (req, res) => {
7
+ try {
8
+ await (0, workflows_1.applyRetentionOfferWorkflow)(req.scope).run({
9
+ input: {
10
+ cancellation_case_id: req.params.id,
11
+ offer_type: req.validatedBody.offer_type,
12
+ offer_payload: req.validatedBody.offer_payload,
13
+ decided_by: req.validatedBody.decided_by ?? req.auth_context.actor_id,
14
+ decision_reason: req.validatedBody.decision_reason,
15
+ metadata: req.validatedBody.metadata,
16
+ },
17
+ });
18
+ }
19
+ catch (error) {
20
+ const mapped = (0, utils_1.mapCancellationAdminRouteError)(error);
21
+ return res.status(mapped.status).json({
22
+ type: mapped.type,
23
+ message: mapped.message,
24
+ });
25
+ }
26
+ const response = await (0, utils_1.getAdminCancellationDetailResponse)(req.scope, req.params.id);
27
+ return res.status(200).json(response);
28
+ };
29
+ exports.POST = POST;
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL2NhbmNlbGxhdGlvbnMvW2lkXS9hcHBseS1vZmZlci9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFLQSx1Q0FHb0I7QUFDcEIsd0RBQXNFO0FBRS9ELE1BQU0sSUFBSSxHQUFHLEtBQUssRUFDdkIsR0FBdUUsRUFDdkUsR0FBbUIsRUFDbkIsRUFBRTtJQUNGLElBQUksQ0FBQztRQUNILE1BQU0sSUFBQSx1Q0FBMkIsRUFBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDO1lBQy9DLEtBQUssRUFBRTtnQkFDTCxvQkFBb0IsRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUU7Z0JBQ25DLFVBQVUsRUFBRSxHQUFHLENBQUMsYUFBYSxDQUFDLFVBQVU7Z0JBQ3hDLGFBQWEsRUFBRSxHQUFHLENBQUMsYUFBYSxDQUFDLGFBQWE7Z0JBQzlDLFVBQVUsRUFBRSxHQUFHLENBQUMsYUFBYSxDQUFDLFVBQVUsSUFBSSxHQUFHLENBQUMsWUFBWSxDQUFDLFFBQVE7Z0JBQ3JFLGVBQWUsRUFBRSxHQUFHLENBQUMsYUFBYSxDQUFDLGVBQWU7Z0JBQ2xELFFBQVEsRUFBRSxHQUFHLENBQUMsYUFBYSxDQUFDLFFBQVE7YUFDckM7U0FDRixDQUFDLENBQUE7SUFDSixDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNmLE1BQU0sTUFBTSxHQUFHLElBQUEsc0NBQThCLEVBQUMsS0FBSyxDQUFDLENBQUE7UUFFcEQsT0FBTyxHQUFHLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUM7WUFDcEMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJO1lBQ2pCLE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTztTQUN4QixDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFBLDBDQUFrQyxFQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQTtJQUVuRixPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFBO0FBQ3ZDLENBQUMsQ0FBQTtBQTNCWSxRQUFBLElBQUksUUEyQmhCIn0=
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.POST = void 0;
4
+ const utils_1 = require("../../utils");
5
+ const workflows_1 = require("../../../../../workflows");
6
+ const POST = async (req, res) => {
7
+ try {
8
+ await (0, workflows_1.finalizeCancellationWorkflow)(req.scope).run({
9
+ input: {
10
+ cancellation_case_id: req.params.id,
11
+ reason: req.validatedBody.reason,
12
+ reason_category: req.validatedBody.reason_category,
13
+ notes: req.validatedBody.notes,
14
+ finalized_by: req.validatedBody.finalized_by ?? req.auth_context.actor_id,
15
+ effective_at: req.validatedBody.effective_at,
16
+ metadata: req.validatedBody.metadata,
17
+ },
18
+ });
19
+ }
20
+ catch (error) {
21
+ const mapped = (0, utils_1.mapCancellationAdminRouteError)(error);
22
+ return res.status(mapped.status).json({
23
+ type: mapped.type,
24
+ message: mapped.message,
25
+ });
26
+ }
27
+ const response = await (0, utils_1.getAdminCancellationDetailResponse)(req.scope, req.params.id);
28
+ return res.status(200).json(response);
29
+ };
30
+ exports.POST = POST;
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL2NhbmNlbGxhdGlvbnMvW2lkXS9maW5hbGl6ZS9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFLQSx1Q0FHb0I7QUFDcEIsd0RBQXVFO0FBRWhFLE1BQU0sSUFBSSxHQUFHLEtBQUssRUFDdkIsR0FBd0UsRUFDeEUsR0FBbUIsRUFDbkIsRUFBRTtJQUNGLElBQUksQ0FBQztRQUNILE1BQU0sSUFBQSx3Q0FBNEIsRUFBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDO1lBQ2hELEtBQUssRUFBRTtnQkFDTCxvQkFBb0IsRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUU7Z0JBQ25DLE1BQU0sRUFBRSxHQUFHLENBQUMsYUFBYSxDQUFDLE1BQU07Z0JBQ2hDLGVBQWUsRUFBRSxHQUFHLENBQUMsYUFBYSxDQUFDLGVBQWU7Z0JBQ2xELEtBQUssRUFBRSxHQUFHLENBQUMsYUFBYSxDQUFDLEtBQUs7Z0JBQzlCLFlBQVksRUFBRSxHQUFHLENBQUMsYUFBYSxDQUFDLFlBQVksSUFBSSxHQUFHLENBQUMsWUFBWSxDQUFDLFFBQVE7Z0JBQ3pFLFlBQVksRUFBRSxHQUFHLENBQUMsYUFBYSxDQUFDLFlBQVk7Z0JBQzVDLFFBQVEsRUFBRSxHQUFHLENBQUMsYUFBYSxDQUFDLFFBQVE7YUFDckM7U0FDRixDQUFDLENBQUE7SUFDSixDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNmLE1BQU0sTUFBTSxHQUFHLElBQUEsc0NBQThCLEVBQUMsS0FBSyxDQUFDLENBQUE7UUFFcEQsT0FBTyxHQUFHLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUM7WUFDcEMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJO1lBQ2pCLE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTztTQUN4QixDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFBLDBDQUFrQyxFQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQTtJQUVuRixPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFBO0FBQ3ZDLENBQUMsQ0FBQTtBQTVCWSxRQUFBLElBQUksUUE0QmhCIn0=
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.POST = void 0;
4
+ const utils_1 = require("../../utils");
5
+ const workflows_1 = require("../../../../../workflows");
6
+ const POST = async (req, res) => {
7
+ try {
8
+ await (0, workflows_1.updateCancellationReasonWorkflow)(req.scope).run({
9
+ input: {
10
+ cancellation_case_id: req.params.id,
11
+ reason: req.validatedBody.reason,
12
+ reason_category: req.validatedBody.reason_category,
13
+ notes: req.validatedBody.notes,
14
+ updated_by: req.validatedBody.updated_by ?? req.auth_context.actor_id,
15
+ update_reason: req.validatedBody.update_reason,
16
+ metadata: req.validatedBody.metadata,
17
+ },
18
+ });
19
+ }
20
+ catch (error) {
21
+ const mapped = (0, utils_1.mapCancellationAdminRouteError)(error);
22
+ return res.status(mapped.status).json({
23
+ type: mapped.type,
24
+ message: mapped.message,
25
+ });
26
+ }
27
+ const response = await (0, utils_1.getAdminCancellationDetailResponse)(req.scope, req.params.id);
28
+ return res.status(200).json(response);
29
+ };
30
+ exports.POST = POST;
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL2NhbmNlbGxhdGlvbnMvW2lkXS9yZWFzb24vcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBS0EsdUNBR29CO0FBQ3BCLHdEQUEyRTtBQUVwRSxNQUFNLElBQUksR0FBRyxLQUFLLEVBQ3ZCLEdBQTRFLEVBQzVFLEdBQW1CLEVBQ25CLEVBQUU7SUFDRixJQUFJLENBQUM7UUFDSCxNQUFNLElBQUEsNENBQWdDLEVBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQztZQUNwRCxLQUFLLEVBQUU7Z0JBQ0wsb0JBQW9CLEVBQUUsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFO2dCQUNuQyxNQUFNLEVBQUUsR0FBRyxDQUFDLGFBQWEsQ0FBQyxNQUFNO2dCQUNoQyxlQUFlLEVBQUUsR0FBRyxDQUFDLGFBQWEsQ0FBQyxlQUFlO2dCQUNsRCxLQUFLLEVBQUUsR0FBRyxDQUFDLGFBQWEsQ0FBQyxLQUFLO2dCQUM5QixVQUFVLEVBQUUsR0FBRyxDQUFDLGFBQWEsQ0FBQyxVQUFVLElBQUksR0FBRyxDQUFDLFlBQVksQ0FBQyxRQUFRO2dCQUNyRSxhQUFhLEVBQUUsR0FBRyxDQUFDLGFBQWEsQ0FBQyxhQUFhO2dCQUM5QyxRQUFRLEVBQUUsR0FBRyxDQUFDLGFBQWEsQ0FBQyxRQUFRO2FBQ3JDO1NBQ0YsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDZixNQUFNLE1BQU0sR0FBRyxJQUFBLHNDQUE4QixFQUFDLEtBQUssQ0FBQyxDQUFBO1FBRXBELE9BQU8sR0FBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDO1lBQ3BDLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSTtZQUNqQixPQUFPLEVBQUUsTUFBTSxDQUFDLE9BQU87U0FDeEIsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVELE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBQSwwQ0FBa0MsRUFBQyxHQUFHLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUE7SUFFbkYsT0FBTyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQTtBQUN2QyxDQUFDLENBQUE7QUE1QlksUUFBQSxJQUFJLFFBNEJoQiJ9
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GET = void 0;
4
+ const utils_1 = require("../utils");
5
+ const GET = async (req, res) => {
6
+ let response;
7
+ try {
8
+ response = await (0, utils_1.getAdminCancellationDetailResponse)(req.scope, req.params.id);
9
+ }
10
+ catch (error) {
11
+ const mapped = (0, utils_1.mapCancellationAdminRouteError)(error);
12
+ return res.status(mapped.status).json({
13
+ type: mapped.type,
14
+ message: mapped.message,
15
+ });
16
+ }
17
+ res.status(200).json(response);
18
+ };
19
+ exports.GET = GET;
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL2NhbmNlbGxhdGlvbnMvW2lkXS9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFJQSxvQ0FHaUI7QUFFVixNQUFNLEdBQUcsR0FBRyxLQUFLLEVBQ3RCLEdBQStCLEVBQy9CLEdBQW1CLEVBQ25CLEVBQUU7SUFDRixJQUFJLFFBQVEsQ0FBQTtJQUVaLElBQUksQ0FBQztRQUNILFFBQVEsR0FBRyxNQUFNLElBQUEsMENBQWtDLEVBQ2pELEdBQUcsQ0FBQyxLQUFLLEVBQ1QsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQ2QsQ0FBQTtJQUNILENBQUM7SUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1FBQ2YsTUFBTSxNQUFNLEdBQUcsSUFBQSxzQ0FBOEIsRUFBQyxLQUFLLENBQUMsQ0FBQTtRQUVwRCxPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQztZQUNwQyxJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUk7WUFDakIsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPO1NBQ3hCLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFRCxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQTtBQUNoQyxDQUFDLENBQUE7QUFyQlksUUFBQSxHQUFHLE9BcUJmIn0=
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.adminCancellationsMiddlewares = void 0;
4
+ const http_1 = require("@medusajs/framework/http");
5
+ const validators_1 = require("./validators");
6
+ exports.adminCancellationsMiddlewares = [
7
+ {
8
+ matcher: "/admin/cancellations",
9
+ method: "GET",
10
+ middlewares: [
11
+ (0, http_1.validateAndTransformQuery)(validators_1.GetAdminCancellationsSchema, {
12
+ defaults: [
13
+ "id",
14
+ "subscription_id",
15
+ "status",
16
+ "reason",
17
+ "reason_category",
18
+ "final_outcome",
19
+ "finalized_at",
20
+ "created_at",
21
+ "updated_at",
22
+ ],
23
+ isList: true,
24
+ }),
25
+ ],
26
+ },
27
+ {
28
+ matcher: "/admin/cancellations/:id",
29
+ method: "GET",
30
+ middlewares: [
31
+ (0, http_1.validateAndTransformQuery)(validators_1.GetAdminCancellationSchema, {
32
+ defaults: ["*"],
33
+ isList: false,
34
+ }),
35
+ ],
36
+ },
37
+ {
38
+ matcher: "/admin/cancellations/:id/apply-offer",
39
+ method: "POST",
40
+ middlewares: [(0, http_1.validateAndTransformBody)(validators_1.PostAdminApplyRetentionOfferSchema)],
41
+ },
42
+ {
43
+ matcher: "/admin/cancellations/:id/finalize",
44
+ method: "POST",
45
+ middlewares: [(0, http_1.validateAndTransformBody)(validators_1.PostAdminFinalizeCancellationSchema)],
46
+ },
47
+ {
48
+ matcher: "/admin/cancellations/:id/reason",
49
+ method: "POST",
50
+ middlewares: [
51
+ (0, http_1.validateAndTransformBody)(validators_1.PostAdminUpdateCancellationReasonSchema),
52
+ ],
53
+ },
54
+ ];
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL2NhbmNlbGxhdGlvbnMvbWlkZGxld2FyZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbURBSWlDO0FBQ2pDLDZDQU1xQjtBQUVSLFFBQUEsNkJBQTZCLEdBQXNCO0lBQzlEO1FBQ0UsT0FBTyxFQUFFLHNCQUFzQjtRQUMvQixNQUFNLEVBQUUsS0FBSztRQUNiLFdBQVcsRUFBRTtZQUNYLElBQUEsZ0NBQXlCLEVBQUMsd0NBQTJCLEVBQUU7Z0JBQ3JELFFBQVEsRUFBRTtvQkFDUixJQUFJO29CQUNKLGlCQUFpQjtvQkFDakIsUUFBUTtvQkFDUixRQUFRO29CQUNSLGlCQUFpQjtvQkFDakIsZUFBZTtvQkFDZixjQUFjO29CQUNkLFlBQVk7b0JBQ1osWUFBWTtpQkFDYjtnQkFDRCxNQUFNLEVBQUUsSUFBSTthQUNiLENBQUM7U0FDSDtLQUNGO0lBQ0Q7UUFDRSxPQUFPLEVBQUUsMEJBQTBCO1FBQ25DLE1BQU0sRUFBRSxLQUFLO1FBQ2IsV0FBVyxFQUFFO1lBQ1gsSUFBQSxnQ0FBeUIsRUFBQyx1Q0FBMEIsRUFBRTtnQkFDcEQsUUFBUSxFQUFFLENBQUMsR0FBRyxDQUFDO2dCQUNmLE1BQU0sRUFBRSxLQUFLO2FBQ2QsQ0FBQztTQUNIO0tBQ0Y7SUFDRDtRQUNFLE9BQU8sRUFBRSxzQ0FBc0M7UUFDL0MsTUFBTSxFQUFFLE1BQU07UUFDZCxXQUFXLEVBQUUsQ0FBQyxJQUFBLCtCQUF3QixFQUFDLCtDQUFrQyxDQUFDLENBQUM7S0FDNUU7SUFDRDtRQUNFLE9BQU8sRUFBRSxtQ0FBbUM7UUFDNUMsTUFBTSxFQUFFLE1BQU07UUFDZCxXQUFXLEVBQUUsQ0FBQyxJQUFBLCtCQUF3QixFQUFDLGdEQUFtQyxDQUFDLENBQUM7S0FDN0U7SUFDRDtRQUNFLE9BQU8sRUFBRSxpQ0FBaUM7UUFDMUMsTUFBTSxFQUFFLE1BQU07UUFDZCxXQUFXLEVBQUU7WUFDWCxJQUFBLCtCQUF3QixFQUFDLG9EQUF1QyxDQUFDO1NBQ2xFO0tBQ0Y7Q0FDRixDQUFBIn0=
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GET = void 0;
4
+ const utils_1 = require("./utils");
5
+ const GET = async (req, res) => {
6
+ let response;
7
+ try {
8
+ response = await (0, utils_1.getAdminCancellationsListResponse)(req.scope, req.validatedQuery);
9
+ }
10
+ catch (error) {
11
+ const mapped = (0, utils_1.mapCancellationAdminRouteError)(error);
12
+ return res.status(mapped.status).json({
13
+ type: mapped.type,
14
+ message: mapped.message,
15
+ });
16
+ }
17
+ res.status(200).json(response);
18
+ };
19
+ exports.GET = GET;
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL2NhbmNlbGxhdGlvbnMvcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBS0EsbUNBR2dCO0FBRVQsTUFBTSxHQUFHLEdBQUcsS0FBSyxFQUN0QixHQUF5RSxFQUN6RSxHQUFtQixFQUNuQixFQUFFO0lBQ0YsSUFBSSxRQUFRLENBQUE7SUFFWixJQUFJLENBQUM7UUFDSCxRQUFRLEdBQUcsTUFBTSxJQUFBLHlDQUFpQyxFQUNoRCxHQUFHLENBQUMsS0FBSyxFQUNULEdBQUcsQ0FBQyxjQUFjLENBQ25CLENBQUE7SUFDSCxDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNmLE1BQU0sTUFBTSxHQUFHLElBQUEsc0NBQThCLEVBQUMsS0FBSyxDQUFDLENBQUE7UUFFcEQsT0FBTyxHQUFHLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUM7WUFDcEMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJO1lBQ2pCLE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTztTQUN4QixDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUE7QUFDaEMsQ0FBQyxDQUFBO0FBckJZLFFBQUEsR0FBRyxPQXFCZiJ9
@@ -0,0 +1,116 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.normalizeAdminCancellationsListQuery = normalizeAdminCancellationsListQuery;
4
+ exports.getAdminCancellationDetailResponse = getAdminCancellationDetailResponse;
5
+ exports.getAdminCancellationsListResponse = getAdminCancellationsListResponse;
6
+ exports.mapCancellationAdminRouteError = mapCancellationAdminRouteError;
7
+ const utils_1 = require("@medusajs/framework/utils");
8
+ const admin_query_1 = require("../../../modules/cancellation/utils/admin-query");
9
+ function normalizeAdminCancellationsListQuery(query) {
10
+ const normalized = {
11
+ limit: query.limit,
12
+ offset: query.offset,
13
+ q: query.q,
14
+ status: query.status,
15
+ final_outcome: query.final_outcome,
16
+ reason_category: query.reason_category,
17
+ offer_type: query.offer_type,
18
+ subscription_id: query.subscription_id,
19
+ created_from: query.created_from,
20
+ created_to: query.created_to,
21
+ };
22
+ if (query.order) {
23
+ if (query.order.startsWith("-")) {
24
+ normalized.order = query.order.slice(1);
25
+ normalized.direction = "desc";
26
+ }
27
+ else {
28
+ normalized.order = query.order;
29
+ normalized.direction = query.direction;
30
+ }
31
+ }
32
+ else {
33
+ normalized.direction = query.direction;
34
+ }
35
+ return normalized;
36
+ }
37
+ async function getAdminCancellationDetailResponse(container, id) {
38
+ return await (0, admin_query_1.getAdminCancellationDetail)(container, id);
39
+ }
40
+ async function getAdminCancellationsListResponse(container, query) {
41
+ return await (0, admin_query_1.listAdminCancellationCases)(container, normalizeAdminCancellationsListQuery(query));
42
+ }
43
+ function getNestedMessage(value) {
44
+ if (!value) {
45
+ return null;
46
+ }
47
+ if (typeof value === "string") {
48
+ return value;
49
+ }
50
+ if (value instanceof Error) {
51
+ const causeMessage = getNestedMessage(value.cause);
52
+ return value.message || causeMessage || null;
53
+ }
54
+ if (typeof value === "object") {
55
+ const record = value;
56
+ const candidates = [
57
+ record.message,
58
+ record.error,
59
+ record.details,
60
+ record.cause,
61
+ record.response?.data,
62
+ record.response?.message,
63
+ record.data?.message,
64
+ record.body?.message,
65
+ ];
66
+ for (const candidate of candidates) {
67
+ const nested = getNestedMessage(candidate);
68
+ if (nested) {
69
+ return nested;
70
+ }
71
+ }
72
+ }
73
+ return null;
74
+ }
75
+ function mapCancellationAdminRouteError(error) {
76
+ const errorCause = error instanceof Error ? error.cause : null;
77
+ const medusaError = error instanceof utils_1.MedusaError
78
+ ? error
79
+ : errorCause instanceof utils_1.MedusaError
80
+ ? errorCause
81
+ : null;
82
+ if (medusaError) {
83
+ const typeToStatus = {
84
+ [utils_1.MedusaError.Types.NOT_FOUND]: 404,
85
+ [utils_1.MedusaError.Types.INVALID_DATA]: 400,
86
+ [utils_1.MedusaError.Types.CONFLICT]: 409,
87
+ };
88
+ return {
89
+ status: typeToStatus[medusaError.type] ?? 500,
90
+ type: medusaError.type,
91
+ message: medusaError.message,
92
+ };
93
+ }
94
+ const message = getNestedMessage(error) || "Unexpected cancellation admin error";
95
+ const normalized = message.toLowerCase();
96
+ if (normalized.includes("was not found")) {
97
+ return {
98
+ status: 404,
99
+ type: utils_1.MedusaError.Types.NOT_FOUND,
100
+ message,
101
+ };
102
+ }
103
+ if (normalized.includes("invalid") || normalized.includes("missing")) {
104
+ return {
105
+ status: 400,
106
+ type: utils_1.MedusaError.Types.INVALID_DATA,
107
+ message,
108
+ };
109
+ }
110
+ return {
111
+ status: 409,
112
+ type: utils_1.MedusaError.Types.CONFLICT,
113
+ message,
114
+ };
115
+ }
116
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL2NhbmNlbGxhdGlvbnMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFTQSxvRkE2QkM7QUFFRCxnRkFLQztBQUVELDhFQVFDO0FBMENELHdFQWdEQztBQWpKRCxxREFBdUQ7QUFHdkQsaUZBSXdEO0FBRXhELFNBQWdCLG9DQUFvQyxDQUNsRCxLQUFzQztJQUV0QyxNQUFNLFVBQVUsR0FBb0M7UUFDbEQsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLO1FBQ2xCLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTTtRQUNwQixDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDVixNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU07UUFDcEIsYUFBYSxFQUFFLEtBQUssQ0FBQyxhQUFhO1FBQ2xDLGVBQWUsRUFBRSxLQUFLLENBQUMsZUFBZTtRQUN0QyxVQUFVLEVBQUUsS0FBSyxDQUFDLFVBQVU7UUFDNUIsZUFBZSxFQUFFLEtBQUssQ0FBQyxlQUFlO1FBQ3RDLFlBQVksRUFBRSxLQUFLLENBQUMsWUFBWTtRQUNoQyxVQUFVLEVBQUUsS0FBSyxDQUFDLFVBQVU7S0FDN0IsQ0FBQTtJQUVELElBQUksS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2hCLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNoQyxVQUFVLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFBO1lBQ3ZDLFVBQVUsQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFBO1FBQy9CLENBQUM7YUFBTSxDQUFDO1lBQ04sVUFBVSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFBO1lBQzlCLFVBQVUsQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FB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
@@ -0,0 +1,130 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PostAdminUpdateCancellationReasonSchema = exports.PostAdminFinalizeCancellationSchema = exports.PostAdminApplyRetentionOfferSchema = exports.GetAdminCancellationSchema = exports.GetAdminCancellationsSchema = void 0;
4
+ const validators_1 = require("@medusajs/medusa/api/utils/validators");
5
+ const zod_1 = require("zod");
6
+ const types_1 = require("../../../modules/cancellation/types");
7
+ const optionalIsoDateTime = zod_1.z.string().datetime().optional();
8
+ const metadataSchema = zod_1.z.record(zod_1.z.string(), zod_1.z.unknown()).optional();
9
+ const positiveIntOrNullSchema = zod_1.z.number().int().positive().nullable();
10
+ const nonNegativeNumberOrNullSchema = zod_1.z.number().nonnegative().nullable();
11
+ const cancellationCaseStatusSchema = zod_1.z.enum([
12
+ "requested",
13
+ "evaluating_retention",
14
+ "retention_offered",
15
+ "retained",
16
+ "paused",
17
+ "canceled",
18
+ ]);
19
+ const cancellationFinalOutcomeSchema = zod_1.z.enum([
20
+ "retained",
21
+ "paused",
22
+ "canceled",
23
+ ]);
24
+ const cancellationReasonCategorySchema = zod_1.z.nativeEnum(types_1.CancellationReasonCategory);
25
+ exports.GetAdminCancellationsSchema = (0, validators_1.createFindParams)({
26
+ offset: 0,
27
+ limit: 20,
28
+ }).extend({
29
+ q: zod_1.z.string().optional(),
30
+ direction: zod_1.z.enum(["asc", "desc"]).optional(),
31
+ status: zod_1.z.preprocess((value) => {
32
+ if (typeof value === "string") {
33
+ return [value];
34
+ }
35
+ return value;
36
+ }, zod_1.z.array(cancellationCaseStatusSchema).optional()),
37
+ final_outcome: zod_1.z.preprocess((value) => {
38
+ if (typeof value === "string") {
39
+ return [value];
40
+ }
41
+ return value;
42
+ }, zod_1.z.array(cancellationFinalOutcomeSchema).optional()),
43
+ reason_category: zod_1.z.preprocess((value) => {
44
+ if (typeof value === "string") {
45
+ return [value];
46
+ }
47
+ return value;
48
+ }, zod_1.z.array(cancellationReasonCategorySchema).optional()),
49
+ offer_type: zod_1.z.preprocess((value) => {
50
+ if (typeof value === "string") {
51
+ return [value];
52
+ }
53
+ return value;
54
+ }, zod_1.z.array(zod_1.z.nativeEnum(types_1.RetentionOfferType)).optional()),
55
+ subscription_id: zod_1.z.string().optional(),
56
+ created_from: optionalIsoDateTime,
57
+ created_to: optionalIsoDateTime,
58
+ });
59
+ exports.GetAdminCancellationSchema = (0, validators_1.createFindParams)().extend({});
60
+ const pauseOfferPayloadSchema = zod_1.z.object({
61
+ pause_offer: zod_1.z.object({
62
+ pause_cycles: positiveIntOrNullSchema,
63
+ resume_at: zod_1.z.string().datetime().nullable(),
64
+ note: zod_1.z.string().nullable(),
65
+ }).refine((value) => value.pause_cycles !== null || value.resume_at !== null, {
66
+ message: "Pause offer requires pause_cycles or resume_at",
67
+ }),
68
+ });
69
+ const discountOfferPayloadSchema = zod_1.z.object({
70
+ discount_offer: zod_1.z.object({
71
+ discount_type: zod_1.z.enum(["percentage", "fixed"]),
72
+ discount_value: zod_1.z.number().positive(),
73
+ duration_cycles: positiveIntOrNullSchema,
74
+ note: zod_1.z.string().nullable(),
75
+ }).superRefine((value, ctx) => {
76
+ if (value.discount_type === "percentage" && value.discount_value > 50) {
77
+ ctx.addIssue({
78
+ code: zod_1.z.ZodIssueCode.custom,
79
+ message: "Percentage discount can't exceed 50",
80
+ path: ["discount_value"],
81
+ });
82
+ }
83
+ }),
84
+ });
85
+ const bonusOfferPayloadSchema = zod_1.z.object({
86
+ bonus_offer: zod_1.z.object({
87
+ bonus_type: zod_1.z.enum(["free_cycle", "gift", "credit"]),
88
+ value: nonNegativeNumberOrNullSchema,
89
+ label: zod_1.z.string().nullable(),
90
+ duration_cycles: positiveIntOrNullSchema,
91
+ note: zod_1.z.string().nullable(),
92
+ }).superRefine((value, ctx) => {
93
+ if ((value.bonus_type === "free_cycle" || value.bonus_type === "credit") &&
94
+ value.value === null) {
95
+ ctx.addIssue({
96
+ code: zod_1.z.ZodIssueCode.custom,
97
+ message: "Bonus offer requires value for free_cycle or credit",
98
+ path: ["value"],
99
+ });
100
+ }
101
+ }),
102
+ });
103
+ exports.PostAdminApplyRetentionOfferSchema = zod_1.z.object({
104
+ offer_type: zod_1.z.nativeEnum(types_1.RetentionOfferType),
105
+ offer_payload: zod_1.z.union([
106
+ pauseOfferPayloadSchema,
107
+ discountOfferPayloadSchema,
108
+ bonusOfferPayloadSchema,
109
+ ]),
110
+ decided_by: zod_1.z.string().optional(),
111
+ decision_reason: zod_1.z.string().optional(),
112
+ metadata: metadataSchema,
113
+ });
114
+ exports.PostAdminFinalizeCancellationSchema = zod_1.z.object({
115
+ reason: zod_1.z.string().optional(),
116
+ reason_category: cancellationReasonCategorySchema.optional(),
117
+ notes: zod_1.z.string().optional(),
118
+ finalized_by: zod_1.z.string().optional(),
119
+ effective_at: zod_1.z.enum(["immediately", "end_of_cycle"]).optional(),
120
+ metadata: metadataSchema,
121
+ });
122
+ exports.PostAdminUpdateCancellationReasonSchema = zod_1.z.object({
123
+ reason: zod_1.z.string(),
124
+ reason_category: cancellationReasonCategorySchema.optional(),
125
+ notes: zod_1.z.string().optional(),
126
+ updated_by: zod_1.z.string().optional(),
127
+ update_reason: zod_1.z.string().optional(),
128
+ metadata: metadataSchema,
129
+ });
130
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcGkvYWRtaW4vY2FuY2VsbGF0aW9ucy92YWxpZGF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHNFQUF3RTtBQUN4RSw2QkFBdUI7QUFDdkIsK0RBRzRDO0FBRTVDLE1BQU0sbUJBQW1CLEdBQUcsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFBO0FBQzVELE1BQU0sY0FBYyxHQUFHLE9BQUMsQ0FBQyxNQUFNLENBQUMsT0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLE9BQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFBO0FBQ25FLE1BQU0sdUJBQXVCLEdBQUcsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFBO0FBQ3RFLE1BQU0sNkJBQTZCLEdBQUcsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFBO0FBRXpFLE1BQU0sNEJBQTRCLEdBQUcsT0FBQyxDQUFDLElBQUksQ0FBQztJQUMxQyxXQUFXO0lBQ1gsc0JBQXNCO0lBQ3RCLG1CQUFtQjtJQUNuQixVQUFVO0lBQ1YsUUFBUTtJQUNSLFVBQVU7Q0FDWCxDQUFDLENBQUE7QUFFRixNQUFNLDhCQUE4QixHQUFHLE9BQUMsQ0FBQyxJQUFJLENBQUM7SUFDNUMsVUFBVTtJQUNWLFFBQVE7SUFDUixVQUFVO0NBQ1gsQ0FBQyxDQUFBO0FBRUYsTUFBTSxnQ0FBZ0MsR0FBRyxPQUFDLENBQUMsVUFBVSxDQUNuRCxrQ0FBMEIsQ0FDM0IsQ0FBQTtBQUVZLFFBQUEsMkJBQTJCLEdBQUcsSUFBQSw2QkFBZ0IsRUFBQztJQUMxRCxNQUFNLEVBQUUsQ0FBQztJQUNULEtBQUssRUFBRSxF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