@reorderjs/reorder 1.0.7 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.medusa/server/e2e/auth.setup.js +26 -0
- package/.medusa/server/e2e/cancellation-retention.spec.js +133 -0
- package/.medusa/server/e2e/pages/CancellationCaseDetailPage.js +69 -0
- package/.medusa/server/e2e/pages/CancellationsListPage.js +34 -0
- package/.medusa/server/e2e/pages/PlanFormPage.js +89 -0
- package/.medusa/server/e2e/pages/RenewalDetailPage.js +101 -0
- package/.medusa/server/e2e/pages/SubscriptionDetailPage.js +102 -0
- package/.medusa/server/e2e/plans-offers.spec.js +96 -0
- package/.medusa/server/e2e/renewal-force.spec.js +154 -0
- package/.medusa/server/e2e/seed.setup.js +80 -0
- package/.medusa/server/e2e/subscription-status.spec.js +109 -0
- package/.medusa/server/e2e/subscriptions-list.spec.js +84 -0
- package/.medusa/server/playwright.config.js +37 -0
- package/.medusa/server/scripts/reset-subscriptions-test-data.js +279 -0
- package/.medusa/server/scripts/seed-subscriptions-test-data.js +2425 -0
- package/.medusa/server/scripts/wipe-test-data.js +44 -0
- package/.medusa/server/src/admin/index.js +13142 -11709
- package/.medusa/server/src/admin/index.mjs +13136 -11703
- package/.medusa/server/src/admin/types/activity-log.js +2 -1
- package/.medusa/server/src/admin/types/analytics.js +2 -1
- package/.medusa/server/src/api/admin/cancellations/validators.js +2 -2
- package/.medusa/server/src/api/admin/dunning/validators.js +2 -2
- package/.medusa/server/src/api/admin/renewals/validators.js +2 -2
- package/.medusa/server/src/api/admin/subscription-analytics/validators.js +2 -2
- package/.medusa/server/src/api/admin/subscription-logs/validators.js +2 -2
- package/.medusa/server/src/api/admin/subscription-offers/validators.js +2 -2
- package/.medusa/server/src/api/admin/subscription-settings/validators.js +2 -2
- package/.medusa/server/src/api/admin/subscriptions/[id]/payment-method/route.js +19 -0
- package/.medusa/server/src/api/admin/subscriptions/[id]/payment-methods/route.js +10 -0
- package/.medusa/server/src/api/admin/subscriptions/middlewares.js +8 -1
- package/.medusa/server/src/api/admin/subscriptions/utils.js +5 -1
- package/.medusa/server/src/api/admin/subscriptions/validators.js +7 -3
- package/.medusa/server/src/api/store/customers/me/subscriptions/[id]/payment-method/route.js +26 -0
- package/.medusa/server/src/api/store/customers/me/subscriptions/[id]/payment-methods/route.js +15 -0
- package/.medusa/server/src/api/store/customers/me/subscriptions/middlewares.js +8 -1
- package/.medusa/server/src/api/store/customers/me/subscriptions/utils.js +72 -1
- package/.medusa/server/src/api/store/customers/me/subscriptions/validators.js +7 -3
- package/.medusa/server/src/api/store/products/validators.js +2 -2
- package/.medusa/server/src/modules/activity-log/__tests__/create-subscription-log-event.spec.js +257 -0
- package/.medusa/server/src/modules/activity-log/__tests__/normalize-log-event.spec.js +231 -0
- package/.medusa/server/src/modules/activity-log/migrations/Migration20260524220933.js +16 -0
- package/.medusa/server/src/modules/activity-log/migrations/Migration20260524225625.js +16 -0
- package/.medusa/server/src/modules/activity-log/migrations/Migration20260818120000.js +16 -0
- package/.medusa/server/src/modules/activity-log/types/index.js +4 -1
- package/.medusa/server/src/modules/activity-log/utils/admin-query.js +15 -1
- package/.medusa/server/src/modules/analytics/__tests__/admin-query.spec.js +560 -0
- package/.medusa/server/src/modules/analytics/index.js +2 -2
- package/.medusa/server/src/modules/analytics/utils/admin-query.js +157 -5
- package/.medusa/server/src/modules/plan-offer/__tests__/service.spec.js +94 -0
- package/.medusa/server/src/modules/renewal/__tests__/service.spec.js +89 -0
- package/.medusa/server/src/modules/settings/__tests__/normalize-settings.spec.js +86 -0
- package/.medusa/server/src/modules/settings/__tests__/service.spec.js +124 -0
- package/.medusa/server/src/modules/subscription/__tests__/payment-methods.spec.js +186 -0
- package/.medusa/server/src/modules/subscription/__tests__/service.spec.js +124 -0
- package/.medusa/server/src/modules/subscription/utils/admin-query.js +196 -14
- package/.medusa/server/src/modules/subscription/utils/payment-methods.js +146 -0
- package/.medusa/server/src/subscription-flows/create-subscription-from-cart.js +55 -2
- package/.medusa/server/src/workflows/__tests__/cancel-subscription.spec.js +20 -0
- package/.medusa/server/src/workflows/__tests__/pause-subscription.spec.js +20 -0
- package/.medusa/server/src/workflows/__tests__/update-subscription-shipping-address.spec.js +49 -0
- package/.medusa/server/src/workflows/cancel-subscription.js +21 -1
- package/.medusa/server/src/workflows/index.js +6 -2
- package/.medusa/server/src/workflows/pause-subscription.js +21 -1
- package/.medusa/server/src/workflows/steps/rebuild-analytics-daily-snapshots.js +33 -10
- package/.medusa/server/src/workflows/steps/update-subscription-payment-method.js +110 -0
- package/.medusa/server/src/workflows/steps/validate-subscription-cart.js +7 -22
- package/.medusa/server/src/workflows/update-subscription-payment-method.js +65 -0
- package/.medusa/server/src/workflows/utils/analytics-incremental.js +1 -1
- package/README.md +89 -36
- package/package.json +25 -23
|
@@ -9,6 +9,9 @@ const label_subscription_order_adjustments_1 = require("../workflows/steps/label
|
|
|
9
9
|
const create_subscription_record_1 = require("../workflows/steps/create-subscription-record");
|
|
10
10
|
const link_subscription_commerce_entities_1 = require("../workflows/steps/link-subscription-commerce-entities");
|
|
11
11
|
const validate_subscription_cart_1 = require("../workflows/steps/validate-subscription-cart");
|
|
12
|
+
const create_subscription_log_event_1 = require("../workflows/steps/create-subscription-log-event");
|
|
13
|
+
const normalize_log_event_1 = require("../modules/activity-log/utils/normalize-log-event");
|
|
14
|
+
const types_1 = require("../modules/activity-log/types");
|
|
12
15
|
const SUBSCRIPTION_ORDER_LINK_ENTRY_POINT = "subscription_order";
|
|
13
16
|
exports.createSubscriptionFromCartWorkflow = (0, workflows_sdk_1.createWorkflow)("create-subscription-from-cart", function (input) {
|
|
14
17
|
const lockInput = (0, workflows_sdk_1.transform)({ input }, ({ input }) => ({
|
|
@@ -97,7 +100,51 @@ exports.createSubscriptionFromCartWorkflow = (0, workflows_sdk_1.createWorkflow)
|
|
|
97
100
|
};
|
|
98
101
|
});
|
|
99
102
|
const createdSubscription = (0, workflows_sdk_1.when)({ existingSubscriptionId }, ({ existingSubscriptionId }) => !existingSubscriptionId).then(() => {
|
|
100
|
-
|
|
103
|
+
const createdSubscription = (0, create_subscription_record_1.createSubscriptionRecordStep)(createSubscriptionInput);
|
|
104
|
+
const logInput = (0, workflows_sdk_1.transform)({ createdSubscription, createSubscriptionInput }, ({ createdSubscription, createSubscriptionInput }) => {
|
|
105
|
+
if (!createdSubscription?.id) {
|
|
106
|
+
throw new Error("Subscription create flow did not create a subscription log target");
|
|
107
|
+
}
|
|
108
|
+
return {
|
|
109
|
+
log_event: (0, normalize_log_event_1.normalizeActivityLogEvent)({
|
|
110
|
+
subscription_id: createdSubscription.id,
|
|
111
|
+
customer_id: createSubscriptionInput.customer_id,
|
|
112
|
+
event_type: types_1.ActivityLogEventType.SUBSCRIPTION_CREATED,
|
|
113
|
+
actor_type: types_1.ActivityLogActorType.CUSTOMER,
|
|
114
|
+
actor_id: createSubscriptionInput.customer_id,
|
|
115
|
+
display: {
|
|
116
|
+
subscription_reference: buildSubscriptionReference(createSubscriptionInput.order_display_id, createSubscriptionInput.order_id),
|
|
117
|
+
customer_name: createSubscriptionInput.customer_snapshot.full_name ?? null,
|
|
118
|
+
product_title: createSubscriptionInput.product_snapshot.product_title ?? null,
|
|
119
|
+
variant_title: createSubscriptionInput.product_snapshot.variant_title ?? null,
|
|
120
|
+
},
|
|
121
|
+
previous_state: null,
|
|
122
|
+
new_state: {
|
|
123
|
+
status: "active",
|
|
124
|
+
started_at: createSubscriptionInput.started_at,
|
|
125
|
+
next_renewal_at: createSubscriptionInput.next_renewal_at,
|
|
126
|
+
frequency_interval: createSubscriptionInput.frequency_interval,
|
|
127
|
+
frequency_value: createSubscriptionInput.frequency_value,
|
|
128
|
+
is_trial: createSubscriptionInput.is_trial,
|
|
129
|
+
trial_ends_at: createSubscriptionInput.trial_ends_at,
|
|
130
|
+
},
|
|
131
|
+
metadata: {
|
|
132
|
+
order_id: createSubscriptionInput.order_id,
|
|
133
|
+
source: "store",
|
|
134
|
+
trigger_type: "checkout",
|
|
135
|
+
},
|
|
136
|
+
dedupe: {
|
|
137
|
+
scope: "order",
|
|
138
|
+
target_id: createSubscriptionInput.order_id,
|
|
139
|
+
qualifier: createdSubscription.id,
|
|
140
|
+
},
|
|
141
|
+
}),
|
|
142
|
+
};
|
|
143
|
+
});
|
|
144
|
+
(0, create_subscription_log_event_1.createSubscriptionLogEventStep)(logInput).config({
|
|
145
|
+
name: "create-subscription-created-log-event",
|
|
146
|
+
});
|
|
147
|
+
return createdSubscription;
|
|
101
148
|
});
|
|
102
149
|
const createdSubscriptionId = (0, workflows_sdk_1.transform)({ createdSubscription }, ({ createdSubscription }) => createdSubscription?.id ?? null);
|
|
103
150
|
(0, workflows_sdk_1.when)({ createdSubscriptionId, validatedCart, orderId }, ({ createdSubscriptionId }) => !!createdSubscriptionId).then(() => {
|
|
@@ -171,6 +218,12 @@ exports.default = exports.createSubscriptionFromCartWorkflow;
|
|
|
171
218
|
function toDate(value) {
|
|
172
219
|
return value instanceof Date ? value : new Date(value);
|
|
173
220
|
}
|
|
221
|
+
function buildSubscriptionReference(orderDisplayId, orderId) {
|
|
222
|
+
if (orderDisplayId !== null && orderDisplayId !== undefined) {
|
|
223
|
+
return `SUB-${String(orderDisplayId)}`;
|
|
224
|
+
}
|
|
225
|
+
return `SUB-${orderId}`;
|
|
226
|
+
}
|
|
174
227
|
function addDays(date, days) {
|
|
175
228
|
const next = new Date(date);
|
|
176
229
|
next.setUTCDate(next.getUTCDate() + days);
|
|
@@ -190,4 +243,4 @@ function advanceCadence(date, interval, value) {
|
|
|
190
243
|
return next;
|
|
191
244
|
}
|
|
192
245
|
}
|
|
193
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXN1YnNjcmlwdGlvbi1mcm9tLWNhcnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc3Vic2NyaXB0aW9uLWZsb3dzL2NyZWF0ZS1zdWJzY3JpcHRpb24tZnJvbS1jYXJ0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQUswQztBQUMxQyw0REFNb0M7QUFDcEMsc0dBQW1HO0FBQ25HLGtHQUErRjtBQUMvRixrSEFBK0c7QUFDL0csOEZBR3NEO0FBQ3RELGdIQUE2RztBQUM3Ryw4RkFHc0Q7QUFXdEQsTUFBTSxtQ0FBbUMsR0FBRyxvQkFBb0IsQ0FBQTtBQUVuRCxRQUFBLGtDQUFrQyxHQUFHLElBQUEsOEJBQWMsRUFDOUQsK0JBQStCLEVBQy9CLFVBQVUsS0FBOEM7SUFDdEQsTUFBTSxTQUFTLEdBQUcsSUFBQSx5QkFBUyxFQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3JELEdBQUcsRUFBRSxLQUFLLENBQUMsT0FBTztRQUNsQixPQUFPLEVBQUUsRUFBRTtRQUNYLEdBQUcsRUFBRSxHQUFHO0tBQ1QsQ0FBQyxDQUFDLENBQUE7SUFFSCxJQUFBLDRCQUFlLEVBQUMsU0FBUyxDQUFDLENBQUE7SUFFMUIsTUFBTSxXQUFXLEdBQUcsSUFBQSxnRUFBK0IsRUFBQztRQUNsRCxPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU87S0FDdkIsQ0FBQyxDQUFBO0lBRUYsTUFBTSxhQUFhLEdBQUcscUNBQXdCLENBQUMsU0FBUyxDQUFDO1FBQ3ZELEtBQUssRUFBRSxJQUFBLHlCQUFTLEVBQUMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ3ZELE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTztZQUN0QixhQUFhLEVBQUUsSUFBSTtTQUNwQixDQUFDLENB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
|
|
246
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXN1YnNjcmlwdGlvbi1mcm9tLWNhcnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc3Vic2NyaXB0aW9uLWZsb3dzL2NyZWF0ZS1zdWJzY3JpcHRpb24tZnJvbS1jYXJ0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQUswQztBQUMxQyw0REFNb0M7QUFDcEMsc0dBQW1HO0FBQ25HLGtHQUErRjtBQUMvRixrSEFBK0c7QUFDL0csOEZBR3NEO0FBQ3RELGdIQUE2RztBQUM3Ryw4RkFHc0Q7QUFDdEQsb0dBQWlHO0FBQ2pHLDJGQUE2RjtBQUM3Rix5REFHc0M7QUFXdEMsTUFBTSxtQ0FBbUMsR0FBRyxvQkFBb0IsQ0FBQTtBQUVuRCxRQUFBLGtDQUFrQyxHQUFHLElBQUEsOEJBQWMsRUFDOUQsK0JBQStCLEVBQy9CLFVBQVUsS0FBOEM7SUFDdEQsTUFBTSxTQUFTLEdBQUcsSUFBQSx5QkFBUyxFQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3JELEdBQUcsRUFBRSxLQUFLLENBQUMsT0FBTztRQUNsQixPQUFPLEVBQUUsRUFBRTtRQUNYLEdBQUcsRUFBRSxHQUFHO0tBQ1QsQ0FBQyxDQUFDLENBQUE7SUFFSCxJQUFBLDRCQUFlLEVBQUMsU0FBUyxDQUFDLENBQUE7SUFFMUIsTUFBTSxXQUFXLEdBQUcsSUFBQSxnRUFBK0IsRUFBQztRQUNsRCxPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU87S0FDdkIsQ0FBQyxDQUFBO0lBRUYsTUFBTSxhQUFhLEdBQUcscUNBQXdCLENBQUMsU0FBUyxDQUFDO1FBQ3ZELEtBQUssRUFBRSxJQUFBLHlCQUFTLEVBQUMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ3ZELE9BQU8sRUFBRSxLQUFLLENBQUMs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
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const cancel_subscription_1 = require("../cancel-subscription");
|
|
4
|
+
describe("buildCancelSubscriptionAnalyticsRebuildInput", () => {
|
|
5
|
+
it("targets the cancellation day for incremental analytics rebuild", () => {
|
|
6
|
+
const result = (0, cancel_subscription_1.buildCancelSubscriptionAnalyticsRebuildInput)({
|
|
7
|
+
cancelled_at: "2026-05-25T09:15:00.000Z",
|
|
8
|
+
triggered_by: "user_456",
|
|
9
|
+
});
|
|
10
|
+
expect(result).toEqual({
|
|
11
|
+
date_from: new Date("2026-05-25T00:00:00.000Z"),
|
|
12
|
+
date_to: new Date("2026-05-25T23:59:59.999Z"),
|
|
13
|
+
trigger_type: "incremental",
|
|
14
|
+
triggered_by: "user_456",
|
|
15
|
+
reason: "cancel_subscription",
|
|
16
|
+
correlation_id: null,
|
|
17
|
+
});
|
|
18
|
+
});
|
|
19
|
+
});
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FuY2VsLXN1YnNjcmlwdGlvbi5zcGVjLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9fX3Rlc3RzX18vY2FuY2VsLXN1YnNjcmlwdGlvbi5zcGVjLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsZ0VBQXFGO0FBRXJGLFFBQVEsQ0FBQyw4Q0FBOEMsRUFBRSxHQUFHLEVBQUU7SUFDNUQsRUFBRSxDQUFDLGdFQUFnRSxFQUFFLEdBQUcsRUFBRTtRQUN4RSxNQUFNLE1BQU0sR0FBRyxJQUFBLGtFQUE0QyxFQUFDO1lBQzFELFlBQVksRUFBRSwwQkFBMEI7WUFDeEMsWUFBWSxFQUFFLFVBQVU7U0FDekIsQ0FBQyxDQUFBO1FBRUYsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sQ0FBQztZQUNyQixTQUFTLEVBQUUsSUFBSSxJQUFJLENBQUMsMEJBQTBCLENBQUM7WUFDL0MsT0FBTyxFQUFFLElBQUksSUFBSSxDQUFDLDBCQUEwQixDQUFDO1lBQzdDLFlBQVksRUFBRSxhQUFhO1lBQzNCLFlBQVksRUFBRSxVQUFVO1lBQ3hCLE1BQU0sRUFBRSxxQkFBcUI7WUFDN0IsY0FBYyxFQUFFLElBQUk7U0FDckIsQ0FBQyxDQUFBO0lBQ0osQ0FBQyxDQUFDLENBQUE7QUFDSixDQUFDLENBQUMsQ0FBQSJ9
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const pause_subscription_1 = require("../pause-subscription");
|
|
4
|
+
describe("buildPauseSubscriptionAnalyticsRebuildInput", () => {
|
|
5
|
+
it("targets the paused day for incremental analytics rebuild", () => {
|
|
6
|
+
const result = (0, pause_subscription_1.buildPauseSubscriptionAnalyticsRebuildInput)({
|
|
7
|
+
paused_at: "2026-05-25T14:22:11.000Z",
|
|
8
|
+
triggered_by: "user_123",
|
|
9
|
+
});
|
|
10
|
+
expect(result).toEqual({
|
|
11
|
+
date_from: new Date("2026-05-25T00:00:00.000Z"),
|
|
12
|
+
date_to: new Date("2026-05-25T23:59:59.999Z"),
|
|
13
|
+
trigger_type: "incremental",
|
|
14
|
+
triggered_by: "user_123",
|
|
15
|
+
reason: "pause_subscription",
|
|
16
|
+
correlation_id: null,
|
|
17
|
+
});
|
|
18
|
+
});
|
|
19
|
+
});
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF1c2Utc3Vic2NyaXB0aW9uLnNwZWMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL19fdGVzdHNfXy9wYXVzZS1zdWJzY3JpcHRpb24uc3BlYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLDhEQUFtRjtBQUVuRixRQUFRLENBQUMsNkNBQTZDLEVBQUUsR0FBRyxFQUFFO0lBQzNELEVBQUUsQ0FBQywwREFBMEQsRUFBRSxHQUFHLEVBQUU7UUFDbEUsTUFBTSxNQUFNLEdBQUcsSUFBQSxnRUFBMkMsRUFBQztZQUN6RCxTQUFTLEVBQUUsMEJBQTBCO1lBQ3JDLFlBQVksRUFBRSxVQUFVO1NBQ3pCLENBQUMsQ0FBQTtRQUVGLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLENBQUM7WUFDckIsU0FBUyxFQUFFLElBQUksSUFBSSxDQUFDLDBCQUEwQixDQUFDO1lBQy9DLE9BQU8sRUFBRSxJQUFJLElBQUksQ0FBQywwQkFBMEIsQ0FBQztZQUM3QyxZQUFZLEVBQUUsYUFBYTtZQUMzQixZQUFZLEVBQUUsVUFBVTtZQUN4QixNQUFNLEVBQUUsb0JBQW9CO1lBQzVCLGNBQWMsRUFBRSxJQUFJO1NBQ3JCLENBQUMsQ0FBQTtJQUNKLENBQUMsQ0FBQyxDQUFBO0FBQ0osQ0FBQyxDQUFDLENBQUEifQ==
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const update_subscription_shipping_address_1 = require("../update-subscription-shipping-address");
|
|
4
|
+
describe("buildShippingAddressLogStates", () => {
|
|
5
|
+
it("marks sensitive address changes through before/after flags", () => {
|
|
6
|
+
const result = (0, update_subscription_shipping_address_1.buildShippingAddressLogStates)({
|
|
7
|
+
first_name: "Test name",
|
|
8
|
+
last_name: "Tester last_name",
|
|
9
|
+
company: null,
|
|
10
|
+
address_1: "New test street 1",
|
|
11
|
+
address_2: null,
|
|
12
|
+
city: "Warsaw",
|
|
13
|
+
postal_code: "60-123",
|
|
14
|
+
province: "Mazowieckie",
|
|
15
|
+
country_code: "pl",
|
|
16
|
+
phone: "+48111111111",
|
|
17
|
+
}, {
|
|
18
|
+
first_name: "Test name",
|
|
19
|
+
last_name: "Tester last_name",
|
|
20
|
+
company: null,
|
|
21
|
+
address_1: "Kolorowa 15",
|
|
22
|
+
address_2: null,
|
|
23
|
+
city: "Warsaw",
|
|
24
|
+
postal_code: "60-123",
|
|
25
|
+
province: "Mazowieckie",
|
|
26
|
+
country_code: "pl",
|
|
27
|
+
phone: "+48111111111",
|
|
28
|
+
});
|
|
29
|
+
expect(result.previous).toEqual({
|
|
30
|
+
recipient: "Test name Tester last_name",
|
|
31
|
+
address: "New test street 1",
|
|
32
|
+
city: "Warsaw",
|
|
33
|
+
province: "Mazowieckie",
|
|
34
|
+
postal_code_changed: false,
|
|
35
|
+
country_code: "pl",
|
|
36
|
+
phone_changed: false,
|
|
37
|
+
});
|
|
38
|
+
expect(result.current).toEqual({
|
|
39
|
+
recipient: "Test name Tester last_name",
|
|
40
|
+
address: "Kolorowa 15",
|
|
41
|
+
city: "Warsaw",
|
|
42
|
+
province: "Mazowieckie",
|
|
43
|
+
postal_code_changed: false,
|
|
44
|
+
country_code: "pl",
|
|
45
|
+
phone_changed: false,
|
|
46
|
+
});
|
|
47
|
+
});
|
|
48
|
+
});
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLXN1YnNjcmlwdGlvbi1zaGlwcGluZy1hZGRyZXNzLnNwZWMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL19fdGVzdHNfXy91cGRhdGUtc3Vic2NyaXB0aW9uLXNoaXBwaW5nLWFkZHJlc3Muc3BlYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLGtHQUF1RjtBQUV2RixRQUFRLENBQUMsK0JBQStCLEVBQUUsR0FBRyxFQUFFO0lBQzdDLEVBQUUsQ0FBQyw0REFBNEQsRUFBRSxHQUFHLEVBQUU7UUFDcEUsTUFBTSxNQUFNLEdBQUcsSUFBQSxvRUFBNkIsRUFDMUM7WUFDRSxVQUFVLEVBQUUsV0FBVztZQUN2QixTQUFTLEVBQUUsa0JBQWtCO1lBQzdCLE9BQU8sRUFBRSxJQUFJO1lBQ2IsU0FBUyxFQUFFLG1CQUFtQjtZQUM5QixTQUFTLEVBQUUsSUFBSTtZQUNmLElBQUksRUFBRSxRQUFRO1lBQ2QsV0FBVyxFQUFFLFFBQVE7WUFDckIsUUFBUSxFQUFFLGFBQWE7WUFDdkIsWUFBWSxFQUFFLElBQUk7WUFDbEIsS0FBSyxFQUFFLGNBQWM7U0FDdEIsRUFDRDtZQUNFLFVBQVUsRUFBRSxXQUFXO1lBQ3ZCLFNBQVMsRUFBRSxrQkFBa0I7WUFDN0IsT0FBTyxFQUFFLElBQUk7WUFDYixTQUFTLEVBQUUsYUFBYTtZQUN4QixTQUFTLEVBQUUsSUFBSTtZQUNmLElBQUksRUFBRSxRQUFRO1lBQ2QsV0FBVyxFQUFFLFFBQVE7WUFDckIsUUFBUSxFQUFFLGFBQWE7WUFDdkIsWUFBWSxFQUFFLElBQUk7WUFDbEIsS0FBSyxFQUFFLGNBQWM7U0FDdEIsQ0FDRixDQUFBO1FBRUQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxPQUFPLENBQUM7WUFDOUIsU0FBUyxFQUFFLDRCQUE0QjtZQUN2QyxPQUFPLEVBQUUsbUJBQW1CO1lBQzVCLElBQUksRUFBRSxRQUFRO1lBQ2QsUUFBUSxFQUFFLGFBQWE7WUFDdkIsbUJBQW1CLEVBQUUsS0FBSztZQUMxQixZQUFZLEVBQUUsSUFBSTtZQUNsQixhQUFhLEVBQUUsS0FBSztTQUNyQixDQUFDLENBQUE7UUFFRixNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQztZQUM3QixTQUFTLEVBQUUsNEJBQTRCO1lBQ3ZDLE9BQU8sRUFBRSxhQUFhO1lBQ3RCLElBQUksRUFBRSxRQUFRO1lBQ2QsUUFBUSxFQUFFLGFBQWE7WUFDdkIsbUJBQW1CLEVBQUUsS0FBSztZQUMxQixZQUFZLEVBQUUsSUFBSTtZQUNsQixhQUFhLEVBQUUsS0FBSztTQUNyQixDQUFDLENBQUE7SUFDSixDQUFDLENBQUMsQ0FBQTtBQUNKLENBQUMsQ0FBQyxDQUFBIn0=
|
|
@@ -1,13 +1,24 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.cancelSubscriptionWorkflow = void 0;
|
|
4
|
+
exports.buildCancelSubscriptionAnalyticsRebuildInput = buildCancelSubscriptionAnalyticsRebuildInput;
|
|
4
5
|
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
6
|
const create_subscription_log_event_1 = require("./steps/create-subscription-log-event");
|
|
6
7
|
const ensure_next_renewal_cycle_1 = require("./steps/ensure-next-renewal-cycle");
|
|
7
8
|
const cancel_subscription_1 = require("./steps/cancel-subscription");
|
|
8
9
|
const normalize_log_event_1 = require("../modules/activity-log/utils/normalize-log-event");
|
|
9
10
|
const types_1 = require("../modules/activity-log/types");
|
|
11
|
+
const rebuild_analytics_daily_snapshots_1 = require("./rebuild-analytics-daily-snapshots");
|
|
10
12
|
const date_output_1 = require("./utils/date-output");
|
|
13
|
+
const analytics_incremental_1 = require("./utils/analytics-incremental");
|
|
14
|
+
function buildCancelSubscriptionAnalyticsRebuildInput(input) {
|
|
15
|
+
return (0, analytics_incremental_1.buildAnalyticsIncrementalRebuildInput)({
|
|
16
|
+
occurred_at: input.cancelled_at ?? new Date(),
|
|
17
|
+
trigger_source: "cancel_subscription",
|
|
18
|
+
correlation_id: null,
|
|
19
|
+
triggered_by: input.triggered_by ?? null,
|
|
20
|
+
});
|
|
21
|
+
}
|
|
11
22
|
exports.cancelSubscriptionWorkflow = (0, workflows_sdk_1.createWorkflow)("cancel-subscription", function (input) {
|
|
12
23
|
const subscriptionChange = (0, cancel_subscription_1.cancelSubscriptionStep)(input);
|
|
13
24
|
const logInput = (0, workflows_sdk_1.transform)({ subscriptionChange, input }, function ({ subscriptionChange, input }) {
|
|
@@ -55,10 +66,19 @@ exports.cancelSubscriptionWorkflow = (0, workflows_sdk_1.createWorkflow)("cancel
|
|
|
55
66
|
};
|
|
56
67
|
});
|
|
57
68
|
const renewal_cycle = (0, ensure_next_renewal_cycle_1.ensureNextRenewalCycleStep)(ensureInput);
|
|
69
|
+
const incrementalAnalyticsInput = (0, workflows_sdk_1.transform)({ subscriptionChange, input }, function ({ subscriptionChange, input }) {
|
|
70
|
+
return buildCancelSubscriptionAnalyticsRebuildInput({
|
|
71
|
+
cancelled_at: subscriptionChange.current.cancelled_at,
|
|
72
|
+
triggered_by: input.triggered_by ?? null,
|
|
73
|
+
});
|
|
74
|
+
});
|
|
75
|
+
rebuild_analytics_daily_snapshots_1.rebuildAnalyticsDailySnapshotsWorkflow.runAsStep({
|
|
76
|
+
input: incrementalAnalyticsInput,
|
|
77
|
+
});
|
|
58
78
|
return new workflows_sdk_1.WorkflowResponse({
|
|
59
79
|
subscription: subscriptionChange.current,
|
|
60
80
|
renewal_cycle,
|
|
61
81
|
});
|
|
62
82
|
});
|
|
63
83
|
exports.default = exports.cancelSubscriptionWorkflow;
|
|
64
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
84
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FuY2VsLXN1YnNjcmlwdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvY2FuY2VsLXN1YnNjcmlwdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFvQkEsb0dBVUM7QUE5QkQscUVBSTBDO0FBQzFDLHlGQUFzRjtBQUN0RixpRkFBOEU7QUFDOUUscUVBR29DO0FBQ3BDLDJGQUE2RjtBQUM3Rix5REFHc0M7QUFDdEMsMkZBQTRGO0FBQzVGLHFEQUF1RDtBQUN2RCx5RUFBcUY7QUFFckYsU0FBZ0IsNENBQTRDLENBQUMsS0FHNUQ7SUFDQyxPQUFPLElBQUEsNkRBQXFDLEVBQUM7UUFDM0MsV0FBVyxFQUFFLEtBQUssQ0FBQyxZQUFZLElBQUksSUFBSSxJQUFJLEVBQUU7UUFDN0MsY0FBYyxFQUFFLHFCQUFxQjtRQUNyQyxjQUFjLEVBQUUsSUFBSTtRQUNwQixZQUFZLEVBQUUsS0FBSyxDQUFDLFlBQVksSUFBSSxJQUFJO0tBQ3pDLENBQUMsQ0FBQTtBQUNKLENBQUM7QUFFWSxRQUFBLDBCQUEwQixHQUFHLElBQUEsOEJBQWMsRUFDdEQscUJBQXFCLEVBQ3JCLFVBQVUsS0FBa0M7SUFDMUMsTUFBTSxrQkFBa0IsR0FBRyxJQUFBLDRDQUFzQixFQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ3hELE1BQU0sUUFBUSxHQUFHLElBQUEseUJBQVMsRUFDeEIsRUFBRSxrQkFBa0IsRUFBRSxLQUFLLEVBQUUsRUFDN0IsVUFBVSxFQUFFLGtCQUFrQixFQUFFLEtBQUssRUFBRTtRQUNyQyxPQUFPO1lBQ0wsU0FBUyxFQUFFLElBQUEsK0NBQXlCLEVBQUM7Z0JBQ25DLGVBQWUsRUFBRSxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsRUFBRTtnQkFDOUMsV0FBVyxFQUFFLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxXQUFXO2dCQUNuRCxVQUFVLEVBQUUsNEJBQW9CLENBQUMscUJBQXFCO2dCQUN0RCxVQUFVLEVB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
|
|
@@ -3,7 +3,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.
|
|
6
|
+
exports.rebuildAnalyticsDailySnapshotsWorkflowDefault = exports.rebuildAnalyticsDailySnapshotsWorkflow = exports.updateDunningRetryScheduleWorkflowDefault = exports.updateDunningRetryScheduleWorkflow = exports.markDunningUnrecoveredWorkflowDefault = exports.markDunningUnrecoveredWorkflow = exports.markDunningRecoveredWorkflowDefault = exports.markDunningRecoveredWorkflow = exports.runDunningRetryWorkflowDefault = exports.runDunningRetryWorkflow = exports.updateCancellationReasonWorkflowDefault = exports.updateCancellationReasonWorkflow = exports.finalizeCancellationWorkflowDefault = exports.finalizeCancellationWorkflow = exports.applyRetentionOfferWorkflowDefault = exports.applyRetentionOfferWorkflow = exports.startCancellationCaseWorkflowDefault = exports.startCancellationCaseWorkflow = exports.startDunningWorkflowDefault = exports.startDunningWorkflow = exports.rejectRenewalChangesWorkflowDefault = exports.rejectRenewalChangesWorkflow = exports.approveRenewalChangesWorkflowDefault = exports.approveRenewalChangesWorkflow = exports.forceRenewalCycleWorkflowDefault = exports.forceRenewalCycleWorkflow = exports.ensureNextRenewalCycleWorkflowDefault = exports.ensureNextRenewalCycleWorkflow = exports.processRenewalCycleWorkflowDefault = exports.processRenewalCycleWorkflow = exports.togglePlanOfferWorkflowDefault = exports.togglePlanOfferWorkflow = exports.updatePlanOfferWorkflowDefault = exports.updatePlanOfferWorkflow = exports.createOrUpsertPlanOfferWorkflowDefault = exports.createOrUpsertPlanOfferWorkflow = exports.skipNextDeliveryWorkflowDefault = exports.skipNextDeliveryWorkflow = exports.updateSubscriptionPaymentMethodWorkflowDefault = exports.updateSubscriptionPaymentMethodWorkflow = exports.updateSubscriptionShippingAddressWorkflowDefault = exports.updateSubscriptionShippingAddressWorkflow = exports.scheduleSubscriptionPlanChangeWorkflowDefault = exports.scheduleSubscriptionPlanChangeWorkflow = exports.resumeSubscriptionWorkflowDefault = exports.resumeSubscriptionWorkflow = exports.pauseSubscriptionWorkflowDefault = exports.pauseSubscriptionWorkflow = exports.cancelSubscriptionWorkflowDefault = exports.cancelSubscriptionWorkflow = void 0;
|
|
7
|
+
exports.updateSubscriptionSettingsWorkflowDefault = exports.updateSubscriptionSettingsWorkflow = void 0;
|
|
7
8
|
var cancel_subscription_1 = require("./cancel-subscription");
|
|
8
9
|
Object.defineProperty(exports, "cancelSubscriptionWorkflow", { enumerable: true, get: function () { return cancel_subscription_1.cancelSubscriptionWorkflow; } });
|
|
9
10
|
Object.defineProperty(exports, "cancelSubscriptionWorkflowDefault", { enumerable: true, get: function () { return __importDefault(cancel_subscription_1).default; } });
|
|
@@ -19,6 +20,9 @@ Object.defineProperty(exports, "scheduleSubscriptionPlanChangeWorkflowDefault",
|
|
|
19
20
|
var update_subscription_shipping_address_1 = require("./update-subscription-shipping-address");
|
|
20
21
|
Object.defineProperty(exports, "updateSubscriptionShippingAddressWorkflow", { enumerable: true, get: function () { return update_subscription_shipping_address_1.updateSubscriptionShippingAddressWorkflow; } });
|
|
21
22
|
Object.defineProperty(exports, "updateSubscriptionShippingAddressWorkflowDefault", { enumerable: true, get: function () { return __importDefault(update_subscription_shipping_address_1).default; } });
|
|
23
|
+
var update_subscription_payment_method_1 = require("./update-subscription-payment-method");
|
|
24
|
+
Object.defineProperty(exports, "updateSubscriptionPaymentMethodWorkflow", { enumerable: true, get: function () { return update_subscription_payment_method_1.updateSubscriptionPaymentMethodWorkflow; } });
|
|
25
|
+
Object.defineProperty(exports, "updateSubscriptionPaymentMethodWorkflowDefault", { enumerable: true, get: function () { return __importDefault(update_subscription_payment_method_1).default; } });
|
|
22
26
|
var skip_next_delivery_1 = require("./skip-next-delivery");
|
|
23
27
|
Object.defineProperty(exports, "skipNextDeliveryWorkflow", { enumerable: true, get: function () { return skip_next_delivery_1.skipNextDeliveryWorkflow; } });
|
|
24
28
|
Object.defineProperty(exports, "skipNextDeliveryWorkflowDefault", { enumerable: true, get: function () { return __importDefault(skip_next_delivery_1).default; } });
|
|
@@ -79,4 +83,4 @@ Object.defineProperty(exports, "rebuildAnalyticsDailySnapshotsWorkflowDefault",
|
|
|
79
83
|
var update_subscription_settings_1 = require("./update-subscription-settings");
|
|
80
84
|
Object.defineProperty(exports, "updateSubscriptionSettingsWorkflow", { enumerable: true, get: function () { return update_subscription_settings_1.updateSubscriptionSettingsWorkflow; } });
|
|
81
85
|
Object.defineProperty(exports, "updateSubscriptionSettingsWorkflowDefault", { enumerable: true, get: function () { return __importDefault(update_subscription_settings_1).default; } });
|
|
82
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
86
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQSw2REFHOEI7QUFGNUIsaUlBQUEsMEJBQTBCLE9BQUE7QUFDMUIseUpBQUEsT0FBTyxPQUFxQztBQUU5QywyREFHNkI7QUFGM0IsK0hBQUEseUJBQXlCLE9BQUE7QUFDekIsdUpBQUEsT0FBTyxPQUFvQztBQUU3Qyw2REFHOEI7QUFGNUIsaUlBQUEsMEJBQTBCLE9BQUE7QUFDMUIseUpBQUEsT0FBTyxPQUFxQztBQUU5Qyx5RkFHNEM7QUFGMUMsMkpBQUEsc0NBQXNDLE9BQUE7QUFDdEMsbUxBQUEsT0FBTyxPQUFpRDtBQUUxRCwrRkFHK0M7QUFGN0MsaUtBQUEseUNBQXlDLE9BQUE7QUFDekMseUxBQUEsT0FBTyxPQUFvRDtBQUU3RCwyRkFHNkM7QUFGM0MsNkpBQUEsdUNBQXVDLE9BQUE7QUFDdkMscUxBQUEsT0FBTyxPQUFrRDtBQUUzRCwyREFHNkI7QUFGM0IsOEhBQUEsd0JBQXdCLE9BQUE7QUFDeEIsc0pBQUEsT0FBTyxPQUFtQztBQUU1Qyw2RUFHc0M7QUFGcEMsOElBQUEsK0JBQStCLE9BQUE7QUFDL0Isc0tBQUEsT0FBTyxPQUEwQztBQUVuRCx5REFHNEI7QUFGMUIsNEhBQUEsdUJBQXVCLE9BQUE7QUFDdkIsb0pBQUEsT0FBTyxPQUFrQztBQUUzQyx5REFHNEI7QUFGMUIsNEhBQUEsdUJBQXVCLE9BQUE7QUFDdkIsb0pBQUEsT0FBTyxPQUFrQztBQUUzQyxpRUFHZ0M7QUFGOUIsb0lBQUEsMkJBQTJCLE9BQUE7QUFDM0IsNEpBQUEsT0FBTyxPQUFzQztBQUUvQyx5RUFHb0M7QUFGbEMsMklBQUEsOEJBQThCLE9BQUE7QUFDOUIsbUtBQUEsT0FBTyxPQUF5QztBQUVsRCw2REFHOEI7QUFGNUIsZ0lBQUEseUJBQXlCLE9BQUE7QUFDekIsd0pBQUEsT0FBTyxPQUFvQztBQUU3QyxxRUFHa0M7QUFGaEMsd0lBQUEsNkJBQTZCLE9BQUE7QUFDN0IsZ0tBQUEsT0FBTyxPQUF3QztBQUVqRCxtRUFHaUM7QUFGL0Isc0lBQUEsNEJBQTRCLE9BQUE7QUFDNUIsOEpBQUEsT0FBTyxPQUF1QztBQUVoRCxpREFHd0I7QUFGdEIscUhBQUEsb0JBQW9CLE9BQUE7QUFDcEIsNklBQUEsT0FBTyxPQUErQjtBQUV4QyxxRUFHa0M7QUFGaEMsd0lBQUEsNkJBQTZCLE9BQUE7QUFDN0IsZ0tBQUEsT0FBTyxPQUF3QztBQUVqRCxpRUFHZ0M7QUFGOUIsb0lBQUEsMkJBQTJCLE9BQUE7QUFDM0IsNEpBQUEsT0FBTyxPQUFzQztBQUUvQyxpRUFHZ0M7QUFGOUIscUlBQUEsNEJBQTRCLE9BQUE7QUFDNUIsNkpBQUEsT0FBTyxPQUF1QztBQUVoRCwyRUFHcUM7QUFGbkMsOElBQUEsZ0NBQWdDLE9BQUE7QUFDaEMsc0tBQUEsT0FBTyxPQUEyQztBQUVwRCx5REFHNEI7QUFGMUIsNEhBQUEsdUJBQXVCLE9BQUE7QUFDdkIsb0pBQUEsT0FBTyxPQUFrQztBQUUzQyxtRUFHaUM7QUFGL0Isc0lBQUEsNEJBQTRCLE9BQUE7QUFDNUIsOEpBQUEsT0FBTyxPQUF1QztBQUVoRCx1RUFHbUM7QUFGakMsMElBQUEsOEJBQThCLE9BQUE7QUFDOUIsa0tBQUEsT0FBTyxPQUF5QztBQUVsRCxpRkFHd0M7QUFGdEMsbUpBQUEsa0NBQWtDLE9BQUE7QUFDbEMsMktBQUEsT0FBTyxPQUE2QztBQUV0RCx5RkFHNEM7QUFGMUMsMkpBQUEsc0NBQXNDLE9BQUE7QUFDdEMsbUxBQUEsT0FBTyxPQUFpRDtBQUUxRCwrRUFHdUM7QUFGckMsa0pBQUEsa0NBQWtDLE9BQUE7QUFDbEMsMEtBQUEsT0FBTyxPQUE2QyJ9
|
|
@@ -1,13 +1,24 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.pauseSubscriptionWorkflow = void 0;
|
|
4
|
+
exports.buildPauseSubscriptionAnalyticsRebuildInput = buildPauseSubscriptionAnalyticsRebuildInput;
|
|
4
5
|
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
6
|
const create_subscription_log_event_1 = require("./steps/create-subscription-log-event");
|
|
6
7
|
const ensure_next_renewal_cycle_1 = require("./steps/ensure-next-renewal-cycle");
|
|
7
8
|
const pause_subscription_1 = require("./steps/pause-subscription");
|
|
8
9
|
const normalize_log_event_1 = require("../modules/activity-log/utils/normalize-log-event");
|
|
9
10
|
const types_1 = require("../modules/activity-log/types");
|
|
11
|
+
const rebuild_analytics_daily_snapshots_1 = require("./rebuild-analytics-daily-snapshots");
|
|
10
12
|
const date_output_1 = require("./utils/date-output");
|
|
13
|
+
const analytics_incremental_1 = require("./utils/analytics-incremental");
|
|
14
|
+
function buildPauseSubscriptionAnalyticsRebuildInput(input) {
|
|
15
|
+
return (0, analytics_incremental_1.buildAnalyticsIncrementalRebuildInput)({
|
|
16
|
+
occurred_at: input.paused_at ?? new Date(),
|
|
17
|
+
trigger_source: "pause_subscription",
|
|
18
|
+
correlation_id: null,
|
|
19
|
+
triggered_by: input.triggered_by ?? null,
|
|
20
|
+
});
|
|
21
|
+
}
|
|
11
22
|
exports.pauseSubscriptionWorkflow = (0, workflows_sdk_1.createWorkflow)("pause-subscription", function (input) {
|
|
12
23
|
const subscriptionChange = (0, pause_subscription_1.pauseSubscriptionStep)(input);
|
|
13
24
|
const logInput = (0, workflows_sdk_1.transform)({ subscriptionChange, input }, function ({ subscriptionChange, input }) {
|
|
@@ -52,10 +63,19 @@ exports.pauseSubscriptionWorkflow = (0, workflows_sdk_1.createWorkflow)("pause-s
|
|
|
52
63
|
};
|
|
53
64
|
});
|
|
54
65
|
const renewal_cycle = (0, ensure_next_renewal_cycle_1.ensureNextRenewalCycleStep)(ensureInput);
|
|
66
|
+
const incrementalAnalyticsInput = (0, workflows_sdk_1.transform)({ subscriptionChange, input }, function ({ subscriptionChange, input }) {
|
|
67
|
+
return buildPauseSubscriptionAnalyticsRebuildInput({
|
|
68
|
+
paused_at: subscriptionChange.current.paused_at,
|
|
69
|
+
triggered_by: input.triggered_by ?? null,
|
|
70
|
+
});
|
|
71
|
+
});
|
|
72
|
+
rebuild_analytics_daily_snapshots_1.rebuildAnalyticsDailySnapshotsWorkflow.runAsStep({
|
|
73
|
+
input: incrementalAnalyticsInput,
|
|
74
|
+
});
|
|
55
75
|
return new workflows_sdk_1.WorkflowResponse({
|
|
56
76
|
subscription: subscriptionChange.current,
|
|
57
77
|
renewal_cycle,
|
|
58
78
|
});
|
|
59
79
|
});
|
|
60
80
|
exports.default = exports.pauseSubscriptionWorkflow;
|
|
61
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF1c2Utc3Vic2NyaXB0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9wYXVzZS1zdWJzY3JpcHRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBb0JBLGtHQVVDO0FBOUJELHFFQUkwQztBQUMxQyx5RkFBc0Y7QUFDdEYsaUZBQThFO0FBQzlFLG1FQUdtQztBQUNuQywyRkFBNkY7QUFDN0YseURBR3NDO0FBQ3RDLDJGQUE0RjtBQUM1RixxREFBdUQ7QUFDdkQseUVBQXFGO0FBRXJGLFNBQWdCLDJDQUEyQyxDQUFDLEtBRzNEO0lBQ0MsT0FBTyxJQUFBLDZEQUFxQyxFQUFDO1FBQzNDLFdBQVcsRUFBRSxLQUFLLENBQUMsU0FBUyxJQUFJLElBQUksSUFBSSxFQUFFO1FBQzFDLGNBQWMsRUFBRSxvQkFBb0I7UUFDcEMsY0FBYyxFQUFFLElBQUk7UUFDcEIsWUFBWSxFQUFFLEtBQUssQ0FBQyxZQUFZLElBQUksSUFBSTtLQUN6QyxDQUFDLENBQUE7QUFDSixDQUFDO0FBRVksUUFBQSx5QkFBeUIsR0FBRyxJQUFBLDhCQUFjLEVBQ3JELG9CQUFvQixFQUNwQixVQUFVLEtBQWlDO0lBQ3pDLE1BQU0sa0JBQWtCLEdBQUcsSUFBQSwwQ0FBcUIsRUFBQyxLQUFLLENBQUMsQ0FBQTtJQUN2RCxNQUFNLFFBQVEsR0FBRyxJQUFBLHlCQUFTLEVBQ3hCLEVBQUUsa0JBQWtCLEVBQUUsS0FBSyxFQUFFLEVBQzdCLFVBQVUsRUFBRSxrQkFBa0IsRUFBRSxLQUFLLEVBQUU7UUFDckMsT0FBTztZQUNMLFNBQVMsRUFBRSxJQUFBLCtDQUF5QixFQUFDO2dCQUNuQyxlQUFlLEVBQUUsa0JBQWtCLENBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQzlDLFdBQVcsRUFBRSxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsV0FBVztnQkFDbkQsVUFBVSxFQUFFLDRCQUFvQixDQUFDLG1CQUFtQjtnQkFDcEQsVUFBVSxFQUFF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
|
|
@@ -97,6 +97,8 @@ async function listSubscriptionsForDay(container, dayEnd, batchSize, offset) {
|
|
|
97
97
|
"started_at",
|
|
98
98
|
"paused_at",
|
|
99
99
|
"cancel_effective_at",
|
|
100
|
+
"orders.id",
|
|
101
|
+
"orders.created_at",
|
|
100
102
|
],
|
|
101
103
|
filters: {
|
|
102
104
|
started_at: {
|
|
@@ -260,10 +262,30 @@ async function rebuildSingleDay(container, analyticsModule, input, dayIso) {
|
|
|
260
262
|
latestRenewalBySubscription.set(renewalCycle.subscription_id, renewalCycle);
|
|
261
263
|
}
|
|
262
264
|
}
|
|
263
|
-
const
|
|
264
|
-
|
|
265
|
-
.
|
|
266
|
-
|
|
265
|
+
const orderIdsToFetch = new Set();
|
|
266
|
+
for (const cycle of latestRenewalBySubscription.values()) {
|
|
267
|
+
if (cycle.generated_order_id) {
|
|
268
|
+
orderIdsToFetch.add(cycle.generated_order_id);
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
const latestOrderBySubscription = new Map();
|
|
272
|
+
for (const subscription of subscriptions) {
|
|
273
|
+
const orders = subscription.orders ?? [];
|
|
274
|
+
let latestId = null;
|
|
275
|
+
let latestCreatedAt = 0;
|
|
276
|
+
for (const order of orders) {
|
|
277
|
+
const createdAt = new Date(order.created_at).getTime();
|
|
278
|
+
if (createdAt <= dayEnd.getTime() && createdAt > latestCreatedAt) {
|
|
279
|
+
latestCreatedAt = createdAt;
|
|
280
|
+
latestId = order.id;
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
if (latestId) {
|
|
284
|
+
latestOrderBySubscription.set(subscription.id, latestId);
|
|
285
|
+
orderIdsToFetch.add(latestId);
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
const orders = await listOrders(container, Array.from(orderIdsToFetch));
|
|
267
289
|
const ordersById = new Map(orders.map((order) => [order.id, order]));
|
|
268
290
|
for (const subscription of subscriptions) {
|
|
269
291
|
const lifecycleEvent = latestLifecycleEventBySubscription.get(subscription.id) ?? null;
|
|
@@ -271,10 +293,11 @@ async function rebuildSingleDay(container, analyticsModule, input, dayIso) {
|
|
|
271
293
|
const isActive = derivedStatus === types_3.SubscriptionStatus.ACTIVE;
|
|
272
294
|
const churnEvent = churnBySubscription.get(subscription.id) ?? null;
|
|
273
295
|
const latestRenewal = latestRenewalBySubscription.get(subscription.id) ?? null;
|
|
274
|
-
const
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
const
|
|
296
|
+
const latestOrderId = latestRenewal?.generated_order_id ??
|
|
297
|
+
latestOrderBySubscription.get(subscription.id) ??
|
|
298
|
+
null;
|
|
299
|
+
const latestOrder = latestOrderId ? ordersById.get(latestOrderId) ?? null : null;
|
|
300
|
+
const orderTotal = latestOrder ? Number(latestOrder?.total ?? 0) : null;
|
|
278
301
|
const mrrAmount = isActive && latestOrder && Number.isFinite(orderTotal)
|
|
279
302
|
? normalizeMonthlyRecurringValue(orderTotal, subscription.frequency_interval, subscription.frequency_value)
|
|
280
303
|
: null;
|
|
@@ -297,7 +320,7 @@ async function rebuildSingleDay(container, analyticsModule, input, dayIso) {
|
|
|
297
320
|
lifecycle_event_type: lifecycleEvent?.event_type ?? null,
|
|
298
321
|
dunning_open_at_day_end: openDunningBySubscription.get(subscription.id) ?? false,
|
|
299
322
|
renewal_order_id: latestRenewal?.generated_order_id ?? null,
|
|
300
|
-
revenue_source:
|
|
323
|
+
revenue_source: latestOrderId ? "order" : "unavailable",
|
|
301
324
|
churn_source: churnEvent ? "cancellation_case" : null,
|
|
302
325
|
},
|
|
303
326
|
metadata: {
|
|
@@ -516,4 +539,4 @@ exports.rebuildAnalyticsDailySnapshotsStep = (0, workflows_sdk_1.createStep)("re
|
|
|
516
539
|
failed_days: failedDays,
|
|
517
540
|
});
|
|
518
541
|
});
|
|
519
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVidWlsZC1hbmFseXRpY3MtZGFpbHktc25hcHNob3RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9zdGVwcy9yZWJ1aWxkLWFuYWx5dGljcy1kYWlseS1zbmFwc2hvdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBQTRFO0FBRTVFLHFEQUE4RTtBQUM5RSx1REFFZ0M7QUFFaEMsaUVBQTZFO0FBQzdFLDZFQUE2RjtBQUM3RiwrRUFNb0Q7QUFDcEQsNERBR3lDO0FBQ3pDLDREQUV5QztBQUN6Qyw0REFHeUM7QUFzSHpDLFNBQVMsUUFBUSxDQUFDLFNBQTBCO0lBQzFDLE9BQU8sU0FBUyxDQUFDLE9BQU8sQ0FBWSxpQ0FBeUIsQ0FBQyxLQUFLLENBQUMsQ0FBQTtBQUN0RSxDQUFDO0FBRUQsU0FBUyxVQUFVLENBQUMsU0FBMEI7SUFDNUMsT0FBTyxTQUFTLENBQUMsT0FBTyxDQUFpQixlQUFPLENBQUMsT0FBTyxDQUFDLENBQUE7QUFDM0QsQ0FBQztBQUVELFNBQVMsWUFBWSxDQUFDLElBQVU7SUFDOUIsT0FBTyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQTtBQUN4QyxDQUFDO0FBRUQsU0FBUywwQkFBMEIsQ0FBQyxLQUErQztJQUNqRixPQUFPLDZCQUE2QixLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUE7QUFDbEcsQ0FBQztBQUVELFNBQVMsd0JBQXdCLENBQUMsUUFBYztJQUM5QyxPQUFPLHVCQUF1QixZQUFZLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQTtBQUN4RCxDQUFDO0FBRUQsU0FBUyxhQUFhLENBQUMsTUFBYztJQUNuQyxPQUFPLElBQUks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
|
|
542
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVidWlsZC1hbmFseXRpY3MtZGFpbHktc25hcHNob3RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9zdGVwcy9yZWJ1aWxkLWFuYWx5dGljcy1kYWlseS1zbmFwc2hvdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBQTRFO0FBRTVFLHFEQUE4RTtBQUM5RSx1REFFZ0M7QUFFaEMsaUVBQTZFO0FBQzdFLDZFQUE2RjtBQUM3RiwrRUFNb0Q7QUFDcEQsNERBR3lDO0FBQ3pDLDREQUV5QztBQUN6Qyw0REFHeUM7QUFzSHpDLFNBQVMsUUFBUSxDQUFDLFNBQTBCO0lBQzFDLE9BQU8sU0FBUyxDQUFDLE9BQU8sQ0FBWSxpQ0FBeUIsQ0FBQyxLQUFLLENBQUMsQ0FBQTtBQUN0RSxDQUFDO0FBRUQsU0FBUyxVQUFVLENBQUMsU0FBMEI7SUFDNUMsT0FBTyxTQUFTLENBQUMsT0FBTyxDQUFpQixlQUFPLENBQUMsT0FBTyxDQUFDLENBQUE7QUFDM0QsQ0FBQztBQUVELFNBQVMsWUFBWSxDQUFDLElBQVU7SUFDOUIsT0FBTyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQTtBQUN4QyxDQUFDO0FBRUQsU0FBUywwQkFBMEIsQ0FBQyxLQUErQztJQUNqRixPQUFPLDZCQUE2QixLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUE7QUFDbEcsQ0FBQztBQUVELFNBQVMsd0JBQXdCLENBQUMsUUFBYztJQUM5QyxPQUFPLHVCQUF1QixZQUFZLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQTtBQUN4RCxDQUFDO0FBRUQsU0FBUyxhQUFhLENBQUMsTUFBYztJQUNuQyxPQUFPLElBQUks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
|