@endora-commerce/mod-returns 0.100.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +60 -0
- package/dist/admin/api/returns-client.d.ts +69 -0
- package/dist/admin/api/returns-client.d.ts.map +1 -0
- package/dist/admin/api/returns-client.js +36 -0
- package/dist/admin/api/returns-client.js.map +1 -0
- package/dist/admin/index.d.ts +37 -0
- package/dist/admin/index.d.ts.map +1 -0
- package/dist/admin/index.js +57 -0
- package/dist/admin/index.js.map +1 -0
- package/dist/admin/pages/ReturnDeliveryMethodsPage.d.ts +5 -0
- package/dist/admin/pages/ReturnDeliveryMethodsPage.d.ts.map +1 -0
- package/dist/admin/pages/ReturnDeliveryMethodsPage.js +44 -0
- package/dist/admin/pages/ReturnDeliveryMethodsPage.js.map +1 -0
- package/dist/admin/pages/ReturnDetail.d.ts +5 -0
- package/dist/admin/pages/ReturnDetail.d.ts.map +1 -0
- package/dist/admin/pages/ReturnDetail.js +115 -0
- package/dist/admin/pages/ReturnDetail.js.map +1 -0
- package/dist/admin/pages/ReturnReasonsPage.d.ts +5 -0
- package/dist/admin/pages/ReturnReasonsPage.d.ts.map +1 -0
- package/dist/admin/pages/ReturnReasonsPage.js +44 -0
- package/dist/admin/pages/ReturnReasonsPage.js.map +1 -0
- package/dist/admin/pages/ReturnStatusesConfigPage.d.ts +5 -0
- package/dist/admin/pages/ReturnStatusesConfigPage.d.ts.map +1 -0
- package/dist/admin/pages/ReturnStatusesConfigPage.js +71 -0
- package/dist/admin/pages/ReturnStatusesConfigPage.js.map +1 -0
- package/dist/admin/pages/ReturnsList.d.ts +5 -0
- package/dist/admin/pages/ReturnsList.d.ts.map +1 -0
- package/dist/admin/pages/ReturnsList.js +189 -0
- package/dist/admin/pages/ReturnsList.js.map +1 -0
- package/dist/backend/domain/default-reasons.d.ts +14 -0
- package/dist/backend/domain/default-reasons.d.ts.map +1 -0
- package/dist/backend/domain/default-reasons.js +9 -0
- package/dist/backend/domain/default-reasons.js.map +1 -0
- package/dist/backend/domain/free-return-window.d.ts +2 -0
- package/dist/backend/domain/free-return-window.d.ts.map +1 -0
- package/dist/backend/domain/free-return-window.js +19 -0
- package/dist/backend/domain/free-return-window.js.map +1 -0
- package/dist/backend/domain/refund-math.d.ts +19 -0
- package/dist/backend/domain/refund-math.d.ts.map +1 -0
- package/dist/backend/domain/refund-math.js +27 -0
- package/dist/backend/domain/refund-math.js.map +1 -0
- package/dist/backend/domain/return-status-graph.d.ts +91 -0
- package/dist/backend/domain/return-status-graph.d.ts.map +1 -0
- package/dist/backend/domain/return-status-graph.js +143 -0
- package/dist/backend/domain/return-status-graph.js.map +1 -0
- package/dist/backend/email-templates/return-authorized.d.ts +11 -0
- package/dist/backend/email-templates/return-authorized.d.ts.map +1 -0
- package/dist/backend/email-templates/return-authorized.js +18 -0
- package/dist/backend/email-templates/return-authorized.js.map +1 -0
- package/dist/backend/email-templates/return-rejected.d.ts +11 -0
- package/dist/backend/email-templates/return-rejected.d.ts.map +1 -0
- package/dist/backend/email-templates/return-rejected.js +20 -0
- package/dist/backend/email-templates/return-rejected.js.map +1 -0
- package/dist/backend/email-templates/transactional-defaults.d.ts +11 -0
- package/dist/backend/email-templates/transactional-defaults.d.ts.map +1 -0
- package/dist/backend/email-templates/transactional-defaults.js +64 -0
- package/dist/backend/email-templates/transactional-defaults.js.map +1 -0
- package/dist/backend/entities/refund.entity.d.ts +41 -0
- package/dist/backend/entities/refund.entity.d.ts.map +1 -0
- package/dist/backend/entities/refund.entity.js +122 -0
- package/dist/backend/entities/refund.entity.js.map +1 -0
- package/dist/backend/entities/return-case-attachment.entity.d.ts +16 -0
- package/dist/backend/entities/return-case-attachment.entity.d.ts.map +1 -0
- package/dist/backend/entities/return-case-attachment.entity.js +53 -0
- package/dist/backend/entities/return-case-attachment.entity.js.map +1 -0
- package/dist/backend/entities/return-case-comment.entity.d.ts +20 -0
- package/dist/backend/entities/return-case-comment.entity.d.ts.map +1 -0
- package/dist/backend/entities/return-case-comment.entity.js +70 -0
- package/dist/backend/entities/return-case-comment.entity.js.map +1 -0
- package/dist/backend/entities/return-case-item.entity.d.ts +25 -0
- package/dist/backend/entities/return-case-item.entity.d.ts.map +1 -0
- package/dist/backend/entities/return-case-item.entity.js +87 -0
- package/dist/backend/entities/return-case-item.entity.js.map +1 -0
- package/dist/backend/entities/return-case.entity.d.ts +41 -0
- package/dist/backend/entities/return-case.entity.d.ts.map +1 -0
- package/dist/backend/entities/return-case.entity.js +155 -0
- package/dist/backend/entities/return-case.entity.js.map +1 -0
- package/dist/backend/entities/return-delivery-method.entity.d.ts +18 -0
- package/dist/backend/entities/return-delivery-method.entity.d.ts.map +1 -0
- package/dist/backend/entities/return-delivery-method.entity.js +63 -0
- package/dist/backend/entities/return-delivery-method.entity.js.map +1 -0
- package/dist/backend/entities/return-list-saved-view.entity.d.ts +24 -0
- package/dist/backend/entities/return-list-saved-view.entity.d.ts.map +1 -0
- package/dist/backend/entities/return-list-saved-view.entity.js +74 -0
- package/dist/backend/entities/return-list-saved-view.entity.js.map +1 -0
- package/dist/backend/entities/return-reason.entity.d.ts +21 -0
- package/dist/backend/entities/return-reason.entity.d.ts.map +1 -0
- package/dist/backend/entities/return-reason.entity.js +65 -0
- package/dist/backend/entities/return-reason.entity.js.map +1 -0
- package/dist/backend/entities/return-shipment.entity.d.ts +22 -0
- package/dist/backend/entities/return-shipment.entity.d.ts.map +1 -0
- package/dist/backend/entities/return-shipment.entity.js +71 -0
- package/dist/backend/entities/return-shipment.entity.js.map +1 -0
- package/dist/backend/entities/return-status-transition.entity.d.ts +17 -0
- package/dist/backend/entities/return-status-transition.entity.d.ts.map +1 -0
- package/dist/backend/entities/return-status-transition.entity.js +55 -0
- package/dist/backend/entities/return-status-transition.entity.js.map +1 -0
- package/dist/backend/entities/return-status.entity.d.ts +29 -0
- package/dist/backend/entities/return-status.entity.d.ts.map +1 -0
- package/dist/backend/entities/return-status.entity.js +90 -0
- package/dist/backend/entities/return-status.entity.js.map +1 -0
- package/dist/backend/events/return-status-events.d.ts +44 -0
- package/dist/backend/events/return-status-events.d.ts.map +1 -0
- package/dist/backend/events/return-status-events.js +50 -0
- package/dist/backend/events/return-status-events.js.map +1 -0
- package/dist/backend/index.d.ts +106 -0
- package/dist/backend/index.d.ts.map +1 -0
- package/dist/backend/index.js +116 -0
- package/dist/backend/index.js.map +1 -0
- package/dist/backend/plugin.d.ts +33 -0
- package/dist/backend/plugin.d.ts.map +1 -0
- package/dist/backend/plugin.js +124 -0
- package/dist/backend/plugin.js.map +1 -0
- package/dist/backend/routes.admin.d.ts +38 -0
- package/dist/backend/routes.admin.d.ts.map +1 -0
- package/dist/backend/routes.admin.js +181 -0
- package/dist/backend/routes.admin.js.map +1 -0
- package/dist/backend/routes.customer.d.ts +22 -0
- package/dist/backend/routes.customer.d.ts.map +1 -0
- package/dist/backend/routes.customer.js +56 -0
- package/dist/backend/routes.customer.js.map +1 -0
- package/dist/backend/services/notification-context.d.ts +47 -0
- package/dist/backend/services/notification-context.d.ts.map +1 -0
- package/dist/backend/services/notification-context.js +49 -0
- package/dist/backend/services/notification-context.js.map +1 -0
- package/dist/backend/services/return-attachment-service.d.ts +20 -0
- package/dist/backend/services/return-attachment-service.d.ts.map +1 -0
- package/dist/backend/services/return-attachment-service.js +48 -0
- package/dist/backend/services/return-attachment-service.js.map +1 -0
- package/dist/backend/services/return-authorization-service.d.ts +53 -0
- package/dist/backend/services/return-authorization-service.d.ts.map +1 -0
- package/dist/backend/services/return-authorization-service.js +72 -0
- package/dist/backend/services/return-authorization-service.js.map +1 -0
- package/dist/backend/services/return-case-service.d.ts +44 -0
- package/dist/backend/services/return-case-service.d.ts.map +1 -0
- package/dist/backend/services/return-case-service.js +260 -0
- package/dist/backend/services/return-case-service.js.map +1 -0
- package/dist/backend/services/return-comment-service.d.ts +43 -0
- package/dist/backend/services/return-comment-service.d.ts.map +1 -0
- package/dist/backend/services/return-comment-service.js +109 -0
- package/dist/backend/services/return-comment-service.js.map +1 -0
- package/dist/backend/services/return-delivery-method-service.d.ts +44 -0
- package/dist/backend/services/return-delivery-method-service.d.ts.map +1 -0
- package/dist/backend/services/return-delivery-method-service.js +114 -0
- package/dist/backend/services/return-delivery-method-service.js.map +1 -0
- package/dist/backend/services/return-email-notifier.d.ts +89 -0
- package/dist/backend/services/return-email-notifier.d.ts.map +1 -0
- package/dist/backend/services/return-email-notifier.js +128 -0
- package/dist/backend/services/return-email-notifier.js.map +1 -0
- package/dist/backend/services/return-export-service.d.ts +16 -0
- package/dist/backend/services/return-export-service.d.ts.map +1 -0
- package/dist/backend/services/return-export-service.js +29 -0
- package/dist/backend/services/return-export-service.js.map +1 -0
- package/dist/backend/services/return-list-service.d.ts +27 -0
- package/dist/backend/services/return-list-service.d.ts.map +1 -0
- package/dist/backend/services/return-list-service.js +114 -0
- package/dist/backend/services/return-list-service.js.map +1 -0
- package/dist/backend/services/return-list-view-service.d.ts +36 -0
- package/dist/backend/services/return-list-view-service.d.ts.map +1 -0
- package/dist/backend/services/return-list-view-service.js +82 -0
- package/dist/backend/services/return-list-view-service.js.map +1 -0
- package/dist/backend/services/return-reason-service.d.ts +33 -0
- package/dist/backend/services/return-reason-service.d.ts.map +1 -0
- package/dist/backend/services/return-reason-service.js +90 -0
- package/dist/backend/services/return-reason-service.js.map +1 -0
- package/dist/backend/services/return-settlement-service.d.ts +67 -0
- package/dist/backend/services/return-settlement-service.d.ts.map +1 -0
- package/dist/backend/services/return-settlement-service.js +295 -0
- package/dist/backend/services/return-settlement-service.js.map +1 -0
- package/dist/backend/services/return-shipment-service.d.ts +40 -0
- package/dist/backend/services/return-shipment-service.d.ts.map +1 -0
- package/dist/backend/services/return-shipment-service.js +113 -0
- package/dist/backend/services/return-shipment-service.js.map +1 -0
- package/dist/backend/services/return-status-graph-service.d.ts +59 -0
- package/dist/backend/services/return-status-graph-service.d.ts.map +1 -0
- package/dist/backend/services/return-status-graph-service.js +197 -0
- package/dist/backend/services/return-status-graph-service.js.map +1 -0
- package/dist/backend/services/return-transition-service.d.ts +48 -0
- package/dist/backend/services/return-transition-service.d.ts.map +1 -0
- package/dist/backend/services/return-transition-service.js +116 -0
- package/dist/backend/services/return-transition-service.js.map +1 -0
- package/dist/backend/services/returns-seeder.d.ts +18 -0
- package/dist/backend/services/returns-seeder.d.ts.map +1 -0
- package/dist/backend/services/returns-seeder.js +63 -0
- package/dist/backend/services/returns-seeder.js.map +1 -0
- package/dist/backend/services/rma-number-generator.d.ts +35 -0
- package/dist/backend/services/rma-number-generator.d.ts.map +1 -0
- package/dist/backend/services/rma-number-generator.js +45 -0
- package/dist/backend/services/rma-number-generator.js.map +1 -0
- package/dist/manifest.d.ts +182 -0
- package/dist/manifest.d.ts.map +1 -0
- package/dist/manifest.js +216 -0
- package/dist/manifest.js.map +1 -0
- package/dist/migrations/20260625T144227_returns_init.d.ts +15 -0
- package/dist/migrations/20260625T144227_returns_init.d.ts.map +1 -0
- package/dist/migrations/20260625T144227_returns_init.js +241 -0
- package/dist/migrations/20260625T144227_returns_init.js.map +1 -0
- package/dist/migrations/20260817T203206_returns_refund_corrective_invoice_outcome.d.ts +25 -0
- package/dist/migrations/20260817T203206_returns_refund_corrective_invoice_outcome.d.ts.map +1 -0
- package/dist/migrations/20260817T203206_returns_refund_corrective_invoice_outcome.js +46 -0
- package/dist/migrations/20260817T203206_returns_refund_corrective_invoice_outcome.js.map +1 -0
- package/dist/migrations/index.d.ts +28 -0
- package/dist/migrations/index.d.ts.map +1 -0
- package/dist/migrations/index.js +31 -0
- package/dist/migrations/index.js.map +1 -0
- package/docs/returns.md +103 -0
- package/i18n/en.json +28 -0
- package/i18n/pl.json +28 -0
- package/package.json +101 -0
- package/tailwind.css +14 -0
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Returns module — manifest (feature 046, Zwroty / Refunds / RMA).
|
|
3
|
+
*
|
|
4
|
+
* Owns return/complaint (RMA) case management: configurable workflow, RMA
|
|
5
|
+
* numbering, comments, settlement (refunds / credit / replacement / repair),
|
|
6
|
+
* return delivery methods, and the EU 2023/2673-aligned defaults. Scalar
|
|
7
|
+
* settings are declared here and seeded by the module-lifecycle
|
|
8
|
+
* ManifestReconciler on boot; they are Sales-Channel-scopable through the
|
|
9
|
+
* standard settings scoping.
|
|
10
|
+
*/
|
|
11
|
+
export declare const RETURNS_SETTING_CODES: {
|
|
12
|
+
/** Number of free-return days (0 = no free-return option); counted from the
|
|
13
|
+
* order's fulfilment-completing status. Default 14 = EU withdrawal period. */
|
|
14
|
+
readonly FREE_RETURN_DAYS: "returns.free_return_days";
|
|
15
|
+
/** Text prepended to the generated RMA number (e.g. "RMA-"). */
|
|
16
|
+
readonly RMA_NUMBER_PREFIX: "returns.rma_number_prefix";
|
|
17
|
+
/** Text appended to the generated RMA number. */
|
|
18
|
+
readonly RMA_NUMBER_SUFFIX: "returns.rma_number_suffix";
|
|
19
|
+
/** Who bears the return cost once the free-return window has passed. */
|
|
20
|
+
readonly DEFAULT_COST_BEARER_OUTSIDE_WINDOW: "returns.default_cost_bearer_outside_window";
|
|
21
|
+
};
|
|
22
|
+
export declare const manifest: {
|
|
23
|
+
id: string;
|
|
24
|
+
name: string;
|
|
25
|
+
version: string;
|
|
26
|
+
dependencies: string[];
|
|
27
|
+
description?: string | undefined;
|
|
28
|
+
acknowledgedDependencies?: {
|
|
29
|
+
moduleId: string;
|
|
30
|
+
port: string;
|
|
31
|
+
reason: string;
|
|
32
|
+
}[] | undefined;
|
|
33
|
+
nonBindingDependencies?: {
|
|
34
|
+
moduleId: string;
|
|
35
|
+
name: string;
|
|
36
|
+
kind: "contributes-to" | "degrades-without" | "refuses-without";
|
|
37
|
+
reason: string;
|
|
38
|
+
whenAbsent?: string | undefined;
|
|
39
|
+
}[] | undefined;
|
|
40
|
+
activation?: {
|
|
41
|
+
settingCode: string;
|
|
42
|
+
default: boolean;
|
|
43
|
+
} | {
|
|
44
|
+
nonDeactivatable: true;
|
|
45
|
+
reason: string;
|
|
46
|
+
} | undefined;
|
|
47
|
+
settings?: {
|
|
48
|
+
moduleCode: string;
|
|
49
|
+
groups: {
|
|
50
|
+
code: string;
|
|
51
|
+
name: string;
|
|
52
|
+
salesChannelCodes?: string[] | undefined;
|
|
53
|
+
isSystemProtected?: boolean | undefined;
|
|
54
|
+
}[];
|
|
55
|
+
settings: {
|
|
56
|
+
code: string;
|
|
57
|
+
name: string;
|
|
58
|
+
valueType: "string" | "number" | "boolean" | "json" | "string_list" | "secret" | "credential_ref";
|
|
59
|
+
defaultValue: unknown;
|
|
60
|
+
description?: string | undefined;
|
|
61
|
+
groupCode?: string | undefined;
|
|
62
|
+
previousDefaultValues?: unknown[] | undefined;
|
|
63
|
+
salesChannelCodes?: string[] | undefined;
|
|
64
|
+
enumOptions?: string[] | undefined;
|
|
65
|
+
configurationType?: string | undefined;
|
|
66
|
+
hidden?: boolean | undefined;
|
|
67
|
+
}[];
|
|
68
|
+
} | undefined;
|
|
69
|
+
i18n?: {
|
|
70
|
+
bundlesDir: string;
|
|
71
|
+
} | undefined;
|
|
72
|
+
docs?: false | {
|
|
73
|
+
dir: string;
|
|
74
|
+
} | undefined;
|
|
75
|
+
demo?: false | {
|
|
76
|
+
summary: string;
|
|
77
|
+
seed: (context: import("@endora-commerce/contracts").ModuleDemoContext<never>) => Promise<import("@endora-commerce/contracts").DemoSeedResult>;
|
|
78
|
+
reset: (context: import("@endora-commerce/contracts").ModuleDemoContext<never>) => Promise<import("@endora-commerce/contracts").DemoResetResult>;
|
|
79
|
+
after?: readonly string[] | undefined;
|
|
80
|
+
package?: string | undefined;
|
|
81
|
+
} | undefined;
|
|
82
|
+
actions?: {
|
|
83
|
+
id: string;
|
|
84
|
+
labelKey: string;
|
|
85
|
+
icon: "Plus" | "Sparkles" | "Settings" | "Search" | "Boxes" | "Layers" | "Menu" | "PlusCircle" | "PlusSquare" | "FilePlus" | "FolderPlus" | "Upload" | "FileUp" | "CloudUpload" | "Download" | "FileDown" | "FileText" | "BookOpen" | "Rss" | "Package" | "Tag" | "ShoppingCart" | "Receipt" | "CreditCard" | "Users" | "UserPlus" | "Inbox" | "ListChecks" | "ClipboardList" | "Image" | "Video" | "LayoutDashboard" | "PanelLeft" | "KeyRound" | "ShieldCheck" | "Edit" | "Archive" | "Box" | "Truck" | "CircleDollarSign" | "Activity" | "LineChart" | "Smartphone" | "Webhook" | "Scale" | "PlugZap" | "PercentDiamond" | "Newspaper" | "Languages" | "Eraser" | "Warehouse" | "TrendingDown" | "Bell" | "PackageOpen" | "Building2" | "Store" | "ClipboardCheck";
|
|
86
|
+
targetRoute: string;
|
|
87
|
+
keywords: string[];
|
|
88
|
+
weight: number;
|
|
89
|
+
descriptionKey?: string | undefined;
|
|
90
|
+
requiredPermission?: string | undefined;
|
|
91
|
+
}[] | undefined;
|
|
92
|
+
permissions?: {
|
|
93
|
+
code: string;
|
|
94
|
+
label: string;
|
|
95
|
+
module?: string | undefined;
|
|
96
|
+
description?: string | undefined;
|
|
97
|
+
requires?: string[] | undefined;
|
|
98
|
+
}[] | undefined;
|
|
99
|
+
transactionalEmails?: {
|
|
100
|
+
code: string;
|
|
101
|
+
name: string;
|
|
102
|
+
variables: {
|
|
103
|
+
key: string;
|
|
104
|
+
label: string;
|
|
105
|
+
sampleValue?: string | undefined;
|
|
106
|
+
description?: string | undefined;
|
|
107
|
+
}[];
|
|
108
|
+
description?: string | undefined;
|
|
109
|
+
group?: string | undefined;
|
|
110
|
+
}[] | undefined;
|
|
111
|
+
capabilities?: string[] | undefined;
|
|
112
|
+
exclusiveCapabilities?: {
|
|
113
|
+
key: string;
|
|
114
|
+
errorCode: string;
|
|
115
|
+
}[] | undefined;
|
|
116
|
+
errorCodes?: {
|
|
117
|
+
code: string;
|
|
118
|
+
tokens?: string[] | undefined;
|
|
119
|
+
}[] | undefined;
|
|
120
|
+
blocks?: {
|
|
121
|
+
name: string;
|
|
122
|
+
labelKey: string;
|
|
123
|
+
category: string;
|
|
124
|
+
contexts: ("invoice" | "email" | "cms" | "newsletter")[];
|
|
125
|
+
fields: Record<string, {
|
|
126
|
+
type: "number" | "object" | "array" | "text" | "textarea" | "select" | "radio" | "external" | "uuid" | "richtext";
|
|
127
|
+
label?: string | undefined;
|
|
128
|
+
required?: boolean | undefined;
|
|
129
|
+
options?: {
|
|
130
|
+
label: string;
|
|
131
|
+
value: string | number;
|
|
132
|
+
}[] | undefined;
|
|
133
|
+
refKind?: string | undefined;
|
|
134
|
+
}>;
|
|
135
|
+
descriptionKey?: string | undefined;
|
|
136
|
+
defaultProps?: Record<string, unknown> | undefined;
|
|
137
|
+
responsiveFields?: string[] | undefined;
|
|
138
|
+
previewIcon?: string | undefined;
|
|
139
|
+
weight?: number | undefined;
|
|
140
|
+
}[] | undefined;
|
|
141
|
+
blockCategories?: {
|
|
142
|
+
key: string;
|
|
143
|
+
titleKey: string;
|
|
144
|
+
contexts: ("invoice" | "email" | "cms" | "newsletter")[];
|
|
145
|
+
weight?: number | undefined;
|
|
146
|
+
visible?: boolean | undefined;
|
|
147
|
+
}[] | undefined;
|
|
148
|
+
env?: {
|
|
149
|
+
name: string;
|
|
150
|
+
describes: {
|
|
151
|
+
en: string;
|
|
152
|
+
pl: string;
|
|
153
|
+
};
|
|
154
|
+
requirement: {
|
|
155
|
+
kind: "required";
|
|
156
|
+
} | {
|
|
157
|
+
kind: "requiredWhen";
|
|
158
|
+
input: string;
|
|
159
|
+
equals: string;
|
|
160
|
+
} | {
|
|
161
|
+
kind: "optional";
|
|
162
|
+
without: {
|
|
163
|
+
en: string;
|
|
164
|
+
pl: string;
|
|
165
|
+
};
|
|
166
|
+
};
|
|
167
|
+
secret: boolean;
|
|
168
|
+
generable: boolean;
|
|
169
|
+
owner: {
|
|
170
|
+
kind: "platform";
|
|
171
|
+
} | {
|
|
172
|
+
kind: "application";
|
|
173
|
+
application: "admin" | "backend" | "storefront";
|
|
174
|
+
} | {
|
|
175
|
+
kind: "module";
|
|
176
|
+
moduleId: string;
|
|
177
|
+
};
|
|
178
|
+
consumers: ("admin" | "backend" | "storefront")[];
|
|
179
|
+
addressOf: "admin" | "backend" | "storefront" | null;
|
|
180
|
+
}[] | undefined;
|
|
181
|
+
};
|
|
182
|
+
//# sourceMappingURL=manifest.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"AAKA;;;;;;;;;GASG;AAEH,eAAO,MAAM,qBAAqB;IAChC;mFAC+E;;IAE/E,gEAAgE;;IAEhE,iDAAiD;;IAEjD,wEAAwE;;CAEhE,CAAC;AAsDX,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsJnB,CAAC"}
|
package/dist/manifest.js
ADDED
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
import { defineModuleManifest, defineModuleSettingsManifest, } from '@endora-commerce/contracts';
|
|
2
|
+
/**
|
|
3
|
+
* Returns module — manifest (feature 046, Zwroty / Refunds / RMA).
|
|
4
|
+
*
|
|
5
|
+
* Owns return/complaint (RMA) case management: configurable workflow, RMA
|
|
6
|
+
* numbering, comments, settlement (refunds / credit / replacement / repair),
|
|
7
|
+
* return delivery methods, and the EU 2023/2673-aligned defaults. Scalar
|
|
8
|
+
* settings are declared here and seeded by the module-lifecycle
|
|
9
|
+
* ManifestReconciler on boot; they are Sales-Channel-scopable through the
|
|
10
|
+
* standard settings scoping.
|
|
11
|
+
*/
|
|
12
|
+
export const RETURNS_SETTING_CODES = {
|
|
13
|
+
/** Number of free-return days (0 = no free-return option); counted from the
|
|
14
|
+
* order's fulfilment-completing status. Default 14 = EU withdrawal period. */
|
|
15
|
+
FREE_RETURN_DAYS: 'returns.free_return_days',
|
|
16
|
+
/** Text prepended to the generated RMA number (e.g. "RMA-"). */
|
|
17
|
+
RMA_NUMBER_PREFIX: 'returns.rma_number_prefix',
|
|
18
|
+
/** Text appended to the generated RMA number. */
|
|
19
|
+
RMA_NUMBER_SUFFIX: 'returns.rma_number_suffix',
|
|
20
|
+
/** Who bears the return cost once the free-return window has passed. */
|
|
21
|
+
DEFAULT_COST_BEARER_OUTSIDE_WINDOW: 'returns.default_cost_bearer_outside_window',
|
|
22
|
+
};
|
|
23
|
+
const settings = defineModuleSettingsManifest({
|
|
24
|
+
moduleCode: 'returns',
|
|
25
|
+
groups: [{ code: 'returns', name: 'Returns' }],
|
|
26
|
+
settings: [
|
|
27
|
+
{
|
|
28
|
+
// Feature 073 — the operator's activation control. Platform-wide.
|
|
29
|
+
code: 'returns.enabled',
|
|
30
|
+
name: 'Returns enabled',
|
|
31
|
+
description: 'Switches the returns and complaints flow on or off: the customer-facing RMA request, the admin case list and the settlement paths that refund a payment, issue a corrective invoice or top up a credit limit. Nothing is dropped — open cases, their history and their refunds stay in the database and resume exactly where they were.',
|
|
32
|
+
groupCode: 'returns',
|
|
33
|
+
valueType: 'boolean',
|
|
34
|
+
defaultValue: true,
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
code: RETURNS_SETTING_CODES.FREE_RETURN_DAYS,
|
|
38
|
+
name: 'Free-return window (days)',
|
|
39
|
+
description: 'Number of days a Customer may open a free return, counted from the moment the Order entered its fulfilment-completing status. 0 = no free-return option. Default 14 reflects the EU consumer withdrawal period (Directive (EU) 2023/2673). Sales-channel value overrides the global value.',
|
|
40
|
+
groupCode: 'returns',
|
|
41
|
+
valueType: 'number',
|
|
42
|
+
defaultValue: 14,
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
code: RETURNS_SETTING_CODES.RMA_NUMBER_PREFIX,
|
|
46
|
+
name: 'RMA number prefix',
|
|
47
|
+
description: 'Text prepended to the generated RMA number (e.g. "RMA-"). Empty = no prefix.',
|
|
48
|
+
groupCode: 'returns',
|
|
49
|
+
valueType: 'string',
|
|
50
|
+
defaultValue: 'RMA-',
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
code: RETURNS_SETTING_CODES.RMA_NUMBER_SUFFIX,
|
|
54
|
+
name: 'RMA number suffix',
|
|
55
|
+
description: 'Text appended to the generated RMA number. Empty = no suffix.',
|
|
56
|
+
groupCode: 'returns',
|
|
57
|
+
valueType: 'string',
|
|
58
|
+
defaultValue: '',
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
code: RETURNS_SETTING_CODES.DEFAULT_COST_BEARER_OUTSIDE_WINDOW,
|
|
62
|
+
name: 'Return cost bearer outside the free-return window',
|
|
63
|
+
description: 'Who bears the return shipping cost when a return is opened after the free-return window has passed.',
|
|
64
|
+
groupCode: 'returns',
|
|
65
|
+
valueType: 'string',
|
|
66
|
+
defaultValue: 'customer',
|
|
67
|
+
enumOptions: ['customer', 'shop'],
|
|
68
|
+
},
|
|
69
|
+
],
|
|
70
|
+
});
|
|
71
|
+
export const manifest = defineModuleManifest({
|
|
72
|
+
id: 'returns',
|
|
73
|
+
name: 'Returns',
|
|
74
|
+
description: 'Return/complaint (RMA) case management, settlement, and refunds.',
|
|
75
|
+
version: '1.0.0',
|
|
76
|
+
// `auth` owns the `requireAdmin` port and the customer guard this module
|
|
77
|
+
// resolves; feature 072 made both container resolutions.
|
|
78
|
+
//
|
|
79
|
+
// T118c adds `customer_accounts`, whose `customerAccountReadPort` answers where
|
|
80
|
+
// the authorize / reject e-mail goes. It arrived through `returnsBridge` until
|
|
81
|
+
// this feature — a closure each composition root wrote over that same port —
|
|
82
|
+
// so the edge was real and declared nowhere. It belongs in `dependencies`
|
|
83
|
+
// rather than below: that module declares `nonDeactivatable`, so it has no off
|
|
84
|
+
// state for a consequence to describe and the bind costs no operator a control.
|
|
85
|
+
//
|
|
86
|
+
// `orders` was already here, which is why `orderReturnContextPort` needs no
|
|
87
|
+
// line of its own. The other three settlement owners are deliberately **not**
|
|
88
|
+
// here — see `nonBindingDependencies`.
|
|
89
|
+
dependencies: [
|
|
90
|
+
'auth',
|
|
91
|
+
'customer_accounts',
|
|
92
|
+
'orders',
|
|
93
|
+
'settings',
|
|
94
|
+
'transactional_emails',
|
|
95
|
+
],
|
|
96
|
+
/**
|
|
97
|
+
* The three settlement owners an operator may switch off, and what stops when
|
|
98
|
+
* they do (`specs/110-instance-repository/` T118c; D-44).
|
|
99
|
+
*
|
|
100
|
+
* All three are `refuses-without` rather than `dependencies`, and the reason is
|
|
101
|
+
* the product's rather than the graph's. Settling a return is a **choice among
|
|
102
|
+
* resolutions**: a refund goes through `payments`, a credit through
|
|
103
|
+
* `credit_limits`, and the corrective document through `invoices` — and
|
|
104
|
+
* `ReturnSettlementService` reaches each one only for the resolution it is
|
|
105
|
+
* about. Binding them would make `payments.enabled`, `invoices.enabled` and
|
|
106
|
+
* `credit_limits.enabled` refuse their flip for as long as `returns` is
|
|
107
|
+
* present, which is a false coupling: a shop that offers no deferred-payment
|
|
108
|
+
* credit switches `credit_limits` off and goes on refunding returns exactly as
|
|
109
|
+
* before. Each is a `lazyPort` forward on a `di.providePort` name with no
|
|
110
|
+
* fallback, so the seam refuses at the settlement and the rest of this module
|
|
111
|
+
* keeps serving — which is what `refuses-without` says.
|
|
112
|
+
*
|
|
113
|
+
* Until T118c none of the three was declared anywhere: a composition root held
|
|
114
|
+
* the forwarder and a root's resolution is nobody's dependency, so the
|
|
115
|
+
* confirmation dialog for switching any of them off had nothing to say about
|
|
116
|
+
* returns at all. Nothing about the behaviour changes here; what the entries
|
|
117
|
+
* add is the sentence the operator reads.
|
|
118
|
+
*/
|
|
119
|
+
nonBindingDependencies: [
|
|
120
|
+
{
|
|
121
|
+
moduleId: 'payments',
|
|
122
|
+
name: 'paymentRefundPort',
|
|
123
|
+
kind: 'refuses-without',
|
|
124
|
+
whenAbsent: 'a return cannot be settled as a refund — the money-back resolution refuses and the ' +
|
|
125
|
+
'case stays where it was, retryable; every other resolution, and the rest of the ' +
|
|
126
|
+
'returns flow, is unaffected',
|
|
127
|
+
reason: 'Only the `refund` resolution reaches this port, inside step 2 of the settlement, ' +
|
|
128
|
+
'before anything is written — so an absent owner leaves the case in `received` with ' +
|
|
129
|
+
'nothing half-applied, which is the same law the gateway`s own `failed` outcome ' +
|
|
130
|
+
'obeys. A `lazyPort` forward with no fallback. The degrade this port does own is in ' +
|
|
131
|
+
'its return type (`pending_manual`), and that is about a method that cannot refund ' +
|
|
132
|
+
'automatically, not about an owner that is not there.',
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
moduleId: 'invoices',
|
|
136
|
+
name: 'correctiveInvoicePort',
|
|
137
|
+
kind: 'refuses-without',
|
|
138
|
+
whenAbsent: 'no return that moves money can be settled while a corrective invoice is requested — ' +
|
|
139
|
+
'clearing that box on the settlement lets it through, and a replacement or a repair ' +
|
|
140
|
+
'is unaffected either way',
|
|
141
|
+
reason: 'The correction is attempted for every money-moving settlement unless the caller ' +
|
|
142
|
+
'passes `createCorrectiveInvoice: false`, so the refusal is wider than the other two ' +
|
|
143
|
+
'and the sentence says so rather than naming refunds. A `lazyPort` forward with no ' +
|
|
144
|
+
'fallback, called before any state is written, so the case stays retryable. ' +
|
|
145
|
+
'`invoices` declares `orders` and not this module, so no cycle forces this ' +
|
|
146
|
+
'classification — the operator`s control does.',
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
moduleId: 'credit_limits',
|
|
150
|
+
name: 'creditTopupPort',
|
|
151
|
+
kind: 'refuses-without',
|
|
152
|
+
whenAbsent: 'a return cannot be settled as store credit — the credit resolution refuses; refunds, ' +
|
|
153
|
+
'replacements and repairs are unaffected',
|
|
154
|
+
reason: 'Only the `credit` resolution reaches this port, and only for a case that carries an ' +
|
|
155
|
+
'organisation — a case without one already answers `applied: false` without asking. A ' +
|
|
156
|
+
'`lazyPort` forward with no fallback. Binding it would be the sharpest of the three ' +
|
|
157
|
+
'false couplings: a shop that grants no deferred-payment credit has every reason to ' +
|
|
158
|
+
'switch that module off and none to stop taking returns.',
|
|
159
|
+
},
|
|
160
|
+
],
|
|
161
|
+
settings,
|
|
162
|
+
i18n: { bundlesDir: 'i18n' },
|
|
163
|
+
docs: { dir: 'docs' },
|
|
164
|
+
// Feature 047 — admin-editable transactional emails owned by this module.
|
|
165
|
+
transactionalEmails: [
|
|
166
|
+
{
|
|
167
|
+
code: 'return_authorized',
|
|
168
|
+
name: 'Return authorized',
|
|
169
|
+
group: 'returns',
|
|
170
|
+
variables: [
|
|
171
|
+
{ key: 'rmaNumber', label: 'RMA number', sampleValue: 'RMA-1042' },
|
|
172
|
+
{ key: 'returnCaseId', label: 'Return case ID', sampleValue: '…' },
|
|
173
|
+
],
|
|
174
|
+
},
|
|
175
|
+
{
|
|
176
|
+
code: 'return_rejected',
|
|
177
|
+
name: 'Return rejected',
|
|
178
|
+
group: 'returns',
|
|
179
|
+
variables: [
|
|
180
|
+
{ key: 'reason', label: 'Rejection reason', sampleValue: 'Item used beyond inspection' },
|
|
181
|
+
{ key: 'returnCaseId', label: 'Return case ID', sampleValue: '…' },
|
|
182
|
+
],
|
|
183
|
+
},
|
|
184
|
+
],
|
|
185
|
+
permissions: [
|
|
186
|
+
{ code: 'returns:read', label: 'View returns / RMA cases' },
|
|
187
|
+
{ code: 'returns:write', label: 'Manage returns / RMA cases, settlement, and configuration' },
|
|
188
|
+
],
|
|
189
|
+
actions: [
|
|
190
|
+
{
|
|
191
|
+
id: 'open-returns',
|
|
192
|
+
labelKey: 'actions.openReturns.label',
|
|
193
|
+
descriptionKey: 'actions.openReturns.description',
|
|
194
|
+
icon: 'Package',
|
|
195
|
+
targetRoute: '/returns',
|
|
196
|
+
requiredPermission: 'returns:read',
|
|
197
|
+
keywords: ['returns', 'refunds', 'rma', 'zwroty', 'reklamacje'],
|
|
198
|
+
weight: 230,
|
|
199
|
+
},
|
|
200
|
+
{
|
|
201
|
+
id: 'return-statuses',
|
|
202
|
+
labelKey: 'actions.returnStatusConfig.label',
|
|
203
|
+
descriptionKey: 'actions.returnStatusConfig.description',
|
|
204
|
+
icon: 'Settings',
|
|
205
|
+
targetRoute: '/returns/statuses',
|
|
206
|
+
// `returns:read`, for the same reason as `orders:order-statuses`: the GET
|
|
207
|
+
// that renders the screen is read-gated, so the write code hid a screen
|
|
208
|
+
// read-only operators can open (issue #232).
|
|
209
|
+
requiredPermission: 'returns:read',
|
|
210
|
+
keywords: ['return status', 'rma workflow', 'statusy zwrotów'],
|
|
211
|
+
weight: 235,
|
|
212
|
+
},
|
|
213
|
+
],
|
|
214
|
+
activation: { settingCode: 'returns.enabled', default: true },
|
|
215
|
+
});
|
|
216
|
+
//# sourceMappingURL=manifest.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,4BAA4B,GAC7B,MAAM,4BAA4B,CAAC;AAEpC;;;;;;;;;GASG;AAEH,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC;mFAC+E;IAC/E,gBAAgB,EAAE,0BAA0B;IAC5C,gEAAgE;IAChE,iBAAiB,EAAE,2BAA2B;IAC9C,iDAAiD;IACjD,iBAAiB,EAAE,2BAA2B;IAC9C,wEAAwE;IACxE,kCAAkC,EAAE,4CAA4C;CACxE,CAAC;AAEX,MAAM,QAAQ,GAAG,4BAA4B,CAAC;IAC5C,UAAU,EAAE,SAAS;IACrB,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IAC9C,QAAQ,EAAE;QACR;YACE,kEAAkE;YAClE,IAAI,EAAE,iBAAiB;YACvB,IAAI,EAAE,iBAAiB;YACvB,WAAW,EACT,yUAAyU;YAC3U,SAAS,EAAE,SAAS;YACpB,SAAS,EAAE,SAAS;YACpB,YAAY,EAAE,IAAI;SACnB;QACD;YACE,IAAI,EAAE,qBAAqB,CAAC,gBAAgB;YAC5C,IAAI,EAAE,2BAA2B;YACjC,WAAW,EACT,4RAA4R;YAC9R,SAAS,EAAE,SAAS;YACpB,SAAS,EAAE,QAAQ;YACnB,YAAY,EAAE,EAAE;SACjB;QACD;YACE,IAAI,EAAE,qBAAqB,CAAC,iBAAiB;YAC7C,IAAI,EAAE,mBAAmB;YACzB,WAAW,EAAE,8EAA8E;YAC3F,SAAS,EAAE,SAAS;YACpB,SAAS,EAAE,QAAQ;YACnB,YAAY,EAAE,MAAM;SACrB;QACD;YACE,IAAI,EAAE,qBAAqB,CAAC,iBAAiB;YAC7C,IAAI,EAAE,mBAAmB;YACzB,WAAW,EAAE,+DAA+D;YAC5E,SAAS,EAAE,SAAS;YACpB,SAAS,EAAE,QAAQ;YACnB,YAAY,EAAE,EAAE;SACjB;QACD;YACE,IAAI,EAAE,qBAAqB,CAAC,kCAAkC;YAC9D,IAAI,EAAE,mDAAmD;YACzD,WAAW,EACT,qGAAqG;YACvG,SAAS,EAAE,SAAS;YACpB,SAAS,EAAE,QAAQ;YACnB,YAAY,EAAE,UAAU;YACxB,WAAW,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC;SAClC;KACF;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,QAAQ,GAAG,oBAAoB,CAAC;IAC3C,EAAE,EAAE,SAAS;IACb,IAAI,EAAE,SAAS;IACf,WAAW,EAAE,kEAAkE;IAC/E,OAAO,EAAE,OAAO;IAChB,yEAAyE;IACzE,yDAAyD;IACzD,EAAE;IACF,gFAAgF;IAChF,+EAA+E;IAC/E,6EAA6E;IAC7E,0EAA0E;IAC1E,+EAA+E;IAC/E,gFAAgF;IAChF,EAAE;IACF,4EAA4E;IAC5E,8EAA8E;IAC9E,uCAAuC;IACvC,YAAY,EAAE;QACZ,MAAM;QACN,mBAAmB;QACnB,QAAQ;QACR,UAAU;QACV,sBAAsB;KACvB;IACD;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,sBAAsB,EAAE;QACtB;YACE,QAAQ,EAAE,UAAU;YACpB,IAAI,EAAE,mBAAmB;YACzB,IAAI,EAAE,iBAAiB;YACvB,UAAU,EACR,qFAAqF;gBACrF,kFAAkF;gBAClF,6BAA6B;YAC/B,MAAM,EACJ,mFAAmF;gBACnF,qFAAqF;gBACrF,iFAAiF;gBACjF,qFAAqF;gBACrF,oFAAoF;gBACpF,sDAAsD;SACzD;QACD;YACE,QAAQ,EAAE,UAAU;YACpB,IAAI,EAAE,uBAAuB;YAC7B,IAAI,EAAE,iBAAiB;YACvB,UAAU,EACR,sFAAsF;gBACtF,qFAAqF;gBACrF,0BAA0B;YAC5B,MAAM,EACJ,kFAAkF;gBAClF,sFAAsF;gBACtF,oFAAoF;gBACpF,6EAA6E;gBAC7E,4EAA4E;gBAC5E,+CAA+C;SAClD;QACD;YACE,QAAQ,EAAE,eAAe;YACzB,IAAI,EAAE,iBAAiB;YACvB,IAAI,EAAE,iBAAiB;YACvB,UAAU,EACR,uFAAuF;gBACvF,yCAAyC;YAC3C,MAAM,EACJ,sFAAsF;gBACtF,uFAAuF;gBACvF,qFAAqF;gBACrF,qFAAqF;gBACrF,yDAAyD;SAC5D;KACF;IACD,QAAQ;IACR,IAAI,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE;IAC5B,IAAI,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE;IACrB,0EAA0E;IAC1E,mBAAmB,EAAE;QACnB;YACE,IAAI,EAAE,mBAAmB;YACzB,IAAI,EAAE,mBAAmB;YACzB,KAAK,EAAE,SAAS;YAChB,SAAS,EAAE;gBACT,EAAE,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE;gBAClE,EAAE,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,GAAG,EAAE;aACnE;SACF;QACD;YACE,IAAI,EAAE,iBAAiB;YACvB,IAAI,EAAE,iBAAiB;YACvB,KAAK,EAAE,SAAS;YAChB,SAAS,EAAE;gBACT,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,6BAA6B,EAAE;gBACxF,EAAE,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,GAAG,EAAE;aACnE;SACF;KACF;IACD,WAAW,EAAE;QACX,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,0BAA0B,EAAE;QAC3D,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,2DAA2D,EAAE;KAC9F;IACD,OAAO,EAAE;QACP;YACE,EAAE,EAAE,cAAc;YAClB,QAAQ,EAAE,2BAA2B;YACrC,cAAc,EAAE,iCAAiC;YACjD,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,UAAU;YACvB,kBAAkB,EAAE,cAAc;YAClC,QAAQ,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,CAAC;YAC/D,MAAM,EAAE,GAAG;SACZ;QACD;YACE,EAAE,EAAE,iBAAiB;YACrB,QAAQ,EAAE,kCAAkC;YAC5C,cAAc,EAAE,wCAAwC;YACxD,IAAI,EAAE,UAAU;YAChB,WAAW,EAAE,mBAAmB;YAChC,0EAA0E;YAC1E,wEAAwE;YACxE,6CAA6C;YAC7C,kBAAkB,EAAE,cAAc;YAClC,QAAQ,EAAE,CAAC,eAAe,EAAE,cAAc,EAAE,iBAAiB,CAAC;YAC9D,MAAM,EAAE,GAAG;SACZ;KACF;IACD,UAAU,EAAE,EAAE,WAAW,EAAE,iBAAiB,EAAE,OAAO,EAAE,IAAI,EAAE;CAC9D,CAAC,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Migration } from '@mikro-orm/migrations';
|
|
2
|
+
/**
|
|
3
|
+
* Feature 046 — Returns & Complaints (Refunds, RMA).
|
|
4
|
+
*
|
|
5
|
+
* Creates the returns module schema: the RMA case + items, the configurable
|
|
6
|
+
* status graph (`return_statuses` + `return_status_transitions`) seeded from the
|
|
7
|
+
* single source of truth in `domain/return-status-graph.ts`, comments, managed
|
|
8
|
+
* reasons (seeded with defaults), return delivery methods, refunds, return
|
|
9
|
+
* shipments, attachments, saved views, and the `return_cases_rma_seq` sequence.
|
|
10
|
+
*/
|
|
11
|
+
export declare class Migration20260625T144227ReturnsInit extends Migration {
|
|
12
|
+
up(): Promise<void>;
|
|
13
|
+
down(): Promise<void>;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=20260625T144227_returns_init.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"20260625T144227_returns_init.d.ts","sourceRoot":"","sources":["../../src/migrations/20260625T144227_returns_init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAQlD;;;;;;;;GAQG;AACH,qBAAa,mCAAoC,SAAQ,SAAS;IACjD,EAAE,IAAI,OAAO,CAAC,IAAI,CAAC;IA0OnB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAcrC"}
|