@hartl-services/medusa-base 0.4.0 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.medusa/server/src/admin/index.js +1517 -87
- package/.medusa/server/src/admin/index.mjs +1518 -88
- package/.medusa/server/src/api/admin/email/messages/[id]/resends/route.js +24 -0
- package/.medusa/server/src/api/admin/email/messages/[id]/route.js +12 -0
- package/.medusa/server/src/api/admin/email/messages/route.js +12 -0
- package/.medusa/server/src/api/admin/email/terms-versions/[id]/download/route.js +16 -0
- package/.medusa/server/src/api/admin/email/terms-versions/route.js +47 -0
- package/.medusa/server/src/api/admin/orders/[id]/documents/[document_id]/download/route.js +21 -0
- package/.medusa/server/src/api/admin/orders/[id]/documents/[document_id]/regenerate/route.js +38 -0
- package/.medusa/server/src/api/admin/orders/[id]/documents/regenerate/route.js +32 -0
- package/.medusa/server/src/api/admin/orders/[id]/documents/route.js +36 -0
- package/.medusa/server/src/api/admin/orders/[id]/packing-lists/[fulfillment_id]/download/route.js +24 -0
- package/.medusa/server/src/api/admin/orders/[id]/packing-lists/[fulfillment_id]/retry/route.js +44 -0
- package/.medusa/server/src/api/admin/orders/[id]/packing-lists/route.js +82 -0
- package/.medusa/server/src/api/document-download-response.js +16 -0
- package/.medusa/server/src/api/document-response.js +23 -0
- package/.medusa/server/src/api/files/[asset]/route.js +24 -0
- package/.medusa/server/src/api/files/file-response.js +43 -0
- package/.medusa/server/src/api/files/gateway-options.js +31 -0
- package/.medusa/server/src/api/files/private/[token]/route.js +29 -0
- package/.medusa/server/src/api/files/upload/[token]/route.js +66 -0
- package/.medusa/server/src/api/middlewares.js +168 -1
- package/.medusa/server/src/api/packing-list-response.js +22 -0
- package/.medusa/server/src/api/route.js +27 -0
- package/.medusa/server/src/api/store/documents/[id]/download/route.js +21 -0
- package/.medusa/server/src/api/store/documents/[id]/route.js +15 -0
- package/.medusa/server/src/api/store/documents/route.js +11 -0
- package/.medusa/server/src/api/terms-download-response.js +12 -0
- package/.medusa/server/src/documents/config/index.js +18 -0
- package/.medusa/server/src/documents/paths/documents.js +6 -0
- package/.medusa/server/src/documents/paths/index.js +18 -0
- package/.medusa/server/src/documents/plugin-features.js +24 -0
- package/.medusa/server/src/documents/schemas/documents.js +18 -0
- package/.medusa/server/src/documents/schemas/index.js +18 -0
- package/.medusa/server/src/documents/scripts/verify-documents-file-storage.js +55 -0
- package/.medusa/server/src/documents/templates/financial-document.js +142 -0
- package/.medusa/server/src/documents/templates/format.js +31 -0
- package/.medusa/server/src/documents/templates/html-factory.js +40 -0
- package/.medusa/server/src/documents/templates/html-utils.js +13 -0
- package/.medusa/server/src/documents/templates/layout.js +97 -0
- package/.medusa/server/src/documents/templates/packing-list.js +50 -0
- package/.medusa/server/src/documents/types/admin-api.js +3 -0
- package/.medusa/server/src/documents/types/document-summary.js +3 -0
- package/.medusa/server/src/documents/types/documents.js +3 -0
- package/.medusa/server/src/documents/types/html-factory.js +6 -0
- package/.medusa/server/src/documents/types/index.js +22 -0
- package/.medusa/server/src/documents/types/store-api.js +3 -0
- package/.medusa/server/src/documents/utils/document-merchant.js +22 -0
- package/.medusa/server/src/documents/utils/html-to-pdf.js +61 -0
- package/.medusa/server/src/documents/utils/private-file-storage.js +64 -0
- package/.medusa/server/src/documents/utils/resolve-services.js +7 -0
- package/.medusa/server/src/email/application/handle-invite-event.js +312 -0
- package/.medusa/server/src/email/application/handle-password-reset-event.js +354 -0
- package/.medusa/server/src/email/config/index.js +84 -0
- package/.medusa/server/src/email/config/notification-module.js +20 -0
- package/.medusa/server/src/email/domain/business-keys.js +50 -0
- package/.medusa/server/src/email/domain/documents-fact-fingerprint.js +7 -0
- package/.medusa/server/src/email/domain/event-schemas.js +36 -0
- package/.medusa/server/src/email/domain/failure-classification.js +53 -0
- package/.medusa/server/src/email/plugin-features.js +31 -0
- package/.medusa/server/src/email/rendering/default-templates.js +91 -0
- package/.medusa/server/src/email/rendering/render-email.js +37 -0
- package/.medusa/server/src/email/rendering/resolve-shop-configuration.js +48 -0
- package/.medusa/server/src/email/types/email-kinds.js +18 -0
- package/.medusa/server/src/email/types/index.js +21 -0
- package/.medusa/server/src/email/types/shop-configuration.js +3 -0
- package/.medusa/server/src/email/types/smtp-configuration.js +3 -0
- package/.medusa/server/src/email/types/template-data.js +79 -0
- package/.medusa/server/src/files/config/index.js +256 -0
- package/.medusa/server/src/files/gateway/index.js +115 -0
- package/.medusa/server/src/files/types/index.js +6 -0
- package/.medusa/server/src/files/types/public.js +6 -0
- package/.medusa/server/src/jobs/document-fact-publication-reconciliation.js +18 -0
- package/.medusa/server/src/jobs/document-resolution-reconciliation.js +20 -0
- package/.medusa/server/src/jobs/packing-list-reconciliation.js +49 -0
- package/.medusa/server/src/jobs/reconcile-email-attempts.js +63 -0
- package/.medusa/server/src/jobs/reconcile-pending-email-messages.js +41 -0
- package/.medusa/server/src/jobs/retry-email-messages.js +27 -0
- package/.medusa/server/src/migration-scripts/dismiss-orphaned-cart-promotion-links.js +26 -0
- package/.medusa/server/src/modules/documents/domain/cancellation-snapshot.js +97 -0
- package/.medusa/server/src/modules/documents/domain/document-number.js +36 -0
- package/.medusa/server/src/modules/documents/domain/document-resolution.js +24 -0
- package/.medusa/server/src/modules/documents/domain/issuance-rules.js +37 -0
- package/.medusa/server/src/modules/documents/domain/merchant.js +86 -0
- package/.medusa/server/src/modules/documents/domain/options.js +40 -0
- package/.medusa/server/src/modules/documents/domain/packing-list.js +90 -0
- package/.medusa/server/src/modules/documents/domain/snapshot-normalization.js +17 -0
- package/.medusa/server/src/modules/documents/domain/tax-breakdown.js +66 -0
- package/.medusa/server/src/modules/documents/index.js +15 -0
- package/.medusa/server/src/modules/documents/loaders/assert-private-file-storage.js +20 -0
- package/.medusa/server/src/modules/documents/migrations/Migration20260827061749.js +75 -0
- package/.medusa/server/src/modules/documents/migrations/Migration20260830111207.js +28 -0
- package/.medusa/server/src/modules/documents/models/document-artifact.js +25 -0
- package/.medusa/server/src/modules/documents/models/document-number-sequence.js +29 -0
- package/.medusa/server/src/modules/documents/models/document.js +82 -0
- package/.medusa/server/src/modules/documents/models/order-cancellation-resolution.js +51 -0
- package/.medusa/server/src/modules/documents/models/packing-list-revision.js +36 -0
- package/.medusa/server/src/modules/documents/models/packing-list.js +27 -0
- package/.medusa/server/src/modules/documents/models/refund-document-resolution.js +66 -0
- package/.medusa/server/src/modules/documents/models/shipment-invoice-assignment.js +51 -0
- package/.medusa/server/src/modules/documents/models/shipment-invoice-coordinator.js +44 -0
- package/.medusa/server/src/modules/documents/service.js +1701 -0
- package/.medusa/server/src/modules/email/domain/attachment.js +25 -0
- package/.medusa/server/src/modules/email/domain/message-state.js +69 -0
- package/.medusa/server/src/modules/email/index.js +13 -0
- package/.medusa/server/src/modules/email/migrations/Migration20260826173422.js +32 -0
- package/.medusa/server/src/modules/email/migrations/Migration20260827172945.js +16 -0
- package/.medusa/server/src/modules/email/migrations/Migration20260827194804.js +22 -0
- package/.medusa/server/src/modules/email/migrations/Migration20260906195205.js +16 -0
- package/.medusa/server/src/modules/email/models/email-attempt.js +56 -0
- package/.medusa/server/src/modules/email/models/email-message.js +71 -0
- package/.medusa/server/src/modules/email/models/email-terms-version.js +37 -0
- package/.medusa/server/src/modules/email/service.js +1285 -0
- package/.medusa/server/src/providers/s3-cache/cache/atomic-write.js +25 -0
- package/.medusa/server/src/providers/s3-cache/cache/cache-manager.js +115 -0
- package/.medusa/server/src/providers/s3-cache/cache/keyed-lock.js +28 -0
- package/.medusa/server/src/providers/s3-cache/index.js +8 -0
- package/.medusa/server/src/providers/s3-cache/object-key.js +53 -0
- package/.medusa/server/src/providers/s3-cache/s3-cache-file.js +229 -0
- package/.medusa/server/src/providers/s3-cache/s3-object-store.js +86 -0
- package/.medusa/server/src/providers/smtp/index.js +8 -0
- package/.medusa/server/src/providers/smtp/service.js +236 -0
- package/.medusa/server/src/providers/smtp/types.js +11 -0
- package/.medusa/server/src/public/config.js +186 -0
- package/.medusa/server/src/public/gateway.js +19 -0
- package/.medusa/server/src/public/instrumentation.js +56 -0
- package/.medusa/server/src/public/shop-config.js +12 -0
- package/.medusa/server/src/public/shop-types.js +24 -0
- package/.medusa/server/src/shop-config/build-food-shop-config.js +248 -0
- package/.medusa/server/src/shop-config/options.js +71 -0
- package/.medusa/server/src/subscribers/affiliate-consignment-reminder-due.js +26 -0
- package/.medusa/server/src/subscribers/documents-order-canceled.js +24 -0
- package/.medusa/server/src/subscribers/documents-order-cancellation-ready.js +26 -0
- package/.medusa/server/src/subscribers/documents-refund-ready.js +24 -0
- package/.medusa/server/src/subscribers/documents-shipment-created.js +36 -0
- package/.medusa/server/src/subscribers/documents-shipment-invoice-assignment-decided.js +26 -0
- package/.medusa/server/src/subscribers/email-order-canceled.js +28 -0
- package/.medusa/server/src/subscribers/email-shipment-created.js +32 -0
- package/.medusa/server/src/subscribers/order-placed.js +27 -0
- package/.medusa/server/src/subscribers/packing-list-allocation-revised.js +32 -0
- package/.medusa/server/src/subscribers/packing-list-fulfillment-canceled.js +54 -0
- package/.medusa/server/src/subscribers/packing-list-fulfillment-created.js +31 -0
- package/.medusa/server/src/subscribers/password-reset.js +23 -0
- package/.medusa/server/src/subscribers/payment-refunded.js +38 -0
- package/.medusa/server/src/subscribers/return-received.js +27 -0
- package/.medusa/server/src/subscribers/return-requested.js +27 -0
- package/.medusa/server/src/subscribers/user-invite.js +23 -0
- package/.medusa/server/src/utils/cart-promotion-links.js +101 -0
- package/.medusa/server/src/workflows/documents/issue-cancellation-after-refund.js +246 -0
- package/.medusa/server/src/workflows/documents/issue-document.js +163 -0
- package/.medusa/server/src/workflows/documents/issue-invoice-after-shipment.js +521 -0
- package/.medusa/server/src/workflows/documents/issue-packing-list.js +384 -0
- package/.medusa/server/src/workflows/documents/publish-document-facts.js +53 -0
- package/.medusa/server/src/workflows/documents/reconcile-document-resolutions.js +48 -0
- package/.medusa/server/src/workflows/documents/reconcile-order-cancellation.js +92 -0
- package/.medusa/server/src/workflows/documents/regenerate-issued-document.js +61 -0
- package/.medusa/server/src/workflows/email/dispatch-email-message.js +299 -0
- package/.medusa/server/src/workflows/email/documents-required-facts.js +30 -0
- package/.medusa/server/src/workflows/email/prepare-affiliate-reminder-email.js +58 -0
- package/.medusa/server/src/workflows/email/prepare-order-canceled-email.js +64 -0
- package/.medusa/server/src/workflows/email/prepare-order-received-email.js +56 -0
- package/.medusa/server/src/workflows/email/prepare-refund-email.js +47 -0
- package/.medusa/server/src/workflows/email/prepare-return-email.js +75 -0
- package/.medusa/server/src/workflows/email/prepare-shipment-email.js +82 -0
- package/.medusa/server/src/workflows/email/retry-email-messages.js +31 -0
- package/.medusa/server/src/workflows/hooks/dismiss-deleted-promotion-cart-links.js +23 -0
- package/README.md +1619 -7
- package/dist/documents/config/index.d.ts +11 -0
- package/dist/documents/config/index.js +17 -0
- package/dist/documents/templates/financial-document.d.ts +3 -0
- package/dist/documents/templates/financial-document.js +141 -0
- package/dist/documents/templates/format.d.ts +16 -0
- package/dist/documents/templates/format.js +30 -0
- package/dist/documents/templates/html-factory.d.ts +11 -0
- package/dist/documents/templates/html-factory.js +39 -0
- package/dist/documents/templates/html-utils.d.ts +2 -0
- package/dist/documents/templates/html-utils.js +12 -0
- package/dist/documents/templates/layout.d.ts +17 -0
- package/dist/documents/templates/layout.js +96 -0
- package/dist/documents/templates/packing-list.d.ts +3 -0
- package/dist/documents/templates/packing-list.js +49 -0
- package/dist/documents/types/admin-api.d.ts +1 -0
- package/dist/documents/types/admin-api.js +2 -0
- package/dist/documents/types/document-summary.d.ts +1 -0
- package/dist/documents/types/document-summary.js +2 -0
- package/dist/documents/types/documents.d.ts +174 -0
- package/dist/documents/types/documents.js +2 -0
- package/dist/documents/types/html-factory.d.ts +7 -0
- package/dist/documents/types/html-factory.js +5 -0
- package/dist/documents/types/index.d.ts +5 -0
- package/dist/documents/types/index.js +21 -0
- package/dist/documents/types/store-api.d.ts +1 -0
- package/dist/documents/types/store-api.js +2 -0
- package/dist/email/config/index.d.ts +17 -0
- package/dist/email/config/index.js +83 -0
- package/dist/email/config/notification-module.d.ts +22 -0
- package/dist/email/config/notification-module.js +19 -0
- package/dist/email/types/email-kinds.d.ts +15 -0
- package/dist/email/types/email-kinds.js +17 -0
- package/dist/email/types/index.d.ts +4 -0
- package/dist/email/types/index.js +20 -0
- package/dist/email/types/shop-configuration.d.ts +43 -0
- package/dist/email/types/shop-configuration.js +2 -0
- package/dist/email/types/smtp-configuration.d.ts +9 -0
- package/dist/email/types/smtp-configuration.js +2 -0
- package/dist/email/types/template-data.d.ts +100 -0
- package/dist/email/types/template-data.js +78 -0
- package/dist/files/config/index.d.ts +32 -0
- package/dist/files/config/index.js +255 -0
- package/dist/files/gateway/index.d.ts +30 -0
- package/dist/files/gateway/index.js +114 -0
- package/dist/files/types/index.d.ts +2 -0
- package/dist/files/types/index.js +5 -0
- package/dist/files/types/public.d.ts +90 -0
- package/dist/files/types/public.js +5 -0
- package/dist/modules/documents/domain/merchant.d.ts +22 -0
- package/dist/modules/documents/domain/merchant.js +85 -0
- package/dist/modules/documents/domain/options.d.ts +34 -0
- package/dist/modules/documents/domain/options.js +39 -0
- package/dist/public/config.d.ts +59 -0
- package/dist/public/config.js +185 -0
- package/dist/public/gateway.d.ts +2 -0
- package/dist/public/gateway.js +18 -0
- package/dist/public/instrumentation.d.ts +12 -0
- package/dist/public/instrumentation.js +55 -0
- package/dist/public/shop-config.d.ts +8 -0
- package/dist/public/shop-config.js +11 -0
- package/dist/public/shop-types.d.ts +7 -0
- package/dist/public/shop-types.js +23 -0
- package/dist/public/types.d.ts +17 -1
- package/dist/shop-config/build-food-shop-config.d.ts +44 -0
- package/dist/shop-config/build-food-shop-config.js +247 -0
- package/dist/shop-config/options.d.ts +41 -0
- package/dist/shop-config/options.js +70 -0
- package/package.json +48 -5
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.emailAttachmentId = exports.EmailAttachmentSchema = exports.EmailTermsAttachmentSchema = void 0;
|
|
4
|
+
const zod_1 = require("@medusajs/framework/zod");
|
|
5
|
+
const documents_1 = require("@hartl-services/medusa-food-supplements-contracts/events/documents");
|
|
6
|
+
exports.EmailTermsAttachmentSchema = zod_1.z
|
|
7
|
+
.object({
|
|
8
|
+
source: zod_1.z.literal("terms"),
|
|
9
|
+
terms_version_id: zod_1.z.string().min(1),
|
|
10
|
+
file_id: zod_1.z.string().min(1),
|
|
11
|
+
filename: zod_1.z.string().min(1),
|
|
12
|
+
content_type: zod_1.z.literal("application/pdf"),
|
|
13
|
+
byte_size: zod_1.z.number().int().positive(),
|
|
14
|
+
sha256: zod_1.z.string().regex(/^[0-9a-f]{64}$/),
|
|
15
|
+
})
|
|
16
|
+
.strict();
|
|
17
|
+
exports.EmailAttachmentSchema = zod_1.z.union([
|
|
18
|
+
documents_1.DocumentsEmailArtifactSchema,
|
|
19
|
+
exports.EmailTermsAttachmentSchema,
|
|
20
|
+
]);
|
|
21
|
+
const emailAttachmentId = (attachment) => "source" in attachment
|
|
22
|
+
? `terms:${attachment.terms_version_id}`
|
|
23
|
+
: attachment.artifact_id;
|
|
24
|
+
exports.emailAttachmentId = emailAttachmentId;
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0YWNobWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9tb2R1bGVzL2VtYWlsL2RvbWFpbi9hdHRhY2htZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLGlEQUE0QztBQUM1QyxrR0FHNEU7QUFFL0QsUUFBQSwwQkFBMEIsR0FBRyxPQUFDO0tBQ3hDLE1BQU0sQ0FBQztJQUNOLE1BQU0sRUFBRSxPQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQztJQUMxQixnQkFBZ0IsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNuQyxPQUFPLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDMUIsUUFBUSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzNCLFlBQVksRUFBRSxPQUFDLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDO0lBQzFDLFNBQVMsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ3RDLE1BQU0sRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDO0NBQzNDLENBQUM7S0FDRCxNQUFNLEVBQUUsQ0FBQztBQUVDLFFBQUEscUJBQXFCLEdBQUcsT0FBQyxDQUFDLEtBQUssQ0FBQztJQUMzQyx3Q0FBNEI7SUFDNUIsa0NBQTBCO0NBQzNCLENBQUMsQ0FBQztBQUtJLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxVQUEyQixFQUFVLEVBQUUsQ0FDdkUsUUFBUSxJQUFJLFVBQVU7SUFDcEIsQ0FBQyxDQUFDLFNBQVMsVUFBVSxDQUFDLGdCQUFnQixFQUFFO0lBQ3hDLENBQUMsQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDO0FBSGhCLFFBQUEsaUJBQWlCLHFCQUdEIn0=
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.statusAfterPredecessor = exports.isTerminalMessageStatus = exports.hasRequiredFacts = exports.canonicalizeFacts = exports.isEmailSafeStatusCode = exports.EMAIL_SAFE_STATUS_CODES = exports.EMAIL_ATTEMPT_STATUSES = exports.EMAIL_MESSAGE_STATUSES = void 0;
|
|
4
|
+
exports.EMAIL_MESSAGE_STATUSES = [
|
|
5
|
+
"pending",
|
|
6
|
+
"ready",
|
|
7
|
+
"sending",
|
|
8
|
+
"retry_pending",
|
|
9
|
+
"sent",
|
|
10
|
+
"failed",
|
|
11
|
+
"unknown",
|
|
12
|
+
"suppressed",
|
|
13
|
+
];
|
|
14
|
+
exports.EMAIL_ATTEMPT_STATUSES = [
|
|
15
|
+
"processing",
|
|
16
|
+
"sent",
|
|
17
|
+
"failed",
|
|
18
|
+
"unknown",
|
|
19
|
+
];
|
|
20
|
+
exports.EMAIL_SAFE_STATUS_CODES = [
|
|
21
|
+
"attachment_invalid",
|
|
22
|
+
"attachment_unavailable",
|
|
23
|
+
"attempt_lease_lost",
|
|
24
|
+
"connection_failed",
|
|
25
|
+
"invalid_content",
|
|
26
|
+
"lease_expired",
|
|
27
|
+
"notifications_disabled",
|
|
28
|
+
"outcome_unknown",
|
|
29
|
+
"payload_expired",
|
|
30
|
+
"password_reset_requires_ephemeral_context",
|
|
31
|
+
"permanent_rejection",
|
|
32
|
+
"predecessor_failed",
|
|
33
|
+
"predecessor_suppressed",
|
|
34
|
+
"recipient_invalid",
|
|
35
|
+
"render_failed",
|
|
36
|
+
"resource_unavailable",
|
|
37
|
+
"retry_exhausted",
|
|
38
|
+
"template_data_invalid",
|
|
39
|
+
"temporary_rejection",
|
|
40
|
+
];
|
|
41
|
+
const isEmailSafeStatusCode = (value) => typeof value === "string" &&
|
|
42
|
+
exports.EMAIL_SAFE_STATUS_CODES.includes(value);
|
|
43
|
+
exports.isEmailSafeStatusCode = isEmailSafeStatusCode;
|
|
44
|
+
const canonicalizeFacts = (facts) => [...new Set(facts.map((fact) => fact.trim()).filter(Boolean))].sort((left, right) => left.localeCompare(right));
|
|
45
|
+
exports.canonicalizeFacts = canonicalizeFacts;
|
|
46
|
+
const hasRequiredFacts = (requiredFacts, receivedFacts) => {
|
|
47
|
+
const received = new Set(receivedFacts);
|
|
48
|
+
return requiredFacts.every((fact) => received.has(fact));
|
|
49
|
+
};
|
|
50
|
+
exports.hasRequiredFacts = hasRequiredFacts;
|
|
51
|
+
const isTerminalMessageStatus = (status) => status === "sent" ||
|
|
52
|
+
status === "failed" ||
|
|
53
|
+
status === "unknown" ||
|
|
54
|
+
status === "suppressed";
|
|
55
|
+
exports.isTerminalMessageStatus = isTerminalMessageStatus;
|
|
56
|
+
const statusAfterPredecessor = (predecessorStatus) => {
|
|
57
|
+
if (predecessorStatus === null || predecessorStatus === "sent") {
|
|
58
|
+
return { status: "ready", terminal_code: null };
|
|
59
|
+
}
|
|
60
|
+
if (predecessorStatus === "suppressed") {
|
|
61
|
+
return { status: "suppressed", terminal_code: "predecessor_suppressed" };
|
|
62
|
+
}
|
|
63
|
+
if (predecessorStatus === "failed" || predecessorStatus === "unknown") {
|
|
64
|
+
return { status: "failed", terminal_code: "predecessor_failed" };
|
|
65
|
+
}
|
|
66
|
+
return { status: "pending", terminal_code: null };
|
|
67
|
+
};
|
|
68
|
+
exports.statusAfterPredecessor = statusAfterPredecessor;
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS1zdGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9tb2R1bGVzL2VtYWlsL2RvbWFpbi9tZXNzYWdlLXN0YXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFhLFFBQUEsc0JBQXNCLEdBQUc7SUFDcEMsU0FBUztJQUNULE9BQU87SUFDUCxTQUFTO0lBQ1QsZUFBZTtJQUNmLE1BQU07SUFDTixRQUFRO0lBQ1IsU0FBUztJQUNULFlBQVk7Q0FDSixDQUFDO0FBRUUsUUFBQSxzQkFBc0IsR0FBRztJQUNwQyxZQUFZO0lBQ1osTUFBTTtJQUNOLFFBQVE7SUFDUixTQUFTO0NBQ0QsQ0FBQztBQUtFLFFBQUEsdUJBQXVCLEdBQUc7SUFDckMsb0JBQW9CO0lBQ3BCLHdCQUF3QjtJQUN4QixvQkFBb0I7SUFDcEIsbUJBQW1CO0lBQ25CLGlCQUFpQjtJQUNqQixlQUFlO0lBQ2Ysd0JBQXdCO0lBQ3hCLGlCQUFpQjtJQUNqQixpQkFBaUI7SUFDakIsMkNBQTJDO0lBQzNDLHFCQUFxQjtJQUNyQixvQkFBb0I7SUFDcEIsd0JBQXdCO0lBQ3hCLG1CQUFtQjtJQUNuQixlQUFlO0lBQ2Ysc0JBQXNCO0lBQ3RCLGlCQUFpQjtJQUNqQix1QkFBdUI7SUFDdkIscUJBQXFCO0NBQ2IsQ0FBQztBQUlKLE1BQU0scUJBQXFCLEdBQUcsQ0FDbkMsS0FBYyxFQUNnQixFQUFFLENBQ2hDLE9BQU8sS0FBSyxLQUFLLFFBQVE7SUFDeEIsK0JBQTZDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBSnBELFFBQUEscUJBQXFCLHlCQUkrQjtBQUUxRCxNQUFNLGlCQUFpQixHQUFHLENBQUMsS0FBd0IsRUFBWSxFQUFFLENBQ3RFLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDakUsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUMzQyxDQUFDO0FBSFMsUUFBQSxpQkFBaUIscUJBRzFCO0FBRUcsTUFBTSxnQkFBZ0IsR0FBRyxDQUM5QixhQUFnQyxFQUNoQyxhQUFnQyxFQUN2QixFQUFFO0lBQ1gsTUFBTSxRQUFRLEdBQUcsSUFBSSxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDeEMsT0FBTyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7QUFDM0QsQ0FBQyxDQUFDO0FBTlcsUUFBQSxnQkFBZ0Isb0JBTTNCO0FBRUssTUFBTSx1QkFBdUIsR0FBRyxDQUFDLE1BQTBCLEVBQVcsRUFBRSxDQUM3RSxNQUFNLEtBQUssTUFBTTtJQUNqQixNQUFNLEtBQUssUUFBUTtJQUNuQixNQUFNLEtBQUssU0FBUztJQUNwQixNQUFNLEtBQUssWUFBWSxDQUFDO0FBSmIsUUFBQSx1QkFBdUIsMkJBSVY7QUFFbkIsTUFBTSxzQkFBc0IsR0FBRyxDQUNwQyxpQkFBNEMsRUFJM0MsRUFBRTtJQUNILElBQUksaUJBQWlCLEtBQUssSUFBSSxJQUFJLGlCQUFpQixLQUFLLE1BQU0sRUFBRSxDQUFDO1FBQy9ELE9BQU8sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUNsRCxDQUFDO0lBQ0QsSUFBSSxpQkFBaUIsS0FBSyxZQUFZLEVBQUUsQ0FBQztRQUN2QyxPQUFPLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUUsd0JBQXdCLEVBQUUsQ0FBQztJQUMzRSxDQUFDO0lBQ0QsSUFBSSxpQkFBaUIsS0FBSyxRQUFRLElBQUksaUJBQWlCLEtBQUssU0FBUyxFQUFFLENBQUM7UUFDdEUsT0FBTyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsYUFBYSxFQUFFLG9CQUFvQixFQUFFLENBQUM7SUFDbkUsQ0FBQztJQUNELE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsQ0FBQztBQUNwRCxDQUFDLENBQUM7QUFoQlcsUUFBQSxzQkFBc0IsMEJBZ0JqQyJ9
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.EMAIL_MODULE = void 0;
|
|
7
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
8
|
+
const service_1 = __importDefault(require("./service"));
|
|
9
|
+
exports.EMAIL_MODULE = "email";
|
|
10
|
+
exports.default = (0, utils_1.Module)(exports.EMAIL_MODULE, {
|
|
11
|
+
service: service_1.default,
|
|
12
|
+
});
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9lbWFpbC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxxREFBbUQ7QUFFbkQsd0RBQTJDO0FBRTlCLFFBQUEsWUFBWSxHQUFHLE9BQU8sQ0FBQztBQUVwQyxrQkFBZSxJQUFBLGNBQU0sRUFBQyxvQkFBWSxFQUFFO0lBQ2xDLE9BQU8sRUFBRSxpQkFBa0I7Q0FDNUIsQ0FBQyxDQUFDIn0=
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Migration20260826173422 = void 0;
|
|
4
|
+
const migrations_1 = require("@medusajs/framework/mikro-orm/migrations");
|
|
5
|
+
class Migration20260826173422 extends migrations_1.Migration {
|
|
6
|
+
async up() {
|
|
7
|
+
this.addSql(`alter table if exists "email_attempt" drop constraint if exists "email_attempt_message_number_unique";`);
|
|
8
|
+
this.addSql(`alter table if exists "email_message" drop constraint if exists "email_message_business_key_unique";`);
|
|
9
|
+
this.addSql(`create table if not exists "email_message" ("id" text not null, "kind" text check ("kind" in ('order.received', 'order.shipped', 'order.canceled', 'order.return_requested', 'order.return_received', 'order.refunded', 'auth.password_reset', 'affiliate.consignment_report_due')) not null, "business_key" text not null, "resource_type" text not null, "resource_id" text null, "recipient" text null, "template_data" jsonb null, "attachments" jsonb not null default '[]', "status" text check ("status" in ('pending', 'ready', 'sending', 'retry_pending', 'sent', 'failed', 'unknown', 'suppressed')) not null default 'pending', "required_facts" jsonb not null default '[]', "received_facts" jsonb not null default '[]', "predecessor_message_id" text null, "trigger" text not null default 'automatic', "request_id" text null, "requested_by_admin_id" text null, "original_message_id" text null, "next_attempt_at" timestamptz null, "sent_at" timestamptz null, "failed_at" timestamptz null, "payload_expires_at" timestamptz null, "terminal_code" text null, "created_at" timestamptz not null default now(), "updated_at" timestamptz not null default now(), "deleted_at" timestamptz null, constraint "email_message_pkey" primary key ("id"));`);
|
|
10
|
+
this.addSql(`CREATE INDEX IF NOT EXISTS "IDX_email_message_predecessor_message_id" ON "email_message" ("predecessor_message_id") WHERE deleted_at IS NULL;`);
|
|
11
|
+
this.addSql(`CREATE INDEX IF NOT EXISTS "IDX_email_message_deleted_at" ON "email_message" ("deleted_at") WHERE deleted_at IS NULL;`);
|
|
12
|
+
this.addSql(`CREATE UNIQUE INDEX IF NOT EXISTS "IDX_email_message_business_key_unique" ON "email_message" ("business_key");`);
|
|
13
|
+
this.addSql(`CREATE INDEX IF NOT EXISTS "IDX_email_message_resource" ON "email_message" ("resource_type", "resource_id") WHERE deleted_at IS NULL;`);
|
|
14
|
+
this.addSql(`CREATE INDEX IF NOT EXISTS "IDX_email_message_status_next_attempt_at" ON "email_message" ("status", "next_attempt_at") WHERE deleted_at IS NULL;`);
|
|
15
|
+
this.addSql(`CREATE INDEX IF NOT EXISTS "IDX_email_message_original_message_id" ON "email_message" ("original_message_id") WHERE deleted_at IS NULL AND original_message_id IS NOT NULL;`);
|
|
16
|
+
this.addSql(`create table if not exists "email_attempt" ("id" text not null, "message_id" text not null, "attempt_number" integer not null, "status" text check ("status" in ('processing', 'sent', 'failed', 'unknown')) not null default 'processing', "attempt_token" text null, "lease_started_at" timestamptz null, "lease_expires_at" timestamptz null, "notification_id" text null, "failure_code" text null, "started_at" timestamptz not null, "finished_at" timestamptz null, "created_at" timestamptz not null default now(), "updated_at" timestamptz not null default now(), "deleted_at" timestamptz null, constraint "email_attempt_pkey" primary key ("id"), constraint CHK_email_attempt_attempt_number_positive check (attempt_number > 0), constraint CHK_email_attempt_lease_order check (lease_started_at is null or lease_expires_at is null or lease_expires_at > lease_started_at), constraint CHK_email_attempt_state_fields check (((status = 'processing' and attempt_token is not null and lease_started_at is not null and lease_expires_at is not null and finished_at is null) or (status in ('sent', 'failed', 'unknown') and attempt_token is null and finished_at is not null))));`);
|
|
17
|
+
this.addSql(`CREATE INDEX IF NOT EXISTS "IDX_email_attempt_message_id" ON "email_attempt" ("message_id") WHERE deleted_at IS NULL;`);
|
|
18
|
+
this.addSql(`CREATE INDEX IF NOT EXISTS "IDX_email_attempt_deleted_at" ON "email_attempt" ("deleted_at") WHERE deleted_at IS NULL;`);
|
|
19
|
+
this.addSql(`CREATE UNIQUE INDEX IF NOT EXISTS "IDX_email_attempt_message_number_unique" ON "email_attempt" ("message_id", "attempt_number");`);
|
|
20
|
+
this.addSql(`CREATE INDEX IF NOT EXISTS "IDX_email_attempt_status_lease_expires_at" ON "email_attempt" ("status", "lease_expires_at") WHERE deleted_at IS NULL;`);
|
|
21
|
+
this.addSql(`alter table if exists "email_message" add constraint "email_message_predecessor_message_id_foreign" foreign key ("predecessor_message_id") references "email_message" ("id") on update cascade on delete set null;`);
|
|
22
|
+
this.addSql(`alter table if exists "email_attempt" add constraint "email_attempt_message_id_foreign" foreign key ("message_id") references "email_message" ("id") on update cascade;`);
|
|
23
|
+
}
|
|
24
|
+
async down() {
|
|
25
|
+
this.addSql(`alter table if exists "email_message" drop constraint if exists "email_message_predecessor_message_id_foreign";`);
|
|
26
|
+
this.addSql(`alter table if exists "email_attempt" drop constraint if exists "email_attempt_message_id_foreign";`);
|
|
27
|
+
this.addSql(`drop table if exists "email_message" cascade;`);
|
|
28
|
+
this.addSql(`drop table if exists "email_attempt" cascade;`);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
exports.Migration20260826173422 = Migration20260826173422;
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlncmF0aW9uMjAyNjA4MjYxNzM0MjIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9lbWFpbC9taWdyYXRpb25zL01pZ3JhdGlvbjIwMjYwODI2MTczNDIyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHlFQUFxRTtBQUVyRSxNQUFhLHVCQUF3QixTQUFRLHNCQUFTO0lBQzNDLEtBQUssQ0FBQyxFQUFFO1FBQ2YsSUFBSSxDQUFDLE1BQU0sQ0FDVCx3R0FBd0csQ0FDekcsQ0FBQztRQUNGLElBQUksQ0FBQyxNQUFNLENBQ1Qsc0dBQXNHLENBQ3ZHLENBQUM7UUFDRixJQUFJLENBQUMsTUFBTSxDQUNULDRzQ0FBNHNDLENBQzdzQyxDQUFDO1FBQ0YsSUFBSSxDQUFDLE1BQU0sQ0FDVCwrSUFBK0ksQ0FDaEosQ0FBQztRQUNGLElBQUksQ0FBQyxNQUFNLENBQ1QsdUhBQXVILENBQ3hILENBQUM7UUFDRixJQUFJLENBQUMsTUFBTSxDQUNULGdIQUFnSCxDQUNqSCxDQUFDO1FBQ0YsSUFBSSxDQUFDLE1BQU0sQ0FDVCx1SUFBdUksQ0FDeEksQ0FBQztRQUNGLElBQUksQ0FBQyxNQUFNLENBQ1Qsa0pBQWtKLENBQ25KLENBQUM7UUFDRixJQUFJLENBQUMsTUFBTSxDQUNULDZLQUE2SyxDQUM5SyxDQUFDO1FBRUYsSUFBSSxDQUFDLE1BQU0sQ0FDVCx5b0NBQXlvQyxDQUMxb0MsQ0FBQztRQUNGLElBQUksQ0FBQyxNQUFNLENBQ1QsdUhBQXVILENBQ3hILENBQUM7UUFDRixJQUFJLENBQUMsTUFBTSxDQUNULHVIQUF1SCxDQUN4SCxDQUFDO1FBQ0YsSUFBSSxDQUFDLE1BQU0sQ0FDVCxrSUFBa0ksQ0FDbkksQ0FBQztRQUNGLElBQUksQ0FBQyxNQUFNLENBQ1Qsb0pBQW9KLENBQ3JKLENBQUM7UUFFRixJQUFJLENBQUMsTUFBTSxDQUNULG9OQUFvTixDQUNyTixDQUFDO1FBRUYsSUFBSSxDQUFDLE1BQU0sQ0FDVCx5S0FBeUssQ0FDMUssQ0FBQztJQUNKLENBQUM7SUFFUSxLQUFLLENBQUMsSUFBSTtRQUNqQixJQUFJLENBQUMsTUFBTSxDQUNULGlIQUFpSCxDQUNsSCxDQUFDO1FBRUYsSUFBSSxDQUFDLE1BQU0sQ0FDVCxxR0FBcUcsQ0FDdEcsQ0FBQztRQUVGLElBQUksQ0FBQyxNQUFNLENBQUMsK0NBQStDLENBQUMsQ0FBQztRQUU3RCxJQUFJLENBQUMsTUFBTSxDQUFDLCtDQUErQyxDQUFDLENBQUM7SUFDL0QsQ0FBQztDQUNGO0FBcEVELDBEQW9FQyJ9
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Migration20260827172945 = void 0;
|
|
4
|
+
const migrations_1 = require("@medusajs/framework/mikro-orm/migrations");
|
|
5
|
+
class Migration20260827172945 extends migrations_1.Migration {
|
|
6
|
+
async up() {
|
|
7
|
+
this.addSql(`alter table if exists "email_message" drop constraint if exists "email_message_kind_check";`);
|
|
8
|
+
this.addSql(`alter table if exists "email_message" add constraint "email_message_kind_check" check("kind" in ('order.received', 'order.received.admin', 'order.shipped', 'order.canceled', 'order.return_requested', 'order.return_received', 'order.refunded', 'auth.password_reset', 'affiliate.consignment_report_due'));`);
|
|
9
|
+
}
|
|
10
|
+
async down() {
|
|
11
|
+
this.addSql(`alter table if exists "email_message" drop constraint if exists "email_message_kind_check";`);
|
|
12
|
+
this.addSql(`alter table if exists "email_message" add constraint "email_message_kind_check" check("kind" in ('order.received', 'order.shipped', 'order.canceled', 'order.return_requested', 'order.return_received', 'order.refunded', 'auth.password_reset', 'affiliate.consignment_report_due'));`);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
exports.Migration20260827172945 = Migration20260827172945;
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlncmF0aW9uMjAyNjA4MjcxNzI5NDUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9lbWFpbC9taWdyYXRpb25zL01pZ3JhdGlvbjIwMjYwODI3MTcyOTQ1LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHlFQUFxRTtBQUVyRSxNQUFhLHVCQUF3QixTQUFRLHNCQUFTO0lBQzNDLEtBQUssQ0FBQyxFQUFFO1FBQ2YsSUFBSSxDQUFDLE1BQU0sQ0FDVCw2RkFBNkYsQ0FDOUYsQ0FBQztRQUVGLElBQUksQ0FBQyxNQUFNLENBQ1QsaVRBQWlULENBQ2xULENBQUM7SUFDSixDQUFDO0lBRVEsS0FBSyxDQUFDLElBQUk7UUFDakIsSUFBSSxDQUFDLE1BQU0sQ0FDVCw2RkFBNkYsQ0FDOUYsQ0FBQztRQUVGLElBQUksQ0FBQyxNQUFNLENBQ1QseVJBQXlSLENBQzFSLENBQUM7SUFDSixDQUFDO0NBQ0Y7QUFwQkQsMERBb0JDIn0=
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Migration20260827194804 = void 0;
|
|
4
|
+
const migrations_1 = require("@medusajs/framework/mikro-orm/migrations");
|
|
5
|
+
class Migration20260827194804 extends migrations_1.Migration {
|
|
6
|
+
async up() {
|
|
7
|
+
this.addSql(`alter table if exists "email_terms_version" drop constraint if exists "email_terms_version_file_id_unique";`);
|
|
8
|
+
this.addSql(`alter table if exists "email_terms_version" drop constraint if exists "email_terms_version_request_id_unique";`);
|
|
9
|
+
this.addSql(`create table if not exists "email_terms_version" ("id" text not null, "request_id" text not null, "filename" text not null, "file_id" text not null, "effective_at" timestamptz not null, "byte_size" integer not null, "sha256" text not null, "created_at" timestamptz not null default now(), "updated_at" timestamptz not null default now(), "deleted_at" timestamptz null, constraint "email_terms_version_pkey" primary key ("id"));`);
|
|
10
|
+
this.addSql(`CREATE INDEX IF NOT EXISTS "IDX_email_terms_version_deleted_at" ON "email_terms_version" ("deleted_at") WHERE deleted_at IS NULL;`);
|
|
11
|
+
this.addSql(`CREATE UNIQUE INDEX IF NOT EXISTS "IDX_email_terms_version_request_id_unique" ON "email_terms_version" ("request_id");`);
|
|
12
|
+
this.addSql(`CREATE UNIQUE INDEX IF NOT EXISTS "IDX_email_terms_version_file_id_unique" ON "email_terms_version" ("file_id");`);
|
|
13
|
+
this.addSql(`CREATE INDEX IF NOT EXISTS "IDX_email_terms_version_effective_at" ON "email_terms_version" ("effective_at") WHERE deleted_at IS NULL;`);
|
|
14
|
+
this.addSql(`alter table if exists "email_terms_version" add constraint "chk_email_terms_version_byte_size" check ("byte_size" > 0 and "byte_size" <= 5242880);`);
|
|
15
|
+
this.addSql(`alter table if exists "email_terms_version" add constraint "chk_email_terms_version_sha256" check ("sha256" ~ '^[0-9a-f]{64}$');`);
|
|
16
|
+
}
|
|
17
|
+
async down() {
|
|
18
|
+
this.addSql(`drop table if exists "email_terms_version" cascade;`);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
exports.Migration20260827194804 = Migration20260827194804;
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlncmF0aW9uMjAyNjA4MjcxOTQ4MDQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9lbWFpbC9taWdyYXRpb25zL01pZ3JhdGlvbjIwMjYwODI3MTk0ODA0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHlFQUFxRTtBQUVyRSxNQUFhLHVCQUF3QixTQUFRLHNCQUFTO0lBQzNDLEtBQUssQ0FBQyxFQUFFO1FBQ2YsSUFBSSxDQUFDLE1BQU0sQ0FDVCw2R0FBNkcsQ0FDOUcsQ0FBQztRQUNGLElBQUksQ0FBQyxNQUFNLENBQ1QsZ0hBQWdILENBQ2pILENBQUM7UUFDRixJQUFJLENBQUMsTUFBTSxDQUNULDZhQUE2YSxDQUM5YSxDQUFDO1FBQ0YsSUFBSSxDQUFDLE1BQU0sQ0FDVCxtSUFBbUksQ0FDcEksQ0FBQztRQUNGLElBQUksQ0FBQyxNQUFNLENBQ1Qsd0hBQXdILENBQ3pILENBQUM7UUFDRixJQUFJLENBQUMsTUFBTSxDQUNULGtIQUFrSCxDQUNuSCxDQUFDO1FBQ0YsSUFBSSxDQUFDLE1BQU0sQ0FDVCx1SUFBdUksQ0FDeEksQ0FBQztRQUNGLElBQUksQ0FBQyxNQUFNLENBQ1Qsb0pBQW9KLENBQ3JKLENBQUM7UUFDRixJQUFJLENBQUMsTUFBTSxDQUNULGtJQUFrSSxDQUNuSSxDQUFDO0lBQ0osQ0FBQztJQUVRLEtBQUssQ0FBQyxJQUFJO1FBQ2pCLElBQUksQ0FBQyxNQUFNLENBQUMscURBQXFELENBQUMsQ0FBQztJQUNyRSxDQUFDO0NBQ0Y7QUFsQ0QsMERBa0NDIn0=
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Migration20260906195205 = void 0;
|
|
4
|
+
const migrations_1 = require("@medusajs/framework/mikro-orm/migrations");
|
|
5
|
+
class Migration20260906195205 extends migrations_1.Migration {
|
|
6
|
+
async up() {
|
|
7
|
+
this.addSql(`alter table if exists "email_message" drop constraint if exists "email_message_kind_check";`);
|
|
8
|
+
this.addSql(`alter table if exists "email_message" add constraint "email_message_kind_check" check("kind" in ('order.received', 'order.received.admin', 'order.shipped', 'order.canceled', 'order.return_requested', 'order.return_received', 'order.refunded', 'auth.password_reset', 'affiliate.consignment_report_due', 'user.invite'));`);
|
|
9
|
+
}
|
|
10
|
+
async down() {
|
|
11
|
+
this.addSql(`alter table if exists "email_message" drop constraint if exists "email_message_kind_check";`);
|
|
12
|
+
this.addSql(`alter table if exists "email_message" add constraint "email_message_kind_check" check("kind" in ('order.received', 'order.received.admin', 'order.shipped', 'order.canceled', 'order.return_requested', 'order.return_received', 'order.refunded', 'auth.password_reset', 'affiliate.consignment_report_due'));`);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
exports.Migration20260906195205 = Migration20260906195205;
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlncmF0aW9uMjAyNjA5MDYxOTUyMDUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9lbWFpbC9taWdyYXRpb25zL01pZ3JhdGlvbjIwMjYwOTA2MTk1MjA1LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHlFQUFxRTtBQUVyRSxNQUFhLHVCQUF3QixTQUFRLHNCQUFTO0lBRTNDLEtBQUssQ0FBQyxFQUFFO1FBQ2YsSUFBSSxDQUFDLE1BQU0sQ0FBQyw2RkFBNkYsQ0FBQyxDQUFDO1FBRTNHLElBQUksQ0FBQyxNQUFNLENBQUMsZ1VBQWdVLENBQUMsQ0FBQztJQUNoVixDQUFDO0lBRVEsS0FBSyxDQUFDLElBQUk7UUFDakIsSUFBSSxDQUFDLE1BQU0sQ0FBQyw2RkFBNkYsQ0FBQyxDQUFDO1FBRTNHLElBQUksQ0FBQyxNQUFNLENBQUMsaVRBQWlULENBQUMsQ0FBQztJQUNqVSxDQUFDO0NBRUY7QUFkRCwwREFjQyJ9
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
7
|
+
const message_state_1 = require("../domain/message-state");
|
|
8
|
+
const email_message_1 = __importDefault(require("./email-message"));
|
|
9
|
+
const EmailAttempt = utils_1.model
|
|
10
|
+
.define({
|
|
11
|
+
name: "email_attempt",
|
|
12
|
+
tableName: "email_attempt",
|
|
13
|
+
}, {
|
|
14
|
+
id: utils_1.model.id({ prefix: "emat" }).primaryKey(),
|
|
15
|
+
message: utils_1.model.belongsTo(() => email_message_1.default, {
|
|
16
|
+
mappedBy: "attempts",
|
|
17
|
+
}),
|
|
18
|
+
attempt_number: utils_1.model.number(),
|
|
19
|
+
status: utils_1.model.enum([...message_state_1.EMAIL_ATTEMPT_STATUSES]).default("processing"),
|
|
20
|
+
attempt_token: utils_1.model.text().nullable(),
|
|
21
|
+
lease_started_at: utils_1.model.dateTime().nullable(),
|
|
22
|
+
lease_expires_at: utils_1.model.dateTime().nullable(),
|
|
23
|
+
notification_id: utils_1.model.text().nullable(),
|
|
24
|
+
failure_code: utils_1.model.text().nullable(),
|
|
25
|
+
started_at: utils_1.model.dateTime(),
|
|
26
|
+
finished_at: utils_1.model.dateTime().nullable(),
|
|
27
|
+
})
|
|
28
|
+
.indexes([
|
|
29
|
+
{
|
|
30
|
+
name: "IDX_email_attempt_message_number_unique",
|
|
31
|
+
on: ["message_id", "attempt_number"],
|
|
32
|
+
unique: true,
|
|
33
|
+
where: null,
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
name: "IDX_email_attempt_status_lease_expires_at",
|
|
37
|
+
on: ["status", "lease_expires_at"],
|
|
38
|
+
where: "deleted_at IS NULL",
|
|
39
|
+
},
|
|
40
|
+
])
|
|
41
|
+
.checks([
|
|
42
|
+
{
|
|
43
|
+
name: "CHK_email_attempt_attempt_number_positive",
|
|
44
|
+
expression: ({ attempt_number }) => `${attempt_number} > 0`,
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
name: "CHK_email_attempt_lease_order",
|
|
48
|
+
expression: ({ lease_started_at, lease_expires_at }) => `${lease_started_at} is null or ${lease_expires_at} is null or ${lease_expires_at} > ${lease_started_at}`,
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
name: "CHK_email_attempt_state_fields",
|
|
52
|
+
expression: ({ status, attempt_token, lease_started_at, lease_expires_at, finished_at, }) => `((${status} = 'processing' and ${attempt_token} is not null and ${lease_started_at} is not null and ${lease_expires_at} is not null and ${finished_at} is null) or (${status} in ('sent', 'failed', 'unknown') and ${attempt_token} is null and ${finished_at} is not null))`,
|
|
53
|
+
},
|
|
54
|
+
]);
|
|
55
|
+
exports.default = EmailAttempt;
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1haWwtYXR0ZW1wdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9tb2R1bGVzL2VtYWlsL21vZGVscy9lbWFpbC1hdHRlbXB0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEscURBQWtEO0FBRWxELDJEQUFpRTtBQUNqRSxvRUFBMkM7QUFFM0MsTUFBTSxZQUFZLEdBQUcsYUFBSztLQUN2QixNQUFNLENBQ0w7SUFDRSxJQUFJLEVBQUUsZUFBZTtJQUNyQixTQUFTLEVBQUUsZUFBZTtDQUMzQixFQUNEO0lBQ0UsRUFBRSxFQUFFLGFBQUssQ0FBQyxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxVQUFVLEVBQUU7SUFDN0MsT0FBTyxFQUFFLGFBQUssQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsdUJBQVksRUFBRTtRQUMzQyxRQUFRLEVBQUUsVUFBVTtLQUNyQixDQUFDO0lBQ0YsY0FBYyxFQUFFLGFBQUssQ0FBQyxNQUFNLEVBQUU7SUFDOUIsTUFBTSxFQUFFLGFBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLHNDQUFzQixDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDO0lBQ3JFLGFBQWEsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ3RDLGdCQUFnQixFQUFFLGFBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDN0MsZ0JBQWdCLEVBQUUsYUFBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUM3QyxlQUFlLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUN4QyxZQUFZLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUNyQyxVQUFVLEVBQUUsYUFBSyxDQUFDLFFBQVEsRUFBRTtJQUM1QixXQUFXLEVBQUUsYUFBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRTtDQUN6QyxDQUNGO0tBQ0EsT0FBTyxDQUFDO0lBQ1A7UUFDRSxJQUFJLEVBQUUseUNBQXlDO1FBQy9DLEVBQUUsRUFBRSxDQUFDLFlBQVksRUFBRSxnQkFBZ0IsQ0FBQztRQUNwQyxNQUFNLEVBQUUsSUFBSTtRQUNaLEtBQUssRUFBRSxJQUFJO0tBQ1o7SUFDRDtRQUNFLElBQUksRUFBRSwyQ0FBMkM7UUFDakQsRUFBRSxFQUFFLENBQUMsUUFBUSxFQUFFLGtCQUFrQixDQUFDO1FBQ2xDLEtBQUssRUFBRSxvQkFBb0I7S0FDNUI7Q0FDRixDQUFDO0tBQ0QsTUFBTSxDQUFDO0lBQ047UUFDRSxJQUFJLEVBQUUsMkNBQTJDO1FBQ2pELFVBQVUsRUFBRSxDQUFDLEVBQUUsY0FBYyxFQUFFLEVBQUUsRUFBRSxDQUFDLEdBQUcsY0FBYyxNQUFNO0tBQzVEO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsK0JBQStCO1FBQ3JDLFVBQVUsRUFBRSxDQUFDLEVBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUsRUFBRSxFQUFFLENBQ3JELEdBQUcsZ0JBQWdCLGVBQWUsZ0JBQWdCLGVBQWUsZ0JBQWdCLE1BQU0sZ0JBQWdCLEVBQUU7S0FDNUc7SUFDRDtRQUNFLElBQUksRUFBRSxnQ0FBZ0M7UUFDdEMsVUFBVSxFQUFFLENBQUMsRUFDWCxNQUFNLEVBQ04sYUFBYSxFQUNiLGdCQUFnQixFQUNoQixnQkFBZ0IsRUFDaEIsV0FBVyxHQUNaLEVBQUUsRUFBRSxDQUNILEtBQUssTUFBTSx1QkFBdUIsYUFBYSxvQkFBb0IsZ0JBQWdCLG9CQUFvQixnQkFBZ0Isb0JBQW9CLFdBQVcsaUJBQWlCLE1BQU0seUNBQXlDLGFBQWEsZ0JBQWdCLFdBQVcsZ0JBQWdCO0tBQ2pSO0NBQ0YsQ0FBQyxDQUFDO0FBRUwsa0JBQWUsWUFBWSxDQUFDIn0=
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
7
|
+
const types_1 = require("../../../email/types");
|
|
8
|
+
const message_state_1 = require("../domain/message-state");
|
|
9
|
+
const email_attempt_1 = __importDefault(require("./email-attempt"));
|
|
10
|
+
const EmailMessage = utils_1.model
|
|
11
|
+
.define({
|
|
12
|
+
name: "email_message",
|
|
13
|
+
tableName: "email_message",
|
|
14
|
+
}, {
|
|
15
|
+
id: utils_1.model.id({ prefix: "emsg" }).primaryKey(),
|
|
16
|
+
kind: utils_1.model.enum([...types_1.EMAIL_KINDS]),
|
|
17
|
+
business_key: utils_1.model.text(),
|
|
18
|
+
resource_type: utils_1.model.text(),
|
|
19
|
+
resource_id: utils_1.model.text().nullable(),
|
|
20
|
+
recipient: utils_1.model.text().nullable(),
|
|
21
|
+
template_data: utils_1.model.json().nullable(),
|
|
22
|
+
attachments: utils_1.model.json().default([]),
|
|
23
|
+
status: utils_1.model.enum([...message_state_1.EMAIL_MESSAGE_STATUSES]).default("pending"),
|
|
24
|
+
required_facts: utils_1.model.json().default([]),
|
|
25
|
+
received_facts: utils_1.model.json().default([]),
|
|
26
|
+
predecessor_message: utils_1.model
|
|
27
|
+
.belongsTo(() => EmailMessage, {
|
|
28
|
+
mappedBy: "dependent_messages",
|
|
29
|
+
})
|
|
30
|
+
.nullable(),
|
|
31
|
+
dependent_messages: utils_1.model.hasMany(() => EmailMessage, {
|
|
32
|
+
mappedBy: "predecessor_message",
|
|
33
|
+
}),
|
|
34
|
+
attempts: utils_1.model.hasMany(() => email_attempt_1.default, {
|
|
35
|
+
mappedBy: "message",
|
|
36
|
+
}),
|
|
37
|
+
trigger: utils_1.model.text().default("automatic"),
|
|
38
|
+
request_id: utils_1.model.text().nullable(),
|
|
39
|
+
requested_by_admin_id: utils_1.model.text().nullable(),
|
|
40
|
+
original_message_id: utils_1.model.text().nullable(),
|
|
41
|
+
next_attempt_at: utils_1.model.dateTime().nullable(),
|
|
42
|
+
sent_at: utils_1.model.dateTime().nullable(),
|
|
43
|
+
failed_at: utils_1.model.dateTime().nullable(),
|
|
44
|
+
payload_expires_at: utils_1.model.dateTime().nullable(),
|
|
45
|
+
terminal_code: utils_1.model.text().nullable(),
|
|
46
|
+
})
|
|
47
|
+
.indexes([
|
|
48
|
+
{
|
|
49
|
+
name: "IDX_email_message_business_key_unique",
|
|
50
|
+
on: ["business_key"],
|
|
51
|
+
unique: true,
|
|
52
|
+
where: null,
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
name: "IDX_email_message_resource",
|
|
56
|
+
on: ["resource_type", "resource_id"],
|
|
57
|
+
where: "deleted_at IS NULL",
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
name: "IDX_email_message_status_next_attempt_at",
|
|
61
|
+
on: ["status", "next_attempt_at"],
|
|
62
|
+
where: "deleted_at IS NULL",
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
name: "IDX_email_message_original_message_id",
|
|
66
|
+
on: ["original_message_id"],
|
|
67
|
+
where: "deleted_at IS NULL AND original_message_id IS NOT NULL",
|
|
68
|
+
},
|
|
69
|
+
]);
|
|
70
|
+
exports.default = EmailMessage;
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1haWwtbWVzc2FnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9tb2R1bGVzL2VtYWlsL21vZGVscy9lbWFpbC1tZXNzYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEscURBQWtEO0FBRWxELGdEQUFtRDtBQUVuRCwyREFBaUU7QUFDakUsb0VBQTJDO0FBRTNDLE1BQU0sWUFBWSxHQUFHLGFBQUs7S0FDdkIsTUFBTSxDQUNMO0lBQ0UsSUFBSSxFQUFFLGVBQWU7SUFDckIsU0FBUyxFQUFFLGVBQWU7Q0FDM0IsRUFDRDtJQUNFLEVBQUUsRUFBRSxhQUFLLENBQUMsRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsVUFBVSxFQUFFO0lBQzdDLElBQUksRUFBRSxhQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxtQkFBVyxDQUFDLENBQUM7SUFDbEMsWUFBWSxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUU7SUFDMUIsYUFBYSxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUU7SUFDM0IsV0FBVyxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDcEMsU0FBUyxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDbEMsYUFBYSxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDdEMsV0FBVyxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQXFCLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztJQUN4RCxNQUFNLEVBQUUsYUFBSyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsc0NBQXNCLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUM7SUFDbEUsY0FBYyxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQVksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO0lBQ2xELGNBQWMsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFZLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztJQUNsRCxtQkFBbUIsRUFBRSxhQUFLO1NBQ3ZCLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxZQUFZLEVBQUU7UUFDN0IsUUFBUSxFQUFFLG9CQUFvQjtLQUMvQixDQUFDO1NBQ0QsUUFBUSxFQUFFO0lBQ2Isa0JBQWtCLEVBQUUsYUFBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxZQUFZLEVBQUU7UUFDcEQsUUFBUSxFQUFFLHFCQUFxQjtLQUNoQyxDQUFDO0lBQ0YsUUFBUSxFQUFFLGFBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsdUJBQVksRUFBRTtRQUMxQyxRQUFRLEVBQUUsU0FBUztLQUNwQixDQUFDO0lBQ0YsT0FBTyxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDO0lBQzFDLFVBQVUsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ25DLHFCQUFxQixFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDOUMsbUJBQW1CLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUM1QyxlQUFlLEVBQUUsYUFBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUM1QyxPQUFPLEVBQUUsYUFBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUNwQyxTQUFTLEVBQUUsYUFBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUN0QyxrQkFBa0IsRUFBRSxhQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQy9DLGFBQWEsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsUUFBUSxFQUFFO0NBQ3ZDLENBQ0Y7S0FDQSxPQUFPLENBQUM7SUFDUDtRQUNFLElBQUksRUFBRSx1Q0FBdUM7UUFDN0MsRUFBRSxFQUFFLENBQUMsY0FBYyxDQUFDO1FBQ3BCLE1BQU0sRUFBRSxJQUFJO1FBQ1osS0FBSyxFQUFFLElBQUk7S0FDWjtJQUNEO1FBQ0UsSUFBSSxFQUFFLDRCQUE0QjtRQUNsQyxFQUFFLEVBQUUsQ0FBQyxlQUFlLEVBQUUsYUFBYSxDQUFDO1FBQ3BDLEtBQUssRUFBRSxvQkFBb0I7S0FDNUI7SUFDRDtRQUNFLElBQUksRUFBRSwwQ0FBMEM7UUFDaEQsRUFBRSxFQUFFLENBQUMsUUFBUSxFQUFFLGlCQUFpQixDQUFDO1FBQ2pDLEtBQUssRUFBRSxvQkFBb0I7S0FDNUI7SUFDRDtRQUNFLElBQUksRUFBRSx1Q0FBdUM7UUFDN0MsRUFBRSxFQUFFLENBQUMscUJBQXFCLENBQUM7UUFDM0IsS0FBSyxFQUFFLHdEQUF3RDtLQUNoRTtDQUNGLENBQUMsQ0FBQztBQUVMLGtCQUFlLFlBQVksQ0FBQyJ9
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
4
|
+
const EmailTermsVersion = utils_1.model
|
|
5
|
+
.define({
|
|
6
|
+
name: "email_terms_version",
|
|
7
|
+
tableName: "email_terms_version",
|
|
8
|
+
}, {
|
|
9
|
+
id: utils_1.model.id({ prefix: "eterm" }).primaryKey(),
|
|
10
|
+
request_id: utils_1.model.text(),
|
|
11
|
+
filename: utils_1.model.text(),
|
|
12
|
+
file_id: utils_1.model.text(),
|
|
13
|
+
effective_at: utils_1.model.dateTime(),
|
|
14
|
+
byte_size: utils_1.model.number(),
|
|
15
|
+
sha256: utils_1.model.text(),
|
|
16
|
+
})
|
|
17
|
+
.indexes([
|
|
18
|
+
{
|
|
19
|
+
name: "IDX_email_terms_version_request_id_unique",
|
|
20
|
+
on: ["request_id"],
|
|
21
|
+
unique: true,
|
|
22
|
+
where: null,
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
name: "IDX_email_terms_version_file_id_unique",
|
|
26
|
+
on: ["file_id"],
|
|
27
|
+
unique: true,
|
|
28
|
+
where: null,
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
name: "IDX_email_terms_version_effective_at",
|
|
32
|
+
on: ["effective_at"],
|
|
33
|
+
where: "deleted_at IS NULL",
|
|
34
|
+
},
|
|
35
|
+
]);
|
|
36
|
+
exports.default = EmailTermsVersion;
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1haWwtdGVybXMtdmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9tb2R1bGVzL2VtYWlsL21vZGVscy9lbWFpbC10ZXJtcy12ZXJzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEscURBQWtEO0FBRWxELE1BQU0saUJBQWlCLEdBQUcsYUFBSztLQUM1QixNQUFNLENBQ0w7SUFDRSxJQUFJLEVBQUUscUJBQXFCO0lBQzNCLFNBQVMsRUFBRSxxQkFBcUI7Q0FDakMsRUFDRDtJQUNFLEVBQUUsRUFBRSxhQUFLLENBQUMsRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsVUFBVSxFQUFFO0lBQzlDLFVBQVUsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFO0lBQ3hCLFFBQVEsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFO0lBQ3RCLE9BQU8sRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFO0lBQ3JCLFlBQVksRUFBRSxhQUFLLENBQUMsUUFBUSxFQUFFO0lBQzlCLFNBQVMsRUFBRSxhQUFLLENBQUMsTUFBTSxFQUFFO0lBQ3pCLE1BQU0sRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFO0NBQ3JCLENBQ0Y7S0FDQSxPQUFPLENBQUM7SUFDUDtRQUNFLElBQUksRUFBRSwyQ0FBMkM7UUFDakQsRUFBRSxFQUFFLENBQUMsWUFBWSxDQUFDO1FBQ2xCLE1BQU0sRUFBRSxJQUFJO1FBQ1osS0FBSyxFQUFFLElBQUk7S0FDWjtJQUNEO1FBQ0UsSUFBSSxFQUFFLHdDQUF3QztRQUM5QyxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUM7UUFDZixNQUFNLEVBQUUsSUFBSTtRQUNaLEtBQUssRUFBRSxJQUFJO0tBQ1o7SUFDRDtRQUNFLElBQUksRUFBRSxzQ0FBc0M7UUFDNUMsRUFBRSxFQUFFLENBQUMsY0FBYyxDQUFDO1FBQ3BCLEtBQUssRUFBRSxvQkFBb0I7S0FDNUI7Q0FDRixDQUFDLENBQUM7QUFFTCxrQkFBZSxpQkFBaUIsQ0FBQyJ9
|