@mercurjs/core 2.3.9-canary.4 → 2.3.9-canary.5
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,97 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Migration20261028120000 = void 0;
|
|
4
|
+
const migrations_1 = require("@medusajs/framework/mikro-orm/migrations");
|
|
5
|
+
class Migration20261028120000 extends migrations_1.Migration {
|
|
6
|
+
async up() {
|
|
7
|
+
this.addSql(`alter table if exists "payout" drop constraint if exists "payout_settlement_id_foreign";`);
|
|
8
|
+
this.addSql(`DROP INDEX IF EXISTS "IDX_payout_settlement_id";`);
|
|
9
|
+
this.addSql(`alter table if exists "payout" drop column if exists "settlement_id";`);
|
|
10
|
+
this.addSql(`alter table if exists "payout_account" drop column if exists "provider_id", drop column if exists "ignored", drop column if exists "requirements";`);
|
|
11
|
+
this.addSql(`DROP INDEX IF EXISTS "IDX_payout_account_provider_account_id";`);
|
|
12
|
+
this.addSql(`
|
|
13
|
+
DO $$
|
|
14
|
+
BEGIN
|
|
15
|
+
IF EXISTS (SELECT 1 FROM information_schema.columns WHERE table_schema = current_schema() AND table_name = 'payout_account' AND column_name = 'provider_account_id') THEN
|
|
16
|
+
IF EXISTS (SELECT 1 FROM information_schema.columns WHERE table_schema = current_schema() AND table_name = 'payout_account' AND column_name = 'external_id') THEN
|
|
17
|
+
UPDATE "payout_account" SET "external_id" = "provider_account_id" WHERE "external_id" IS NULL;
|
|
18
|
+
ALTER TABLE "payout_account" DROP COLUMN "provider_account_id";
|
|
19
|
+
ELSE
|
|
20
|
+
ALTER TABLE "payout_account" RENAME COLUMN "provider_account_id" TO "external_id";
|
|
21
|
+
END IF;
|
|
22
|
+
END IF;
|
|
23
|
+
END $$;
|
|
24
|
+
`);
|
|
25
|
+
this.addSql(`alter table if exists "payout_account" add column if not exists "external_id" text null, add column if not exists "kyc_status" text check ("kyc_status" in ('pending_submission', 'pending_approval', 'approved', 'refused')) null, add column if not exists "payouts_enabled" boolean not null default false, add column if not exists "charges_enabled" boolean not null default false, add column if not exists "details_submitted" boolean not null default false, add column if not exists "disabled_reason" text null, add column if not exists "onboarding_token" text null, add column if not exists "onboarding_token_issued_at" timestamptz null, add column if not exists "last_synced_at" timestamptz null;`);
|
|
26
|
+
this.addSql(`update "payout_account" set "external_id" = "data"->>'id' where "external_id" is null and "data"->>'id' is not null;`);
|
|
27
|
+
this.addSql(`update "payout_account" set "payouts_enabled" = true, "charges_enabled" = true, "details_submitted" = true where "status" = 'active' and "last_synced_at" is null;`);
|
|
28
|
+
this.addSql(`update "payout_account" set "onboarding_token_issued_at" = now() where "onboarding_token" is not null and "onboarding_token_issued_at" is null;`);
|
|
29
|
+
this.addSql(`CREATE UNIQUE INDEX IF NOT EXISTS "IDX_payout_account_external_id" ON "payout_account" ("external_id") WHERE deleted_at IS NULL AND external_id IS NOT NULL;`);
|
|
30
|
+
this.addSql(`CREATE UNIQUE INDEX IF NOT EXISTS "IDX_payout_account_onboarding_token" ON "payout_account" ("onboarding_token") WHERE deleted_at IS NULL AND onboarding_token IS NOT NULL;`);
|
|
31
|
+
this.addSql(`alter table if exists "payout" add column if not exists "order_id" text null, add column if not exists "status_reason" text null, add column if not exists "metadata" jsonb null;`);
|
|
32
|
+
// Payouts created before order_id existed kept the Stripe transfer as data,
|
|
33
|
+
// with the order id as its transfer_group. Several rows could carry the same
|
|
34
|
+
// transfer for one order, so only the oldest gets the order id.
|
|
35
|
+
this.addSql(`
|
|
36
|
+
with derived as (
|
|
37
|
+
select "id", coalesce("data"->>'order_id', "data"->>'transfer_group', "data"->'metadata'->>'order_id') as "derived_order_id",
|
|
38
|
+
row_number() over (partition by coalesce("data"->>'order_id', "data"->>'transfer_group', "data"->'metadata'->>'order_id') order by "created_at") as "position"
|
|
39
|
+
from "payout"
|
|
40
|
+
where "order_id" is null and "deleted_at" is null
|
|
41
|
+
)
|
|
42
|
+
update "payout" set "order_id" = derived."derived_order_id"
|
|
43
|
+
from derived
|
|
44
|
+
where "payout"."id" = derived."id"
|
|
45
|
+
and derived."derived_order_id" is not null
|
|
46
|
+
and derived."position" = 1
|
|
47
|
+
and not exists (select 1 from "payout" taken where taken."order_id" = derived."derived_order_id" and taken."deleted_at" is null);
|
|
48
|
+
`);
|
|
49
|
+
this.addSql(`
|
|
50
|
+
DO $$
|
|
51
|
+
BEGIN
|
|
52
|
+
IF EXISTS (SELECT 1 FROM information_schema.columns WHERE table_schema = current_schema() AND table_name = 'payout' AND column_name = 'provider_payout_id') THEN
|
|
53
|
+
EXECUTE 'UPDATE "payout" SET "data" = coalesce("data", ''{}''::jsonb) || jsonb_build_object(''provider'', coalesce("data"->''provider'', ''{}''::jsonb) || jsonb_build_object(''id'', "provider_payout_id")) WHERE "provider_payout_id" IS NOT NULL';
|
|
54
|
+
END IF;
|
|
55
|
+
END $$;
|
|
56
|
+
`);
|
|
57
|
+
this.addSql(`update "payout" set "data" = "data" || jsonb_build_object('provider', jsonb_build_object('id', "data"->>'id')) where "data"->'provider' is null and "data"->>'id' is not null;`);
|
|
58
|
+
this.addSql(`DROP INDEX IF EXISTS "IDX_payout_provider_payout_id";`);
|
|
59
|
+
this.addSql(`alter table if exists "payout" drop column if exists "provider_payout_id";`);
|
|
60
|
+
this.addSql(`alter table if exists "payout" drop constraint if exists "payout_status_check";`);
|
|
61
|
+
this.addSql(`update "payout" set "status" = 'aborted' where "status" = 'canceled';`);
|
|
62
|
+
this.addSql(`alter table if exists "payout" add constraint "payout_status_check" check ("status" in ('pending', 'on_hold', 'processing', 'paid', 'failed', 'aborted'));`);
|
|
63
|
+
this.addSql(`CREATE UNIQUE INDEX IF NOT EXISTS "IDX_payout_order_id" ON "payout" ("order_id") WHERE deleted_at IS NULL AND order_id IS NOT NULL;`);
|
|
64
|
+
this.addSql(`CREATE INDEX IF NOT EXISTS "IDX_payout_account_id_created_at" ON "payout" ("account_id", "created_at") WHERE deleted_at IS NULL;`);
|
|
65
|
+
this.addSql(`CREATE INDEX IF NOT EXISTS "IDX_payout_status_created_at" ON "payout" ("status", "created_at") WHERE deleted_at IS NULL;`);
|
|
66
|
+
this.addSql(`create table if not exists "payout_reversal" ("id" text not null, "refund_id" text null, "amount" numeric not null, "raw_amount" jsonb not null, "status" text check ("status" in ('pending', 'on_hold', 'processing', 'paid', 'failed', 'aborted')) not null default 'pending', "status_reason" text null, "data" jsonb null, "payout_id" text not null, "created_at" timestamptz not null default now(), "updated_at" timestamptz not null default now(), "deleted_at" timestamptz null, constraint "payout_reversal_pkey" primary key ("id"));`);
|
|
67
|
+
this.addSql(`
|
|
68
|
+
DO $$
|
|
69
|
+
BEGIN
|
|
70
|
+
IF EXISTS (SELECT 1 FROM information_schema.columns WHERE table_schema = current_schema() AND table_name = 'payout_reversal' AND column_name = 'provider_reversal_id') THEN
|
|
71
|
+
EXECUTE 'UPDATE "payout_reversal" SET "data" = coalesce("data", ''{}''::jsonb) || jsonb_build_object(''provider'', coalesce("data"->''provider'', ''{}''::jsonb) || jsonb_build_object(''id'', "provider_reversal_id")) WHERE "provider_reversal_id" IS NOT NULL';
|
|
72
|
+
END IF;
|
|
73
|
+
END $$;
|
|
74
|
+
`);
|
|
75
|
+
this.addSql(`alter table if exists "payout_reversal" drop column if exists "provider_reversal_id";`);
|
|
76
|
+
this.addSql(`CREATE INDEX IF NOT EXISTS "IDX_payout_reversal_deleted_at" ON "payout_reversal" ("deleted_at") WHERE deleted_at IS NULL;`);
|
|
77
|
+
this.addSql(`CREATE INDEX IF NOT EXISTS "IDX_payout_reversal_payout_id" ON "payout_reversal" ("payout_id") WHERE deleted_at IS NULL;`);
|
|
78
|
+
this.addSql(`CREATE UNIQUE INDEX IF NOT EXISTS "IDX_payout_reversal_refund_id" ON "payout_reversal" ("refund_id") WHERE deleted_at IS NULL AND refund_id IS NOT NULL;`);
|
|
79
|
+
this.addSql(`CREATE INDEX IF NOT EXISTS "IDX_payout_reversal_status_created_at" ON "payout_reversal" ("status", "created_at") WHERE deleted_at IS NULL;`);
|
|
80
|
+
this.addSql(`alter table if exists "payout_reversal" drop constraint if exists "payout_reversal_payout_id_foreign";`);
|
|
81
|
+
this.addSql(`alter table if exists "payout_reversal" add constraint "payout_reversal_payout_id_foreign" foreign key ("payout_id") references "payout" ("id") on update cascade on delete cascade;`);
|
|
82
|
+
}
|
|
83
|
+
async down() {
|
|
84
|
+
this.addSql(`drop table if exists "payout_reversal" cascade;`);
|
|
85
|
+
this.addSql(`DROP INDEX IF EXISTS "IDX_payout_order_id";`);
|
|
86
|
+
this.addSql(`alter table if exists "payout" drop constraint if exists "payout_status_check";`);
|
|
87
|
+
this.addSql(`update "payout" set "status" = 'canceled' where "status" = 'aborted';`);
|
|
88
|
+
this.addSql(`update "payout" set "status" = 'pending' where "status" = 'on_hold';`);
|
|
89
|
+
this.addSql(`alter table if exists "payout" add constraint "payout_status_check" check ("status" in ('pending', 'processing', 'paid', 'failed', 'canceled'));`);
|
|
90
|
+
this.addSql(`alter table if exists "payout" drop column if exists "order_id", drop column if exists "status_reason", drop column if exists "metadata";`);
|
|
91
|
+
this.addSql(`DROP INDEX IF EXISTS "IDX_payout_account_external_id";`);
|
|
92
|
+
this.addSql(`DROP INDEX IF EXISTS "IDX_payout_account_onboarding_token";`);
|
|
93
|
+
this.addSql(`alter table if exists "payout_account" drop column if exists "external_id", drop column if exists "kyc_status", drop column if exists "payouts_enabled", drop column if exists "charges_enabled", drop column if exists "details_submitted", drop column if exists "disabled_reason", drop column if exists "onboarding_token", drop column if exists "onboarding_token_issued_at", drop column if exists "last_synced_at";`);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
exports.Migration20261028120000 = Migration20261028120000;
|
|
97
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlncmF0aW9uMjAyNjEwMjgxMjAwMDAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9wYXlvdXQvbWlncmF0aW9ucy9NaWdyYXRpb24yMDI2MTAyODEyMDAwMC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx5RUFBb0U7QUFFcEUsTUFBYSx1QkFBd0IsU0FBUSxzQkFBUztJQUMzQyxLQUFLLENBQUMsRUFBRTtRQUNmLElBQUksQ0FBQyxNQUFNLENBQUMsMEZBQTBGLENBQUMsQ0FBQTtRQUN2RyxJQUFJLENBQUMsTUFBTSxDQUFDLGtEQUFrRCxDQUFDLENBQUE7UUFDL0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyx1RUFBdUUsQ0FBQyxDQUFBO1FBQ3BGLElBQUksQ0FBQyxNQUFNLENBQUMsb0pBQW9KLENBQUMsQ0FBQTtRQUVqSyxJQUFJLENBQUMsTUFBTSxDQUFDLGdFQUFnRSxDQUFDLENBQUE7UUFDN0UsSUFBSSxDQUFDLE1BQU0sQ0FBQzs7Ozs7Ozs7Ozs7O0tBWVgsQ0FBQyxDQUFBO1FBQ0YsSUFBSSxDQUFDLE1BQU0sQ0FBQyx5ckJBQXlyQixDQUFDLENBQUE7UUFDdHNCLElBQUksQ0FBQyxNQUFNLENBQUMsc0hBQXNILENBQUMsQ0FBQTtRQUNuSSxJQUFJLENBQUMsTUFBTSxDQUFDLG9LQUFvSyxDQUFDLENBQUE7UUFDakwsSUFBSSxDQUFDLE1BQU0sQ0FBQyxpSkFBaUosQ0FBQyxDQUFBO1FBQzlKLElBQUksQ0FBQyxNQUFNLENBQUMsOEpBQThKLENBQUMsQ0FBQTtRQUMzSyxJQUFJLENBQUMsTUFBTSxDQUFDLDZLQUE2SyxDQUFDLENBQUE7UUFFMUwsSUFBSSxDQUFDLE1BQU0sQ0FBQyxtTEFBbUwsQ0FBQyxDQUFBO1FBQ2hNLDRFQUE0RTtRQUM1RSw2RUFBNkU7UUFDN0UsZ0VBQWdFO1FBQ2hFLElBQUksQ0FBQyxNQUFNLENBQUM7Ozs7Ozs7Ozs7Ozs7S0FhWCxDQUFDLENBQUE7UUFDRixJQUFJLENBQUMsTUFBTSxDQUFDOzs7Ozs7O0tBT1gsQ0FBQyxDQUFBO1FBQ0YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxnTEFBZ0wsQ0FBQyxDQUFBO1FBQzdMLElBQUksQ0FBQyxNQUFNLENBQUMsdURBQXVELENBQUMsQ0FBQTtRQUNwRSxJQUFJLENBQUMsTUFBTSxDQUFDLDRFQUE0RSxDQUFDLENBQUE7UUFDekYsSUFBSSxDQUFDLE1BQU0sQ0FBQyxpRkFBaUYsQ0FBQyxDQUFBO1FBQzlGLElBQUksQ0FBQyxNQUFNLENBQUMsdUVBQXVFLENBQUMsQ0FBQTtRQUNwRixJQUFJLENBQUMsTUFBTSxDQUFDLDRKQUE0SixDQUFDLENBQUE7UUFDekssSUFBSSxDQUFDLE1BQU0sQ0FBQyxxSUFBcUksQ0FBQyxDQUFBO1FBQ2xKLElBQUksQ0FBQyxNQUFNLENBQUMsa0lBQWtJLENBQUMsQ0FBQTtRQUMvSSxJQUFJLENBQUMsTUFBTSxDQUFDLDBIQUEwSCxDQUFDLENBQUE7UUFFdkksSUFBSSxDQUFDLE1BQU0sQ0FBQyxtaEJBQW1oQixDQUFDLENBQUE7UUFDaGlCLElBQUksQ0FBQyxNQUFNLENBQUM7Ozs7Ozs7S0FPWCxDQUFDLENBQUE7UUFDRixJQUFJLENBQUMsTUFBTSxDQUFDLHVGQUF1RixDQUFDLENBQUE7UUFDcEcsSUFBSSxDQUFDLE1BQU0sQ0FBQywySEFBMkgsQ0FBQyxDQUFBO1FBQ3hJLElBQUksQ0FBQyxNQUFNLENBQUMseUhBQXlILENBQUMsQ0FBQTtRQUN0SSxJQUFJLENBQUMsTUFBTSxDQUFDLDBKQUEwSixDQUFDLENBQUE7UUFDdkssSUFBSSxDQUFDLE1BQU0sQ0FBQyw0SUFBNEksQ0FBQyxDQUFBO1FBQ3pKLElBQUksQ0FBQyxNQUFNLENBQUMsd0dBQXdHLENBQUMsQ0FBQTtRQUNySCxJQUFJLENBQUMsTUFBTSxDQUFDLHNMQUFzTCxDQUFDLENBQUE7SUFDck0sQ0FBQztJQUVRLEtBQUssQ0FBQyxJQUFJO1FBQ2pCLElBQUksQ0FBQyxNQUFNLENBQUMsaURBQWlELENBQUMsQ0FBQTtRQUU5RCxJQUFJLENBQUMsTUFBTSxDQUFDLDZDQUE2QyxDQUFDLENBQUE7UUFDMUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxpRkFBaUYsQ0FBQyxDQUFBO1FBQzlGLElBQUksQ0FBQyxNQUFNLENBQUMsdUVBQXVFLENBQUMsQ0FBQTtRQUNwRixJQUFJLENBQUMsTUFBTSxDQUFDLHNFQUFzRSxDQUFDLENBQUE7UUFDbkYsSUFBSSxDQUFDLE1BQU0sQ0FBQyxrSkFBa0osQ0FBQyxDQUFBO1FBQy9KLElBQUksQ0FBQyxNQUFNLENBQUMsMklBQTJJLENBQUMsQ0FBQTtRQUV4SixJQUFJLENBQUMsTUFBTSxDQUFDLHdEQUF3RCxDQUFDLENBQUE7UUFDckUsSUFBSSxDQUFDLE1BQU0sQ0FBQyw2REFBNkQsQ0FBQyxDQUFBO1FBQzFFLElBQUksQ0FBQyxNQUFNLENBQUMsNlpBQTZaLENBQUMsQ0FBQTtJQUM1YSxDQUFDO0NBQ0Y7QUFoR0QsMERBZ0dDIn0=
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.PayoutAccount = exports.Payout = exports.Onboarding = void 0;
|
|
3
|
+
exports.PayoutReversal = exports.PayoutAccount = exports.Payout = exports.Onboarding = void 0;
|
|
4
4
|
var onboarding_1 = require("./onboarding");
|
|
5
5
|
Object.defineProperty(exports, "Onboarding", { enumerable: true, get: function () { return onboarding_1.Onboarding; } });
|
|
6
6
|
var payout_1 = require("./payout");
|
|
7
7
|
Object.defineProperty(exports, "Payout", { enumerable: true, get: function () { return payout_1.Payout; } });
|
|
8
8
|
var payout_account_1 = require("./payout-account");
|
|
9
9
|
Object.defineProperty(exports, "PayoutAccount", { enumerable: true, get: function () { return payout_account_1.PayoutAccount; } });
|
|
10
|
-
|
|
10
|
+
var payout_reversal_1 = require("./payout-reversal");
|
|
11
|
+
Object.defineProperty(exports, "PayoutReversal", { enumerable: true, get: function () { return payout_reversal_1.PayoutReversal; } });
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9wYXlvdXQvbW9kZWxzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDJDQUF5QztBQUFoQyx3R0FBQSxVQUFVLE9BQUE7QUFDbkIsbUNBQWlDO0FBQXhCLGdHQUFBLE1BQU0sT0FBQTtBQUNmLG1EQUFnRDtBQUF2QywrR0FBQSxhQUFhLE9BQUE7QUFDdEIscURBQWtEO0FBQXpDLGlIQUFBLGNBQWMsT0FBQSJ9
|
|
@@ -4,18 +4,39 @@ export declare const Onboarding: import("@medusajs/framework/utils").DmlEntity<i
|
|
|
4
4
|
context: import("@medusajs/framework/utils").NullableModifier<NoInfer<Record<string, unknown>>, import("@medusajs/framework/utils").JSONProperty<NoInfer<Record<string, unknown>>>>;
|
|
5
5
|
account: import("@medusajs/framework/utils").BelongsTo<() => import("@medusajs/framework/utils").DmlEntity<import("@medusajs/framework/utils").DMLEntitySchemaBuilder<{
|
|
6
6
|
id: import("@medusajs/framework/utils").PrimaryKeyModifier<string, import("@medusajs/framework/utils").IdProperty>;
|
|
7
|
+
external_id: import("@medusajs/framework/utils").NullableModifier<string, import("@medusajs/framework/utils").TextProperty>;
|
|
7
8
|
status: import("@medusajs/framework/utils").EnumProperty<typeof import("@mercurjs/types").PayoutAccountStatus>;
|
|
9
|
+
kyc_status: import("@medusajs/framework/utils").NullableModifier<import("@mercurjs/types").PayoutKycStatus, import("@medusajs/framework/utils").EnumProperty<typeof import("@mercurjs/types").PayoutKycStatus>>;
|
|
10
|
+
payouts_enabled: import("@medusajs/framework/utils").BooleanProperty;
|
|
11
|
+
charges_enabled: import("@medusajs/framework/utils").BooleanProperty;
|
|
12
|
+
details_submitted: import("@medusajs/framework/utils").BooleanProperty;
|
|
13
|
+
disabled_reason: import("@medusajs/framework/utils").NullableModifier<string, import("@medusajs/framework/utils").TextProperty>;
|
|
14
|
+
onboarding_token: import("@medusajs/framework/utils").NullableModifier<string, import("@medusajs/framework/utils").TextProperty>;
|
|
15
|
+
onboarding_token_issued_at: import("@medusajs/framework/utils").NullableModifier<Date, import("@medusajs/framework/utils").DateTimeProperty>;
|
|
16
|
+
last_synced_at: import("@medusajs/framework/utils").NullableModifier<Date, import("@medusajs/framework/utils").DateTimeProperty>;
|
|
8
17
|
data: import("@medusajs/framework/utils").JSONProperty<NoInfer<Record<string, unknown>>>;
|
|
9
18
|
context: import("@medusajs/framework/utils").NullableModifier<NoInfer<Record<string, unknown>>, import("@medusajs/framework/utils").JSONProperty<NoInfer<Record<string, unknown>>>>;
|
|
10
19
|
onboarding: import("@medusajs/framework/utils").RelationNullableModifier<() => import("@medusajs/framework/utils").DmlEntity<import("@medusajs/framework/utils").DMLEntitySchemaBuilder</*elided*/ any>, "onboarding">, import("@medusajs/framework/utils").HasOne<() => import("@medusajs/framework/utils").DmlEntity<import("@medusajs/framework/utils").DMLEntitySchemaBuilder</*elided*/ any>, "onboarding">>, false>;
|
|
11
20
|
payouts: import("@medusajs/framework/utils").HasMany<() => import("@medusajs/framework/utils").DmlEntity<import("@medusajs/framework/utils").DMLEntitySchemaBuilder<{
|
|
12
21
|
id: import("@medusajs/framework/utils").PrimaryKeyModifier<string, import("@medusajs/framework/utils").IdProperty>;
|
|
13
22
|
display_id: import("@medusajs/framework/utils").AutoIncrementProperty;
|
|
23
|
+
order_id: import("@medusajs/framework/utils").NullableModifier<string, import("@medusajs/framework/utils").TextProperty>;
|
|
14
24
|
currency_code: import("@medusajs/framework/utils").TextProperty;
|
|
15
25
|
amount: import("@medusajs/framework/utils").BigNumberProperty;
|
|
26
|
+
status: import("@medusajs/framework/utils").EnumProperty<typeof import("@mercurjs/types").PayoutStatus>;
|
|
27
|
+
status_reason: import("@medusajs/framework/utils").NullableModifier<string, import("@medusajs/framework/utils").TextProperty>;
|
|
16
28
|
data: import("@medusajs/framework/utils").NullableModifier<NoInfer<Record<string, unknown>>, import("@medusajs/framework/utils").JSONProperty<NoInfer<Record<string, unknown>>>>;
|
|
29
|
+
metadata: import("@medusajs/framework/utils").NullableModifier<NoInfer<Record<string, unknown>>, import("@medusajs/framework/utils").JSONProperty<NoInfer<Record<string, unknown>>>>;
|
|
17
30
|
account: import("@medusajs/framework/utils").BelongsTo<() => import("@medusajs/framework/utils").DmlEntity<import("@medusajs/framework/utils").DMLEntitySchemaBuilder</*elided*/ any>, "payout_account">, undefined>;
|
|
18
|
-
|
|
31
|
+
reversals: import("@medusajs/framework/utils").HasMany<() => import("@medusajs/framework/utils").DmlEntity<import("@medusajs/framework/utils").DMLEntitySchemaBuilder<{
|
|
32
|
+
id: import("@medusajs/framework/utils").PrimaryKeyModifier<string, import("@medusajs/framework/utils").IdProperty>;
|
|
33
|
+
refund_id: import("@medusajs/framework/utils").NullableModifier<string, import("@medusajs/framework/utils").TextProperty>;
|
|
34
|
+
amount: import("@medusajs/framework/utils").BigNumberProperty;
|
|
35
|
+
status: import("@medusajs/framework/utils").EnumProperty<typeof import("@mercurjs/types").PayoutStatus>;
|
|
36
|
+
status_reason: import("@medusajs/framework/utils").NullableModifier<string, import("@medusajs/framework/utils").TextProperty>;
|
|
37
|
+
data: import("@medusajs/framework/utils").NullableModifier<NoInfer<Record<string, unknown>>, import("@medusajs/framework/utils").JSONProperty<NoInfer<Record<string, unknown>>>>;
|
|
38
|
+
payout: import("@medusajs/framework/utils").BelongsTo<() => import("@medusajs/framework/utils").DmlEntity<import("@medusajs/framework/utils").DMLEntitySchemaBuilder</*elided*/ any>, "payout">, undefined>;
|
|
39
|
+
}>, "payout_reversal">>;
|
|
19
40
|
}>, "payout">>;
|
|
20
41
|
}>, "payout_account">, undefined>;
|
|
21
42
|
}>, "onboarding">;
|
|
@@ -1,7 +1,16 @@
|
|
|
1
|
-
import { PayoutAccountStatus } from "@mercurjs/types";
|
|
1
|
+
import { PayoutAccountStatus, PayoutKycStatus } from "@mercurjs/types";
|
|
2
2
|
export declare const PayoutAccount: import("@medusajs/framework/utils").DmlEntity<import("@medusajs/framework/utils").DMLEntitySchemaBuilder<{
|
|
3
3
|
id: import("@medusajs/framework/utils").PrimaryKeyModifier<string, import("@medusajs/framework/utils").IdProperty>;
|
|
4
|
+
external_id: import("@medusajs/framework/utils").NullableModifier<string, import("@medusajs/framework/utils").TextProperty>;
|
|
4
5
|
status: import("@medusajs/framework/utils").EnumProperty<typeof PayoutAccountStatus>;
|
|
6
|
+
kyc_status: import("@medusajs/framework/utils").NullableModifier<PayoutKycStatus, import("@medusajs/framework/utils").EnumProperty<typeof PayoutKycStatus>>;
|
|
7
|
+
payouts_enabled: import("@medusajs/framework/utils").BooleanProperty;
|
|
8
|
+
charges_enabled: import("@medusajs/framework/utils").BooleanProperty;
|
|
9
|
+
details_submitted: import("@medusajs/framework/utils").BooleanProperty;
|
|
10
|
+
disabled_reason: import("@medusajs/framework/utils").NullableModifier<string, import("@medusajs/framework/utils").TextProperty>;
|
|
11
|
+
onboarding_token: import("@medusajs/framework/utils").NullableModifier<string, import("@medusajs/framework/utils").TextProperty>;
|
|
12
|
+
onboarding_token_issued_at: import("@medusajs/framework/utils").NullableModifier<Date, import("@medusajs/framework/utils").DateTimeProperty>;
|
|
13
|
+
last_synced_at: import("@medusajs/framework/utils").NullableModifier<Date, import("@medusajs/framework/utils").DateTimeProperty>;
|
|
5
14
|
data: import("@medusajs/framework/utils").JSONProperty<NoInfer<Record<string, unknown>>>;
|
|
6
15
|
context: import("@medusajs/framework/utils").NullableModifier<NoInfer<Record<string, unknown>>, import("@medusajs/framework/utils").JSONProperty<NoInfer<Record<string, unknown>>>>;
|
|
7
16
|
onboarding: import("@medusajs/framework/utils").RelationNullableModifier<() => import("@medusajs/framework/utils").DmlEntity<import("@medusajs/framework/utils").DMLEntitySchemaBuilder<{
|
|
@@ -18,10 +27,22 @@ export declare const PayoutAccount: import("@medusajs/framework/utils").DmlEntit
|
|
|
18
27
|
payouts: import("@medusajs/framework/utils").HasMany<() => import("@medusajs/framework/utils").DmlEntity<import("@medusajs/framework/utils").DMLEntitySchemaBuilder<{
|
|
19
28
|
id: import("@medusajs/framework/utils").PrimaryKeyModifier<string, import("@medusajs/framework/utils").IdProperty>;
|
|
20
29
|
display_id: import("@medusajs/framework/utils").AutoIncrementProperty;
|
|
30
|
+
order_id: import("@medusajs/framework/utils").NullableModifier<string, import("@medusajs/framework/utils").TextProperty>;
|
|
21
31
|
currency_code: import("@medusajs/framework/utils").TextProperty;
|
|
22
32
|
amount: import("@medusajs/framework/utils").BigNumberProperty;
|
|
33
|
+
status: import("@medusajs/framework/utils").EnumProperty<typeof import("@mercurjs/types").PayoutStatus>;
|
|
34
|
+
status_reason: import("@medusajs/framework/utils").NullableModifier<string, import("@medusajs/framework/utils").TextProperty>;
|
|
23
35
|
data: import("@medusajs/framework/utils").NullableModifier<NoInfer<Record<string, unknown>>, import("@medusajs/framework/utils").JSONProperty<NoInfer<Record<string, unknown>>>>;
|
|
36
|
+
metadata: import("@medusajs/framework/utils").NullableModifier<NoInfer<Record<string, unknown>>, import("@medusajs/framework/utils").JSONProperty<NoInfer<Record<string, unknown>>>>;
|
|
24
37
|
account: import("@medusajs/framework/utils").BelongsTo<() => import("@medusajs/framework/utils").DmlEntity<import("@medusajs/framework/utils").DMLEntitySchemaBuilder</*elided*/ any>, "payout_account">, undefined>;
|
|
25
|
-
|
|
38
|
+
reversals: import("@medusajs/framework/utils").HasMany<() => import("@medusajs/framework/utils").DmlEntity<import("@medusajs/framework/utils").DMLEntitySchemaBuilder<{
|
|
39
|
+
id: import("@medusajs/framework/utils").PrimaryKeyModifier<string, import("@medusajs/framework/utils").IdProperty>;
|
|
40
|
+
refund_id: import("@medusajs/framework/utils").NullableModifier<string, import("@medusajs/framework/utils").TextProperty>;
|
|
41
|
+
amount: import("@medusajs/framework/utils").BigNumberProperty;
|
|
42
|
+
status: import("@medusajs/framework/utils").EnumProperty<typeof import("@mercurjs/types").PayoutStatus>;
|
|
43
|
+
status_reason: import("@medusajs/framework/utils").NullableModifier<string, import("@medusajs/framework/utils").TextProperty>;
|
|
44
|
+
data: import("@medusajs/framework/utils").NullableModifier<NoInfer<Record<string, unknown>>, import("@medusajs/framework/utils").JSONProperty<NoInfer<Record<string, unknown>>>>;
|
|
45
|
+
payout: import("@medusajs/framework/utils").BelongsTo<() => import("@medusajs/framework/utils").DmlEntity<import("@medusajs/framework/utils").DMLEntitySchemaBuilder</*elided*/ any>, "payout">, undefined>;
|
|
46
|
+
}>, "payout_reversal">>;
|
|
26
47
|
}>, "payout">>;
|
|
27
48
|
}>, "payout_account">;
|
|
@@ -5,16 +5,42 @@ const utils_1 = require("@medusajs/framework/utils");
|
|
|
5
5
|
const types_1 = require("@mercurjs/types");
|
|
6
6
|
const onboarding_1 = require("./onboarding");
|
|
7
7
|
const payout_1 = require("./payout");
|
|
8
|
-
exports.PayoutAccount = utils_1.model
|
|
8
|
+
exports.PayoutAccount = utils_1.model
|
|
9
|
+
.define("payout_account", {
|
|
9
10
|
id: utils_1.model.id({ prefix: "pacc" }).primaryKey(),
|
|
11
|
+
external_id: utils_1.model.text().nullable(),
|
|
10
12
|
status: utils_1.model.enum(types_1.PayoutAccountStatus).default(types_1.PayoutAccountStatus.PENDING),
|
|
13
|
+
kyc_status: utils_1.model.enum(types_1.PayoutKycStatus).nullable(),
|
|
14
|
+
payouts_enabled: utils_1.model.boolean().default(false),
|
|
15
|
+
charges_enabled: utils_1.model.boolean().default(false),
|
|
16
|
+
details_submitted: utils_1.model.boolean().default(false),
|
|
17
|
+
disabled_reason: utils_1.model.text().nullable(),
|
|
18
|
+
onboarding_token: utils_1.model.text().nullable(),
|
|
19
|
+
onboarding_token_issued_at: utils_1.model.dateTime().nullable(),
|
|
20
|
+
last_synced_at: utils_1.model.dateTime().nullable(),
|
|
11
21
|
data: utils_1.model.json().default({}),
|
|
12
22
|
context: utils_1.model.json().nullable(),
|
|
13
|
-
onboarding: utils_1.model
|
|
14
|
-
|
|
15
|
-
|
|
23
|
+
onboarding: utils_1.model
|
|
24
|
+
.hasOne(() => onboarding_1.Onboarding, {
|
|
25
|
+
mappedBy: "account",
|
|
26
|
+
})
|
|
27
|
+
.nullable(),
|
|
16
28
|
payouts: utils_1.model.hasMany(() => payout_1.Payout, {
|
|
17
|
-
mappedBy:
|
|
29
|
+
mappedBy: "account",
|
|
18
30
|
}),
|
|
19
|
-
})
|
|
20
|
-
|
|
31
|
+
})
|
|
32
|
+
.indexes([
|
|
33
|
+
{
|
|
34
|
+
name: "IDX_payout_account_external_id",
|
|
35
|
+
on: ["external_id"],
|
|
36
|
+
unique: true,
|
|
37
|
+
where: "deleted_at IS NULL AND external_id IS NOT NULL",
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
name: "IDX_payout_account_onboarding_token",
|
|
41
|
+
on: ["onboarding_token"],
|
|
42
|
+
unique: true,
|
|
43
|
+
where: "deleted_at IS NULL AND onboarding_token IS NOT NULL",
|
|
44
|
+
},
|
|
45
|
+
]);
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5b3V0LWFjY291bnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9wYXlvdXQvbW9kZWxzL3BheW91dC1hY2NvdW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFEQUFrRDtBQUVsRCwyQ0FBdUU7QUFDdkUsNkNBQTBDO0FBQzFDLHFDQUFrQztBQUVyQixRQUFBLGFBQWEsR0FBRyxhQUFLO0tBQy9CLE1BQU0sQ0FBQyxnQkFBZ0IsRUFBRTtJQUN4QixFQUFFLEVBQUUsYUFBSyxDQUFDLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLFVBQVUsRUFBRTtJQUM3QyxXQUFXLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUNwQyxNQUFNLEVBQUUsYUFBSyxDQUFDLElBQUksQ0FBQywyQkFBbUIsQ0FBQyxDQUFDLE9BQU8sQ0FBQywyQkFBbUIsQ0FBQyxPQUFPLENBQUM7SUFDNUUsVUFBVSxFQUFFLGFBQUssQ0FBQyxJQUFJLENBQUMsdUJBQWUsQ0FBQyxDQUFDLFFBQVEsRUFBRTtJQUNsRCxlQUFlLEVBQUUsYUFBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7SUFDL0MsZUFBZSxFQUFFLGFBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO0lBQy9DLGlCQUFpQixFQUFFLGFBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO0lBQ2pELGVBQWUsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ3hDLGdCQUFnQixFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDekMsMEJBQTBCLEVBQUUsYUFBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUN2RCxjQUFjLEVBQUUsYUFBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUMzQyxJQUFJLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7SUFDOUIsT0FBTyxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDaEMsVUFBVSxFQUFFLGFBQUs7U0FDZCxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsdUJBQVUsRUFBRTtRQUN4QixRQUFRLEVBQUUsU0FBUztLQUNwQixDQUFDO1NBQ0QsUUFBUSxFQUFFO0lBQ2IsT0FBTyxFQUFFLGFBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsZUFBTSxFQUFFO1FBQ25DLFFBQVEsRUFBRSxTQUFTO0tBQ3BCLENBQUM7Q0FDSCxDQUFDO0tBQ0QsT0FBTyxDQUFDO0lBQ1A7UUFDRSxJQUFJLEVBQUUsZ0NBQWdDO1FBQ3RDLEVBQUUsRUFBRSxDQUFDLGFBQWEsQ0FBQztRQUNuQixNQUFNLEVBQUUsSUFBSTtRQUNaLEtBQUssRUFBRSxnREFBZ0Q7S0FDeEQ7SUFDRDtRQUNFLElBQUksRUFBRSxxQ0FBcUM7UUFDM0MsRUFBRSxFQUFFLENBQUMsa0JBQWtCLENBQUM7UUFDeEIsTUFBTSxFQUFFLElBQUk7UUFDWixLQUFLLEVBQUUscURBQXFEO0tBQzdEO0NBQ0YsQ0FBQyxDQUFDIn0=
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { PayoutStatus } from '@mercurjs/types';
|
|
2
|
+
export declare const PayoutReversal: import("@medusajs/framework/utils").DmlEntity<import("@medusajs/framework/utils").DMLEntitySchemaBuilder<{
|
|
3
|
+
id: import("@medusajs/framework/utils").PrimaryKeyModifier<string, import("@medusajs/framework/utils").IdProperty>;
|
|
4
|
+
refund_id: import("@medusajs/framework/utils").NullableModifier<string, import("@medusajs/framework/utils").TextProperty>;
|
|
5
|
+
amount: import("@medusajs/framework/utils").BigNumberProperty;
|
|
6
|
+
status: import("@medusajs/framework/utils").EnumProperty<typeof PayoutStatus>;
|
|
7
|
+
status_reason: import("@medusajs/framework/utils").NullableModifier<string, import("@medusajs/framework/utils").TextProperty>;
|
|
8
|
+
data: import("@medusajs/framework/utils").NullableModifier<NoInfer<Record<string, unknown>>, import("@medusajs/framework/utils").JSONProperty<NoInfer<Record<string, unknown>>>>;
|
|
9
|
+
payout: import("@medusajs/framework/utils").BelongsTo<() => import("@medusajs/framework/utils").DmlEntity<import("@medusajs/framework/utils").DMLEntitySchemaBuilder<{
|
|
10
|
+
id: import("@medusajs/framework/utils").PrimaryKeyModifier<string, import("@medusajs/framework/utils").IdProperty>;
|
|
11
|
+
display_id: import("@medusajs/framework/utils").AutoIncrementProperty;
|
|
12
|
+
order_id: import("@medusajs/framework/utils").NullableModifier<string, import("@medusajs/framework/utils").TextProperty>;
|
|
13
|
+
currency_code: import("@medusajs/framework/utils").TextProperty;
|
|
14
|
+
amount: import("@medusajs/framework/utils").BigNumberProperty;
|
|
15
|
+
status: import("@medusajs/framework/utils").EnumProperty<typeof PayoutStatus>;
|
|
16
|
+
status_reason: import("@medusajs/framework/utils").NullableModifier<string, import("@medusajs/framework/utils").TextProperty>;
|
|
17
|
+
data: import("@medusajs/framework/utils").NullableModifier<NoInfer<Record<string, unknown>>, import("@medusajs/framework/utils").JSONProperty<NoInfer<Record<string, unknown>>>>;
|
|
18
|
+
metadata: import("@medusajs/framework/utils").NullableModifier<NoInfer<Record<string, unknown>>, import("@medusajs/framework/utils").JSONProperty<NoInfer<Record<string, unknown>>>>;
|
|
19
|
+
account: import("@medusajs/framework/utils").BelongsTo<() => import("@medusajs/framework/utils").DmlEntity<import("@medusajs/framework/utils").DMLEntitySchemaBuilder<{
|
|
20
|
+
id: import("@medusajs/framework/utils").PrimaryKeyModifier<string, import("@medusajs/framework/utils").IdProperty>;
|
|
21
|
+
external_id: import("@medusajs/framework/utils").NullableModifier<string, import("@medusajs/framework/utils").TextProperty>;
|
|
22
|
+
status: import("@medusajs/framework/utils").EnumProperty<typeof import("@mercurjs/types").PayoutAccountStatus>;
|
|
23
|
+
kyc_status: import("@medusajs/framework/utils").NullableModifier<import("@mercurjs/types").PayoutKycStatus, import("@medusajs/framework/utils").EnumProperty<typeof import("@mercurjs/types").PayoutKycStatus>>;
|
|
24
|
+
payouts_enabled: import("@medusajs/framework/utils").BooleanProperty;
|
|
25
|
+
charges_enabled: import("@medusajs/framework/utils").BooleanProperty;
|
|
26
|
+
details_submitted: import("@medusajs/framework/utils").BooleanProperty;
|
|
27
|
+
disabled_reason: import("@medusajs/framework/utils").NullableModifier<string, import("@medusajs/framework/utils").TextProperty>;
|
|
28
|
+
onboarding_token: import("@medusajs/framework/utils").NullableModifier<string, import("@medusajs/framework/utils").TextProperty>;
|
|
29
|
+
onboarding_token_issued_at: import("@medusajs/framework/utils").NullableModifier<Date, import("@medusajs/framework/utils").DateTimeProperty>;
|
|
30
|
+
last_synced_at: import("@medusajs/framework/utils").NullableModifier<Date, import("@medusajs/framework/utils").DateTimeProperty>;
|
|
31
|
+
data: import("@medusajs/framework/utils").JSONProperty<NoInfer<Record<string, unknown>>>;
|
|
32
|
+
context: import("@medusajs/framework/utils").NullableModifier<NoInfer<Record<string, unknown>>, import("@medusajs/framework/utils").JSONProperty<NoInfer<Record<string, unknown>>>>;
|
|
33
|
+
onboarding: import("@medusajs/framework/utils").RelationNullableModifier<() => import("@medusajs/framework/utils").DmlEntity<import("@medusajs/framework/utils").DMLEntitySchemaBuilder<{
|
|
34
|
+
id: import("@medusajs/framework/utils").PrimaryKeyModifier<string, import("@medusajs/framework/utils").IdProperty>;
|
|
35
|
+
data: import("@medusajs/framework/utils").NullableModifier<NoInfer<Record<string, unknown>>, import("@medusajs/framework/utils").JSONProperty<NoInfer<Record<string, unknown>>>>;
|
|
36
|
+
context: import("@medusajs/framework/utils").NullableModifier<NoInfer<Record<string, unknown>>, import("@medusajs/framework/utils").JSONProperty<NoInfer<Record<string, unknown>>>>;
|
|
37
|
+
account: import("@medusajs/framework/utils").BelongsTo<() => import("@medusajs/framework/utils").DmlEntity<import("@medusajs/framework/utils").DMLEntitySchemaBuilder</*elided*/ any>, "payout_account">, undefined>;
|
|
38
|
+
}>, "onboarding">, import("@medusajs/framework/utils").HasOne<() => import("@medusajs/framework/utils").DmlEntity<import("@medusajs/framework/utils").DMLEntitySchemaBuilder<{
|
|
39
|
+
id: import("@medusajs/framework/utils").PrimaryKeyModifier<string, import("@medusajs/framework/utils").IdProperty>;
|
|
40
|
+
data: import("@medusajs/framework/utils").NullableModifier<NoInfer<Record<string, unknown>>, import("@medusajs/framework/utils").JSONProperty<NoInfer<Record<string, unknown>>>>;
|
|
41
|
+
context: import("@medusajs/framework/utils").NullableModifier<NoInfer<Record<string, unknown>>, import("@medusajs/framework/utils").JSONProperty<NoInfer<Record<string, unknown>>>>;
|
|
42
|
+
account: import("@medusajs/framework/utils").BelongsTo<() => import("@medusajs/framework/utils").DmlEntity<import("@medusajs/framework/utils").DMLEntitySchemaBuilder</*elided*/ any>, "payout_account">, undefined>;
|
|
43
|
+
}>, "onboarding">>, false>;
|
|
44
|
+
payouts: import("@medusajs/framework/utils").HasMany<() => import("@medusajs/framework/utils").DmlEntity<import("@medusajs/framework/utils").DMLEntitySchemaBuilder</*elided*/ any>, "payout">>;
|
|
45
|
+
}>, "payout_account">, undefined>;
|
|
46
|
+
reversals: import("@medusajs/framework/utils").HasMany<() => import("@medusajs/framework/utils").DmlEntity<import("@medusajs/framework/utils").DMLEntitySchemaBuilder</*elided*/ any>, "payout_reversal">>;
|
|
47
|
+
}>, "payout">, undefined>;
|
|
48
|
+
}>, "payout_reversal">;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PayoutReversal = void 0;
|
|
4
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
5
|
+
const payout_1 = require("./payout");
|
|
6
|
+
const types_1 = require("@mercurjs/types");
|
|
7
|
+
exports.PayoutReversal = utils_1.model
|
|
8
|
+
.define('payout_reversal', {
|
|
9
|
+
id: utils_1.model.id({ prefix: 'pourev' }).primaryKey(),
|
|
10
|
+
refund_id: utils_1.model.text().nullable(),
|
|
11
|
+
amount: utils_1.model.bigNumber(),
|
|
12
|
+
status: utils_1.model.enum(types_1.PayoutStatus).default(types_1.PayoutStatus.PENDING),
|
|
13
|
+
status_reason: utils_1.model.text().nullable(),
|
|
14
|
+
data: utils_1.model.json().nullable(),
|
|
15
|
+
payout: utils_1.model.belongsTo(() => payout_1.Payout, {
|
|
16
|
+
mappedBy: 'reversals'
|
|
17
|
+
})
|
|
18
|
+
})
|
|
19
|
+
.indexes([
|
|
20
|
+
{
|
|
21
|
+
name: 'IDX_payout_reversal_payout_id',
|
|
22
|
+
on: ['payout_id'],
|
|
23
|
+
where: 'deleted_at IS NULL'
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
name: 'IDX_payout_reversal_refund_id',
|
|
27
|
+
on: ['refund_id'],
|
|
28
|
+
unique: true,
|
|
29
|
+
where: 'deleted_at IS NULL AND refund_id IS NOT NULL'
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
name: 'IDX_payout_reversal_status_created_at',
|
|
33
|
+
on: ['status', 'created_at'],
|
|
34
|
+
where: 'deleted_at IS NULL'
|
|
35
|
+
}
|
|
36
|
+
]);
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5b3V0LXJldmVyc2FsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL21vZHVsZXMvcGF5b3V0L21vZGVscy9wYXlvdXQtcmV2ZXJzYWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscURBQWlEO0FBRWpELHFDQUFpQztBQUNqQywyQ0FBOEM7QUFFakMsUUFBQSxjQUFjLEdBQUcsYUFBSztLQUNoQyxNQUFNLENBQUMsaUJBQWlCLEVBQUU7SUFDekIsRUFBRSxFQUFFLGFBQUssQ0FBQyxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQyxVQUFVLEVBQUU7SUFDL0MsU0FBUyxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDbEMsTUFBTSxFQUFFLGFBQUssQ0FBQyxTQUFTLEVBQUU7SUFDekIsTUFBTSxFQUFFLGFBQUssQ0FBQyxJQUFJLENBQUMsb0JBQVksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxvQkFBWSxDQUFDLE9BQU8sQ0FBQztJQUM5RCxhQUFhLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUN0QyxJQUFJLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUM3QixNQUFNLEVBQUUsYUFBSyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxlQUFNLEVBQUU7UUFDcEMsUUFBUSxFQUFFLFdBQVc7S0FDdEIsQ0FBQztDQUNILENBQUM7S0FDRCxPQUFPLENBQUM7SUFDUDtRQUNFLElBQUksRUFBRSwrQkFBK0I7UUFDckMsRUFBRSxFQUFFLENBQUMsV0FBVyxDQUFDO1FBQ2pCLEtBQUssRUFBRSxvQkFBb0I7S0FDNUI7SUFDRDtRQUNFLElBQUksRUFBRSwrQkFBK0I7UUFDckMsRUFBRSxFQUFFLENBQUMsV0FBVyxDQUFDO1FBQ2pCLE1BQU0sRUFBRSxJQUFJO1FBQ1osS0FBSyxFQUFFLDhDQUE4QztLQUN0RDtJQUNEO1FBQ0UsSUFBSSxFQUFFLHVDQUF1QztRQUM3QyxFQUFFLEVBQUUsQ0FBQyxRQUFRLEVBQUUsWUFBWSxDQUFDO1FBQzVCLEtBQUssRUFBRSxvQkFBb0I7S0FDNUI7Q0FDRixDQUFDLENBQUEifQ==
|
|
@@ -2,12 +2,25 @@ import { PayoutStatus } from '@mercurjs/types';
|
|
|
2
2
|
export declare const Payout: import("@medusajs/framework/utils").DmlEntity<import("@medusajs/framework/utils").DMLEntitySchemaBuilder<{
|
|
3
3
|
id: import("@medusajs/framework/utils").PrimaryKeyModifier<string, import("@medusajs/framework/utils").IdProperty>;
|
|
4
4
|
display_id: import("@medusajs/framework/utils").AutoIncrementProperty;
|
|
5
|
+
order_id: import("@medusajs/framework/utils").NullableModifier<string, import("@medusajs/framework/utils").TextProperty>;
|
|
5
6
|
currency_code: import("@medusajs/framework/utils").TextProperty;
|
|
6
7
|
amount: import("@medusajs/framework/utils").BigNumberProperty;
|
|
8
|
+
status: import("@medusajs/framework/utils").EnumProperty<typeof PayoutStatus>;
|
|
9
|
+
status_reason: import("@medusajs/framework/utils").NullableModifier<string, import("@medusajs/framework/utils").TextProperty>;
|
|
7
10
|
data: import("@medusajs/framework/utils").NullableModifier<NoInfer<Record<string, unknown>>, import("@medusajs/framework/utils").JSONProperty<NoInfer<Record<string, unknown>>>>;
|
|
11
|
+
metadata: import("@medusajs/framework/utils").NullableModifier<NoInfer<Record<string, unknown>>, import("@medusajs/framework/utils").JSONProperty<NoInfer<Record<string, unknown>>>>;
|
|
8
12
|
account: import("@medusajs/framework/utils").BelongsTo<() => import("@medusajs/framework/utils").DmlEntity<import("@medusajs/framework/utils").DMLEntitySchemaBuilder<{
|
|
9
13
|
id: import("@medusajs/framework/utils").PrimaryKeyModifier<string, import("@medusajs/framework/utils").IdProperty>;
|
|
14
|
+
external_id: import("@medusajs/framework/utils").NullableModifier<string, import("@medusajs/framework/utils").TextProperty>;
|
|
10
15
|
status: import("@medusajs/framework/utils").EnumProperty<typeof import("@mercurjs/types").PayoutAccountStatus>;
|
|
16
|
+
kyc_status: import("@medusajs/framework/utils").NullableModifier<import("@mercurjs/types").PayoutKycStatus, import("@medusajs/framework/utils").EnumProperty<typeof import("@mercurjs/types").PayoutKycStatus>>;
|
|
17
|
+
payouts_enabled: import("@medusajs/framework/utils").BooleanProperty;
|
|
18
|
+
charges_enabled: import("@medusajs/framework/utils").BooleanProperty;
|
|
19
|
+
details_submitted: import("@medusajs/framework/utils").BooleanProperty;
|
|
20
|
+
disabled_reason: import("@medusajs/framework/utils").NullableModifier<string, import("@medusajs/framework/utils").TextProperty>;
|
|
21
|
+
onboarding_token: import("@medusajs/framework/utils").NullableModifier<string, import("@medusajs/framework/utils").TextProperty>;
|
|
22
|
+
onboarding_token_issued_at: import("@medusajs/framework/utils").NullableModifier<Date, import("@medusajs/framework/utils").DateTimeProperty>;
|
|
23
|
+
last_synced_at: import("@medusajs/framework/utils").NullableModifier<Date, import("@medusajs/framework/utils").DateTimeProperty>;
|
|
11
24
|
data: import("@medusajs/framework/utils").JSONProperty<NoInfer<Record<string, unknown>>>;
|
|
12
25
|
context: import("@medusajs/framework/utils").NullableModifier<NoInfer<Record<string, unknown>>, import("@medusajs/framework/utils").JSONProperty<NoInfer<Record<string, unknown>>>>;
|
|
13
26
|
onboarding: import("@medusajs/framework/utils").RelationNullableModifier<() => import("@medusajs/framework/utils").DmlEntity<import("@medusajs/framework/utils").DMLEntitySchemaBuilder<{
|
|
@@ -23,5 +36,13 @@ export declare const Payout: import("@medusajs/framework/utils").DmlEntity<impor
|
|
|
23
36
|
}>, "onboarding">>, false>;
|
|
24
37
|
payouts: import("@medusajs/framework/utils").HasMany<() => import("@medusajs/framework/utils").DmlEntity<import("@medusajs/framework/utils").DMLEntitySchemaBuilder</*elided*/ any>, "payout">>;
|
|
25
38
|
}>, "payout_account">, undefined>;
|
|
26
|
-
|
|
39
|
+
reversals: import("@medusajs/framework/utils").HasMany<() => import("@medusajs/framework/utils").DmlEntity<import("@medusajs/framework/utils").DMLEntitySchemaBuilder<{
|
|
40
|
+
id: import("@medusajs/framework/utils").PrimaryKeyModifier<string, import("@medusajs/framework/utils").IdProperty>;
|
|
41
|
+
refund_id: import("@medusajs/framework/utils").NullableModifier<string, import("@medusajs/framework/utils").TextProperty>;
|
|
42
|
+
amount: import("@medusajs/framework/utils").BigNumberProperty;
|
|
43
|
+
status: import("@medusajs/framework/utils").EnumProperty<typeof PayoutStatus>;
|
|
44
|
+
status_reason: import("@medusajs/framework/utils").NullableModifier<string, import("@medusajs/framework/utils").TextProperty>;
|
|
45
|
+
data: import("@medusajs/framework/utils").NullableModifier<NoInfer<Record<string, unknown>>, import("@medusajs/framework/utils").JSONProperty<NoInfer<Record<string, unknown>>>>;
|
|
46
|
+
payout: import("@medusajs/framework/utils").BelongsTo<() => import("@medusajs/framework/utils").DmlEntity<import("@medusajs/framework/utils").DMLEntitySchemaBuilder</*elided*/ any>, "payout">, undefined>;
|
|
47
|
+
}>, "payout_reversal">>;
|
|
27
48
|
}>, "payout">;
|
|
@@ -3,18 +3,28 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.Payout = void 0;
|
|
4
4
|
const utils_1 = require("@medusajs/framework/utils");
|
|
5
5
|
const payout_account_1 = require("./payout-account");
|
|
6
|
+
const payout_reversal_1 = require("./payout-reversal");
|
|
6
7
|
const types_1 = require("@mercurjs/types");
|
|
7
8
|
exports.Payout = utils_1.model
|
|
8
9
|
.define('payout', {
|
|
9
10
|
id: utils_1.model.id({ prefix: 'pout' }).primaryKey(),
|
|
10
11
|
display_id: utils_1.model.autoincrement(),
|
|
12
|
+
order_id: utils_1.model.text().nullable(),
|
|
11
13
|
currency_code: utils_1.model.text(),
|
|
12
14
|
amount: utils_1.model.bigNumber(),
|
|
15
|
+
status: utils_1.model.enum(types_1.PayoutStatus).default(types_1.PayoutStatus.PENDING),
|
|
16
|
+
status_reason: utils_1.model.text().nullable(),
|
|
13
17
|
data: utils_1.model.json().nullable(),
|
|
18
|
+
metadata: utils_1.model.json().nullable(),
|
|
14
19
|
account: utils_1.model.belongsTo(() => payout_account_1.PayoutAccount, {
|
|
15
20
|
mappedBy: 'payouts'
|
|
16
21
|
}),
|
|
17
|
-
|
|
22
|
+
reversals: utils_1.model.hasMany(() => payout_reversal_1.PayoutReversal, {
|
|
23
|
+
mappedBy: 'payout'
|
|
24
|
+
})
|
|
25
|
+
})
|
|
26
|
+
.cascades({
|
|
27
|
+
delete: ['reversals']
|
|
18
28
|
})
|
|
19
29
|
.indexes([
|
|
20
30
|
{
|
|
@@ -26,6 +36,12 @@ exports.Payout = utils_1.model
|
|
|
26
36
|
name: 'IDX_payout_status_created_at',
|
|
27
37
|
on: ['status', 'created_at'],
|
|
28
38
|
where: 'deleted_at IS NULL'
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
name: 'IDX_payout_order_id',
|
|
42
|
+
on: ['order_id'],
|
|
43
|
+
unique: true,
|
|
44
|
+
where: 'deleted_at IS NULL AND order_id IS NOT NULL'
|
|
29
45
|
}
|
|
30
46
|
]);
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5b3V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL21vZHVsZXMvcGF5b3V0L21vZGVscy9wYXlvdXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscURBQWlEO0FBRWpELHFEQUFnRDtBQUNoRCx1REFBa0Q7QUFDbEQsMkNBQThDO0FBRWpDLFFBQUEsTUFBTSxHQUFHLGFBQUs7S0FDeEIsTUFBTSxDQUFDLFFBQVEsRUFBRTtJQUNoQixFQUFFLEVBQUUsYUFBSyxDQUFDLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLFVBQVUsRUFBRTtJQUM3QyxVQUFVLEVBQUUsYUFBSyxDQUFDLGFBQWEsRUFBRTtJQUNqQyxRQUFRLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUNqQyxhQUFhLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRTtJQUMzQixNQUFNLEVBQUUsYUFBSyxDQUFDLFNBQVMsRUFBRTtJQUN6QixNQUFNLEVBQUUsYUFBSyxDQUFDLElBQUksQ0FBQyxvQkFBWSxDQUFDLENBQUMsT0FBTyxDQUFDLG9CQUFZLENBQUMsT0FBTyxDQUFDO0lBQzlELGFBQWEsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ3RDLElBQUksRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQzdCLFFBQVEsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ2pDLE9BQU8sRUFBRSxhQUFLLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLDhCQUFhLEVBQUU7UUFDNUMsUUFBUSxFQUFFLFNBQVM7S0FDcEIsQ0FBQztJQUNGLFNBQVMsRUFBRSxhQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLGdDQUFjLEVBQUU7UUFDN0MsUUFBUSxFQUFFLFFBQVE7S0FDbkIsQ0FBQztDQUNILENBQUM7S0FDRCxRQUFRLENBQUM7SUFDUixNQUFNLEVBQUUsQ0FBQyxXQUFXLENBQUM7Q0FDdEIsQ0FBQztLQUNELE9BQU8sQ0FBQztJQUNQO1FBQ0UsSUFBSSxFQUFFLGtDQUFrQztRQUN4QyxFQUFFLEVBQUUsQ0FBQyxZQUFZLEVBQUUsWUFBWSxDQUFDO1FBQ2hDLEtBQUssRUFBRSxvQkFBb0I7S0FDNUI7SUFDRDtRQUNFLElBQUksRUFBRSw4QkFBOEI7UUFDcEMsRUFBRSxFQUFFLENBQUMsUUFBUSxFQUFFLFlBQVksQ0FBQztRQUM1QixLQUFLLEVBQUUsb0JBQW9CO0tBQzVCO0lBQ0Q7UUFDRSxJQUFJLEVBQUUscUJBQXFCO1FBQzNCLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQztRQUNoQixNQUFNLEVBQUUsSUFBSTtRQUNaLEtBQUssRUFBRSw2Q0FBNkM7S0FDckQ7Q0FDRixDQUFDLENBQUEifQ==
|
|
@@ -1,8 +1,14 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import { AccountOutput, CreateAccountInput, CreateLoginLinkInput, CreateOnboardingInput, CreatePayoutInput, LinkOutput, ListAccountsInput, ListAccountsOutput, PayoutOutput, PayoutWebhookActionInput, PayoutWebhookResult, RetrieveAccountInput, ReversePayoutInput } from "@mercurjs/types";
|
|
2
|
+
import { AbstractPayoutProvider } from "../utils/abstract-payout-provider";
|
|
3
|
+
export declare class SystemPayoutProvider extends AbstractPayoutProvider {
|
|
3
4
|
static identifier: string;
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
constructor(container: Record<string, unknown>, options: Record<string, unknown>);
|
|
6
|
+
createAccount(_input: CreateAccountInput): Promise<AccountOutput>;
|
|
7
|
+
retrieveAccount(input: RetrieveAccountInput): Promise<AccountOutput>;
|
|
8
|
+
listAccounts(_input: ListAccountsInput): Promise<ListAccountsOutput>;
|
|
9
|
+
createOnboarding(input: CreateOnboardingInput): Promise<LinkOutput>;
|
|
10
|
+
createLoginLink(input: CreateLoginLinkInput): Promise<LinkOutput>;
|
|
11
|
+
createPayout(_input: CreatePayoutInput): Promise<PayoutOutput>;
|
|
12
|
+
reversePayout(_input: ReversePayoutInput): Promise<PayoutOutput>;
|
|
7
13
|
getWebhookActionAndData(_payload: PayoutWebhookActionInput): Promise<PayoutWebhookResult>;
|
|
8
14
|
}
|
|
@@ -6,22 +6,41 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.SystemPayoutProvider = void 0;
|
|
7
7
|
const crypto_1 = __importDefault(require("crypto"));
|
|
8
8
|
const types_1 = require("@mercurjs/types");
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
9
|
+
const abstract_payout_provider_1 = require("../utils/abstract-payout-provider");
|
|
10
|
+
const activeAccount = (id, data = {}) => ({
|
|
11
|
+
id,
|
|
12
|
+
status: types_1.PayoutAccountStatus.ACTIVE,
|
|
13
|
+
payouts_enabled: true,
|
|
14
|
+
charges_enabled: true,
|
|
15
|
+
details_submitted: true,
|
|
16
|
+
disabled_reason: null,
|
|
17
|
+
requirements: { currently_due: [], past_due: [], pending_verification: [] },
|
|
18
|
+
data,
|
|
19
|
+
});
|
|
20
|
+
class SystemPayoutProvider extends abstract_payout_provider_1.AbstractPayoutProvider {
|
|
21
|
+
constructor(container, options) {
|
|
22
|
+
super(container, options);
|
|
23
|
+
}
|
|
24
|
+
async createAccount(_input) {
|
|
25
|
+
return activeAccount(crypto_1.default.randomUUID());
|
|
26
|
+
}
|
|
27
|
+
async retrieveAccount(input) {
|
|
28
|
+
return activeAccount(input.account.id, input.account.data);
|
|
29
|
+
}
|
|
30
|
+
async listAccounts(_input) {
|
|
31
|
+
return { accounts: [], has_more: false };
|
|
32
|
+
}
|
|
33
|
+
async createOnboarding(input) {
|
|
34
|
+
return { url: input.return_url, data: {} };
|
|
35
|
+
}
|
|
36
|
+
async createLoginLink(input) {
|
|
37
|
+
return { url: `system://account/${input.account.id}`, data: {} };
|
|
16
38
|
}
|
|
17
39
|
async createPayout(_input) {
|
|
18
|
-
return {
|
|
19
|
-
status: types_1.PayoutStatus.PAID,
|
|
20
|
-
data: {},
|
|
21
|
-
};
|
|
40
|
+
return { id: crypto_1.default.randomUUID(), status: types_1.PayoutStatus.PAID, data: {} };
|
|
22
41
|
}
|
|
23
|
-
async
|
|
24
|
-
return { data: {} };
|
|
42
|
+
async reversePayout(_input) {
|
|
43
|
+
return { id: crypto_1.default.randomUUID(), status: types_1.PayoutStatus.PAID, data: {} };
|
|
25
44
|
}
|
|
26
45
|
async getWebhookActionAndData(_payload) {
|
|
27
46
|
return { action: "not_supported" };
|
|
@@ -29,4 +48,4 @@ class SystemPayoutProvider {
|
|
|
29
48
|
}
|
|
30
49
|
exports.SystemPayoutProvider = SystemPayoutProvider;
|
|
31
50
|
SystemPayoutProvider.identifier = "system";
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3lzdGVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL21vZHVsZXMvcGF5b3V0L3Byb3ZpZGVycy9zeXN0ZW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsb0RBQTJCO0FBRTNCLDJDQWdCd0I7QUFFeEIsZ0ZBQTBFO0FBRTFFLE1BQU0sYUFBYSxHQUFHLENBQUMsRUFBVSxFQUFFLE9BQWdDLEVBQUUsRUFBaUIsRUFBRSxDQUFDLENBQUM7SUFDeEYsRUFBRTtJQUNGLE1BQU0sRUFBRSwyQkFBbUIsQ0FBQyxNQUFNO0lBQ2xDLGVBQWUsRUFBRSxJQUFJO0lBQ3JCLGVBQWUsRUFBRSxJQUFJO0lBQ3JCLGlCQUFpQixFQUFFLElBQUk7SUFDdkIsZUFBZSxFQUFFLElBQUk7SUFDckIsWUFBWSxFQUFFLEVBQUUsYUFBYSxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsRUFBRTtJQUMzRSxJQUFJO0NBQ0wsQ0FBQyxDQUFBO0FBRUYsTUFBYSxvQkFBcUIsU0FBUSxpREFBc0I7SUFHOUQsWUFBWSxTQUFrQyxFQUFFLE9BQWdDO1FBQzlFLEtBQUssQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUE7SUFDM0IsQ0FBQztJQUVELEtBQUssQ0FBQyxhQUFhLENBQUMsTUFBMEI7UUFDNUMsT0FBTyxhQUFhLENBQUMsZ0JBQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFBO0lBQzNDLENBQUM7SUFFRCxLQUFLLENBQUMsZUFBZSxDQUFDLEtBQTJCO1FBQy9DLE9BQU8sYUFBYSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDNUQsQ0FBQztJQUVELEtBQUssQ0FBQyxZQUFZLENBQUMsTUFBeUI7UUFDMUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFBO0lBQzFDLENBQUM7SUFFRCxLQUFLLENBQUMsZ0JBQWdCLENBQUMsS0FBNEI7UUFDakQsT0FBTyxFQUFFLEdBQUcsRUFBRSxLQUFLLENBQUMsVUFBVSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQTtJQUM1QyxDQUFDO0lBRUQsS0FBSyxDQUFDLGVBQWUsQ0FBQyxLQUEyQjtRQUMvQyxPQUFPLEVBQUUsR0FBRyxFQUFFLG9CQUFvQixLQUFLLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQTtJQUNsRSxDQUFDO0lBRUQsS0FBSyxDQUFDLFlBQVksQ0FBQyxNQUF5QjtRQUMxQyxPQUFPLEVBQUUsRUFBRSxFQUFFLGdCQUFNLENBQUMsVUFBVSxFQUFFLEVBQUUsTUFBTSxFQUFFLG9CQUFZLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQTtJQUN6RSxDQUFDO0lBRUQsS0FBSyxDQUFDLGFBQWEsQ0FBQyxNQUEwQjtRQUM1QyxPQUFPLEVBQUUsRUFBRSxFQUFFLGdCQUFNLENBQUMsVUFBVSxFQUFFLEVBQUUsTUFBTSxFQUFFLG9CQUFZLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQTtJQUN6RSxDQUFDO0lBRUQsS0FBSyxDQUFDLHVCQUF1QixDQUMzQixRQUFrQztRQUVsQyxPQUFPLEVBQUUsTUFBTSxFQUFFLGVBQWUsRUFBRSxDQUFBO0lBQ3BDLENBQUM7O0FBdkNILG9EQXdDQztBQXZDUSwrQkFBVSxHQUFHLFFBQVEsQ0FBQSJ9
|