@mercurjs/core 2.3.9-canary.4 → 2.3.9-canary.6
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/src/api/admin/middlewares.js +41 -39
- package/.medusa/server/src/api/admin/payout-accounts/[id]/refresh-link/route.d.ts +3 -0
- package/.medusa/server/src/api/admin/payout-accounts/[id]/refresh-link/route.js +14 -0
- package/.medusa/server/src/api/admin/payout-accounts/[id]/route.d.ts +3 -0
- package/.medusa/server/src/api/admin/payout-accounts/[id]/route.js +18 -0
- package/.medusa/server/src/api/admin/payout-accounts/[id]/sync/route.d.ts +3 -0
- package/.medusa/server/src/api/admin/payout-accounts/[id]/sync/route.js +14 -0
- package/.medusa/server/src/api/admin/payout-accounts/helpers.d.ts +2 -0
- package/.medusa/server/src/api/admin/payout-accounts/helpers.js +7 -0
- package/.medusa/server/src/api/admin/payout-accounts/middlewares.d.ts +2 -0
- package/.medusa/server/src/api/admin/payout-accounts/middlewares.js +45 -0
- package/.medusa/server/src/api/admin/payout-accounts/query-config.d.ts +11 -0
- package/.medusa/server/src/api/admin/payout-accounts/query-config.js +26 -0
- package/.medusa/server/src/api/admin/payout-accounts/route.d.ts +5 -0
- package/.medusa/server/src/api/admin/payout-accounts/route.js +31 -0
- package/.medusa/server/src/api/admin/payout-accounts/validators.d.ts +51 -0
- package/.medusa/server/src/api/admin/payout-accounts/validators.js +22 -0
- package/.medusa/server/src/api/admin/payouts/[id]/retry/route.d.ts +3 -0
- package/.medusa/server/src/api/admin/payouts/[id]/retry/route.js +14 -0
- package/.medusa/server/src/api/admin/payouts/helpers.d.ts +2 -0
- package/.medusa/server/src/api/admin/payouts/helpers.js +7 -0
- package/.medusa/server/src/api/admin/payouts/middlewares.js +16 -1
- package/.medusa/server/src/api/admin/payouts/query-config.js +10 -1
- package/.medusa/server/src/api/admin/payouts/validators.d.ts +2 -0
- package/.medusa/server/src/api/admin/payouts/validators.js +3 -1
- package/.medusa/server/src/api/hooks/payout/route.js +4 -6
- package/.medusa/server/src/api/middlewares.js +5 -1
- package/.medusa/server/src/api/payout/onboarding/refresh/route.d.ts +6 -0
- package/.medusa/server/src/api/payout/onboarding/refresh/route.js +21 -0
- package/.medusa/server/src/api/store/carts/middlewares.js +11 -1
- package/.medusa/server/src/api/utils/ensure-seller-middleware.js +2 -2
- package/.medusa/server/src/api/vendor/payout-accounts/[id]/onboarding/route.js +2 -8
- package/.medusa/server/src/api/vendor/payout-accounts/helpers.d.ts +2 -0
- package/.medusa/server/src/api/vendor/payout-accounts/helpers.js +7 -2
- package/.medusa/server/src/api/vendor/payout-accounts/me/route.d.ts +3 -0
- package/.medusa/server/src/api/vendor/payout-accounts/me/route.js +15 -0
- package/.medusa/server/src/api/vendor/payout-accounts/middlewares.js +9 -1
- package/.medusa/server/src/api/vendor/payout-accounts/query-config.d.ts +11 -0
- package/.medusa/server/src/api/vendor/payout-accounts/query-config.js +30 -2
- package/.medusa/server/src/api/vendor/payout-accounts/route.js +4 -9
- package/.medusa/server/src/api/vendor/payout-accounts/validators.d.ts +3 -1
- package/.medusa/server/src/api/vendor/payout-accounts/validators.js +5 -2
- package/.medusa/server/src/api/vendor/payouts/query-config.d.ts +2 -0
- package/.medusa/server/src/api/vendor/payouts/query-config.js +12 -2
- package/.medusa/server/src/api/vendor/payouts/validators.d.ts +1 -0
- package/.medusa/server/src/api/vendor/payouts/validators.js +2 -1
- package/.medusa/server/src/api/vendor/sellers/select/route.js +2 -2
- package/.medusa/server/src/modules/payout/index.d.ts +1 -45
- package/.medusa/server/src/modules/payout/loaders/provider.js +7 -3
- package/.medusa/server/src/modules/payout/migrations/Migration20261028120000.d.ts +5 -0
- package/.medusa/server/src/modules/payout/migrations/Migration20261028120000.js +97 -0
- package/.medusa/server/src/modules/payout/models/index.d.ts +1 -0
- package/.medusa/server/src/modules/payout/models/index.js +4 -2
- package/.medusa/server/src/modules/payout/models/onboarding.d.ts +22 -1
- package/.medusa/server/src/modules/payout/models/payout-account.d.ts +23 -2
- package/.medusa/server/src/modules/payout/models/payout-account.js +33 -7
- package/.medusa/server/src/modules/payout/models/payout-reversal.d.ts +48 -0
- package/.medusa/server/src/modules/payout/models/payout-reversal.js +37 -0
- package/.medusa/server/src/modules/payout/models/payout.d.ts +22 -1
- package/.medusa/server/src/modules/payout/models/payout.js +18 -2
- package/.medusa/server/src/modules/payout/providers/system.d.ts +11 -5
- package/.medusa/server/src/modules/payout/providers/system.js +33 -14
- package/.medusa/server/src/modules/payout/services/payout-module-service.d.ts +94 -100
- package/.medusa/server/src/modules/payout/services/payout-module-service.js +316 -109
- package/.medusa/server/src/modules/payout/services/provider-service.d.ts +11 -7
- package/.medusa/server/src/modules/payout/services/provider-service.js +33 -13
- package/.medusa/server/src/modules/payout/utils/abstract-payout-provider.d.ts +20 -0
- package/.medusa/server/src/modules/payout/utils/abstract-payout-provider.js +19 -0
- package/.medusa/server/src/modules/payout/utils/index.d.ts +1 -0
- package/.medusa/server/src/modules/payout/utils/index.js +18 -0
- package/.medusa/server/src/modules/telemetry/index.d.ts +21 -0
- package/.medusa/server/src/modules/telemetry/index.js +12 -0
- package/.medusa/server/src/modules/telemetry/migrations/Migration20261029000000.d.ts +5 -0
- package/.medusa/server/src/modules/telemetry/migrations/Migration20261029000000.js +27 -0
- package/.medusa/server/src/modules/telemetry/models/index.d.ts +1 -0
- package/.medusa/server/src/modules/telemetry/models/index.js +10 -0
- package/.medusa/server/src/modules/telemetry/models/installation.d.ts +9 -0
- package/.medusa/server/src/modules/telemetry/models/installation.js +14 -0
- package/.medusa/server/src/modules/telemetry/repositories/index.d.ts +1 -0
- package/.medusa/server/src/modules/telemetry/repositories/index.js +18 -0
- package/.medusa/server/src/modules/telemetry/repositories/telemetry-heartbeat.d.ts +10 -0
- package/.medusa/server/src/modules/telemetry/repositories/telemetry-heartbeat.js +28 -0
- package/.medusa/server/src/modules/telemetry/service.d.ts +25 -0
- package/.medusa/server/src/modules/telemetry/service.js +54 -0
- package/.medusa/server/src/subscribers/payout-webhook.d.ts +2 -2
- package/.medusa/server/src/subscribers/payout-webhook.js +9 -5
- package/.medusa/server/src/subscribers/telemetry-first-member-invited.d.ts +3 -0
- package/.medusa/server/src/subscribers/telemetry-first-member-invited.js +14 -0
- package/.medusa/server/src/subscribers/telemetry-first-offer.d.ts +3 -0
- package/.medusa/server/src/subscribers/telemetry-first-offer.js +14 -0
- package/.medusa/server/src/subscribers/telemetry-first-order.d.ts +3 -0
- package/.medusa/server/src/subscribers/telemetry-first-order.js +14 -0
- package/.medusa/server/src/subscribers/telemetry-first-payout-account.d.ts +5 -0
- package/.medusa/server/src/subscribers/telemetry-first-payout-account.js +24 -0
- package/.medusa/server/src/subscribers/telemetry-first-product-published.d.ts +3 -0
- package/.medusa/server/src/subscribers/telemetry-first-product-published.js +14 -0
- package/.medusa/server/src/subscribers/telemetry-first-seller-approved.d.ts +3 -0
- package/.medusa/server/src/subscribers/telemetry-first-seller-approved.js +14 -0
- package/.medusa/server/src/subscribers/telemetry-first-seller.d.ts +3 -0
- package/.medusa/server/src/subscribers/telemetry-first-seller.js +14 -0
- package/.medusa/server/src/utils/telemetry/boot.d.ts +7 -0
- package/.medusa/server/src/utils/telemetry/boot.js +117 -0
- package/.medusa/server/src/utils/telemetry/buckets.d.ts +2 -0
- package/.medusa/server/src/utils/telemetry/buckets.js +22 -0
- package/.medusa/server/src/utils/telemetry/config.d.ts +19 -0
- package/.medusa/server/src/utils/telemetry/config.js +60 -0
- package/.medusa/server/src/utils/telemetry/first-party.d.ts +11 -0
- package/.medusa/server/src/utils/telemetry/first-party.js +33 -0
- package/.medusa/server/src/utils/telemetry/identity.d.ts +6 -0
- package/.medusa/server/src/utils/telemetry/identity.js +32 -0
- package/.medusa/server/src/utils/telemetry/index.d.ts +8 -0
- package/.medusa/server/src/utils/telemetry/index.js +27 -0
- package/.medusa/server/src/utils/telemetry/milestones.d.ts +20 -0
- package/.medusa/server/src/utils/telemetry/milestones.js +60 -0
- package/.medusa/server/src/utils/telemetry/sender.d.ts +17 -0
- package/.medusa/server/src/utils/telemetry/sender.js +48 -0
- package/.medusa/server/src/utils/telemetry/snapshot.d.ts +13 -0
- package/.medusa/server/src/utils/telemetry/snapshot.js +193 -0
- package/.medusa/server/src/with-mercur.d.ts +6 -0
- package/.medusa/server/src/with-mercur.js +1 -1
- package/.medusa/server/src/workflows/payment/utils/split-order-payment-group.js +11 -3
- package/.medusa/server/src/workflows/payment/workflows/process-payment.js +10 -5
- package/.medusa/server/src/workflows/payout/steps/create-onboarding.d.ts +8 -2
- package/.medusa/server/src/workflows/payout/steps/create-onboarding.js +10 -4
- package/.medusa/server/src/workflows/payout/steps/create-payout-account.d.ts +3 -2
- package/.medusa/server/src/workflows/payout/steps/create-payout-account.js +9 -3
- package/.medusa/server/src/workflows/payout/steps/create-payout-accounts.d.ts +11 -0
- package/.medusa/server/src/workflows/payout/steps/create-payout-accounts.js +22 -0
- package/.medusa/server/src/workflows/payout/steps/create-payout-reversals.d.ts +4 -0
- package/.medusa/server/src/workflows/payout/steps/create-payout-reversals.js +23 -0
- package/.medusa/server/src/workflows/payout/steps/create-payouts.d.ts +4 -0
- package/.medusa/server/src/workflows/payout/steps/create-payouts.js +23 -0
- package/.medusa/server/src/workflows/payout/steps/index.d.ts +12 -5
- package/.medusa/server/src/workflows/payout/steps/index.js +13 -6
- package/.medusa/server/src/workflows/payout/steps/process-payout-reversals.d.ts +6 -0
- package/.medusa/server/src/workflows/payout/steps/process-payout-reversals.js +17 -0
- package/.medusa/server/src/workflows/payout/steps/process-payouts.d.ts +6 -0
- package/.medusa/server/src/workflows/payout/steps/process-payouts.js +17 -0
- package/.medusa/server/src/workflows/payout/steps/sync-payout-account.d.ts +8 -0
- package/.medusa/server/src/workflows/payout/steps/sync-payout-account.js +33 -0
- package/.medusa/server/src/workflows/payout/steps/update-payout-reversals.d.ts +4 -0
- package/.medusa/server/src/workflows/payout/steps/update-payout-reversals.js +29 -0
- package/.medusa/server/src/workflows/payout/steps/update-payouts.d.ts +4 -0
- package/.medusa/server/src/workflows/payout/steps/update-payouts.js +34 -0
- package/.medusa/server/src/workflows/payout/steps/validate-onboarding-token.d.ts +12 -0
- package/.medusa/server/src/workflows/payout/steps/validate-onboarding-token.js +23 -0
- package/.medusa/server/src/workflows/payout/steps/validate-payout-retry.d.ts +10 -0
- package/.medusa/server/src/workflows/payout/steps/validate-payout-retry.js +15 -0
- package/.medusa/server/src/workflows/payout/steps/validate-seller-without-payout-account.d.ts +10 -0
- package/.medusa/server/src/workflows/payout/steps/validate-seller-without-payout-account.js +13 -0
- package/.medusa/server/src/workflows/payout/utils/fulfillment-status.d.ts +26 -0
- package/.medusa/server/src/workflows/payout/utils/fulfillment-status.js +64 -0
- package/.medusa/server/src/workflows/payout/utils/index.d.ts +3 -0
- package/.medusa/server/src/workflows/payout/utils/index.js +20 -0
- package/.medusa/server/src/workflows/payout/utils/payout-amounts.d.ts +173 -0
- package/.medusa/server/src/workflows/payout/utils/payout-amounts.js +304 -0
- package/.medusa/server/src/workflows/payout/utils/sent-to-provider.d.ts +11 -0
- package/.medusa/server/src/workflows/payout/utils/sent-to-provider.js +15 -0
- package/.medusa/server/src/workflows/payout/workflows/create-onboarding.d.ts +5 -0
- package/.medusa/server/src/workflows/payout/workflows/create-onboarding.js +8 -3
- package/.medusa/server/src/workflows/payout/workflows/create-or-refresh-seller-payout-account.d.ts +16 -0
- package/.medusa/server/src/workflows/payout/workflows/create-or-refresh-seller-payout-account.js +38 -0
- package/.medusa/server/src/workflows/payout/workflows/create-order-payouts.d.ts +28 -0
- package/.medusa/server/src/workflows/payout/workflows/create-order-payouts.js +82 -0
- package/.medusa/server/src/workflows/payout/workflows/create-payout-account.d.ts +11 -5
- package/.medusa/server/src/workflows/payout/workflows/create-payout-account.js +42 -17
- package/.medusa/server/src/workflows/payout/workflows/create-payout-reversals.d.ts +14 -0
- package/.medusa/server/src/workflows/payout/workflows/create-payout-reversals.js +61 -0
- package/.medusa/server/src/workflows/payout/workflows/index.d.ts +11 -2
- package/.medusa/server/src/workflows/payout/workflows/index.js +12 -3
- package/.medusa/server/src/workflows/payout/workflows/link-payout-account.d.ts +11 -0
- package/.medusa/server/src/workflows/payout/workflows/link-payout-account.js +35 -0
- package/.medusa/server/src/workflows/payout/workflows/process-payout-for-webhook.d.ts +7 -3
- package/.medusa/server/src/workflows/payout/workflows/process-payout-for-webhook.js +50 -57
- package/.medusa/server/src/workflows/payout/workflows/process-payout-reversal.d.ts +9 -0
- package/.medusa/server/src/workflows/payout/workflows/process-payout-reversal.js +19 -0
- package/.medusa/server/src/workflows/payout/workflows/process-payout.d.ts +13 -0
- package/.medusa/server/src/workflows/payout/workflows/process-payout.js +23 -0
- package/.medusa/server/src/workflows/payout/workflows/refresh-onboarding.d.ts +13 -0
- package/.medusa/server/src/workflows/payout/workflows/refresh-onboarding.js +26 -0
- package/.medusa/server/src/workflows/payout/workflows/refresh-payout-account-link.d.ts +9 -0
- package/.medusa/server/src/workflows/payout/workflows/refresh-payout-account-link.js +15 -0
- package/.medusa/server/src/workflows/payout/workflows/retry-payout.d.ts +10 -0
- package/.medusa/server/src/workflows/payout/workflows/retry-payout.js +36 -0
- package/.medusa/server/src/workflows/payout/workflows/sync-payout-account.d.ts +9 -0
- package/.medusa/server/src/workflows/payout/workflows/sync-payout-account.js +24 -0
- package/package.json +3 -3
- package/.medusa/server/src/workflows/payout/steps/create-payout.d.ts +0 -3
- package/.medusa/server/src/workflows/payout/steps/create-payout.js +0 -12
- package/.medusa/server/src/workflows/payout/steps/update-payout-account.d.ts +0 -35
- package/.medusa/server/src/workflows/payout/steps/update-payout-account.js +0 -27
- package/.medusa/server/src/workflows/payout/steps/update-payout.d.ts +0 -35
- package/.medusa/server/src/workflows/payout/steps/update-payout.js +0 -27
- package/.medusa/server/src/workflows/payout/steps/validate-seller-payout-account.d.ts +0 -5
- package/.medusa/server/src/workflows/payout/steps/validate-seller-payout-account.js +0 -21
- package/.medusa/server/src/workflows/payout/workflows/create-payout.d.ts +0 -9
- package/.medusa/server/src/workflows/payout/workflows/create-payout.js +0 -87
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.processPayoutReversalsStep = exports.processPayoutReversalsStepId = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
+
const types_1 = require("@mercurjs/types");
|
|
6
|
+
exports.processPayoutReversalsStepId = "process-payout-reversals";
|
|
7
|
+
exports.processPayoutReversalsStep = (0, workflows_sdk_1.createStep)(exports.processPayoutReversalsStepId, async (input, { container }) => {
|
|
8
|
+
const service = container.resolve(types_1.MercurModules.PAYOUT);
|
|
9
|
+
const reversals = [];
|
|
10
|
+
for (const id of input.ids) {
|
|
11
|
+
reversals.push(await service.processPayoutReversal(id));
|
|
12
|
+
}
|
|
13
|
+
return new workflows_sdk_1.StepResponse(reversals);
|
|
14
|
+
}
|
|
15
|
+
// Not compensated: money that reached the provider cannot be pulled back by a rollback.
|
|
16
|
+
);
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzcy1wYXlvdXQtcmV2ZXJzYWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9wYXlvdXQvc3RlcHMvcHJvY2Vzcy1wYXlvdXQtcmV2ZXJzYWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQUE0RTtBQUM1RSwyQ0FBd0Y7QUFNM0UsUUFBQSw0QkFBNEIsR0FBRywwQkFBMEIsQ0FBQTtBQUV6RCxRQUFBLDBCQUEwQixHQUFHLElBQUEsMEJBQVUsRUFDbEQsb0NBQTRCLEVBQzVCLEtBQUssRUFBRSxLQUFzQyxFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRTtJQUM5RCxNQUFNLE9BQU8sR0FBRyxTQUFTLENBQUMsT0FBTyxDQUF1QixxQkFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBRTdFLE1BQU0sU0FBUyxHQUF3QixFQUFFLENBQUE7SUFDekMsS0FBSyxNQUFNLEVBQUUsSUFBSSxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDM0IsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBO0lBQ3pELENBQUM7SUFFRCxPQUFPLElBQUksNEJBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQTtBQUNwQyxDQUFDO0FBQ0Qsd0ZBQXdGO0NBQ3pGLENBQUEifQ==
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { PayoutDTO } from "@mercurjs/types";
|
|
2
|
+
export type ProcessPayoutsStepInput = {
|
|
3
|
+
ids: string[];
|
|
4
|
+
};
|
|
5
|
+
export declare const processPayoutsStepId = "process-payouts";
|
|
6
|
+
export declare const processPayoutsStep: import("@medusajs/framework/workflows-sdk").StepFunction<ProcessPayoutsStepInput, PayoutDTO[]>;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.processPayoutsStep = exports.processPayoutsStepId = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
+
const types_1 = require("@mercurjs/types");
|
|
6
|
+
exports.processPayoutsStepId = "process-payouts";
|
|
7
|
+
exports.processPayoutsStep = (0, workflows_sdk_1.createStep)(exports.processPayoutsStepId, async (input, { container }) => {
|
|
8
|
+
const service = container.resolve(types_1.MercurModules.PAYOUT);
|
|
9
|
+
const payouts = [];
|
|
10
|
+
for (const id of input.ids) {
|
|
11
|
+
payouts.push(await service.processPayout(id));
|
|
12
|
+
}
|
|
13
|
+
return new workflows_sdk_1.StepResponse(payouts);
|
|
14
|
+
}
|
|
15
|
+
// Not compensated: money that reached the provider cannot be pulled back by a rollback.
|
|
16
|
+
);
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzcy1wYXlvdXRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9wYXlvdXQvc3RlcHMvcHJvY2Vzcy1wYXlvdXRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQUE0RTtBQUM1RSwyQ0FBZ0Y7QUFNbkUsUUFBQSxvQkFBb0IsR0FBRyxpQkFBaUIsQ0FBQTtBQUV4QyxRQUFBLGtCQUFrQixHQUFHLElBQUEsMEJBQVUsRUFDMUMsNEJBQW9CLEVBQ3BCLEtBQUssRUFBRSxLQUE4QixFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRTtJQUN0RCxNQUFNLE9BQU8sR0FBRyxTQUFTLENBQUMsT0FBTyxDQUF1QixxQkFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBRTdFLE1BQU0sT0FBTyxHQUFnQixFQUFFLENBQUE7SUFDL0IsS0FBSyxNQUFNLEVBQUUsSUFBSSxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDM0IsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLE9BQU8sQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtJQUMvQyxDQUFDO0lBRUQsT0FBTyxJQUFJLDRCQUFZLENBQUMsT0FBTyxDQUFDLENBQUE7QUFDbEMsQ0FBQztBQUNELHdGQUF3RjtDQUN6RixDQUFBIn0=
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export type SyncPayoutAccountStepInput = {
|
|
2
|
+
id: string;
|
|
3
|
+
};
|
|
4
|
+
export declare const syncPayoutAccountStepId = "sync-payout-account-step";
|
|
5
|
+
/**
|
|
6
|
+
* Pulls the account from the provider and stores its state.
|
|
7
|
+
*/
|
|
8
|
+
export declare const syncPayoutAccountStep: import("@medusajs/framework/workflows-sdk").StepFunction<SyncPayoutAccountStepInput, import("@mercurjs/types").PayoutAccountDTO>;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.syncPayoutAccountStep = exports.syncPayoutAccountStepId = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
+
const types_1 = require("@mercurjs/types");
|
|
6
|
+
exports.syncPayoutAccountStepId = "sync-payout-account-step";
|
|
7
|
+
/**
|
|
8
|
+
* Pulls the account from the provider and stores its state.
|
|
9
|
+
*/
|
|
10
|
+
exports.syncPayoutAccountStep = (0, workflows_sdk_1.createStep)(exports.syncPayoutAccountStepId, async (input, { container }) => {
|
|
11
|
+
const service = container.resolve(types_1.MercurModules.PAYOUT);
|
|
12
|
+
const previous = await service.retrievePayoutAccount(input.id);
|
|
13
|
+
const account = await service.syncPayoutAccount(input.id);
|
|
14
|
+
return new workflows_sdk_1.StepResponse(account, {
|
|
15
|
+
id: previous.id,
|
|
16
|
+
status: previous.status,
|
|
17
|
+
kyc_status: previous.kyc_status,
|
|
18
|
+
payouts_enabled: previous.payouts_enabled,
|
|
19
|
+
charges_enabled: previous.charges_enabled,
|
|
20
|
+
details_submitted: previous.details_submitted,
|
|
21
|
+
disabled_reason: previous.disabled_reason,
|
|
22
|
+
onboarding_token: previous.onboarding_token,
|
|
23
|
+
onboarding_token_issued_at: previous.onboarding_token_issued_at,
|
|
24
|
+
last_synced_at: previous.last_synced_at,
|
|
25
|
+
data: previous.data,
|
|
26
|
+
});
|
|
27
|
+
}, async (previous, { container }) => {
|
|
28
|
+
if (!previous) {
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
await container.resolve(types_1.MercurModules.PAYOUT).updatePayoutAccounts(previous);
|
|
32
|
+
});
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3luYy1wYXlvdXQtYWNjb3VudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvcGF5b3V0L3N0ZXBzL3N5bmMtcGF5b3V0LWFjY291bnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBQTRFO0FBQzVFLDJDQUFxRTtBQU14RCxRQUFBLHVCQUF1QixHQUFHLDBCQUEwQixDQUFBO0FBRWpFOztHQUVHO0FBQ1UsUUFBQSxxQkFBcUIsR0FBRyxJQUFBLDBCQUFVLEVBQzdDLCtCQUF1QixFQUN2QixLQUFLLEVBQUUsS0FBaUMsRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7SUFDekQsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBdUIscUJBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUU3RSxNQUFNLFFBQVEsR0FBRyxNQUFNLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUE7SUFDOUQsTUFBTSxPQUFPLEdBQUcsTUFBTSxPQUFPLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFBO0lBRXpELE9BQU8sSUFBSSw0QkFBWSxDQUFDLE9BQU8sRUFBRTtRQUMvQixFQUFFLEVBQUUsUUFBUSxDQUFDLEVBQUU7UUFDZixNQUFNLEVBQUUsUUFBUSxDQUFDLE1BQU07UUFDdkIsVUFBVSxFQUFFLFFBQVEsQ0FBQyxVQUFVO1FBQy9CLGVBQWUsRUFBRSxRQUFRLENBQUMsZUFBZTtRQUN6QyxlQUFlLEVBQUUsUUFBUSxDQUFDLGVBQWU7UUFDekMsaUJBQWlCLEVBQUUsUUFBUSxDQUFDLGlCQUFpQjtRQUM3QyxlQUFlLEVBQUUsUUFBUSxDQUFDLGVBQWU7UUFDekMsZ0JBQWdCLEVBQUUsUUFBUSxDQUFDLGdCQUFnQjtRQUMzQywwQkFBMEIsRUFBRSxRQUFRLENBQUMsMEJBQTBCO1FBQy9ELGNBQWMsRUFBRSxRQUFRLENBQUMsY0FBYztRQUN2QyxJQUFJLEVBQUUsUUFBUSxDQUFDLElBQUk7S0FDcEIsQ0FBQyxDQUFBO0FBQ0osQ0FBQyxFQUNELEtBQUssRUFBRSxRQUFRLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFO0lBQ2hDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNkLE9BQU07SUFDUixDQUFDO0lBRUQsTUFBTSxTQUFTLENBQUMsT0FBTyxDQUF1QixxQkFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxDQUFBO0FBQ3BHLENBQUMsQ0FDRixDQUFBIn0=
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { UpdatePayoutReversalDTO } from "@mercurjs/types";
|
|
2
|
+
export type UpdatePayoutReversalsStepInput = UpdatePayoutReversalDTO[];
|
|
3
|
+
export declare const updatePayoutReversalsStepId = "update-payout-reversals";
|
|
4
|
+
export declare const updatePayoutReversalsStep: import("@medusajs/framework/workflows-sdk").StepFunction<UpdatePayoutReversalsStepInput, import("@mercurjs/types").PayoutReversalDTO[]>;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.updatePayoutReversalsStep = exports.updatePayoutReversalsStepId = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
+
const types_1 = require("@mercurjs/types");
|
|
6
|
+
const sent_to_provider_1 = require("../utils/sent-to-provider");
|
|
7
|
+
exports.updatePayoutReversalsStepId = "update-payout-reversals";
|
|
8
|
+
exports.updatePayoutReversalsStep = (0, workflows_sdk_1.createStep)(exports.updatePayoutReversalsStepId, async (input, { container }) => {
|
|
9
|
+
const service = container.resolve(types_1.MercurModules.PAYOUT);
|
|
10
|
+
const previous = input.length
|
|
11
|
+
? await service.listPayoutReversals({ id: input.map((reversal) => reversal.id) }, { take: null })
|
|
12
|
+
: [];
|
|
13
|
+
const reversals = input.length ? await service.updatePayoutReversals(input) : [];
|
|
14
|
+
return new workflows_sdk_1.StepResponse(reversals, previous.map(({ id, amount, status, status_reason, data }) => ({ id, amount, status, status_reason, data })));
|
|
15
|
+
}, async (previous, { container }) => {
|
|
16
|
+
if (!previous?.length) {
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
const service = container.resolve(types_1.MercurModules.PAYOUT);
|
|
20
|
+
const current = new Map((await service.listPayoutReversals({ id: previous.map((reversal) => reversal.id) }, { select: ["id", "status", "data"], take: null })).map((reversal) => [reversal.id, reversal]));
|
|
21
|
+
const restorable = previous.filter((reversal) => {
|
|
22
|
+
const now = current.get(reversal.id);
|
|
23
|
+
return now && !(0, sent_to_provider_1.sentToProvider)(now, reversal);
|
|
24
|
+
});
|
|
25
|
+
if (restorable.length) {
|
|
26
|
+
await service.updatePayoutReversals(restorable);
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLXBheW91dC1yZXZlcnNhbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL3BheW91dC9zdGVwcy91cGRhdGUtcGF5b3V0LXJldmVyc2Fscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxRUFBNEU7QUFDNUUsMkNBQThGO0FBRTlGLGdFQUEwRDtBQUk3QyxRQUFBLDJCQUEyQixHQUFHLHlCQUF5QixDQUFBO0FBRXZELFFBQUEseUJBQXlCLEdBQUcsSUFBQSwwQkFBVSxFQUNqRCxtQ0FBMkIsRUFDM0IsS0FBSyxFQUFFLEtBQXFDLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFO0lBQzdELE1BQU0sT0FBTyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQXVCLHFCQUFhLENBQUMsTUFBTSxDQUFDLENBQUE7SUFDN0UsTUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLE1BQU07UUFDM0IsQ0FBQyxDQUFDLE1BQU0sT0FBTyxDQUFDLG1CQUFtQixDQUFDLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDO1FBQ2pHLENBQUMsQ0FBQyxFQUFFLENBQUE7SUFDTixNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFBO0lBRWhGLE9BQU8sSUFBSSw0QkFBWSxDQUNyQixTQUFTLEVBQ1QsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FDN0csQ0FBQTtBQUNILENBQUMsRUFDRCxLQUFLLEVBQUUsUUFBUSxFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRTtJQUNoQyxJQUFJLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQ3RCLE9BQU07SUFDUixDQUFDO0lBRUQsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBdUIscUJBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUM3RSxNQUFNLE9BQU8sR0FBRyxJQUFJLEdBQUcsQ0FDckIsQ0FDRSxNQUFNLE9BQU8sQ0FBQyxtQkFBbUIsQ0FDL0IsRUFBRSxFQUFFLEVBQUUsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQy9DLEVBQUUsTUFBTSxFQUFFLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQ2pELENBQ0YsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUM3QyxDQUFBO0lBQ0QsTUFBTSxVQUFVLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO1FBQzlDLE1BQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFBO1FBQ3BDLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBQSxpQ0FBYyxFQUFDLEdBQUcsRUFBRSxRQUFRLENBQUMsQ0FBQTtJQUM5QyxDQUFDLENBQUMsQ0FBQTtJQUVGLElBQUksVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3RCLE1BQU0sT0FBTyxDQUFDLHFCQUFxQixDQUFDLFVBQVUsQ0FBQyxDQUFBO0lBQ2pELENBQUM7QUFDSCxDQUFDLENBQ0YsQ0FBQSJ9
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { UpdatePayoutDTO } from "@mercurjs/types";
|
|
2
|
+
export type UpdatePayoutsStepInput = UpdatePayoutDTO[];
|
|
3
|
+
export declare const updatePayoutsStepId = "update-payouts";
|
|
4
|
+
export declare const updatePayoutsStep: import("@medusajs/framework/workflows-sdk").StepFunction<UpdatePayoutsStepInput, import("@mercurjs/types").PayoutDTO[]>;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.updatePayoutsStep = exports.updatePayoutsStepId = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
+
const types_1 = require("@mercurjs/types");
|
|
6
|
+
const sent_to_provider_1 = require("../utils/sent-to-provider");
|
|
7
|
+
exports.updatePayoutsStepId = "update-payouts";
|
|
8
|
+
exports.updatePayoutsStep = (0, workflows_sdk_1.createStep)(exports.updatePayoutsStepId, async (input, { container }) => {
|
|
9
|
+
const service = container.resolve(types_1.MercurModules.PAYOUT);
|
|
10
|
+
const previous = input.length ? await service.listPayouts({ id: input.map((payout) => payout.id) }, { take: null }) : [];
|
|
11
|
+
const payouts = input.length ? await service.updatePayouts(input) : [];
|
|
12
|
+
return new workflows_sdk_1.StepResponse(payouts, previous.map(({ id, account_id, amount, status, status_reason, data }) => ({
|
|
13
|
+
id,
|
|
14
|
+
account_id,
|
|
15
|
+
amount,
|
|
16
|
+
status,
|
|
17
|
+
status_reason,
|
|
18
|
+
data,
|
|
19
|
+
})));
|
|
20
|
+
}, async (previous, { container }) => {
|
|
21
|
+
if (!previous?.length) {
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
const service = container.resolve(types_1.MercurModules.PAYOUT);
|
|
25
|
+
const current = new Map((await service.listPayouts({ id: previous.map((payout) => payout.id) }, { select: ["id", "status", "data"], take: null })).map((payout) => [payout.id, payout]));
|
|
26
|
+
const restorable = previous.filter((payout) => {
|
|
27
|
+
const now = current.get(payout.id);
|
|
28
|
+
return now && !(0, sent_to_provider_1.sentToProvider)(now, payout);
|
|
29
|
+
});
|
|
30
|
+
if (restorable.length) {
|
|
31
|
+
await service.updatePayouts(restorable);
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLXBheW91dHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL3BheW91dC9zdGVwcy91cGRhdGUtcGF5b3V0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxRUFBNEU7QUFDNUUsMkNBQXNGO0FBRXRGLGdFQUEwRDtBQUk3QyxRQUFBLG1CQUFtQixHQUFHLGdCQUFnQixDQUFBO0FBRXRDLFFBQUEsaUJBQWlCLEdBQUcsSUFBQSwwQkFBVSxFQUN6QywyQkFBbUIsRUFDbkIsS0FBSyxFQUFFLEtBQTZCLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFO0lBQ3JELE1BQU0sT0FBTyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQXVCLHFCQUFhLENBQUMsTUFBTSxDQUFDLENBQUE7SUFDN0UsTUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxPQUFPLENBQUMsV0FBVyxDQUFDLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQTtJQUN4SCxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLE9BQU8sQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQTtJQUV0RSxPQUFPLElBQUksNEJBQVksQ0FDckIsT0FBTyxFQUNQLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDekUsRUFBRTtRQUNGLFVBQVU7UUFDVixNQUFNO1FBQ04sTUFBTTtRQUNOLGFBQWE7UUFDYixJQUFJO0tBQ0wsQ0FBQyxDQUFDLENBQ0osQ0FBQTtBQUNILENBQUMsRUFDRCxLQUFLLEVBQUUsUUFBUSxFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRTtJQUNoQyxJQUFJLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQ3RCLE9BQU07SUFDUixDQUFDO0lBRUQsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBdUIscUJBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUM3RSxNQUFNLE9BQU8sR0FBRyxJQUFJLEdBQUcsQ0FDckIsQ0FDRSxNQUFNLE9BQU8sQ0FBQyxXQUFXLENBQUMsRUFBRSxFQUFFLEVBQUUsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUN6SCxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQ3ZDLENBQUE7SUFDRCxNQUFNLFVBQVUsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7UUFDNUMsTUFBTSxHQUFHLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUE7UUFDbEMsT0FBTyxHQUFHLElBQUksQ0FBQyxJQUFBLGlDQUFjLEVBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxDQUFBO0lBQzVDLENBQUMsQ0FBQyxDQUFBO0lBRUYsSUFBSSxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDdEIsTUFBTSxPQUFPLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFBO0lBQ3pDLENBQUM7QUFDSCxDQUFDLENBQ0YsQ0FBQSJ9
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export type ValidateOnboardingTokenStepInput = {
|
|
2
|
+
account: {
|
|
3
|
+
id: string;
|
|
4
|
+
onboarding_token_issued_at: Date | string | null;
|
|
5
|
+
} | null | undefined;
|
|
6
|
+
};
|
|
7
|
+
export declare const validateOnboardingTokenStepId = "validate-onboarding-token";
|
|
8
|
+
/**
|
|
9
|
+
* Rejects an unknown token and one older than the module's
|
|
10
|
+
* `onboarding.tokenTtlSeconds`.
|
|
11
|
+
*/
|
|
12
|
+
export declare const validateOnboardingTokenStep: import("@medusajs/framework/workflows-sdk").StepFunction<ValidateOnboardingTokenStepInput, undefined>;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.validateOnboardingTokenStep = exports.validateOnboardingTokenStepId = void 0;
|
|
4
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
5
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
6
|
+
const types_1 = require("@mercurjs/types");
|
|
7
|
+
exports.validateOnboardingTokenStepId = "validate-onboarding-token";
|
|
8
|
+
/**
|
|
9
|
+
* Rejects an unknown token and one older than the module's
|
|
10
|
+
* `onboarding.tokenTtlSeconds`.
|
|
11
|
+
*/
|
|
12
|
+
exports.validateOnboardingTokenStep = (0, workflows_sdk_1.createStep)(exports.validateOnboardingTokenStepId, async ({ account }, { container }) => {
|
|
13
|
+
if (!account) {
|
|
14
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.NOT_FOUND, "Unknown onboarding token");
|
|
15
|
+
}
|
|
16
|
+
const { tokenTtlSeconds } = container.resolve(types_1.MercurModules.PAYOUT).getOptions().onboarding;
|
|
17
|
+
const issuedAt = account.onboarding_token_issued_at ? new Date(account.onboarding_token_issued_at).getTime() : 0;
|
|
18
|
+
if (Date.now() - issuedAt >= tokenTtlSeconds * 1000) {
|
|
19
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.NOT_ALLOWED, "The onboarding token has expired");
|
|
20
|
+
}
|
|
21
|
+
return new workflows_sdk_1.StepResponse(void 0);
|
|
22
|
+
});
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGUtb25ib2FyZGluZy10b2tlbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvcGF5b3V0L3N0ZXBzL3ZhbGlkYXRlLW9uYm9hcmRpbmctdG9rZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscURBQXVEO0FBQ3ZELHFFQUE0RTtBQUM1RSwyQ0FBcUU7QUFNeEQsUUFBQSw2QkFBNkIsR0FBRywyQkFBMkIsQ0FBQTtBQUV4RTs7O0dBR0c7QUFDVSxRQUFBLDJCQUEyQixHQUFHLElBQUEsMEJBQVUsRUFDbkQscUNBQTZCLEVBQzdCLEtBQUssRUFBRSxFQUFFLE9BQU8sRUFBb0MsRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7SUFDckUsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2IsTUFBTSxJQUFJLG1CQUFXLENBQUMsbUJBQVcsQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFLDBCQUEwQixDQUFDLENBQUE7SUFDaEYsQ0FBQztJQUVELE1BQU0sRUFBRSxlQUFlLEVBQUUsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUF1QixxQkFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDLFVBQVUsQ0FBQTtJQUNqSCxNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQywwQkFBMEIsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFFaEgsSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsUUFBUSxJQUFJLGVBQWUsR0FBRyxJQUFJLEVBQUUsQ0FBQztRQUNwRCxNQUFNLElBQUksbUJBQVcsQ0FBQyxtQkFBVyxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsa0NBQWtDLENBQUMsQ0FBQTtJQUMxRixDQUFDO0lBRUQsT0FBTyxJQUFJLDRCQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQTtBQUNqQyxDQUFDLENBQ0YsQ0FBQSJ9
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { PayoutStatus } from "@mercurjs/types";
|
|
2
|
+
export type ValidatePayoutRetryStepInput = {
|
|
3
|
+
payout: {
|
|
4
|
+
id: string;
|
|
5
|
+
status: PayoutStatus;
|
|
6
|
+
};
|
|
7
|
+
};
|
|
8
|
+
export declare const RETRYABLE_PAYOUT_STATUSES: PayoutStatus[];
|
|
9
|
+
export declare const validatePayoutRetryStepId = "validate-payout-retry";
|
|
10
|
+
export declare const validatePayoutRetryStep: import("@medusajs/framework/workflows-sdk").StepFunction<ValidatePayoutRetryStepInput, undefined>;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.validatePayoutRetryStep = exports.validatePayoutRetryStepId = exports.RETRYABLE_PAYOUT_STATUSES = void 0;
|
|
4
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
5
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
6
|
+
const types_1 = require("@mercurjs/types");
|
|
7
|
+
exports.RETRYABLE_PAYOUT_STATUSES = [types_1.PayoutStatus.FAILED, types_1.PayoutStatus.ON_HOLD, types_1.PayoutStatus.PENDING];
|
|
8
|
+
exports.validatePayoutRetryStepId = "validate-payout-retry";
|
|
9
|
+
exports.validatePayoutRetryStep = (0, workflows_sdk_1.createStep)(exports.validatePayoutRetryStepId, async ({ payout }) => {
|
|
10
|
+
if (!exports.RETRYABLE_PAYOUT_STATUSES.includes(payout.status)) {
|
|
11
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.NOT_ALLOWED, `Payout ${payout.id} is ${payout.status} and cannot be retried`);
|
|
12
|
+
}
|
|
13
|
+
return new workflows_sdk_1.StepResponse(void 0);
|
|
14
|
+
});
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGUtcGF5b3V0LXJldHJ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9wYXlvdXQvc3RlcHMvdmFsaWRhdGUtcGF5b3V0LXJldHJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFEQUF1RDtBQUN2RCxxRUFBNEU7QUFDNUUsMkNBQThDO0FBTWpDLFFBQUEseUJBQXlCLEdBQUcsQ0FBQyxvQkFBWSxDQUFDLE1BQU0sRUFBRSxvQkFBWSxDQUFDLE9BQU8sRUFBRSxvQkFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFBO0FBRTdGLFFBQUEseUJBQXlCLEdBQUcsdUJBQXVCLENBQUE7QUFFbkQsUUFBQSx1QkFBdUIsR0FBRyxJQUFBLDBCQUFVLEVBQy9DLGlDQUF5QixFQUN6QixLQUFLLEVBQUUsRUFBRSxNQUFNLEVBQWdDLEVBQUUsRUFBRTtJQUNqRCxJQUFJLENBQUMsaUNBQXlCLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ3ZELE1BQU0sSUFBSSxtQkFBVyxDQUNuQixtQkFBVyxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQzdCLFVBQVUsTUFBTSxDQUFDLEVBQUUsT0FBTyxNQUFNLENBQUMsTUFBTSx3QkFBd0IsQ0FDaEUsQ0FBQTtJQUNILENBQUM7SUFFRCxPQUFPLElBQUksNEJBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFBO0FBQ2pDLENBQUMsQ0FDRixDQUFBIn0=
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export type ValidateSellerWithoutPayoutAccountStepInput = {
|
|
2
|
+
seller: {
|
|
3
|
+
id: string;
|
|
4
|
+
payout_account?: {
|
|
5
|
+
id: string;
|
|
6
|
+
} | null;
|
|
7
|
+
};
|
|
8
|
+
};
|
|
9
|
+
export declare const validateSellerWithoutPayoutAccountStepId = "validate-seller-without-payout-account";
|
|
10
|
+
export declare const validateSellerWithoutPayoutAccountStep: import("@medusajs/framework/workflows-sdk").StepFunction<ValidateSellerWithoutPayoutAccountStepInput, undefined>;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.validateSellerWithoutPayoutAccountStep = exports.validateSellerWithoutPayoutAccountStepId = void 0;
|
|
4
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
5
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
6
|
+
exports.validateSellerWithoutPayoutAccountStepId = "validate-seller-without-payout-account";
|
|
7
|
+
exports.validateSellerWithoutPayoutAccountStep = (0, workflows_sdk_1.createStep)(exports.validateSellerWithoutPayoutAccountStepId, async ({ seller }) => {
|
|
8
|
+
if (seller.payout_account) {
|
|
9
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.CONFLICT, `Seller ${seller.id} already has a payout account`);
|
|
10
|
+
}
|
|
11
|
+
return new workflows_sdk_1.StepResponse(void 0);
|
|
12
|
+
});
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGUtc2VsbGVyLXdpdGhvdXQtcGF5b3V0LWFjY291bnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL3BheW91dC9zdGVwcy92YWxpZGF0ZS1zZWxsZXItd2l0aG91dC1wYXlvdXQtYWNjb3VudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxREFBdUQ7QUFDdkQscUVBQTRFO0FBTS9ELFFBQUEsd0NBQXdDLEdBQUcsd0NBQXdDLENBQUE7QUFFbkYsUUFBQSxzQ0FBc0MsR0FBRyxJQUFBLDBCQUFVLEVBQzlELGdEQUF3QyxFQUN4QyxLQUFLLEVBQUUsRUFBRSxNQUFNLEVBQStDLEVBQUUsRUFBRTtJQUNoRSxJQUFJLE1BQU0sQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUMxQixNQUFNLElBQUksbUJBQVcsQ0FBQyxtQkFBVyxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsVUFBVSxNQUFNLENBQUMsRUFBRSwrQkFBK0IsQ0FBQyxDQUFBO0lBQ3ZHLENBQUM7SUFFRCxPQUFPLElBQUksNEJBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFBO0FBQ2pDLENBQUMsQ0FDRixDQUFBIn0=
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { BigNumberInput, FulfillmentStatus } from "@medusajs/framework/types";
|
|
2
|
+
export type FulfillmentRow = {
|
|
3
|
+
canceled_at?: Date | string | null;
|
|
4
|
+
shipped_at?: Date | string | null;
|
|
5
|
+
delivered_at?: Date | string | null;
|
|
6
|
+
items?: {
|
|
7
|
+
line_item_id?: string | null;
|
|
8
|
+
quantity: BigNumberInput;
|
|
9
|
+
}[] | null;
|
|
10
|
+
};
|
|
11
|
+
export type FulfillableOrder = {
|
|
12
|
+
items?: {
|
|
13
|
+
id: string;
|
|
14
|
+
quantity: BigNumberInput;
|
|
15
|
+
}[] | null;
|
|
16
|
+
fulfillments?: FulfillmentRow[] | null;
|
|
17
|
+
};
|
|
18
|
+
export declare const ORDER_FULFILLMENT_FIELDS: string[];
|
|
19
|
+
export declare function fulfillmentReached(status: string | null | undefined, required: FulfillmentStatus): boolean;
|
|
20
|
+
/**
|
|
21
|
+
* The order module derives `fulfillment_status` only on its own read path,
|
|
22
|
+
* not through query.graph, so the pipeline rebuilds it from the fulfillments
|
|
23
|
+
* the same way: a status is reached when every ordered unit is in a
|
|
24
|
+
* fulfillment that reached it, partial when some are.
|
|
25
|
+
*/
|
|
26
|
+
export declare function deriveFulfillmentStatus(order: FulfillableOrder): FulfillmentStatus;
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ORDER_FULFILLMENT_FIELDS = void 0;
|
|
4
|
+
exports.fulfillmentReached = fulfillmentReached;
|
|
5
|
+
exports.deriveFulfillmentStatus = deriveFulfillmentStatus;
|
|
6
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
7
|
+
exports.ORDER_FULFILLMENT_FIELDS = [
|
|
8
|
+
"items.id",
|
|
9
|
+
"items.quantity",
|
|
10
|
+
"fulfillments.canceled_at",
|
|
11
|
+
"fulfillments.shipped_at",
|
|
12
|
+
"fulfillments.delivered_at",
|
|
13
|
+
"fulfillments.items.line_item_id",
|
|
14
|
+
"fulfillments.items.quantity",
|
|
15
|
+
];
|
|
16
|
+
const FULFILLMENT_SCALE = [
|
|
17
|
+
"not_fulfilled",
|
|
18
|
+
"partially_fulfilled",
|
|
19
|
+
"fulfilled",
|
|
20
|
+
"partially_shipped",
|
|
21
|
+
"shipped",
|
|
22
|
+
"partially_delivered",
|
|
23
|
+
"delivered",
|
|
24
|
+
];
|
|
25
|
+
function fulfillmentReached(status, required) {
|
|
26
|
+
if (status === "canceled") {
|
|
27
|
+
return false;
|
|
28
|
+
}
|
|
29
|
+
return FULFILLMENT_SCALE.indexOf((status ?? "not_fulfilled")) >= FULFILLMENT_SCALE.indexOf(required);
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* The order module derives `fulfillment_status` only on its own read path,
|
|
33
|
+
* not through query.graph, so the pipeline rebuilds it from the fulfillments
|
|
34
|
+
* the same way: a status is reached when every ordered unit is in a
|
|
35
|
+
* fulfillment that reached it, partial when some are.
|
|
36
|
+
*/
|
|
37
|
+
function deriveFulfillmentStatus(order) {
|
|
38
|
+
const ordered = (order.items ?? []).reduce((acc, item) => utils_1.MathBN.add(acc, item.quantity), 0);
|
|
39
|
+
if (utils_1.MathBN.lte(ordered, 0)) {
|
|
40
|
+
return "not_fulfilled";
|
|
41
|
+
}
|
|
42
|
+
const active = (order.fulfillments ?? []).filter((f) => !f.canceled_at);
|
|
43
|
+
const count = (predicate) => active
|
|
44
|
+
.filter(predicate)
|
|
45
|
+
.flatMap((f) => f.items ?? [])
|
|
46
|
+
.reduce((acc, item) => utils_1.MathBN.add(acc, item.quantity), 0);
|
|
47
|
+
const fulfilled = count(() => true);
|
|
48
|
+
const shipped = count((f) => !!f.shipped_at);
|
|
49
|
+
const delivered = count((f) => !!f.delivered_at);
|
|
50
|
+
if (utils_1.MathBN.gte(delivered, ordered))
|
|
51
|
+
return "delivered";
|
|
52
|
+
if (utils_1.MathBN.gt(delivered, 0))
|
|
53
|
+
return "partially_delivered";
|
|
54
|
+
if (utils_1.MathBN.gte(shipped, ordered))
|
|
55
|
+
return "shipped";
|
|
56
|
+
if (utils_1.MathBN.gt(shipped, 0))
|
|
57
|
+
return "partially_shipped";
|
|
58
|
+
if (utils_1.MathBN.gte(fulfilled, ordered))
|
|
59
|
+
return "fulfilled";
|
|
60
|
+
if (utils_1.MathBN.gt(fulfilled, 0))
|
|
61
|
+
return "partially_fulfilled";
|
|
62
|
+
return "not_fulfilled";
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVsZmlsbG1lbnQtc3RhdHVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9wYXlvdXQvdXRpbHMvZnVsZmlsbG1lbnQtc3RhdHVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQW1DQSxnREFLQztBQVFELDBEQXdCQztBQXZFRCxxREFBa0Q7QUFjckMsUUFBQSx3QkFBd0IsR0FBRztJQUN0QyxVQUFVO0lBQ1YsZ0JBQWdCO0lBQ2hCLDBCQUEwQjtJQUMxQix5QkFBeUI7SUFDekIsMkJBQTJCO0lBQzNCLGlDQUFpQztJQUNqQyw2QkFBNkI7Q0FDOUIsQ0FBQTtBQUVELE1BQU0saUJBQWlCLEdBQXdCO0lBQzdDLGVBQWU7SUFDZixxQkFBcUI7SUFDckIsV0FBVztJQUNYLG1CQUFtQjtJQUNuQixTQUFTO0lBQ1QscUJBQXFCO0lBQ3JCLFdBQVc7Q0FDWixDQUFBO0FBRUQsU0FBZ0Isa0JBQWtCLENBQUMsTUFBaUMsRUFBRSxRQUEyQjtJQUMvRixJQUFJLE1BQU0sS0FBSyxVQUFVLEVBQUUsQ0FBQztRQUMxQixPQUFPLEtBQUssQ0FBQTtJQUNkLENBQUM7SUFDRCxPQUFPLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sSUFBSSxlQUFlLENBQXNCLENBQUMsSUFBSSxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUE7QUFDM0gsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsU0FBZ0IsdUJBQXVCLENBQUMsS0FBdUI7SUFDN0QsTUFBTSxPQUFPLEdBQUcsQ0FBQyxLQUFLLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBaUIsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxjQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFDNUcsSUFBSSxjQUFNLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQzNCLE9BQU8sZUFBZSxDQUFBO0lBQ3hCLENBQUM7SUFFRCxNQUFNLE1BQU0sR0FBRyxDQUFDLEtBQUssQ0FBQyxZQUFZLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQTtJQUN2RSxNQUFNLEtBQUssR0FBRyxDQUFDLFNBQXlDLEVBQUUsRUFBRSxDQUMxRCxNQUFNO1NBQ0gsTUFBTSxDQUFDLFNBQVMsQ0FBQztTQUNqQixPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO1NBQzdCLE1BQU0sQ0FBaUIsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxjQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFFN0UsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQ25DLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQTtJQUM1QyxNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUE7SUFFaEQsSUFBSSxjQUFNLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUM7UUFBRSxPQUFPLFdBQVcsQ0FBQTtJQUN0RCxJQUFJLGNBQU0sQ0FBQyxFQUFFLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztRQUFFLE9BQU8scUJBQXFCLENBQUE7SUFDekQsSUFBSSxjQUFNLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUM7UUFBRSxPQUFPLFNBQVMsQ0FBQTtJQUNsRCxJQUFJLGNBQU0sQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUFFLE9BQU8sbUJBQW1CLENBQUE7SUFDckQsSUFBSSxjQUFNLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUM7UUFBRSxPQUFPLFdBQVcsQ0FBQTtJQUN0RCxJQUFJLGNBQU0sQ0FBQyxFQUFFLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztRQUFFLE9BQU8scUJBQXFCLENBQUE7SUFDekQsT0FBTyxlQUFlLENBQUE7QUFDeEIsQ0FBQyJ9
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./fulfillment-status"), exports);
|
|
18
|
+
__exportStar(require("./payout-amounts"), exports);
|
|
19
|
+
__exportStar(require("./sent-to-provider"), exports);
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL3BheW91dC91dGlscy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsdURBQW9DO0FBQ3BDLG1EQUFnQztBQUNoQyxxREFBa0MifQ==
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
import { BigNumberInput, FulfillmentStatus } from "@medusajs/framework/types";
|
|
2
|
+
import { PayoutDTO, PayoutReversalDTO, PayoutStatus, PayoutStatusReasonCode } from "@mercurjs/types";
|
|
3
|
+
import { FulfillableOrder } from "./fulfillment-status";
|
|
4
|
+
type AmountRow = {
|
|
5
|
+
amount: BigNumberInput;
|
|
6
|
+
raw_amount?: BigNumberInput | null;
|
|
7
|
+
};
|
|
8
|
+
type RefundRow = AmountRow & {
|
|
9
|
+
id: string;
|
|
10
|
+
};
|
|
11
|
+
type PaymentRow = AmountRow & {
|
|
12
|
+
id: string;
|
|
13
|
+
captured_at: Date | string | null;
|
|
14
|
+
canceled_at: Date | string | null;
|
|
15
|
+
data: Record<string, unknown> | null;
|
|
16
|
+
captures?: AmountRow[] | null;
|
|
17
|
+
refunds?: RefundRow[] | null;
|
|
18
|
+
};
|
|
19
|
+
export type PayoutOrder = FulfillableOrder & {
|
|
20
|
+
id: string;
|
|
21
|
+
status: string;
|
|
22
|
+
canceled_at: Date | string | null;
|
|
23
|
+
total: BigNumberInput;
|
|
24
|
+
currency_code: string;
|
|
25
|
+
credit_lines?: {
|
|
26
|
+
amount: BigNumberInput;
|
|
27
|
+
}[] | null;
|
|
28
|
+
shipping_methods?: {
|
|
29
|
+
id: string;
|
|
30
|
+
}[] | null;
|
|
31
|
+
seller?: {
|
|
32
|
+
id: string;
|
|
33
|
+
payout_account?: {
|
|
34
|
+
id: string;
|
|
35
|
+
payouts_enabled: boolean;
|
|
36
|
+
} | null;
|
|
37
|
+
} | null;
|
|
38
|
+
payment_collections?: {
|
|
39
|
+
payments?: PaymentRow[] | null;
|
|
40
|
+
}[] | null;
|
|
41
|
+
};
|
|
42
|
+
export type CommissionLine = {
|
|
43
|
+
amount: BigNumberInput;
|
|
44
|
+
item_id?: string | null;
|
|
45
|
+
shipping_method_id?: string | null;
|
|
46
|
+
};
|
|
47
|
+
export type PaymentState = {
|
|
48
|
+
id: string;
|
|
49
|
+
captured: boolean;
|
|
50
|
+
canceled: boolean;
|
|
51
|
+
fully_refunded: boolean;
|
|
52
|
+
data: Record<string, unknown>;
|
|
53
|
+
} | null;
|
|
54
|
+
export type PayoutDecision = {
|
|
55
|
+
status: PayoutStatus;
|
|
56
|
+
status_reason: PayoutStatusReasonCode | null;
|
|
57
|
+
status_detail: string | null;
|
|
58
|
+
amount: BigNumberInput;
|
|
59
|
+
};
|
|
60
|
+
export declare const PAYOUT_ORDER_FIELDS: string[];
|
|
61
|
+
export declare const REVERSAL_ORDER_FIELDS: string[];
|
|
62
|
+
/** Order total before refunds: Medusa books a refund as a credit line that lowers `total`. */
|
|
63
|
+
export declare function grossTotalOf(order: Pick<PayoutOrder, "total" | "credit_lines">): BigNumberInput;
|
|
64
|
+
export declare function paymentStateOf(order: Pick<PayoutOrder, "payment_collections">): PaymentState;
|
|
65
|
+
export declare function commissionTotalsOf(orders: Pick<PayoutOrder, "id" | "items" | "shipping_methods">[], lines: CommissionLine[]): Map<string, BigNumberInput>;
|
|
66
|
+
export declare function commissionLineFilters(orders: Pick<PayoutOrder, "items" | "shipping_methods">[]): {
|
|
67
|
+
$or: ({
|
|
68
|
+
item_id: string[];
|
|
69
|
+
shipping_method_id?: undefined;
|
|
70
|
+
} | {
|
|
71
|
+
shipping_method_id: string[];
|
|
72
|
+
item_id?: undefined;
|
|
73
|
+
})[];
|
|
74
|
+
};
|
|
75
|
+
/**
|
|
76
|
+
* Order of checks: canceled, account, fulfilled, paid, amount.
|
|
77
|
+
*/
|
|
78
|
+
export declare function decideOrderPayout(input: {
|
|
79
|
+
order: {
|
|
80
|
+
seller_id: string;
|
|
81
|
+
status: string;
|
|
82
|
+
canceled_at?: Date | string | null;
|
|
83
|
+
fulfillment_status: string | null;
|
|
84
|
+
total: BigNumberInput;
|
|
85
|
+
currency_code?: string | null;
|
|
86
|
+
};
|
|
87
|
+
account: {
|
|
88
|
+
id: string;
|
|
89
|
+
payouts_enabled: boolean;
|
|
90
|
+
} | null;
|
|
91
|
+
payment: PaymentState;
|
|
92
|
+
commission_total: BigNumberInput;
|
|
93
|
+
required_fulfillment_status: FulfillmentStatus;
|
|
94
|
+
}): PayoutDecision;
|
|
95
|
+
/**
|
|
96
|
+
* The seller gives back the refunded amount minus the commission share on
|
|
97
|
+
* it, once the order payout is paid.
|
|
98
|
+
*/
|
|
99
|
+
export declare function decideReversal(input: {
|
|
100
|
+
refund_id: string;
|
|
101
|
+
refund_amount: BigNumberInput;
|
|
102
|
+
refund_canceled: boolean;
|
|
103
|
+
order_total: BigNumberInput;
|
|
104
|
+
commission_total: BigNumberInput;
|
|
105
|
+
currency_code?: string | null;
|
|
106
|
+
payout: {
|
|
107
|
+
id: string;
|
|
108
|
+
status: PayoutStatus;
|
|
109
|
+
provider_payout_id: string | null;
|
|
110
|
+
} | null;
|
|
111
|
+
}): PayoutDecision;
|
|
112
|
+
export type OrderPayoutsPlan = {
|
|
113
|
+
create: {
|
|
114
|
+
seller_id: string;
|
|
115
|
+
order_id: string;
|
|
116
|
+
account_id: string;
|
|
117
|
+
amount: number;
|
|
118
|
+
currency_code: string;
|
|
119
|
+
status: PayoutStatus;
|
|
120
|
+
status_reason: string | null;
|
|
121
|
+
data: Record<string, unknown>;
|
|
122
|
+
}[];
|
|
123
|
+
update: {
|
|
124
|
+
id: string;
|
|
125
|
+
account_id: string;
|
|
126
|
+
amount: number;
|
|
127
|
+
status: PayoutStatus;
|
|
128
|
+
status_reason: string | null;
|
|
129
|
+
data: Record<string, unknown>;
|
|
130
|
+
}[];
|
|
131
|
+
counts: Record<string, number>;
|
|
132
|
+
};
|
|
133
|
+
/**
|
|
134
|
+
* A payout that is paid, processing or aborted is left alone; one on hold or
|
|
135
|
+
* failed is re-decided. A refund that landed before the payout cannot be
|
|
136
|
+
* reversed later, so the payout is built net of it and carries its commission share.
|
|
137
|
+
*/
|
|
138
|
+
export declare function planOrderPayouts(input: {
|
|
139
|
+
orders: PayoutOrder[];
|
|
140
|
+
commission_lines: CommissionLine[];
|
|
141
|
+
payouts: PayoutDTO[];
|
|
142
|
+
required_fulfillment_status: FulfillmentStatus;
|
|
143
|
+
}): OrderPayoutsPlan;
|
|
144
|
+
export type PayoutReversalsPlan = {
|
|
145
|
+
create: {
|
|
146
|
+
payout_id: string;
|
|
147
|
+
refund_id: string;
|
|
148
|
+
amount: number;
|
|
149
|
+
status: PayoutStatus;
|
|
150
|
+
status_reason: string | null;
|
|
151
|
+
data: Record<string, unknown>;
|
|
152
|
+
}[];
|
|
153
|
+
update: {
|
|
154
|
+
id: string;
|
|
155
|
+
amount: number;
|
|
156
|
+
status: PayoutStatus;
|
|
157
|
+
status_reason: string | null;
|
|
158
|
+
data: Record<string, unknown>;
|
|
159
|
+
}[];
|
|
160
|
+
counts: Record<string, number>;
|
|
161
|
+
};
|
|
162
|
+
/**
|
|
163
|
+
* Every refund on an order whose payout exists gets one reversal, net of the
|
|
164
|
+
* commission share on it. Refunds the payout already absorbed are skipped.
|
|
165
|
+
*/
|
|
166
|
+
export declare function planPayoutReversals(input: {
|
|
167
|
+
orders: PayoutOrder[];
|
|
168
|
+
commission_lines: CommissionLine[];
|
|
169
|
+
payouts: (PayoutDTO & {
|
|
170
|
+
reversals?: PayoutReversalDTO[];
|
|
171
|
+
})[];
|
|
172
|
+
}): PayoutReversalsPlan;
|
|
173
|
+
export {};
|