@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,248 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.buildFoodShopConfig = buildFoodShopConfig;
|
|
4
|
+
exports.defineFoodShopConfig = defineFoodShopConfig;
|
|
5
|
+
const logger_1 = require("@medusajs/framework/logger");
|
|
6
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
7
|
+
const config_1 = require("../public/config");
|
|
8
|
+
const sentry_logger_1 = require("../public/sentry-logger");
|
|
9
|
+
const options_1 = require("./options");
|
|
10
|
+
/**
|
|
11
|
+
* Builds the plain `medusa-config.ts` input of a food shop: Medusa core
|
|
12
|
+
* settings, the Redis event bus, SMTP notifications, S3 file storage, tax and
|
|
13
|
+
* Stripe payment providers, and the Hartl Services plugins (the base plugin
|
|
14
|
+
* with its E-Mail, Documents and file storage modules plus five feature
|
|
15
|
+
* plugins). Deployment
|
|
16
|
+
* values are read and validated from `environment`; a missing or invalid one
|
|
17
|
+
* fails with its name.
|
|
18
|
+
*/
|
|
19
|
+
function buildFoodShopConfig(options, environment = process.env) {
|
|
20
|
+
(0, options_1.assertFoodShopConfigOptions)(options);
|
|
21
|
+
const { merchant } = options;
|
|
22
|
+
if (options.loadEnvFile !== false) {
|
|
23
|
+
(0, utils_1.loadEnv)(process.env.NODE_ENV || "development", process.cwd());
|
|
24
|
+
}
|
|
25
|
+
const phase = environment.MEDUSA_BUILD_PHASE === "true" ? "build" : "runtime";
|
|
26
|
+
const allowInsecure = (0, config_1.allowsInsecureLocalServices)(environment, phase);
|
|
27
|
+
const env = (0, config_1.requireEnvironment)(environment, [
|
|
28
|
+
"DATABASE_URL",
|
|
29
|
+
"STORE_CORS",
|
|
30
|
+
"ADMIN_CORS",
|
|
31
|
+
"AUTH_CORS",
|
|
32
|
+
"JWT_SECRET",
|
|
33
|
+
"COOKIE_SECRET",
|
|
34
|
+
"MEDUSA_BACKEND_URL",
|
|
35
|
+
"STOREFRONT_URL",
|
|
36
|
+
...config_1.SMTP_ENVIRONMENT_VARIABLES,
|
|
37
|
+
"STRIPE_API_KEY",
|
|
38
|
+
"STRIPE_WEBHOOK_SECRET",
|
|
39
|
+
"S3_CACHE_STORAGE_BUCKET",
|
|
40
|
+
"S3_CACHE_STORAGE_REGION",
|
|
41
|
+
"DOCUMENT_PDF_EXECUTABLE",
|
|
42
|
+
], phase, {
|
|
43
|
+
...config_1.MEDUSA_BUILD_PLACEHOLDERS,
|
|
44
|
+
...config_1.SMTP_BUILD_PLACEHOLDERS,
|
|
45
|
+
...config_1.S3_BUILD_PLACEHOLDERS,
|
|
46
|
+
...config_1.DOCUMENTS_BUILD_PLACEHOLDERS,
|
|
47
|
+
});
|
|
48
|
+
const storefrontOrigin = (0, config_1.resolvePublicOrigin)(env.STOREFRONT_URL, "STOREFRONT_URL", allowInsecure);
|
|
49
|
+
const backendOrigin = (0, config_1.resolvePublicOrigin)(env.MEDUSA_BACKEND_URL, "MEDUSA_BACKEND_URL", allowInsecure);
|
|
50
|
+
const redis = (0, config_1.resolveRedisEventBus)(environment, phase);
|
|
51
|
+
const stripe = (0, config_1.resolveStripe)(env);
|
|
52
|
+
const storefrontPath = `/${options.storefrontCountryCode}`;
|
|
53
|
+
// S3 file storage: the File Module provider plus the `files.gateway` option
|
|
54
|
+
// of the base plugin that serves its /files routes, both from one validated
|
|
55
|
+
// configuration.
|
|
56
|
+
const s3CacheStorage = (0, config_1.createS3CacheStorageConfig)({
|
|
57
|
+
cache: {
|
|
58
|
+
cleanupIntervalMs: (0, config_1.integerEnvironment)(environment, "S3_CACHE_STORAGE_CLEANUP_INTERVAL_MS", 1, 86_400_000) ?? 900_000,
|
|
59
|
+
dir: (0, config_1.optionalEnvironment)(environment, "S3_CACHE_STORAGE_CACHE_DIR") ??
|
|
60
|
+
"./.medusa-s3-cache",
|
|
61
|
+
expirationStrategy: (0, config_1.resolveExpirationStrategy)(environment, "absolute"),
|
|
62
|
+
ttlMs: (0, config_1.integerEnvironment)(environment, "S3_CACHE_STORAGE_TTL_MS", 0, 604_800_000) ?? 3_600_000,
|
|
63
|
+
},
|
|
64
|
+
gateway: {
|
|
65
|
+
baseUrl: `${backendOrigin}/files`,
|
|
66
|
+
privateDownloadDurationSeconds: (0, config_1.integerEnvironment)(environment, "FILE_GATEWAY_PRIVATE_DOWNLOAD_DURATION_SECONDS", 1, 604_800) ?? 3_600,
|
|
67
|
+
signingSecret: env.JWT_SECRET,
|
|
68
|
+
},
|
|
69
|
+
s3: {
|
|
70
|
+
bucket: env.S3_CACHE_STORAGE_BUCKET,
|
|
71
|
+
credentials: (0, config_1.resolveS3Credentials)(environment, phase),
|
|
72
|
+
endpoint: (0, config_1.optionalEnvironment)(environment, "S3_CACHE_STORAGE_ENDPOINT"),
|
|
73
|
+
forcePathStyle: (0, config_1.booleanEnvironment)(environment, "S3_CACHE_STORAGE_FORCE_PATH_STYLE", false),
|
|
74
|
+
region: env.S3_CACHE_STORAGE_REGION,
|
|
75
|
+
storagePrefix: (0, config_1.optionalEnvironment)(environment, "S3_CACHE_STORAGE_PREFIX"),
|
|
76
|
+
},
|
|
77
|
+
});
|
|
78
|
+
const modules = [
|
|
79
|
+
...(redis
|
|
80
|
+
? [
|
|
81
|
+
{
|
|
82
|
+
key: utils_1.Modules.EVENT_BUS,
|
|
83
|
+
resolve: "@medusajs/event-bus-redis",
|
|
84
|
+
options: {
|
|
85
|
+
redisUrl: redis.url,
|
|
86
|
+
jobOptions: {
|
|
87
|
+
attempts: 3,
|
|
88
|
+
backoff: {
|
|
89
|
+
delay: 1_000,
|
|
90
|
+
type: "exponential",
|
|
91
|
+
},
|
|
92
|
+
removeOnComplete: true,
|
|
93
|
+
removeOnFail: {
|
|
94
|
+
age: 3_600,
|
|
95
|
+
count: 1_000,
|
|
96
|
+
},
|
|
97
|
+
},
|
|
98
|
+
},
|
|
99
|
+
},
|
|
100
|
+
]
|
|
101
|
+
: []),
|
|
102
|
+
(0, config_1.createSmtpNotificationModuleConfig)((0, config_1.resolveSmtp)(env, allowInsecure)),
|
|
103
|
+
s3CacheStorage.fileModule,
|
|
104
|
+
{
|
|
105
|
+
resolve: "@medusajs/medusa/tax",
|
|
106
|
+
options: {
|
|
107
|
+
providers: [
|
|
108
|
+
{
|
|
109
|
+
resolve: "@hartl-services/medusa-tax-compliance/providers/tax-compliance",
|
|
110
|
+
},
|
|
111
|
+
],
|
|
112
|
+
},
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
resolve: "@medusajs/medusa/payment",
|
|
116
|
+
options: {
|
|
117
|
+
providers: [
|
|
118
|
+
{
|
|
119
|
+
resolve: "@medusajs/medusa/payment-stripe",
|
|
120
|
+
id: "stripe",
|
|
121
|
+
options: {
|
|
122
|
+
apiKey: stripe.apiKey,
|
|
123
|
+
webhookSecret: stripe.webhookSecret,
|
|
124
|
+
// Capture immediately at checkout. Several enabled payment
|
|
125
|
+
// methods (e.g. SEPA Direct Debit, iDEAL, Klarna) do not
|
|
126
|
+
// support a separate manual-capture step, so authorize-only is
|
|
127
|
+
// not an option while automaticPaymentMethods exposes them.
|
|
128
|
+
capture: true,
|
|
129
|
+
// Which methods appear (card, SEPA, wallets, ...) is controlled
|
|
130
|
+
// in the Stripe Dashboard under Settings -> Payment methods.
|
|
131
|
+
automaticPaymentMethods: true,
|
|
132
|
+
},
|
|
133
|
+
},
|
|
134
|
+
],
|
|
135
|
+
},
|
|
136
|
+
},
|
|
137
|
+
];
|
|
138
|
+
const plugins = [
|
|
139
|
+
{
|
|
140
|
+
// Always first: owns the plugin feature toggles the other plugins gate
|
|
141
|
+
// on, and carries E-Mail, Documents and the /files gateway.
|
|
142
|
+
resolve: "@hartl-services/medusa-base",
|
|
143
|
+
options: {
|
|
144
|
+
email: {
|
|
145
|
+
jwtSecret: env.JWT_SECRET,
|
|
146
|
+
shop: {
|
|
147
|
+
displayName: options.displayName,
|
|
148
|
+
affiliatePortalUrl: (0, config_1.shopUrl)(storefrontOrigin, `${storefrontPath}/partnerportal`),
|
|
149
|
+
// The Admin dashboard mounts "/invite" under admin.path ("/app").
|
|
150
|
+
inviteUrl: ({ token }) => {
|
|
151
|
+
const url = new URL("/app/invite", backendOrigin);
|
|
152
|
+
url.searchParams.set("token", token);
|
|
153
|
+
return url.toString();
|
|
154
|
+
},
|
|
155
|
+
orderNotificationEmail: options.orderNotificationEmail,
|
|
156
|
+
// The e-mail module appends "#token=<token>".
|
|
157
|
+
passwordResetUrl: () => (0, config_1.shopUrl)(storefrontOrigin, `${storefrontPath}/reset-password`),
|
|
158
|
+
},
|
|
159
|
+
},
|
|
160
|
+
documents: {
|
|
161
|
+
// Fallback only: the shop master data in the Admin ("Hartl Services
|
|
162
|
+
// Plugins" -> Shop-Stammdaten) wins per field.
|
|
163
|
+
merchant,
|
|
164
|
+
numbering: {
|
|
165
|
+
// Chooses the annual document-number period; matches the date the
|
|
166
|
+
// HTML factory prints.
|
|
167
|
+
timeZone: options.timeZone,
|
|
168
|
+
},
|
|
169
|
+
pdf: {
|
|
170
|
+
executablePath: env.DOCUMENT_PDF_EXECUTABLE,
|
|
171
|
+
},
|
|
172
|
+
},
|
|
173
|
+
files: { gateway: s3CacheStorage.gateway },
|
|
174
|
+
},
|
|
175
|
+
},
|
|
176
|
+
{
|
|
177
|
+
resolve: "@hartl-services/medusa-tax-compliance",
|
|
178
|
+
options: { merchant },
|
|
179
|
+
},
|
|
180
|
+
{
|
|
181
|
+
resolve: "@hartl-services/medusa-free-shipping",
|
|
182
|
+
options: {},
|
|
183
|
+
},
|
|
184
|
+
{
|
|
185
|
+
resolve: "@hartl-services/medusa-batch-management",
|
|
186
|
+
options: {},
|
|
187
|
+
},
|
|
188
|
+
{
|
|
189
|
+
resolve: "@hartl-services/medusa-affiliate",
|
|
190
|
+
options: {
|
|
191
|
+
consignment_reminders: {
|
|
192
|
+
due_day: 10,
|
|
193
|
+
timezone: options.timeZone,
|
|
194
|
+
},
|
|
195
|
+
portal: {
|
|
196
|
+
referral_base_url: (0, config_1.shopUrl)(storefrontOrigin, storefrontPath),
|
|
197
|
+
},
|
|
198
|
+
},
|
|
199
|
+
},
|
|
200
|
+
{
|
|
201
|
+
resolve: "@hartl-services/medusa-payload-sync",
|
|
202
|
+
// URL, API key and auth collection are Admin settings of the base
|
|
203
|
+
// plugin ("Hartl Services Plugins" -> Payload-CMS-Sync); until they are
|
|
204
|
+
// stored the plugin boots "nicht konfiguriert".
|
|
205
|
+
options: {},
|
|
206
|
+
},
|
|
207
|
+
];
|
|
208
|
+
return {
|
|
209
|
+
admin: {
|
|
210
|
+
// Kept explicit: serving the Admin SPA at "/" instead breaks its own
|
|
211
|
+
// auth, since the SPA's client-side-routing fallback then catches real
|
|
212
|
+
// API routes like /auth/user/providers too. The invite URL depends on
|
|
213
|
+
// this path.
|
|
214
|
+
path: "/app",
|
|
215
|
+
},
|
|
216
|
+
// Medusa's own HTTP error-handler middleware fully "handles" every thrown
|
|
217
|
+
// route/workflow error via logger.error(...) before it can ever reach an
|
|
218
|
+
// uncaught-exception process hook, so Sentry's default Node integrations
|
|
219
|
+
// never see it. This bridges logger.error(...) itself so those errors
|
|
220
|
+
// still reach Sentry.
|
|
221
|
+
logger: (0, sentry_logger_1.withSentryErrorReporting)(logger_1.logger),
|
|
222
|
+
projectConfig: {
|
|
223
|
+
databaseUrl: env.DATABASE_URL,
|
|
224
|
+
http: {
|
|
225
|
+
storeCors: env.STORE_CORS,
|
|
226
|
+
adminCors: env.ADMIN_CORS,
|
|
227
|
+
authCors: env.AUTH_CORS,
|
|
228
|
+
jwtSecret: env.JWT_SECRET,
|
|
229
|
+
cookieSecret: env.COOKIE_SECRET,
|
|
230
|
+
},
|
|
231
|
+
// The storefront turns its customer JWT into a Medusa browser session
|
|
232
|
+
// at login, so its browser-side cart and payment calls carry the
|
|
233
|
+
// customer's identity. Kept at the JWT's own 24h lifetime (Medusa's
|
|
234
|
+
// default is 10h) so the two never disagree about whether the customer
|
|
235
|
+
// is logged in.
|
|
236
|
+
sessionOptions: {
|
|
237
|
+
ttl: 24 * 60 * 60 * 1000,
|
|
238
|
+
},
|
|
239
|
+
},
|
|
240
|
+
modules,
|
|
241
|
+
plugins,
|
|
242
|
+
};
|
|
243
|
+
}
|
|
244
|
+
/** `defineConfig(buildFoodShopConfig(options))` for `module.exports`. */
|
|
245
|
+
function defineFoodShopConfig(options, environment = process.env) {
|
|
246
|
+
return (0, utils_1.defineConfig)(buildFoodShopConfig(options, environment));
|
|
247
|
+
}
|
|
248
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGQtZm9vZC1zaG9wLWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zaG9wLWNvbmZpZy9idWlsZC1mb29kLXNob3AtY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBeUVBLGtEQXVSQztBQUdELG9EQUtDO0FBeFdELHVEQUFvRDtBQUNwRCxxREFBMkU7QUFFM0UsNkNBb0IwQjtBQUMxQiwyREFBbUU7QUFFbkUsdUNBR21CO0FBbUNuQjs7Ozs7Ozs7R0FRRztBQUNILFNBQWdCLG1CQUFtQixDQUNqQyxPQUE4QixFQUM5QixjQUFpQyxPQUFPLENBQUMsR0FBRztJQUU1QyxJQUFBLHFDQUEyQixFQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3JDLE1BQU0sRUFBRSxRQUFRLEVBQUUsR0FBRyxPQUFPLENBQUM7SUFFN0IsSUFBSSxPQUFPLENBQUMsV0FBVyxLQUFLLEtBQUssRUFBRSxDQUFDO1FBQ2xDLElBQUEsZUFBTyxFQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxJQUFJLGFBQWEsRUFBRSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRUQsTUFBTSxLQUFLLEdBQUcsV0FBVyxDQUFDLGtCQUFrQixLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDOUUsTUFBTSxhQUFhLEdBQUcsSUFBQSxvQ0FBMkIsRUFBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFFdEUsTUFBTSxHQUFHLEdBQUcsSUFBQSwyQkFBa0IsRUFDNUIsV0FBVyxFQUNYO1FBQ0UsY0FBYztRQUNkLFlBQVk7UUFDWixZQUFZO1FBQ1osV0FBVztRQUNYLFlBQVk7UUFDWixlQUFlO1FBQ2Ysb0JBQW9CO1FBQ3BCLGdCQUFnQjtRQUNoQixHQUFHLG1DQUEwQjtRQUM3QixnQkFBZ0I7UUFDaEIsdUJBQXVCO1FBQ3ZCLHlCQUF5QjtRQUN6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
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.assertFoodShopConfigOptions = assertFoodShopConfigOptions;
|
|
4
|
+
const fail = (name, expectation) => {
|
|
5
|
+
throw new TypeError(`Food shop option "${name}" must be ${expectation}.`);
|
|
6
|
+
};
|
|
7
|
+
const requireText = (value, name) => {
|
|
8
|
+
if (typeof value !== "string" || value.trim() === "") {
|
|
9
|
+
return fail(name, "a non-empty string");
|
|
10
|
+
}
|
|
11
|
+
return value;
|
|
12
|
+
};
|
|
13
|
+
const requireCountryCode = (value, name) => {
|
|
14
|
+
if (typeof value !== "string" || !/^[a-z]{2}$/.test(value)) {
|
|
15
|
+
return fail(name, 'a 2-letter lowercase country code such as "de"');
|
|
16
|
+
}
|
|
17
|
+
return value;
|
|
18
|
+
};
|
|
19
|
+
const requireTimeZone = (value, name) => {
|
|
20
|
+
const timeZone = requireText(value, name);
|
|
21
|
+
try {
|
|
22
|
+
new Intl.DateTimeFormat("en-US", { timeZone });
|
|
23
|
+
}
|
|
24
|
+
catch {
|
|
25
|
+
return fail(name, 'a valid IANA time zone such as "Europe/Vienna"');
|
|
26
|
+
}
|
|
27
|
+
return timeZone;
|
|
28
|
+
};
|
|
29
|
+
const requireEmail = (value, name) => {
|
|
30
|
+
const email = requireText(value, name);
|
|
31
|
+
if (!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(email)) {
|
|
32
|
+
return fail(name, "a valid e-mail address");
|
|
33
|
+
}
|
|
34
|
+
return email;
|
|
35
|
+
};
|
|
36
|
+
const requireObject = (value, name) => {
|
|
37
|
+
if (typeof value !== "object" || value === null || Array.isArray(value)) {
|
|
38
|
+
return fail(name, "an object");
|
|
39
|
+
}
|
|
40
|
+
return value;
|
|
41
|
+
};
|
|
42
|
+
/**
|
|
43
|
+
* Throws a `TypeError` naming the first invalid option, so a misconfigured
|
|
44
|
+
* shop fails at boot.
|
|
45
|
+
*/
|
|
46
|
+
function assertFoodShopConfigOptions(options) {
|
|
47
|
+
const candidate = requireObject(options, "options");
|
|
48
|
+
const merchant = requireObject(candidate.merchant, "merchant");
|
|
49
|
+
requireText(merchant.legalName, "merchant.legalName");
|
|
50
|
+
requireCountryCode(merchant.countryCode, "merchant.countryCode");
|
|
51
|
+
if (merchant.vatNumber !== undefined) {
|
|
52
|
+
requireText(merchant.vatNumber, "merchant.vatNumber");
|
|
53
|
+
}
|
|
54
|
+
const address = requireObject(merchant.registeredAddress, "merchant.registeredAddress");
|
|
55
|
+
requireText(address.address1, "merchant.registeredAddress.address1");
|
|
56
|
+
if (address.address2 !== undefined) {
|
|
57
|
+
requireText(address.address2, "merchant.registeredAddress.address2");
|
|
58
|
+
}
|
|
59
|
+
requireText(address.city, "merchant.registeredAddress.city");
|
|
60
|
+
requireText(address.postalCode, "merchant.registeredAddress.postalCode");
|
|
61
|
+
requireCountryCode(address.countryCode, "merchant.registeredAddress.countryCode");
|
|
62
|
+
requireText(candidate.displayName, "displayName");
|
|
63
|
+
requireEmail(candidate.orderNotificationEmail, "orderNotificationEmail");
|
|
64
|
+
requireTimeZone(candidate.timeZone, "timeZone");
|
|
65
|
+
requireCountryCode(candidate.storefrontCountryCode, "storefrontCountryCode");
|
|
66
|
+
if (candidate.loadEnvFile !== undefined &&
|
|
67
|
+
typeof candidate.loadEnvFile !== "boolean") {
|
|
68
|
+
fail("loadEnvFile", "a boolean");
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zaG9wLWNvbmZpZy9vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBd0ZBLGtFQW9DQztBQXRGRCxNQUFNLElBQUksR0FBRyxDQUFDLElBQVksRUFBRSxXQUFtQixFQUFTLEVBQUU7SUFDeEQsTUFBTSxJQUFJLFNBQVMsQ0FBQyxxQkFBcUIsSUFBSSxhQUFhLFdBQVcsR0FBRyxDQUFDLENBQUM7QUFDNUUsQ0FBQyxDQUFDO0FBRUYsTUFBTSxXQUFXLEdBQUcsQ0FBQyxLQUFjLEVBQUUsSUFBWSxFQUFVLEVBQUU7SUFDM0QsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksS0FBSyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDO1FBQ3JELE9BQU8sSUFBSSxDQUFDLElBQUksRUFBRSxvQkFBb0IsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFDRCxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUMsQ0FBQztBQUVGLE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxLQUFjLEVBQUUsSUFBWSxFQUFVLEVBQUU7SUFDbEUsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDM0QsT0FBTyxJQUFJLENBQUMsSUFBSSxFQUFFLGdEQUFnRCxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUNELE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQyxDQUFDO0FBRUYsTUFBTSxlQUFlLEdBQUcsQ0FBQyxLQUFjLEVBQUUsSUFBWSxFQUFVLEVBQUU7SUFDL0QsTUFBTSxRQUFRLEdBQUcsV0FBVyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztJQUMxQyxJQUFJLENBQUM7UUFDSCxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFLEVBQUUsUUFBUSxFQUFFLENBQUMs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
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.config = void 0;
|
|
4
|
+
exports.default = affiliateConsignmentReminderDueSubscriber;
|
|
5
|
+
const public_1 = require("../public");
|
|
6
|
+
const affiliate_1 = require("@hartl-services/medusa-food-supplements-contracts/events/affiliate");
|
|
7
|
+
const plugin_features_1 = require("../email/plugin-features");
|
|
8
|
+
const prepare_affiliate_reminder_email_1 = require("../workflows/email/prepare-affiliate-reminder-email");
|
|
9
|
+
async function affiliateConsignmentReminderDueSubscriber({ event, container, }) {
|
|
10
|
+
try {
|
|
11
|
+
if (!(await (0, public_1.isPluginFeatureEnabled)(container, plugin_features_1.emailPluginFeatures, "affiliate_reminders"))) {
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
14
|
+
const payload = affiliate_1.AffiliateConsignmentReportReminderDueEventSchema.parse(event.data);
|
|
15
|
+
await (0, prepare_affiliate_reminder_email_1.prepareAffiliateReminderEmailWorkflow)(container).run({
|
|
16
|
+
input: payload,
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
catch {
|
|
20
|
+
throw new Error("EMAIL_AFFILIATE_REMINDER_SUBSCRIBER_FAILED");
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
exports.config = {
|
|
24
|
+
event: affiliate_1.AFFILIATE_CONSIGNMENT_REPORT_REMINDER_DUE_EVENT,
|
|
25
|
+
};
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWZmaWxpYXRlLWNvbnNpZ25tZW50LXJlbWluZGVyLWR1ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zdWJzY3JpYmVycy9hZmZpbGlhdGUtY29uc2lnbm1lbnQtcmVtaW5kZXItZHVlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQWFBLDREQXVCQztBQXBDRCxzQ0FBbUQ7QUFLbkQsa0dBRzRFO0FBRTVFLDhEQUErRDtBQUMvRCwwR0FBNEc7QUFFN0YsS0FBSyxVQUFVLHlDQUF5QyxDQUFDLEVBQ3RFLEtBQUssRUFDTCxTQUFTLEdBQ2U7SUFDeEIsSUFBSSxDQUFDO1FBQ0gsSUFDRSxDQUFDLENBQUMsTUFBTSxJQUFBLCtCQUFzQixFQUM1QixTQUFTLEVBQ1QscUNBQW1CLEVBQ25CLHFCQUFxQixDQUN0QixDQUFDLEVBQ0YsQ0FBQztZQUNELE9BQU87UUFDVCxDQUFDO1FBQ0QsTUFBTSxPQUFPLEdBQUcsNERBQWdELENBQUMsS0FBSyxDQUNwRSxLQUFLLENBQUMsSUFBSSxDQUNYLENBQUM7UUFDRixNQUFNLElBQUEsd0VBQXFDLEVBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxDQUFDO1lBQ3pELEtBQUssRUFBRSxPQUFPO1NBQ2YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUFDLE1BQU0sQ0FBQztRQUNQLE1BQU0sSUFBSSxLQUFLLENBQUMsNENBQTRDLENBQUMsQ0FBQztJQUNoRSxDQUFDO0FBQ0gsQ0FBQztBQUVZLFFBQUEsTUFBTSxHQUFxQjtJQUN0QyxLQUFLLEVBQUUsMkRBQStDO0NBQ3ZELENBQUMifQ==
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.config = void 0;
|
|
4
|
+
exports.default = orderCanceledSubscriber;
|
|
5
|
+
const public_1 = require("../public");
|
|
6
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
7
|
+
const zod_1 = require("@medusajs/framework/zod");
|
|
8
|
+
const plugin_features_1 = require("../documents/plugin-features");
|
|
9
|
+
const reconcile_order_cancellation_1 = require("../workflows/documents/reconcile-order-cancellation");
|
|
10
|
+
const OrderCanceledEventSchema = zod_1.z.object({ id: zod_1.z.string().min(1) }).strict();
|
|
11
|
+
async function orderCanceledSubscriber({ event, container, }) {
|
|
12
|
+
if (!(await (0, public_1.isPluginFeatureEnabled)(container, plugin_features_1.documentsPluginFeatures, "invoices"))) {
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
const { id } = OrderCanceledEventSchema.parse(event.data);
|
|
16
|
+
await (0, reconcile_order_cancellation_1.reconcileOrderCancellationWorkflow)(container).run({
|
|
17
|
+
input: { order_id: id },
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
exports.config = {
|
|
21
|
+
context: { subscriberId: "documents-order-canceled-subscriber" },
|
|
22
|
+
event: utils_1.OrderWorkflowEvents.CANCELED,
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnRzLW9yZGVyLWNhbmNlbGVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3N1YnNjcmliZXJzL2RvY3VtZW50cy1vcmRlci1jYW5jZWxlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFhQSwwQ0FrQkM7QUEvQkQsc0NBQWtEO0FBS2xELHFEQUErRDtBQUMvRCxpREFBMkM7QUFFM0Msa0VBQXNFO0FBQ3RFLHNHQUF3RztBQUV4RyxNQUFNLHdCQUF3QixHQUFHLE9BQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUE7QUFFOUQsS0FBSyxVQUFVLHVCQUF1QixDQUFDLEVBQ3BELEtBQUssRUFDTCxTQUFTLEdBQ2U7SUFDeEIsSUFDRSxDQUFDLENBQUMsTUFBTSxJQUFBLCtCQUFzQixFQUM1QixTQUFTLEVBQ1QseUNBQXVCLEVBQ3ZCLFVBQVUsQ0FDWCxDQUFDLEVBQ0YsQ0FBQztRQUNELE9BQU07SUFDUixDQUFDO0lBRUQsTUFBTSxFQUFFLEVBQUUsRUFBRSxHQUFHLHdCQUF3QixDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDekQsTUFBTSxJQUFBLGlFQUFrQyxFQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztRQUN0RCxLQUFLLEVBQUUsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFO0tBQ3hCLENBQUMsQ0FBQTtBQUNKLENBQUM7QUFFWSxRQUFBLE1BQU0sR0FBcUI7SUFDdEMsT0FBTyxFQUFFLEVBQUUsWUFBWSxFQUFFLHFDQUFxQyxFQUFFO0lBQ2hFLEtBQUssRUFBRSwyQkFBbUIsQ0FBQyxRQUFRO0NBQ3BDLENBQUEifQ==
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.config = void 0;
|
|
4
|
+
exports.default = documentsOrderCancellationReadySubscriber;
|
|
5
|
+
const public_1 = require("../public");
|
|
6
|
+
const documents_1 = require("@hartl-services/medusa-food-supplements-contracts/events/documents");
|
|
7
|
+
const plugin_features_1 = require("../email/plugin-features");
|
|
8
|
+
const prepare_order_canceled_email_1 = require("../workflows/email/prepare-order-canceled-email");
|
|
9
|
+
async function documentsOrderCancellationReadySubscriber({ event, container, }) {
|
|
10
|
+
try {
|
|
11
|
+
if (!(await (0, public_1.isPluginFeatureEnabled)(container, plugin_features_1.emailPluginFeatures, "order_mails"))) {
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
14
|
+
const payload = documents_1.DocumentsOrderCancellationDocumentsReadyEventSchema.parse(event.data);
|
|
15
|
+
await (0, prepare_order_canceled_email_1.prepareOrderCanceledEmailWorkflow)(container).run({
|
|
16
|
+
input: { ...payload, source: "documents" },
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
catch {
|
|
20
|
+
throw new Error("EMAIL_DOCUMENTS_CANCELLATION_SUBSCRIBER_FAILED");
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
exports.config = {
|
|
24
|
+
event: documents_1.DOCUMENTS_ORDER_CANCELLATION_DOCUMENTS_READY_EVENT,
|
|
25
|
+
};
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnRzLW9yZGVyLWNhbmNlbGxhdGlvbi1yZWFkeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zdWJzY3JpYmVycy9kb2N1bWVudHMtb3JkZXItY2FuY2VsbGF0aW9uLXJlYWR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQWFBLDREQXVCQztBQXBDRCxzQ0FBbUQ7QUFLbkQsa0dBRzRFO0FBRTVFLDhEQUErRDtBQUMvRCxrR0FBb0c7QUFFckYsS0FBSyxVQUFVLHlDQUF5QyxDQUFDLEVBQ3RFLEtBQUssRUFDTCxTQUFTLEdBQ2U7SUFDeEIsSUFBSSxDQUFDO1FBQ0gsSUFDRSxDQUFDLENBQUMsTUFBTSxJQUFBLCtCQUFzQixFQUM1QixTQUFTLEVBQ1QscUNBQW1CLEVBQ25CLGFBQWEsQ0FDZCxDQUFDLEVBQ0YsQ0FBQztZQUNELE9BQU87UUFDVCxDQUFDO1FBQ0QsTUFBTSxPQUFPLEdBQUcsK0RBQW1ELENBQUMsS0FBSyxDQUN2RSxLQUFLLENBQUMsSUFBSSxDQUNYLENBQUM7UUFDRixNQUFNLElBQUEsZ0VBQWlDLEVBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxDQUFDO1lBQ3JELEtBQUssRUFBRSxFQUFFLEdBQUcsT0FBTyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUU7U0FDM0MsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUFDLE1BQU0sQ0FBQztRQUNQLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0RBQWdELENBQUMsQ0FBQztJQUNwRSxDQUFDO0FBQ0gsQ0FBQztBQUVZLFFBQUEsTUFBTSxHQUFxQjtJQUN0QyxLQUFLLEVBQUUsOERBQWtEO0NBQzFELENBQUMifQ==
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.config = void 0;
|
|
4
|
+
exports.default = documentsRefundReadySubscriber;
|
|
5
|
+
const public_1 = require("../public");
|
|
6
|
+
const documents_1 = require("@hartl-services/medusa-food-supplements-contracts/events/documents");
|
|
7
|
+
const plugin_features_1 = require("../email/plugin-features");
|
|
8
|
+
const prepare_refund_email_1 = require("../workflows/email/prepare-refund-email");
|
|
9
|
+
async function documentsRefundReadySubscriber({ event, container, }) {
|
|
10
|
+
try {
|
|
11
|
+
if (!(await (0, public_1.isPluginFeatureEnabled)(container, plugin_features_1.emailPluginFeatures, "order_mails"))) {
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
14
|
+
const payload = documents_1.DocumentsRefundDocumentReadyEventSchema.parse(event.data);
|
|
15
|
+
await (0, prepare_refund_email_1.prepareRefundEmailWorkflow)(container).run({ input: payload });
|
|
16
|
+
}
|
|
17
|
+
catch {
|
|
18
|
+
throw new Error("EMAIL_DOCUMENTS_REFUND_SUBSCRIBER_FAILED");
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
exports.config = {
|
|
22
|
+
event: documents_1.DOCUMENTS_REFUND_DOCUMENT_READY_EVENT,
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnRzLXJlZnVuZC1yZWFkeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zdWJzY3JpYmVycy9kb2N1bWVudHMtcmVmdW5kLXJlYWR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQWFBLGlEQW1CQztBQWhDRCxzQ0FBbUQ7QUFLbkQsa0dBRzRFO0FBRTVFLDhEQUErRDtBQUMvRCxrRkFBcUY7QUFFdEUsS0FBSyxVQUFVLDhCQUE4QixDQUFDLEVBQzNELEtBQUssRUFDTCxTQUFTLEdBQ2U7SUFDeEIsSUFBSSxDQUFDO1FBQ0gsSUFDRSxDQUFDLENBQUMsTUFBTSxJQUFBLCtCQUFzQixFQUM1QixTQUFTLEVBQ1QscUNBQW1CLEVBQ25CLGFBQWEsQ0FDZCxDQUFDLEVBQ0YsQ0FBQztZQUNELE9BQU87UUFDVCxDQUFDO1FBQ0QsTUFBTSxPQUFPLEdBQUcsbURBQXVDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxRSxNQUFNLElBQUEsaURBQTBCLEVBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUFDLE1BQU0sQ0FBQztRQUNQLE1BQU0sSUFBSSxLQUFLLENBQUMsMENBQTBDLENBQUMsQ0FBQztJQUM5RCxDQUFDO0FBQ0gsQ0FBQztBQUVZLFFBQUEsTUFBTSxHQUFxQjtJQUN0QyxLQUFLLEVBQUUsaURBQXFDO0NBQzdDLENBQUMifQ==
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.config = void 0;
|
|
4
|
+
exports.default = shipmentCreatedSubscriber;
|
|
5
|
+
const public_1 = require("../public");
|
|
6
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
7
|
+
const zod_1 = require("@medusajs/framework/zod");
|
|
8
|
+
const plugin_features_1 = require("../documents/plugin-features");
|
|
9
|
+
const issue_invoice_after_shipment_1 = require("../workflows/documents/issue-invoice-after-shipment");
|
|
10
|
+
const ShipmentCreatedEventSchema = zod_1.z
|
|
11
|
+
.object({
|
|
12
|
+
id: zod_1.z.string().trim().min(1),
|
|
13
|
+
no_notification: zod_1.z.boolean().optional(),
|
|
14
|
+
})
|
|
15
|
+
.strict();
|
|
16
|
+
async function shipmentCreatedSubscriber({ event, container, }) {
|
|
17
|
+
if (!(await (0, public_1.isPluginFeatureEnabled)(container, plugin_features_1.documentsPluginFeatures, "invoices"))) {
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
const { id: fulfillmentId } = ShipmentCreatedEventSchema.parse(event.data);
|
|
21
|
+
try {
|
|
22
|
+
await (0, issue_invoice_after_shipment_1.issueInvoiceAfterShipmentWorkflow)(container).run({
|
|
23
|
+
input: { fulfillment_id: fulfillmentId },
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
catch (error) {
|
|
27
|
+
const logger = container.resolve(utils_1.ContainerRegistrationKeys.LOGGER);
|
|
28
|
+
logger.error(`documents: shipment invoice decision failed for fulfillment ${fulfillmentId} (workflow "documents-issue-invoice-after-shipment")`, error instanceof Error ? error : new Error(String(error)));
|
|
29
|
+
throw error;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
exports.config = {
|
|
33
|
+
context: { subscriberId: "documents-shipment-created-subscriber" },
|
|
34
|
+
event: utils_1.FulfillmentWorkflowEvents.SHIPMENT_CREATED,
|
|
35
|
+
};
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnRzLXNoaXBtZW50LWNyZWF0ZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc3Vic2NyaWJlcnMvZG9jdW1lbnRzLXNoaXBtZW50LWNyZWF0ZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBc0JBLDRDQTRCQztBQWxERCxzQ0FBa0Q7QUFNbEQscURBR2tDO0FBQ2xDLGlEQUEyQztBQUUzQyxrRUFBc0U7QUFDdEUsc0dBQXVHO0FBRXZHLE1BQU0sMEJBQTBCLEdBQUcsT0FBQztLQUNqQyxNQUFNLENBQUM7SUFDTixFQUFFLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDNUIsZUFBZSxFQUFFLE9BQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUU7Q0FDeEMsQ0FBQztLQUNELE1BQU0sRUFBRSxDQUFBO0FBRUksS0FBSyxVQUFVLHlCQUF5QixDQUFDLEVBQ3RELEtBQUssRUFDTCxTQUFTLEdBQ2U7SUFDeEIsSUFDRSxDQUFDLENBQUMsTUFBTSxJQUFBLCtCQUFzQixFQUM1QixTQUFTLEVBQ1QseUNBQXVCLEVBQ3ZCLFVBQVUsQ0FDWCxDQUFDLEVBQ0YsQ0FBQztRQUNELE9BQU07SUFDUixDQUFDO0lBRUQsTUFBTSxFQUFFLEVBQUUsRUFBRSxhQUFhLEVBQUUsR0FBRywwQkFBMEIsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFBO0lBRTFFLElBQUksQ0FBQztRQUNILE1BQU0sSUFBQSxnRUFBaUMsRUFBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLENBQUM7WUFDckQsS0FBSyxFQUFFLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBRTtTQUN6QyxDQUFDLENBQUE7SUFDSixDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNmLE1BQU0sTUFBTSxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQVMsaUNBQXlCLENBQUMsTUFBTSxDQUFDLENBQUE7UUFDMUUsTUFBTSxDQUFDLEtBQUssQ0FDViwrREFBK0QsYUFBYSxzREFBc0QsRUFDbEksS0FBSyxZQUFZLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FDMUQsQ0FBQTtRQUNELE1BQU0sS0FBSyxDQUFBO0lBQ2IsQ0FBQztBQUNILENBQUM7QUFFWSxRQUFBLE1BQU0sR0FBcUI7SUFDdEMsT0FBTyxFQUFFLEVBQUUsWUFBWSxFQUFFLHVDQUF1QyxFQUFFO0lBQ2xFLEtBQUssRUFBRSxpQ0FBeUIsQ0FBQyxnQkFBZ0I7Q0FDbEQsQ0FBQSJ9
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.config = void 0;
|
|
4
|
+
exports.default = documentsShipmentAssignmentSubscriber;
|
|
5
|
+
const public_1 = require("../public");
|
|
6
|
+
const documents_1 = require("@hartl-services/medusa-food-supplements-contracts/events/documents");
|
|
7
|
+
const plugin_features_1 = require("../email/plugin-features");
|
|
8
|
+
const prepare_shipment_email_1 = require("../workflows/email/prepare-shipment-email");
|
|
9
|
+
async function documentsShipmentAssignmentSubscriber({ event, container, }) {
|
|
10
|
+
try {
|
|
11
|
+
if (!(await (0, public_1.isPluginFeatureEnabled)(container, plugin_features_1.emailPluginFeatures, "order_mails"))) {
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
14
|
+
const payload = documents_1.DocumentsShipmentInvoiceAssignmentDecidedEventSchema.parse(event.data);
|
|
15
|
+
await (0, prepare_shipment_email_1.prepareShipmentEmailWorkflow)(container).run({
|
|
16
|
+
input: { ...payload, source: "documents" },
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
catch {
|
|
20
|
+
throw new Error("EMAIL_DOCUMENTS_SHIPMENT_ASSIGNMENT_SUBSCRIBER_FAILED");
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
exports.config = {
|
|
24
|
+
event: documents_1.DOCUMENTS_SHIPMENT_INVOICE_ASSIGNMENT_DECIDED_EVENT,
|
|
25
|
+
};
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnRzLXNoaXBtZW50LWludm9pY2UtYXNzaWdubWVudC1kZWNpZGVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3N1YnNjcmliZXJzL2RvY3VtZW50cy1zaGlwbWVudC1pbnZvaWNlLWFzc2lnbm1lbnQtZGVjaWRlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFhQSx3REF1QkM7QUFwQ0Qsc0NBQW1EO0FBS25ELGtHQUc0RTtBQUU1RSw4REFBK0Q7QUFDL0Qsc0ZBQXlGO0FBRTFFLEtBQUssVUFBVSxxQ0FBcUMsQ0FBQyxFQUNsRSxLQUFLLEVBQ0wsU0FBUyxHQUNlO0lBQ3hCLElBQUksQ0FBQztRQUNILElBQ0UsQ0FBQyxDQUFDLE1BQU0sSUFBQSwrQkFBc0IsRUFDNUIsU0FBUyxFQUNULHFDQUFtQixFQUNuQixhQUFhLENBQ2QsQ0FBQyxFQUNGLENBQUM7WUFDRCxPQUFPO1FBQ1QsQ0FBQztRQUNELE1BQU0sT0FBTyxHQUFHLGdFQUFvRCxDQUFDLEtBQUssQ0FDeEUsS0FBSyxDQUFDLElBQUksQ0FDWCxDQUFDO1FBQ0YsTUFBTSxJQUFBLHFEQUE0QixFQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztZQUNoRCxLQUFLLEVBQUUsRUFBRSxHQUFHLE9BQU8sRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFO1NBQzNDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFBQyxNQUFNLENBQUM7UUFDUCxNQUFNLElBQUksS0FBSyxDQUFDLHVEQUF1RCxDQUFDLENBQUM7SUFDM0UsQ0FBQztBQUNILENBQUM7QUFFWSxRQUFBLE1BQU0sR0FBcUI7SUFDdEMsS0FBSyxFQUFFLCtEQUFtRDtDQUMzRCxDQUFDIn0=
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.config = void 0;
|
|
4
|
+
exports.default = orderCanceledSubscriber;
|
|
5
|
+
const public_1 = require("../public");
|
|
6
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
7
|
+
const plugin_features_1 = require("../email/plugin-features");
|
|
8
|
+
const event_schemas_1 = require("../email/domain/event-schemas");
|
|
9
|
+
const prepare_order_canceled_email_1 = require("../workflows/email/prepare-order-canceled-email");
|
|
10
|
+
async function orderCanceledSubscriber({ event, container, }) {
|
|
11
|
+
try {
|
|
12
|
+
if (!(await (0, public_1.isPluginFeatureEnabled)(container, plugin_features_1.emailPluginFeatures, "order_mails"))) {
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
const payload = event_schemas_1.NativeOrderEventSchema.parse(event.data);
|
|
16
|
+
await (0, prepare_order_canceled_email_1.prepareOrderCanceledEmailWorkflow)(container).run({
|
|
17
|
+
input: { order_id: payload.id, source: "cancellation" },
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
catch {
|
|
21
|
+
throw new Error("EMAIL_ORDER_CANCELED_SUBSCRIBER_FAILED");
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
exports.config = {
|
|
25
|
+
context: { subscriberId: "email-order-canceled-subscriber" },
|
|
26
|
+
event: utils_1.OrderWorkflowEvents.CANCELED,
|
|
27
|
+
};
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1haWwtb3JkZXItY2FuY2VsZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc3Vic2NyaWJlcnMvZW1haWwtb3JkZXItY2FuY2VsZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBV0EsMENBcUJDO0FBaENELHNDQUFtRDtBQUtuRCxxREFBZ0U7QUFFaEUsOERBQStEO0FBQy9ELGlFQUF1RTtBQUN2RSxrR0FBb0c7QUFFckYsS0FBSyxVQUFVLHVCQUF1QixDQUFDLEVBQ3BELEtBQUssRUFDTCxTQUFTLEdBQ2U7SUFDeEIsSUFBSSxDQUFDO1FBQ0gsSUFDRSxDQUFDLENBQUMsTUFBTSxJQUFBLCtCQUFzQixFQUM1QixTQUFTLEVBQ1QscUNBQW1CLEVBQ25CLGFBQWEsQ0FDZCxDQUFDLEVBQ0YsQ0FBQztZQUNELE9BQU87UUFDVCxDQUFDO1FBQ0QsTUFBTSxPQUFPLEdBQUcsc0NBQXNCLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6RCxNQUFNLElBQUEsZ0VBQWlDLEVBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxDQUFDO1lBQ3JELEtBQUssRUFBRSxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUMsRUFBRSxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQUU7U0FDeEQsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUFDLE1BQU0sQ0FBQztRQUNQLE1BQU0sSUFBSSxLQUFLLENBQUMsd0NBQXdDLENBQUMsQ0FBQztJQUM1RCxDQUFDO0FBQ0gsQ0FBQztBQUVZLFFBQUEsTUFBTSxHQUFxQjtJQUN0QyxPQUFPLEVBQUUsRUFBRSxZQUFZLEVBQUUsaUNBQWlDLEVBQUU7SUFDNUQsS0FBSyxFQUFFLDJCQUFtQixDQUFDLFFBQVE7Q0FDcEMsQ0FBQyJ9
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.config = void 0;
|
|
4
|
+
exports.default = shipmentCreatedSubscriber;
|
|
5
|
+
const public_1 = require("../public");
|
|
6
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
7
|
+
const plugin_features_1 = require("../email/plugin-features");
|
|
8
|
+
const event_schemas_1 = require("../email/domain/event-schemas");
|
|
9
|
+
const prepare_shipment_email_1 = require("../workflows/email/prepare-shipment-email");
|
|
10
|
+
async function shipmentCreatedSubscriber({ event, container, }) {
|
|
11
|
+
try {
|
|
12
|
+
if (!(await (0, public_1.isPluginFeatureEnabled)(container, plugin_features_1.emailPluginFeatures, "order_mails"))) {
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
const payload = event_schemas_1.NativeShipmentCreatedEventSchema.parse(event.data);
|
|
16
|
+
await (0, prepare_shipment_email_1.prepareShipmentEmailWorkflow)(container).run({
|
|
17
|
+
input: {
|
|
18
|
+
fulfillment_id: payload.id,
|
|
19
|
+
no_notification: payload.no_notification === true,
|
|
20
|
+
source: "shipment",
|
|
21
|
+
},
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
catch {
|
|
25
|
+
throw new Error("EMAIL_SHIPMENT_CREATED_SUBSCRIBER_FAILED");
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
exports.config = {
|
|
29
|
+
context: { subscriberId: "email-shipment-created-subscriber" },
|
|
30
|
+
event: utils_1.FulfillmentWorkflowEvents.SHIPMENT_CREATED,
|
|
31
|
+
};
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1haWwtc2hpcG1lbnQtY3JlYXRlZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zdWJzY3JpYmVycy9lbWFpbC1zaGlwbWVudC1jcmVhdGVkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQVdBLDRDQXlCQztBQXBDRCxzQ0FBbUQ7QUFLbkQscURBQXNFO0FBRXRFLDhEQUErRDtBQUMvRCxpRUFBaUY7QUFDakYsc0ZBQXlGO0FBRTFFLEtBQUssVUFBVSx5QkFBeUIsQ0FBQyxFQUN0RCxLQUFLLEVBQ0wsU0FBUyxHQUNlO0lBQ3hCLElBQUksQ0FBQztRQUNILElBQ0UsQ0FBQyxDQUFDLE1BQU0sSUFBQSwrQkFBc0IsRUFDNUIsU0FBUyxFQUNULHFDQUFtQixFQUNuQixhQUFhLENBQ2QsQ0FBQyxFQUNGLENBQUM7WUFDRCxPQUFPO1FBQ1QsQ0FBQztRQUNELE1BQU0sT0FBTyxHQUFHLGdEQUFnQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbkUsTUFBTSxJQUFBLHFEQUE0QixFQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztZQUNoRCxLQUFLLEVBQUU7Z0JBQ0wsY0FBYyxFQUFFLE9BQU8sQ0FBQyxFQUFFO2dCQUMxQixlQUFlLEVBQUUsT0FBTyxDQUFDLGVBQWUsS0FBSyxJQUFJO2dCQUNqRCxNQUFNLEVBQUUsVUFBVTthQUNuQjtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7SUFBQyxNQUFNLENBQUM7UUFDUCxNQUFNLElBQUksS0FBSyxDQUFDLDBDQUEwQyxDQUFDLENBQUM7SUFDOUQsQ0FBQztBQUNILENBQUM7QUFFWSxRQUFBLE1BQU0sR0FBcUI7SUFDdEMsT0FBTyxFQUFFLEVBQUUsWUFBWSxFQUFFLG1DQUFtQyxFQUFFO0lBQzlELEtBQUssRUFBRSxpQ0FBeUIsQ0FBQyxnQkFBZ0I7Q0FDbEQsQ0FBQyJ9
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.config = void 0;
|
|
4
|
+
exports.default = orderPlacedSubscriber;
|
|
5
|
+
const public_1 = require("../public");
|
|
6
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
7
|
+
const plugin_features_1 = require("../email/plugin-features");
|
|
8
|
+
const event_schemas_1 = require("../email/domain/event-schemas");
|
|
9
|
+
const prepare_order_received_email_1 = require("../workflows/email/prepare-order-received-email");
|
|
10
|
+
async function orderPlacedSubscriber({ event, container, }) {
|
|
11
|
+
try {
|
|
12
|
+
if (!(await (0, public_1.isPluginFeatureEnabled)(container, plugin_features_1.emailPluginFeatures, "order_mails"))) {
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
const payload = event_schemas_1.NativeOrderEventSchema.parse(event.data);
|
|
16
|
+
await (0, prepare_order_received_email_1.prepareOrderReceivedEmailWorkflow)(container).run({
|
|
17
|
+
input: { order_id: payload.id },
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
catch {
|
|
21
|
+
throw new Error("EMAIL_ORDER_PLACED_SUBSCRIBER_FAILED");
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
exports.config = {
|
|
25
|
+
event: utils_1.OrderWorkflowEvents.PLACED,
|
|
26
|
+
};
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXItcGxhY2VkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3N1YnNjcmliZXJzL29yZGVyLXBsYWNlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFXQSx3Q0FxQkM7QUFoQ0Qsc0NBQW1EO0FBS25ELHFEQUFnRTtBQUVoRSw4REFBK0Q7QUFDL0QsaUVBQXVFO0FBQ3ZFLGtHQUFvRztBQUVyRixLQUFLLFVBQVUscUJBQXFCLENBQUMsRUFDbEQsS0FBSyxFQUNMLFNBQVMsR0FDZTtJQUN4QixJQUFJLENBQUM7UUFDSCxJQUNFLENBQUMsQ0FBQyxNQUFNLElBQUEsK0JBQXNCLEVBQzVCLFNBQVMsRUFDVCxxQ0FBbUIsRUFDbkIsYUFBYSxDQUNkLENBQUMsRUFDRixDQUFDO1lBQ0QsT0FBTztRQUNULENBQUM7UUFDRCxNQUFNLE9BQU8sR0FBRyxzQ0FBc0IsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pELE1BQU0sSUFBQSxnRUFBaUMsRUFBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLENBQUM7WUFDckQsS0FBSyxFQUFFLEVBQUUsUUFBUSxFQUFFLE9BQU8sQ0FBQyxFQUFFLEVBQUU7U0FDaEMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUFDLE1BQU0sQ0FBQztRQUNQLE1BQU0sSUFBSSxLQUFLLENBQUMsc0NBQXNDLENBQUMsQ0FBQztJQUMxRCxDQUFDO0FBQ0gsQ0FBQztBQUVZLFFBQUEsTUFBTSxHQUFxQjtJQUN0QyxLQUFLLEVBQUUsMkJBQW1CLENBQUMsTUFBTTtDQUNsQyxDQUFDIn0=
|