@hartl-services/medusa-base 2.7.0 → 2.9.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/admin-components/features/plugin-features/components/PluginSettingsForm.js +12 -9
- package/.medusa/server/src/admin/admin-components/features/plugin-features/hooks/usePluginFeatureEnabled.d.ts +5 -1
- package/.medusa/server/src/admin/admin-components/features/plugin-features/hooks/usePluginFeatures.d.ts +20 -4
- package/.medusa/server/src/admin/admin-components/features/plugin-features/hooks/usePluginSettingsForm.d.ts +5 -1
- package/.medusa/server/src/admin/admin-components/features/plugin-features/lib/plugin-features-admin-client.d.ts +20 -4
- package/.medusa/server/src/admin/admin-components/features/plugin-features/lib/plugin-view.d.ts +0 -5
- package/.medusa/server/src/admin/admin-components/features/plugin-features/lib/plugin-view.js +0 -5
- package/.medusa/server/src/admin/admin-components/features/plugin-features/lib/settings-layout.d.ts +4 -0
- package/.medusa/server/src/admin/admin-components/features/plugin-features/lib/settings-layout.js +4 -0
- package/.medusa/server/src/admin/admin-components/i18n/texts.d.ts +1 -2
- package/.medusa/server/src/admin/admin-components/i18n/texts.js +1 -2
- package/.medusa/server/src/admin/index.js +142 -87
- package/.medusa/server/src/admin/index.mjs +144 -89
- package/.medusa/server/src/api/admin/email/templates/[kind]/send-test/route.js +7 -1
- package/.medusa/server/src/customer-auth/plugin-features.js +10 -10
- package/.medusa/server/src/email/application/warn-credential-expiry.js +77 -0
- package/.medusa/server/src/email/config/index.js +8 -2
- package/.medusa/server/src/email/config/notification-module.js +28 -2
- package/.medusa/server/src/email/domain/business-keys.js +5 -2
- package/.medusa/server/src/email/domain/failure-classification.js +9 -1
- package/.medusa/server/src/email/plugin-features.js +123 -1
- package/.medusa/server/src/email/rendering/default-templates.js +16 -1
- package/.medusa/server/src/email/rendering/render-email.js +2 -1
- package/.medusa/server/src/email/types/email-kinds.js +2 -1
- package/.medusa/server/src/email/types/template-data.js +8 -1
- package/.medusa/server/src/jobs/email-credential-expiry.js +27 -0
- package/.medusa/server/src/modules/email/domain/message-state.js +3 -1
- package/.medusa/server/src/modules/email/migrations/Migration20261011120000.js +20 -0
- package/.medusa/server/src/modules/plugin-features/domain/plugin-settings.js +27 -6
- package/.medusa/server/src/modules/plugin-features/service.js +4 -3
- package/.medusa/server/src/providers/smtp/delivery-settings.js +75 -0
- package/.medusa/server/src/providers/smtp/graph-transport.js +150 -0
- package/.medusa/server/src/providers/smtp/service.js +105 -37
- package/.medusa/server/src/providers/smtp/types.js +7 -1
- package/.medusa/server/src/public/descriptor.js +24 -3
- package/.medusa/server/src/shared/lib/dates.js +8 -2
- package/.medusa/server/src/shop-config/build-food-shop-config.js +3 -5
- package/README.md +100 -65
- package/dist/customer-auth/plugin-features.js +9 -9
- package/dist/email/config/index.d.ts +6 -1
- package/dist/email/config/index.js +7 -1
- package/dist/email/config/notification-module.d.ts +25 -0
- package/dist/email/config/notification-module.js +27 -1
- package/dist/email/types/email-kinds.d.ts +2 -1
- package/dist/email/types/email-kinds.js +1 -0
- package/dist/email/types/template-data.d.ts +10 -0
- package/dist/email/types/template-data.js +7 -0
- package/dist/public/descriptor.js +23 -2
- package/dist/public/types.d.ts +14 -4
- package/dist/shared/lib/dates.d.ts +2 -0
- package/dist/shared/lib/dates.js +7 -1
- package/dist/shop-config/build-food-shop-config.d.ts +1 -1
- package/dist/shop-config/build-food-shop-config.js +2 -4
- package/package.json +2 -2
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.toStoredSettingValues = exports.missingSettingKeys = exports.isSealed = void 0;
|
|
3
|
+
exports.toStoredSettingValues = exports.missingSettingKeys = exports.hiddenSettingGroups = exports.isSealed = void 0;
|
|
4
4
|
exports.normalizeSettingValue = normalizeSettingValue;
|
|
5
5
|
exports.validateSettingsUpdate = validateSettingsUpdate;
|
|
6
6
|
exports.mergeStoredSettings = mergeStoredSettings;
|
|
@@ -35,6 +35,12 @@ function normalizeSettingValue(definition, value) {
|
|
|
35
35
|
? { ok: true, value: color }
|
|
36
36
|
: { ok: false, message: "muss eine Hex-Farbe wie #1a2b3c sein" };
|
|
37
37
|
}
|
|
38
|
+
case "date": {
|
|
39
|
+
const date = typeof value === "string" ? value.trim() : "";
|
|
40
|
+
return (0, lib_1.isCalendarDate)(date)
|
|
41
|
+
? { ok: true, value: date }
|
|
42
|
+
: { ok: false, message: "muss ein Datum wie 2026-12-31 sein" };
|
|
43
|
+
}
|
|
38
44
|
case "secret":
|
|
39
45
|
return typeof value === "string" && value.trim()
|
|
40
46
|
? { ok: true, value }
|
|
@@ -190,10 +196,25 @@ function resolveSettingValues(descriptor, stored, fallback, open) {
|
|
|
190
196
|
return { definition, source: "none" };
|
|
191
197
|
});
|
|
192
198
|
}
|
|
193
|
-
/**
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
199
|
+
/**
|
|
200
|
+
* Names of the groups whose `visible_when` does not hold for the resolved
|
|
201
|
+
* values; their settings do not apply.
|
|
202
|
+
*/
|
|
203
|
+
const hiddenSettingGroups = (descriptor, resolved) => new Set((descriptor.setting_groups ?? [])
|
|
204
|
+
.filter(({ visible_when: condition }) => condition !== undefined &&
|
|
205
|
+
resolved.find((setting) => setting.definition.key === condition.setting)
|
|
206
|
+
?.value !== condition.equals)
|
|
207
|
+
.map((group) => group.name));
|
|
208
|
+
exports.hiddenSettingGroups = hiddenSettingGroups;
|
|
209
|
+
/** Required settings without a value, outside hidden groups. */
|
|
210
|
+
const missingSettingKeys = (descriptor, resolved) => {
|
|
211
|
+
const hidden = (0, exports.hiddenSettingGroups)(descriptor, resolved);
|
|
212
|
+
return resolved
|
|
213
|
+
.filter((setting) => setting.definition.required === true &&
|
|
214
|
+
setting.source === "none" &&
|
|
215
|
+
!(setting.definition.group !== undefined && hidden.has(setting.definition.group)))
|
|
216
|
+
.map((setting) => setting.definition.key);
|
|
217
|
+
};
|
|
197
218
|
exports.missingSettingKeys = missingSettingKeys;
|
|
198
219
|
/** Reads a persisted `values` column defensively. */
|
|
199
220
|
const toStoredSettingValues = (raw) => {
|
|
@@ -212,4 +233,4 @@ const toStoredSettingValues = (raw) => {
|
|
|
212
233
|
return values;
|
|
213
234
|
};
|
|
214
235
|
exports.toStoredSettingValues = toStoredSettingValues;
|
|
215
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLXNldHRpbmdzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL21vZHVsZXMvcGx1Z2luLWZlYXR1cmVzL2RvbWFpbi9wbHVnaW4tc2V0dGluZ3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBb0NBLHNEQTZEQztBQVlELHdEQTRCQztBQWlCRCxrREFxREM7QUFRRCxvREF5Q0M7QUFoUUQscURBQXVEO0FBRXZELDZDQUErQztBQXlCeEMsTUFBTSxRQUFRLEdBQUcsQ0FBQyxLQUFjLEVBQStCLEVBQUUsQ0FDdEUsT0FBTyxLQUFLLEtBQUssUUFBUTtJQUN6QixLQUFLLEtBQUssSUFBSTtJQUNkLE9BQVEsS0FBMkIsQ0FBQyxHQUFHLEtBQUssUUFBUSxDQUFBO0FBSHpDLFFBQUEsUUFBUSxZQUdpQztBQUV0RDs7O0dBR0c7QUFDSCxTQUFnQixxQkFBcUIsQ0FDbkMsVUFBbUMsRUFDbkMsS0FBYztJQUVkLFFBQVEsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3hCLEtBQUssUUFBUSxDQUFDO1FBQ2QsS0FBSyxLQUFLLENBQUM7UUFDWCxLQUFLLE9BQU8sQ0FBQyxDQUFDLENBQUM7WUFDYixJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDO2dCQUMvQyxPQUFPLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsQ0FBQTtZQUNsRSxDQUFDO1lBQ0QsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFBO1lBQzVCLElBQUksVUFBVSxDQUFDLElBQUksS0FBSyxRQUFRLElBQUksQ0FBQyxJQUFBLGVBQVMsRUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO2dCQUN4RCxPQUFPLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsQ0FBQTtZQUM3RCxD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
|
|
236
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLXNldHRpbmdzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL21vZHVsZXMvcGx1Z2luLWZlYXR1cmVzL2RvbWFpbi9wbHVnaW4tc2V0dGluZ3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBb0NBLHNEQW1FQztBQVlELHdEQTRCQztBQWlCRCxrREFxREM7QUFRRCxvREF5Q0M7QUF0UUQscURBQXVEO0FBRXZELDZDQUErRDtBQXlCeEQsTUFBTSxRQUFRLEdBQUcsQ0FBQyxLQUFjLEVBQStCLEVBQUUsQ0FDdEUsT0FBTyxLQUFLLEtBQUssUUFBUTtJQUN6QixLQUFLLEtBQUssSUFBSTtJQUNkLE9BQVEsS0FBMkIsQ0FBQyxHQUFHLEtBQUssUUFBUSxDQUFBO0FBSHpDLFFBQUEsUUFBUSxZQUdpQztBQUV0RDs7O0dBR0c7QUFDSCxTQUFnQixxQkFBcUIsQ0FDbkMsVUFBbUMsRUFDbkMsS0FBYztJQUVkLFFBQVEsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3hCLEtBQUssUUFBUSxDQUFDO1FBQ2QsS0FBSyxLQUFLLENBQUM7UUFDWCxLQUFLLE9BQU8sQ0FBQyxDQUFDLENBQUM7WUFDYixJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDO2dCQUMvQyxPQUFPLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsQ0FBQTtZQUNsRSxDQUFDO1lBQ0QsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFBO1lBQzVCLElBQUksVUFBVSxDQUFDLElBQUksS0FBSyxRQUFRLElBQUksQ0FBQyxJQUFBLGVBQVMsRUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO2dCQUN4RCxPQUFPLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsQ0FBQTtZQUM3RCxD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
|
|
@@ -102,7 +102,7 @@ const describeSetting = (setting) => {
|
|
|
102
102
|
}
|
|
103
103
|
};
|
|
104
104
|
const describeSettings = (descriptor, resolved, version) => {
|
|
105
|
-
const missing = (0, plugin_settings_1.missingSettingKeys)(resolved);
|
|
105
|
+
const missing = (0, plugin_settings_1.missingSettingKeys)(descriptor, resolved);
|
|
106
106
|
return {
|
|
107
107
|
plugin_key: descriptor.plugin_key,
|
|
108
108
|
version,
|
|
@@ -155,6 +155,7 @@ const describe = (descriptor, stored, settings) => {
|
|
|
155
155
|
description: group.description ?? null,
|
|
156
156
|
note: group.note ?? null,
|
|
157
157
|
requires_feature: group.requires_feature ?? null,
|
|
158
|
+
visible_when: group.visible_when ?? null,
|
|
158
159
|
})),
|
|
159
160
|
};
|
|
160
161
|
};
|
|
@@ -277,7 +278,7 @@ class PluginFeaturesModuleService extends (0, utils_1.MedusaService)({
|
|
|
277
278
|
values[setting.definition.key] = setting.value;
|
|
278
279
|
}
|
|
279
280
|
}
|
|
280
|
-
const missing = (0, plugin_settings_1.missingSettingKeys)(resolved);
|
|
281
|
+
const missing = (0, plugin_settings_1.missingSettingKeys)(descriptor, resolved);
|
|
281
282
|
return { values, configured: missing.length === 0, missing };
|
|
282
283
|
}
|
|
283
284
|
/**
|
|
@@ -582,4 +583,4 @@ __decorate([
|
|
|
582
583
|
__metadata("design:returntype", Promise)
|
|
583
584
|
], PluginFeaturesModuleService.prototype, "listRecentPluginActionRuns", null);
|
|
584
585
|
exports.default = PluginFeaturesModuleService;
|
|
585
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9tb2R1bGVzL3BsdWdpbi1mZWF0dXJlcy9zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBTUEscURBT2tDO0FBRWxDLHdFQUt3QztBQUN4QyxvRUFBd0U7QUFVeEUsOERBUWlDO0FBRWpDLG9FQU9vQztBQUNwQyxvREFBMkU7QUFDM0UsbUZBQXdEO0FBQ3hELHlGQUE4RDtBQUM5RCx5RkFBOEQ7QUFnRTlELDBFQUEwRTtBQUMxRSxNQUFNLGtCQUFrQixHQUFHLENBQ3pCLE9BQXNDLEVBQ2xCLEVBQUU7SUFDdEIsTUFBTSxLQUFLLEdBQVksT0FBTyxFQUFFLGNBQWMsQ0FBQTtJQUM5QyxJQUFJLEtBQUssS0FBSyxTQUFTLElBQUksS0FBSyxLQUFLLElBQUksSUFBSSxLQUFLLEtBQUssRUFBRSxFQUFFLENBQUM7UUFDMUQsT0FBTyxTQUFTLENBQUE7SUFDbEIsQ0FBQztJQUNELElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDOUIsTUFBTSxJQUFJLG1CQUFXLENBQ25CLG1CQUFXLENBQUMsS0FBSyxDQUFDLFlBQVksRUFDOUIsa0VBQWtFLENBQ25FLENBQUE7SUFDSCxDQUFDO0lBQ0QsT0FBTyxLQUFLLENBQUE7QUFDZCxDQUFDLENBQUE7QUFFRCx5RUFBeUU7QUFDekUsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLEdBQUcsRUFBVSxDQUFBO0FBRS9DLE1BQU0sUUFBUSxHQUFHLENBQ2YsR0FBMkIsRUFDaUIsRUFBRTtJQUM5QyxNQUFNLFFBQVEsR0FBNEIsRUFBRSxDQUFBO0lBQzVDLElBQUksR0FBRyxDQUFDLFFBQVEsSUFBSSxPQUFPLEdBQUcsQ0FBQyxRQUFRLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDckQsS0FBSyxNQUFNLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxJQUFJLE1BQU0sQ0FB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
|
|
586
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9tb2R1bGVzL3BsdWdpbi1mZWF0dXJlcy9zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBTUEscURBT2tDO0FBRWxDLHdFQUt3QztBQUN4QyxvRUFBd0U7QUFVeEUsOERBUWlDO0FBRWpDLG9FQU9vQztBQUNwQyxvREFBMkU7QUFDM0UsbUZBQXdEO0FBQ3hELHlGQUE4RDtBQUM5RCx5RkFBOEQ7QUFnRTlELDBFQUEwRTtBQUMxRSxNQUFNLGtCQUFrQixHQUFHLENBQ3pCLE9BQXNDLEVBQ2xCLEVBQUU7SUFDdEIsTUFBTSxLQUFLLEdBQVksT0FBTyxFQUFFLGNBQWMsQ0FBQTtJQUM5QyxJQUFJLEtBQUssS0FBSyxTQUFTLElBQUksS0FBSyxLQUFLLElBQUksSUFBSSxLQUFLLEtBQUssRUFBRSxFQUFFLENBQUM7UUFDMUQsT0FBTyxTQUFTLENBQUE7SUFDbEIsQ0FBQztJQUNELElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDOUIsTUFBTSxJQUFJLG1CQUFXLENBQ25CLG1CQUFXLENBQUMsS0FBSyxDQUFDLFlBQVksRUFDOUIsa0VBQWtFLENBQ25FLENBQUE7SUFDSCxDQUFDO0lBQ0QsT0FBTyxLQUFLLENBQUE7QUFDZCxDQUFDLENBQUE7QUFFRCx5RUFBeUU7QUFDekUsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLEdBQUcsRUFBVSxDQUFBO0FBRS9DLE1BQU0sUUFBUSxHQUFHLENBQ2YsR0FBMkIsRUFDaUIsRUFBRTtJQUM5QyxNQUFNLFFBQVEsR0FBNEIsRUFBRSxDQUFBO0lBQzVDLElBQUksR0FBRyxDQUFDLFFBQVEsSUFBSSxPQUFPLEdBQUcsQ0FBQyxRQUFRLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDckQsS0FBSyxNQUFNLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxJQUFJLE1BQU0sQ0FB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
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.smtpSettingsFallback = exports.toDeliverySettings = void 0;
|
|
4
|
+
const sender_1 = require("../../email/domain/sender");
|
|
5
|
+
const text = (values, key) => {
|
|
6
|
+
const value = values[key];
|
|
7
|
+
return typeof value === "string" ? value.trim() : "";
|
|
8
|
+
};
|
|
9
|
+
const notConfigured = (reason) => ({
|
|
10
|
+
kind: "not_configured",
|
|
11
|
+
reason,
|
|
12
|
+
});
|
|
13
|
+
/**
|
|
14
|
+
* Turns the resolved settings into a transport configuration. `allowInsecure`
|
|
15
|
+
* (development and tests) permits SMTP without encryption.
|
|
16
|
+
*/
|
|
17
|
+
const toDeliverySettings = ({ configured, missing, values }, allowInsecure) => {
|
|
18
|
+
if (!configured) {
|
|
19
|
+
return notConfigured(`missing ${missing.join(", ")}`);
|
|
20
|
+
}
|
|
21
|
+
if (values.provider === "microsoft365") {
|
|
22
|
+
const mailbox = (0, sender_1.parseEmailSender)(text(values, "microsoft_mailbox"));
|
|
23
|
+
if (!mailbox || mailbox.name) {
|
|
24
|
+
return notConfigured("microsoft_mailbox is no e-mail address");
|
|
25
|
+
}
|
|
26
|
+
return {
|
|
27
|
+
kind: "microsoft365",
|
|
28
|
+
graph: {
|
|
29
|
+
clientId: text(values, "microsoft_client_id"),
|
|
30
|
+
clientSecret: String(values.microsoft_client_secret),
|
|
31
|
+
mailbox: mailbox.address,
|
|
32
|
+
tenantId: text(values, "microsoft_tenant_id"),
|
|
33
|
+
},
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
const sender = (0, sender_1.parseEmailSender)(text(values, "smtp_from"));
|
|
37
|
+
if (!sender) {
|
|
38
|
+
return notConfigured("smtp_from is no sender address");
|
|
39
|
+
}
|
|
40
|
+
const security = values.smtp_security;
|
|
41
|
+
if (security === "none" && !allowInsecure) {
|
|
42
|
+
return notConfigured("unencrypted SMTP is only allowed locally");
|
|
43
|
+
}
|
|
44
|
+
const user = text(values, "smtp_user");
|
|
45
|
+
const password = typeof values.smtp_password === "string" ? values.smtp_password : "";
|
|
46
|
+
return {
|
|
47
|
+
kind: "smtp",
|
|
48
|
+
smtp: {
|
|
49
|
+
from: (0, sender_1.formatEmailSender)(sender),
|
|
50
|
+
host: text(values, "smtp_host"),
|
|
51
|
+
password,
|
|
52
|
+
port: Number(values.smtp_port),
|
|
53
|
+
requireTls: security === "starttls",
|
|
54
|
+
secure: security === "tls",
|
|
55
|
+
user,
|
|
56
|
+
},
|
|
57
|
+
};
|
|
58
|
+
};
|
|
59
|
+
exports.toDeliverySettings = toDeliverySettings;
|
|
60
|
+
/**
|
|
61
|
+
* Settings fallback from a deprecated `smtp` provider option (a shop that
|
|
62
|
+
* still resolves its SMTP values in medusa-config): used for keys not stored
|
|
63
|
+
* in the Admin.
|
|
64
|
+
*/
|
|
65
|
+
const smtpSettingsFallback = (smtp) => smtp && {
|
|
66
|
+
provider: "smtp",
|
|
67
|
+
smtp_from: smtp.from,
|
|
68
|
+
smtp_host: smtp.host,
|
|
69
|
+
smtp_password: smtp.password,
|
|
70
|
+
smtp_port: smtp.port,
|
|
71
|
+
smtp_security: smtp.secure ? "tls" : smtp.requireTls ? "starttls" : "none",
|
|
72
|
+
smtp_user: smtp.user,
|
|
73
|
+
};
|
|
74
|
+
exports.smtpSettingsFallback = smtpSettingsFallback;
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsaXZlcnktc2V0dGluZ3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvcHJvdmlkZXJzL3NtdHAvZGVsaXZlcnktc2V0dGluZ3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsc0RBQWdGO0FBb0JoRixNQUFNLElBQUksR0FBRyxDQUFDLE1BQWMsRUFBRSxHQUFvQixFQUFVLEVBQUU7SUFDNUQsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzFCLE9BQU8sT0FBTyxLQUFLLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUN2RCxDQUFDLENBQUM7QUFFRixNQUFNLGFBQWEsR0FBRyxDQUFDLE1BQWMsRUFBb0IsRUFBRSxDQUFDLENBQUM7SUFDM0QsSUFBSSxFQUFFLGdCQUFnQjtJQUN0QixNQUFNO0NBQ1AsQ0FBQyxDQUFDO0FBRUg7OztHQUdHO0FBQ0ksTUFBTSxrQkFBa0IsR0FBRyxDQUNoQyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUEyQyxFQUN4RSxhQUFzQixFQUNKLEVBQUU7SUFDcEIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ2hCLE9BQU8sYUFBYSxDQUFDLFdBQVcsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELElBQUksTUFBTSxDQUFDLFFBQVEsS0FBSyxjQUFjLEVBQUUsQ0FBQztRQUN2QyxNQUFNLE9BQU8sR0FBRyxJQUFBLHlCQUFnQixFQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsbUJBQW1CLENBQUMsQ0FBQyxDQUFDO1FBQ3BFLElBQUksQ0FBQyxPQUFPLElBQUksT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQzdCLE9BQU8sYUFBYSxDQUFDLHdDQUF3QyxDQUFDLENBQUM7UUFDakUsQ0FBQztRQUNELE9BQU87WUFDTCxJQUFJLEVBQUUsY0FBYztZQUNwQixLQUFLLEVBQUU7Z0JBQ0wsUUFBUSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUscUJBQXFCLENBQUM7Z0JBQzdDLFlBQVksRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLHVCQUF1QixDQUFDO2dCQUNwRCxPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU87Z0JBQ3hCLFFBQVEsRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLHFCQUFxQixDQUFDO2FBQzlDO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNLE1BQU0sR0FBRyxJQUFBLHlCQUFnQixFQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUMzRCxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDWixPQUFPLGFBQWEsQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFDRCxNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDO0lBQ3RDLElBQUksUUFBUSxLQUFLLE1BQU0sSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzFDLE9BQU8sYUFBYSxDQUFDLDBDQUEwQyxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUNELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDdkMsTUFBTSxRQUFRLEdBQ1osT0FBTyxNQUFNLENBQUMsYUFBYSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ3ZFLE9BQU87UUFDTCxJQUFJLEVBQUUsTUFBTTtRQUNaLElBQUksRUFBRTtZQUNKLElBQUksRUFBRSxJQUFBLDBCQUFpQixFQUFDLE1BQU0sQ0FBQztZQUMvQixJQUFJLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUM7WUFDL0IsUUFBUTtZQUNSLElBQUksRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQztZQUM5QixVQUFVLEVBQUUsUUFBUSxLQUFLLFVBQVU7WUFDbkMsTUFBTSxFQUFFLFFBQVEsS0FBSyxLQUFLO1lBQzFCLElBQUk7U0FDTDtLQUNGLENBQUM7QUFDSixDQUFDLENBQUM7QUEvQ1csUUFBQSxrQkFBa0Isc0JBK0M3QjtBQUVGOzs7O0dBSUc7QUFDSSxNQUFNLG9CQUFvQixHQUFHLENBQ2xDLElBQTJDLEVBQ1UsRUFBRSxDQUN2RCxJQUFJLElBQUk7SUFDTixRQUFRLEVBQUUsTUFBTTtJQUNoQixTQUFTLEVBQUUsSUFBSSxDQUFDLElBQUk7SUFDcEIsU0FBUyxFQUFFLElBQUksQ0FBQyxJQUFJO0lBQ3BCLGFBQWEsRUFBRSxJQUFJLENBQUMsUUFBUTtJQUM1QixTQUFTLEVBQUUsSUFBSSxDQUFDLElBQUk7SUFDcEIsYUFBYSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxNQUFNO0lBQzFFLFNBQVMsRUFBRSxJQUFJLENBQUMsSUFBSTtDQUNyQixDQUFDO0FBWFMsUUFBQSxvQkFBb0Isd0JBVzdCIn0=
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GraphTransport = exports.graphSendMailBody = exports.GraphDeliveryError = exports.GRAPH_MAX_REQUEST_BYTES = exports.GRAPH_TIMEOUTS = void 0;
|
|
4
|
+
const node_crypto_1 = require("node:crypto");
|
|
5
|
+
const types_1 = require("./types");
|
|
6
|
+
exports.GRAPH_TIMEOUTS = {
|
|
7
|
+
send: 30_000,
|
|
8
|
+
token: 10_000,
|
|
9
|
+
};
|
|
10
|
+
/** Graph rejects a `sendMail` request body above 4 MB. */
|
|
11
|
+
exports.GRAPH_MAX_REQUEST_BYTES = 4 * 1024 * 1024;
|
|
12
|
+
/** A token is renewed this long before Microsoft's expiry. */
|
|
13
|
+
const TOKEN_RENEWAL_MARGIN_MS = 5 * 60_000;
|
|
14
|
+
/** A Graph failure reduced to the provider's safe sentinel. */
|
|
15
|
+
class GraphDeliveryError extends Error {
|
|
16
|
+
constructor(sentinel) {
|
|
17
|
+
super(sentinel);
|
|
18
|
+
this.sentinel = sentinel;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
exports.GraphDeliveryError = GraphDeliveryError;
|
|
22
|
+
/** The request never left: the host could not be resolved or connected. */
|
|
23
|
+
const isConnectionFailure = (error) => {
|
|
24
|
+
const code = error?.cause?.code;
|
|
25
|
+
return (code === "ENOTFOUND" ||
|
|
26
|
+
code === "ECONNREFUSED" ||
|
|
27
|
+
code === "EAI_AGAIN" ||
|
|
28
|
+
code === "UND_ERR_CONNECT_TIMEOUT");
|
|
29
|
+
};
|
|
30
|
+
const sendFailure = (status) => {
|
|
31
|
+
if (status === 401 || status === 403) {
|
|
32
|
+
return types_1.SMTP_FAILURE_SENTINELS.authFailed;
|
|
33
|
+
}
|
|
34
|
+
if (status === 408 || status === 429 || status >= 500) {
|
|
35
|
+
return types_1.SMTP_FAILURE_SENTINELS.transientRejection;
|
|
36
|
+
}
|
|
37
|
+
return types_1.SMTP_FAILURE_SENTINELS.permanentRejection;
|
|
38
|
+
};
|
|
39
|
+
const recipient = (address) => ({ emailAddress: { address } });
|
|
40
|
+
/** The `sendMail` body: HTML only (Graph has one body), attachments base64. */
|
|
41
|
+
const graphSendMailBody = (message) => JSON.stringify({
|
|
42
|
+
message: {
|
|
43
|
+
attachments: (message.attachments ?? []).map((attachment) => ({
|
|
44
|
+
"@odata.type": "#microsoft.graph.fileAttachment",
|
|
45
|
+
contentBytes: attachment.content.toString("base64"),
|
|
46
|
+
contentType: attachment.contentType,
|
|
47
|
+
isInline: attachment.contentDisposition === "inline",
|
|
48
|
+
name: attachment.filename,
|
|
49
|
+
...(attachment.cid ? { contentId: attachment.cid } : {}),
|
|
50
|
+
})),
|
|
51
|
+
body: { content: message.html, contentType: "HTML" },
|
|
52
|
+
subject: message.subject,
|
|
53
|
+
toRecipients: [recipient(message.to)],
|
|
54
|
+
},
|
|
55
|
+
saveToSentItems: true,
|
|
56
|
+
});
|
|
57
|
+
exports.graphSendMailBody = graphSendMailBody;
|
|
58
|
+
/**
|
|
59
|
+
* Sends through Microsoft Graph `POST /users/{mailbox}/sendMail` with an
|
|
60
|
+
* app-only token (client credentials). Tokens are cached per tenant, client
|
|
61
|
+
* and secret, so a changed secret never reuses an old token.
|
|
62
|
+
*/
|
|
63
|
+
class GraphTransport {
|
|
64
|
+
constructor(fetch_, now = Date.now) {
|
|
65
|
+
this.fetch_ = fetch_;
|
|
66
|
+
this.now = now;
|
|
67
|
+
this.tokens = new Map();
|
|
68
|
+
}
|
|
69
|
+
async send(configuration, message) {
|
|
70
|
+
const body = (0, exports.graphSendMailBody)(message);
|
|
71
|
+
if (Buffer.byteLength(body) > exports.GRAPH_MAX_REQUEST_BYTES) {
|
|
72
|
+
throw new GraphDeliveryError(types_1.SMTP_FAILURE_SENTINELS.invalidContent);
|
|
73
|
+
}
|
|
74
|
+
const token = await this.token(configuration);
|
|
75
|
+
let response;
|
|
76
|
+
try {
|
|
77
|
+
response = await this.fetch_(`https://graph.microsoft.com/v1.0/users/${encodeURIComponent(configuration.mailbox)}/sendMail`, {
|
|
78
|
+
body,
|
|
79
|
+
headers: {
|
|
80
|
+
authorization: `Bearer ${token}`,
|
|
81
|
+
"content-type": "application/json",
|
|
82
|
+
},
|
|
83
|
+
method: "POST",
|
|
84
|
+
signal: AbortSignal.timeout(exports.GRAPH_TIMEOUTS.send),
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
catch (error) {
|
|
88
|
+
throw new GraphDeliveryError(isConnectionFailure(error)
|
|
89
|
+
? types_1.SMTP_FAILURE_SENTINELS.connectionFailed
|
|
90
|
+
: types_1.SMTP_FAILURE_SENTINELS.outcomeUnknown);
|
|
91
|
+
}
|
|
92
|
+
if (response.status === 401) {
|
|
93
|
+
// A revoked or rotated secret: the next send fetches a new token.
|
|
94
|
+
this.tokens.delete(this.cacheKey(configuration));
|
|
95
|
+
}
|
|
96
|
+
if (!response.ok) {
|
|
97
|
+
throw new GraphDeliveryError(sendFailure(response.status));
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
async prepare(configuration) {
|
|
101
|
+
await this.token(configuration);
|
|
102
|
+
}
|
|
103
|
+
cacheKey({ clientId, clientSecret, tenantId }) {
|
|
104
|
+
return (0, node_crypto_1.createHash)("sha256")
|
|
105
|
+
.update(`${tenantId}\u0000${clientId}\u0000${clientSecret}`)
|
|
106
|
+
.digest("hex");
|
|
107
|
+
}
|
|
108
|
+
async token(configuration) {
|
|
109
|
+
const key = this.cacheKey(configuration);
|
|
110
|
+
const cached = this.tokens.get(key);
|
|
111
|
+
if (cached && cached.expiresAt > this.now()) {
|
|
112
|
+
return cached.value;
|
|
113
|
+
}
|
|
114
|
+
let response;
|
|
115
|
+
try {
|
|
116
|
+
response = await this.fetch_(`https://login.microsoftonline.com/${encodeURIComponent(configuration.tenantId)}/oauth2/v2.0/token`, {
|
|
117
|
+
body: new URLSearchParams({
|
|
118
|
+
client_id: configuration.clientId,
|
|
119
|
+
client_secret: configuration.clientSecret,
|
|
120
|
+
grant_type: "client_credentials",
|
|
121
|
+
scope: "https://graph.microsoft.com/.default",
|
|
122
|
+
}).toString(),
|
|
123
|
+
headers: { "content-type": "application/x-www-form-urlencoded" },
|
|
124
|
+
method: "POST",
|
|
125
|
+
signal: AbortSignal.timeout(exports.GRAPH_TIMEOUTS.token),
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
catch {
|
|
129
|
+
// Nothing was sent yet, so a failed token request is always safe to retry.
|
|
130
|
+
throw new GraphDeliveryError(types_1.SMTP_FAILURE_SENTINELS.connectionFailed);
|
|
131
|
+
}
|
|
132
|
+
if (!response.ok) {
|
|
133
|
+
throw new GraphDeliveryError(response.status === 429 || response.status >= 500
|
|
134
|
+
? types_1.SMTP_FAILURE_SENTINELS.transientRejection
|
|
135
|
+
: types_1.SMTP_FAILURE_SENTINELS.authFailed);
|
|
136
|
+
}
|
|
137
|
+
const payload = (await response.json().catch(() => null));
|
|
138
|
+
const expiresIn = Number(payload?.expires_in);
|
|
139
|
+
if (typeof payload?.access_token !== "string" || !Number.isFinite(expiresIn)) {
|
|
140
|
+
throw new GraphDeliveryError(types_1.SMTP_FAILURE_SENTINELS.authFailed);
|
|
141
|
+
}
|
|
142
|
+
this.tokens.set(key, {
|
|
143
|
+
expiresAt: this.now() + expiresIn * 1000 - TOKEN_RENEWAL_MARGIN_MS,
|
|
144
|
+
value: payload.access_token,
|
|
145
|
+
});
|
|
146
|
+
return payload.access_token;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
exports.GraphTransport = GraphTransport;
|
|
150
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JhcGgtdHJhbnNwb3J0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3Byb3ZpZGVycy9zbXRwL2dyYXBoLXRyYW5zcG9ydC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2Q0FBeUM7QUFHekMsbUNBSWlCO0FBRUosUUFBQSxjQUFjLEdBQUc7SUFDNUIsSUFBSSxFQUFFLE1BQU07SUFDWixLQUFLLEVBQUUsTUFBTTtDQUNMLENBQUM7QUFFWCwwREFBMEQ7QUFDN0MsUUFBQSx1QkFBdUIsR0FBRyxDQUFDLEdBQUcsSUFBSSxHQUFHLElBQUksQ0FBQztBQUV2RCw4REFBOEQ7QUFDOUQsTUFBTSx1QkFBdUIsR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDO0FBYzNDLCtEQUErRDtBQUMvRCxNQUFhLGtCQUFtQixTQUFRLEtBQUs7SUFDM0MsWUFBcUIsUUFBNkI7UUFDaEQsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBREcsYUFBUSxHQUFSLFFBQVEsQ0FBcUI7SUFFbEQsQ0FBQztDQUNGO0FBSkQsZ0RBSUM7QUFJRCwyRUFBMkU7QUFDM0UsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLEtBQWMsRUFBVyxFQUFFO0lBQ3RELE1BQU0sSUFBSSxHQUFJLEtBQXdDLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQztJQUNwRSxPQUFPLENBQ0wsSUFBSSxLQUFLLFdBQVc7UUFDcEIsSUFBSSxLQUFLLGNBQWM7UUFDdkIsSUFBSSxLQUFLLFdBQVc7UUFDcEIsSUFBSSxLQUFLLHlCQUF5QixDQUNuQyxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUYsTUFBTSxXQUFXLEdBQUcsQ0FBQyxNQUFjLEVBQXVCLEVBQUU7SUFDMUQsSUFBSSxNQUFNLEtBQUssR0FBRyxJQUFJLE1BQU0sS0FBSyxHQUFHLEVBQUUsQ0FBQztRQUNyQyxPQUFPLDhCQUFzQixDQUFDLFVBQVUsQ0FBQztJQUMzQyxDQUFDO0lBQ0QsSUFBSSxNQUFNLEtBQUss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
|