@pvh-afl/core 1.2.44 → 1.2.46

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.
Files changed (51) hide show
  1. package/dist/common/feature-flags.d.ts +16 -0
  2. package/dist/common/feature-flags.d.ts.map +1 -1
  3. package/dist/common/feature-flags.js +25 -0
  4. package/dist/common/feature-flags.js.map +1 -1
  5. package/dist/integrations/engagement/index.d.ts +2 -0
  6. package/dist/integrations/engagement/index.d.ts.map +1 -1
  7. package/dist/integrations/engagement/index.js +2 -0
  8. package/dist/integrations/engagement/index.js.map +1 -1
  9. package/dist/integrations/engagement/netcore-sms.service.d.ts +34 -0
  10. package/dist/integrations/engagement/netcore-sms.service.d.ts.map +1 -0
  11. package/dist/integrations/engagement/netcore-sms.service.js +166 -0
  12. package/dist/integrations/engagement/netcore-sms.service.js.map +1 -0
  13. package/dist/integrations/engagement/netcore-sms.types.d.ts +53 -0
  14. package/dist/integrations/engagement/netcore-sms.types.d.ts.map +1 -0
  15. package/dist/integrations/engagement/netcore-sms.types.js +3 -0
  16. package/dist/integrations/engagement/netcore-sms.types.js.map +1 -0
  17. package/dist/integrations/integrations.module.d.ts.map +1 -1
  18. package/dist/integrations/integrations.module.js +3 -0
  19. package/dist/integrations/integrations.module.js.map +1 -1
  20. package/dist/notifications/index.d.ts +2 -0
  21. package/dist/notifications/index.d.ts.map +1 -1
  22. package/dist/notifications/index.js +2 -0
  23. package/dist/notifications/index.js.map +1 -1
  24. package/dist/notifications/notifications.module.d.ts.map +1 -1
  25. package/dist/notifications/notifications.module.js +3 -2
  26. package/dist/notifications/notifications.module.js.map +1 -1
  27. package/dist/notifications/order-email.mapper.d.ts.map +1 -1
  28. package/dist/notifications/order-email.mapper.js +14 -7
  29. package/dist/notifications/order-email.mapper.js.map +1 -1
  30. package/dist/notifications/order-email.service.d.ts.map +1 -1
  31. package/dist/notifications/order-email.service.js +5 -0
  32. package/dist/notifications/order-email.service.js.map +1 -1
  33. package/dist/notifications/order-sms.mapper.d.ts +25 -0
  34. package/dist/notifications/order-sms.mapper.d.ts.map +1 -0
  35. package/dist/notifications/order-sms.mapper.js +57 -0
  36. package/dist/notifications/order-sms.mapper.js.map +1 -0
  37. package/dist/notifications/order-sms.service.d.ts +28 -0
  38. package/dist/notifications/order-sms.service.d.ts.map +1 -0
  39. package/dist/notifications/order-sms.service.js +165 -0
  40. package/dist/notifications/order-sms.service.js.map +1 -0
  41. package/dist/notifications/order-whatsapp.mapper.d.ts +8 -0
  42. package/dist/notifications/order-whatsapp.mapper.d.ts.map +1 -1
  43. package/dist/notifications/order-whatsapp.mapper.js +14 -5
  44. package/dist/notifications/order-whatsapp.mapper.js.map +1 -1
  45. package/dist/notifications/order-whatsapp.service.d.ts.map +1 -1
  46. package/dist/notifications/order-whatsapp.service.js +5 -0
  47. package/dist/notifications/order-whatsapp.service.js.map +1 -1
  48. package/dist/notifications/order.source.d.ts.map +1 -1
  49. package/dist/notifications/order.source.js +1 -0
  50. package/dist/notifications/order.source.js.map +1 -1
  51. package/package.json +1 -1
@@ -14,4 +14,20 @@
14
14
  * variable — no code change, no redeploy of new code.
15
15
  */
16
16
  export declare function isCapillaryEnabled(): boolean;
17
+ /**
18
+ * Per-channel switches for order notifications, same contract as above: a
19
+ * channel sends only when its variable is exactly `"true"`.
20
+ *
21
+ * Off by default, and deliberately so. These messages go to real customers the
22
+ * moment the code is live, so an environment that has not been thought about
23
+ * yet — a new brand, a restored deployment, a test stack pointed at the wrong
24
+ * store — stays silent rather than mailing people. Turning a channel on is a
25
+ * decision someone has to make.
26
+ *
27
+ * The two are independent: email can run while WhatsApp is held back, or the
28
+ * reverse, without a code change.
29
+ */
30
+ export declare function isOrderEmailEnabled(): boolean;
31
+ export declare function isOrderWhatsAppEnabled(): boolean;
32
+ export declare function isOrderSmsEnabled(): boolean;
17
33
  //# sourceMappingURL=feature-flags.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"feature-flags.d.ts","sourceRoot":"","sources":["../../src/common/feature-flags.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,kBAAkB,IAAI,OAAO,CAE5C"}
1
+ {"version":3,"file":"feature-flags.d.ts","sourceRoot":"","sources":["../../src/common/feature-flags.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,kBAAkB,IAAI,OAAO,CAE5C;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,IAAI,OAAO,CAE7C;AAED,wBAAgB,sBAAsB,IAAI,OAAO,CAEhD;AAED,wBAAgB,iBAAiB,IAAI,OAAO,CAE3C"}
@@ -1,6 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.isCapillaryEnabled = isCapillaryEnabled;
4
+ exports.isOrderEmailEnabled = isOrderEmailEnabled;
5
+ exports.isOrderWhatsAppEnabled = isOrderWhatsAppEnabled;
6
+ exports.isOrderSmsEnabled = isOrderSmsEnabled;
4
7
  /**
5
8
  * Master runtime switch for the Capillary loyalty integration.
6
9
  *
@@ -19,4 +22,26 @@ exports.isCapillaryEnabled = isCapillaryEnabled;
19
22
  function isCapillaryEnabled() {
20
23
  return process.env.CAPILLARY_ENABLED === 'true';
21
24
  }
25
+ /**
26
+ * Per-channel switches for order notifications, same contract as above: a
27
+ * channel sends only when its variable is exactly `"true"`.
28
+ *
29
+ * Off by default, and deliberately so. These messages go to real customers the
30
+ * moment the code is live, so an environment that has not been thought about
31
+ * yet — a new brand, a restored deployment, a test stack pointed at the wrong
32
+ * store — stays silent rather than mailing people. Turning a channel on is a
33
+ * decision someone has to make.
34
+ *
35
+ * The two are independent: email can run while WhatsApp is held back, or the
36
+ * reverse, without a code change.
37
+ */
38
+ function isOrderEmailEnabled() {
39
+ return process.env.ORDER_EMAIL_ENABLED === 'true';
40
+ }
41
+ function isOrderWhatsAppEnabled() {
42
+ return process.env.ORDER_WHATSAPP_ENABLED === 'true';
43
+ }
44
+ function isOrderSmsEnabled() {
45
+ return process.env.ORDER_SMS_ENABLED === 'true';
46
+ }
22
47
  //# sourceMappingURL=feature-flags.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"feature-flags.js","sourceRoot":"","sources":["../../src/common/feature-flags.ts"],"names":[],"mappings":";;AAeA,gDAEC;AAjBD;;;;;;;;;;;;;;GAcG;AACH,SAAgB,kBAAkB;IAChC,OAAO,OAAO,CAAC,GAAG,CAAC,iBAAiB,KAAK,MAAM,CAAC;AAClD,CAAC"}
1
+ {"version":3,"file":"feature-flags.js","sourceRoot":"","sources":["../../src/common/feature-flags.ts"],"names":[],"mappings":";;AAeA,gDAEC;AAeD,kDAEC;AAED,wDAEC;AAED,8CAEC;AA1CD;;;;;;;;;;;;;;GAcG;AACH,SAAgB,kBAAkB;IAChC,OAAO,OAAO,CAAC,GAAG,CAAC,iBAAiB,KAAK,MAAM,CAAC;AAClD,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAgB,mBAAmB;IACjC,OAAO,OAAO,CAAC,GAAG,CAAC,mBAAmB,KAAK,MAAM,CAAC;AACpD,CAAC;AAED,SAAgB,sBAAsB;IACpC,OAAO,OAAO,CAAC,GAAG,CAAC,sBAAsB,KAAK,MAAM,CAAC;AACvD,CAAC;AAED,SAAgB,iBAAiB;IAC/B,OAAO,OAAO,CAAC,GAAG,CAAC,iBAAiB,KAAK,MAAM,CAAC;AAClD,CAAC"}
@@ -2,4 +2,6 @@ export * from './netcore-email.types';
2
2
  export * from './netcore-email.service';
3
3
  export * from './netcore-whatsapp.types';
4
4
  export * from './netcore-whatsapp.service';
5
+ export * from './netcore-sms.types';
6
+ export * from './netcore-sms.service';
5
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/integrations/engagement/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/integrations/engagement/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC"}
@@ -5,4 +5,6 @@ tslib_1.__exportStar(require("./netcore-email.types"), exports);
5
5
  tslib_1.__exportStar(require("./netcore-email.service"), exports);
6
6
  tslib_1.__exportStar(require("./netcore-whatsapp.types"), exports);
7
7
  tslib_1.__exportStar(require("./netcore-whatsapp.service"), exports);
8
+ tslib_1.__exportStar(require("./netcore-sms.types"), exports);
9
+ tslib_1.__exportStar(require("./netcore-sms.service"), exports);
8
10
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/integrations/engagement/index.ts"],"names":[],"mappings":";;;AAAA,gEAAsC;AACtC,kEAAwC;AACxC,mEAAyC;AACzC,qEAA2C"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/integrations/engagement/index.ts"],"names":[],"mappings":";;;AAAA,gEAAsC;AACtC,kEAAwC;AACxC,mEAAyC;AACzC,qEAA2C;AAC3C,8DAAoC;AACpC,gEAAsC"}
@@ -0,0 +1,34 @@
1
+ import { IntegrationResponse } from '../integration.types';
2
+ import { ISmsService, NetcoreSmsConfig, SmsSendRequest, SmsSendResult } from './netcore-sms.types';
3
+ /**
4
+ * Netcore SMS service.
5
+ *
6
+ * Sends one transactional SMS. Three things differ from the other Netcore
7
+ * services and shape this implementation:
8
+ *
9
+ * - **Credentials travel in the body.** `feedid`, `username` and `password` are
10
+ * ordinary form fields, so they must never be logged. Nothing here logs the
11
+ * request body, and errors are reported by status and response text only.
12
+ * - **The response is XML**, and only the async shape is documented:
13
+ * `<RESULT REQID='29749608774'> </RESULT>`. Rather than parse XML we read the
14
+ * id with a regex, which tolerates the undocumented sync shape instead of
15
+ * throwing on it.
16
+ * - **A 200 does not mean accepted.** The API returns errors in the body with a
17
+ * success status, so a response carrying no request id and no recognisable
18
+ * acceptance is treated as a failure.
19
+ *
20
+ * `async=1` is sent deliberately: it is the only documented response shape, and
21
+ * the caller is a background job that has already accepted the send will be
22
+ * confirmed out of band.
23
+ */
24
+ export declare class NetcoreSmsService implements ISmsService {
25
+ private config;
26
+ private brand;
27
+ private readonly defaultTimeout;
28
+ configure(brand: string, config: NetcoreSmsConfig): void;
29
+ isConfigured(): boolean;
30
+ send(request: SmsSendRequest): Promise<IntegrationResponse<SmsSendResult>>;
31
+ private error;
32
+ private normalizeError;
33
+ }
34
+ //# sourceMappingURL=netcore-sms.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"netcore-sms.service.d.ts","sourceRoot":"","sources":["../../../src/integrations/engagement/netcore-sms.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAoB,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC7E,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,cAAc,EACd,aAAa,EACd,MAAM,qBAAqB,CAAC;AAK7B;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBACa,iBAAkB,YAAW,WAAW;IACnD,OAAO,CAAC,MAAM,CAAiC;IAC/C,OAAO,CAAC,KAAK,CAAM;IACnB,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IAExC,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,GAAG,IAAI;IAcxD,YAAY,IAAI,OAAO;IAIjB,IAAI,CACR,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC;IA+F9C,OAAO,CAAC,KAAK;IAOb,OAAO,CAAC,cAAc;CAcvB"}
@@ -0,0 +1,166 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NetcoreSmsService = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const common_1 = require("@nestjs/common");
6
+ const logger_1 = require("../../common/logger");
7
+ const DEFAULT_BASE_URL = 'https://bulkpush.mytoday.com';
8
+ const SEND_PATH = '/BulkSms/SingleMsgApi';
9
+ /**
10
+ * Netcore SMS service.
11
+ *
12
+ * Sends one transactional SMS. Three things differ from the other Netcore
13
+ * services and shape this implementation:
14
+ *
15
+ * - **Credentials travel in the body.** `feedid`, `username` and `password` are
16
+ * ordinary form fields, so they must never be logged. Nothing here logs the
17
+ * request body, and errors are reported by status and response text only.
18
+ * - **The response is XML**, and only the async shape is documented:
19
+ * `<RESULT REQID='29749608774'> </RESULT>`. Rather than parse XML we read the
20
+ * id with a regex, which tolerates the undocumented sync shape instead of
21
+ * throwing on it.
22
+ * - **A 200 does not mean accepted.** The API returns errors in the body with a
23
+ * success status, so a response carrying no request id and no recognisable
24
+ * acceptance is treated as a failure.
25
+ *
26
+ * `async=1` is sent deliberately: it is the only documented response shape, and
27
+ * the caller is a background job that has already accepted the send will be
28
+ * confirmed out of band.
29
+ */
30
+ let NetcoreSmsService = class NetcoreSmsService {
31
+ config = null;
32
+ brand = '';
33
+ defaultTimeout = 10000;
34
+ configure(brand, config) {
35
+ this.brand = brand;
36
+ // Defaults after the spread, so a brand config that omits `baseUrl` does
37
+ // not overwrite the default with undefined.
38
+ this.config = {
39
+ ...config,
40
+ // `||` not `??`: an unset `env:` reference resolves to an empty string,
41
+ // which `??` would keep and post to a bare path.
42
+ baseUrl: config.baseUrl || DEFAULT_BASE_URL,
43
+ timeout: config.timeout ?? this.defaultTimeout,
44
+ };
45
+ logger_1.logger.info('Netcore SMS service configured', { brand });
46
+ }
47
+ isConfigured() {
48
+ return this.config !== null;
49
+ }
50
+ async send(request) {
51
+ if (!this.config) {
52
+ return this.error('NOT_CONFIGURED', 'Netcore SMS service is not configured');
53
+ }
54
+ const recipient = normalizeRecipient(request.recipient);
55
+ if (!recipient) {
56
+ return this.error('MISSING_RECIPIENT', 'SMS send requires a phone number');
57
+ }
58
+ if (!request.text?.trim()) {
59
+ return this.error('EMPTY_TEXT', 'SMS send requires message text');
60
+ }
61
+ // Without a DLT template id the telco rejects the message, and Netcore may
62
+ // still answer 200 — fail here so the cause is ours to read.
63
+ if (!request.templateId) {
64
+ return this.error('MISSING_TEMPLATE_ID', 'SMS send requires a DLT template id');
65
+ }
66
+ const form = new URLSearchParams({
67
+ feedid: this.config.feedId,
68
+ username: this.config.username,
69
+ password: this.config.password,
70
+ To: recipient,
71
+ Text: request.text,
72
+ templateid: request.templateId,
73
+ entityid: this.config.entityId,
74
+ async: '1',
75
+ });
76
+ try {
77
+ const controller = new AbortController();
78
+ const timeoutId = setTimeout(() => controller.abort(), this.config.timeout ?? this.defaultTimeout);
79
+ const response = await fetch(`${this.config.baseUrl}${SEND_PATH}`, {
80
+ method: 'POST',
81
+ headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
82
+ body: form.toString(),
83
+ signal: controller.signal,
84
+ });
85
+ clearTimeout(timeoutId);
86
+ const raw = (await response.text()).trim();
87
+ if (!response.ok) {
88
+ return { success: false, error: this.normalizeError(response.status, raw) };
89
+ }
90
+ const requestId = parseRequestId(raw);
91
+ if (!requestId) {
92
+ // The API reports rejections in the body of a 200, so this is a failure
93
+ // even though the HTTP call worked. Surface its own code and text where
94
+ // it gives them — `SMS_124 Authentication failure` reads better in a log
95
+ // than the XML document it arrived in.
96
+ const failure = parseError(raw);
97
+ return {
98
+ success: false,
99
+ error: {
100
+ code: failure.code ? `SMS_${failure.code}` : 'SEND_REJECTED',
101
+ message: failure.description || raw || 'Netcore SMS returned no request id',
102
+ details: raw,
103
+ },
104
+ };
105
+ }
106
+ return { success: true, data: { requestId } };
107
+ }
108
+ catch (error) {
109
+ // The body is never included: it carries the account password.
110
+ logger_1.logger.error('Netcore SMS send failed', {
111
+ brand: this.brand,
112
+ templateId: request.templateId,
113
+ error: error instanceof Error ? error.message : 'Unknown error',
114
+ });
115
+ return {
116
+ success: false,
117
+ error: {
118
+ code: 'REQUEST_FAILED',
119
+ message: error instanceof Error ? error.message : 'Request failed',
120
+ details: error,
121
+ },
122
+ };
123
+ }
124
+ }
125
+ error(code, message) {
126
+ return { success: false, error: { code, message } };
127
+ }
128
+ normalizeError(status, body) {
129
+ const errorMap = {
130
+ 400: 'BAD_REQUEST',
131
+ 401: 'UNAUTHORIZED',
132
+ 403: 'FORBIDDEN',
133
+ 404: 'NOT_FOUND',
134
+ 429: 'RATE_LIMITED',
135
+ 500: 'INTERNAL_ERROR',
136
+ 502: 'BAD_GATEWAY',
137
+ 503: 'SERVICE_UNAVAILABLE',
138
+ };
139
+ return { code: errorMap[status] ?? 'UNKNOWN_ERROR', message: body || `HTTP ${status}` };
140
+ }
141
+ };
142
+ exports.NetcoreSmsService = NetcoreSmsService;
143
+ exports.NetcoreSmsService = NetcoreSmsService = tslib_1.__decorate([
144
+ (0, common_1.Injectable)()
145
+ ], NetcoreSmsService);
146
+ /**
147
+ * Reads the request id out of `<RESULT REQID='123'> </RESULT>`.
148
+ *
149
+ * Quoting is not guaranteed, so single quotes, double quotes and bare values
150
+ * are all accepted. Returns '' when the response carries no id, which the
151
+ * caller treats as a rejection.
152
+ */
153
+ const parseRequestId = (raw) => raw.match(/REQID\s*=\s*['"]?(\d+)['"]?/i)?.[1] ?? '';
154
+ /**
155
+ * Pulls `<CODE>` and `<DESC>` out of a rejection, e.g.
156
+ * `<ERROR><CODE>124</CODE><DESC>Authentication failure…</DESC></ERROR>`.
157
+ * Both are absent on an unrecognised body, and the caller falls back to the
158
+ * raw text rather than losing it.
159
+ */
160
+ const parseError = (raw) => ({
161
+ code: raw.match(/<CODE>\s*([^<]+?)\s*<\/CODE>/i)?.[1] ?? '',
162
+ description: raw.match(/<DESC>\s*([^<]+?)\s*<\/DESC>/i)?.[1] ?? '',
163
+ });
164
+ /** Digits only: Shopify stores `+91 98765 43210`, the API wants `919876543210`. */
165
+ const normalizeRecipient = (raw) => (raw ?? '').replace(/\D/g, '');
166
+ //# sourceMappingURL=netcore-sms.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"netcore-sms.service.js","sourceRoot":"","sources":["../../../src/integrations/engagement/netcore-sms.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ import { IntegrationResponse } from '../integration.types';
2
+ /**
3
+ * Netcore SMS (CPaaS) types.
4
+ *
5
+ * Shares a vendor with the email and WhatsApp services and almost nothing else.
6
+ * This API is form-encoded rather than JSON, answers in XML, and authenticates
7
+ * with a feed id, username and password carried in the body — there is no
8
+ * bearer token or `api_key` header.
9
+ *
10
+ * Indian SMS is also regulated: every message must name a DLT-registered
11
+ * template and the principal entity that registered it, and the text sent must
12
+ * match that registration. Netcore forwards our text as-is, so a mismatch is
13
+ * rejected downstream by the telco rather than here.
14
+ *
15
+ * @see https://emaildocs.netcore.ai/reference/single-message-api
16
+ */
17
+ export interface NetcoreSmsConfig {
18
+ /** API host (default: https://bulkpush.mytoday.com). */
19
+ baseUrl?: string;
20
+ /** Netcore SMS account id. */
21
+ feedId: string;
22
+ username: string;
23
+ password: string;
24
+ /** DLT principal entity id (19 digits), issued on registration in India. */
25
+ entityId: string;
26
+ /** Request timeout in milliseconds (default: 10000). */
27
+ timeout?: number;
28
+ }
29
+ export interface SmsSendRequest {
30
+ /**
31
+ * Recipient. Digits only — the service strips `+`, spaces and punctuation,
32
+ * so an E.164 value from Shopify is accepted as-is.
33
+ */
34
+ recipient: string;
35
+ /**
36
+ * The finished message. Unlike WhatsApp, the provider does no assembly: what
37
+ * is passed here is what is delivered, and it must match the DLT-registered
38
+ * body for `templateId` apart from the variable values.
39
+ */
40
+ text: string;
41
+ /** DLT template id (19 digits) for this message. */
42
+ templateId: string;
43
+ }
44
+ export interface SmsSendResult {
45
+ /** Netcore's `REQID`. Empty when the response carried none. */
46
+ requestId: string;
47
+ }
48
+ export interface ISmsService {
49
+ configure(brand: string, config: NetcoreSmsConfig): void;
50
+ isConfigured(): boolean;
51
+ send(request: SmsSendRequest): Promise<IntegrationResponse<SmsSendResult>>;
52
+ }
53
+ //# sourceMappingURL=netcore-sms.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"netcore-sms.types.d.ts","sourceRoot":"","sources":["../../../src/integrations/engagement/netcore-sms.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE3D;;;;;;;;;;;;;;GAcG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,wDAAwD;IACxD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,8BAA8B;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,4EAA4E;IAC5E,QAAQ,EAAE,MAAM,CAAC;IACjB,wDAAwD;IACxD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B;;;OAGG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,IAAI,EAAE,MAAM,CAAC;IACb,oDAAoD;IACpD,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,+DAA+D;IAC/D,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACzD,YAAY,IAAI,OAAO,CAAC;IACxB,IAAI,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC,CAAC;CAC5E"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=netcore-sms.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"netcore-sms.types.js","sourceRoot":"","sources":["../../../src/integrations/engagement/netcore-sms.types.ts"],"names":[],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"integrations.module.d.ts","sourceRoot":"","sources":["../../src/integrations/integrations.module.ts"],"names":[],"mappings":"AA6BA,qBA+Ca,kBAAkB;CAAG"}
1
+ {"version":3,"file":"integrations.module.d.ts","sourceRoot":"","sources":["../../src/integrations/integrations.module.ts"],"names":[],"mappings":"AA8BA,qBAiDa,kBAAkB;CAAG"}
@@ -26,6 +26,7 @@ const azure_blob_service_1 = require("./storage/azure-blob.service");
26
26
  const shopify_files_service_1 = require("./storage/shopify-files.service");
27
27
  // Engagement
28
28
  const netcore_email_service_1 = require("./engagement/netcore-email.service");
29
+ const netcore_sms_service_1 = require("./engagement/netcore-sms.service");
29
30
  const netcore_whatsapp_service_1 = require("./engagement/netcore-whatsapp.service");
30
31
  // CacheModule and ConfigModule are @Global() so no import needed
31
32
  let IntegrationsModule = class IntegrationsModule {
@@ -59,6 +60,7 @@ exports.IntegrationsModule = IntegrationsModule = tslib_1.__decorate([
59
60
  // Engagement
60
61
  netcore_email_service_1.NetcoreEmailService,
61
62
  netcore_whatsapp_service_1.NetcoreWhatsAppService,
63
+ netcore_sms_service_1.NetcoreSmsService,
62
64
  ],
63
65
  exports: [
64
66
  integration_factory_1.IntegrationFactory,
@@ -77,6 +79,7 @@ exports.IntegrationsModule = IntegrationsModule = tslib_1.__decorate([
77
79
  shopify_files_service_1.ShopifyFilesService,
78
80
  netcore_email_service_1.NetcoreEmailService,
79
81
  netcore_whatsapp_service_1.NetcoreWhatsAppService,
82
+ netcore_sms_service_1.NetcoreSmsService,
80
83
  ],
81
84
  })
82
85
  ], IntegrationsModule);
@@ -1 +1 @@
1
- {"version":3,"file":"integrations.module.js","sourceRoot":"","sources":["../../src/integrations/integrations.module.ts"],"names":[],"mappings":";;;;AAAA,2CAAwC;AACxC,+DAA2D;AAC3D,yEAAoE;AAEpE,8BAA8B;AAC9B,gEAAoE;AACpE,4EAAuE;AACvE,kFAA6E;AAC7E,iEAA4D;AAC5D,uDAAmD;AACnD,oBAAoB;AACpB,6EAAwE;AACxE,iFAA4E;AAC5E,SAAS;AACT,0DAAsD;AACtD,8EAAyE;AACzE,UAAU;AACV,+DAA2D;AAC3D,WAAW;AACX,yDAAqD;AACrD,UAAU;AACV,qEAAgE;AAChE,2EAAsE;AACtE,aAAa;AACb,8EAAyE;AACzE,oFAA+E;AAE/E,iEAAiE;AAiD1D,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;CAAG,CAAA;AAArB,gDAAkB;6BAAlB,kBAAkB;IA/C9B,IAAA,eAAM,EAAC;QACN,SAAS,EAAE;YACT,wCAAkB;YAClB,iDAAsB;YACtB,WAAW;YACX,wCAAsB;YACtB,2CAAmB;YACnB,iDAAsB;YACtB,MAAM;YACN,qCAAgB;YAChB,4BAAY;YACZ,UAAU;YACV,6CAAoB;YACpB,iDAAsB;YACtB,SAAS;YACT,4BAAY;YACZ,+CAAqB;YACrB,UAAU;YACV,gCAAc;YACd,WAAW;YACX,4BAAY;YACZ,UAAU;YACV,qCAAgB;YAChB,2CAAmB;YACnB,aAAa;YACb,2CAAmB;YACnB,iDAAsB;SACvB;QACD,OAAO,EAAE;YACP,wCAAkB;YAClB,gEAAgE;YAChE,wCAAsB;YACtB,2CAAmB;YACnB,iDAAsB;YACtB,4BAAY;YACZ,6CAAoB;YACpB,iDAAsB;YACtB,4BAAY;YACZ,+CAAqB;YACrB,gCAAc;YACd,4BAAY;YACZ,qCAAgB;YAChB,2CAAmB;YACnB,2CAAmB;YACnB,iDAAsB;SACvB;KACF,CAAC;GACW,kBAAkB,CAAG"}
1
+ {"version":3,"file":"integrations.module.js","sourceRoot":"","sources":["../../src/integrations/integrations.module.ts"],"names":[],"mappings":";;;;AAAA,2CAAwC;AACxC,+DAA2D;AAC3D,yEAAoE;AAEpE,8BAA8B;AAC9B,gEAAoE;AACpE,4EAAuE;AACvE,kFAA6E;AAC7E,iEAA4D;AAC5D,uDAAmD;AACnD,oBAAoB;AACpB,6EAAwE;AACxE,iFAA4E;AAC5E,SAAS;AACT,0DAAsD;AACtD,8EAAyE;AACzE,UAAU;AACV,+DAA2D;AAC3D,WAAW;AACX,yDAAqD;AACrD,UAAU;AACV,qEAAgE;AAChE,2EAAsE;AACtE,aAAa;AACb,8EAAyE;AACzE,0EAAqE;AACrE,oFAA+E;AAE/E,iEAAiE;AAmD1D,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;CAAG,CAAA;AAArB,gDAAkB;6BAAlB,kBAAkB;IAjD9B,IAAA,eAAM,EAAC;QACN,SAAS,EAAE;YACT,wCAAkB;YAClB,iDAAsB;YACtB,WAAW;YACX,wCAAsB;YACtB,2CAAmB;YACnB,iDAAsB;YACtB,MAAM;YACN,qCAAgB;YAChB,4BAAY;YACZ,UAAU;YACV,6CAAoB;YACpB,iDAAsB;YACtB,SAAS;YACT,4BAAY;YACZ,+CAAqB;YACrB,UAAU;YACV,gCAAc;YACd,WAAW;YACX,4BAAY;YACZ,UAAU;YACV,qCAAgB;YAChB,2CAAmB;YACnB,aAAa;YACb,2CAAmB;YACnB,iDAAsB;YACtB,uCAAiB;SAClB;QACD,OAAO,EAAE;YACP,wCAAkB;YAClB,gEAAgE;YAChE,wCAAsB;YACtB,2CAAmB;YACnB,iDAAsB;YACtB,4BAAY;YACZ,6CAAoB;YACpB,iDAAsB;YACtB,4BAAY;YACZ,+CAAqB;YACrB,gCAAc;YACd,4BAAY;YACZ,qCAAgB;YAChB,2CAAmB;YACnB,2CAAmB;YACnB,iDAAsB;YACtB,uCAAiB;SAClB;KACF,CAAC;GACW,kBAAkB,CAAG"}
@@ -4,5 +4,7 @@ export * from './order-email.mapper';
4
4
  export * from './order-email.service';
5
5
  export * from './order-whatsapp.mapper';
6
6
  export * from './order-whatsapp.service';
7
+ export * from './order-sms.mapper';
8
+ export * from './order-sms.service';
7
9
  export * from './notifications.module';
8
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/notifications/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/notifications/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC"}
@@ -7,5 +7,7 @@ tslib_1.__exportStar(require("./order-email.mapper"), exports);
7
7
  tslib_1.__exportStar(require("./order-email.service"), exports);
8
8
  tslib_1.__exportStar(require("./order-whatsapp.mapper"), exports);
9
9
  tslib_1.__exportStar(require("./order-whatsapp.service"), exports);
10
+ tslib_1.__exportStar(require("./order-sms.mapper"), exports);
11
+ tslib_1.__exportStar(require("./order-sms.service"), exports);
10
12
  tslib_1.__exportStar(require("./notifications.module"), exports);
11
13
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/notifications/index.ts"],"names":[],"mappings":";;;AAAA,qEAA2C;AAC3C,yDAA+B;AAC/B,+DAAqC;AACrC,gEAAsC;AACtC,kEAAwC;AACxC,mEAAyC;AACzC,iEAAuC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/notifications/index.ts"],"names":[],"mappings":";;;AAAA,qEAA2C;AAC3C,yDAA+B;AAC/B,+DAAqC;AACrC,gEAAsC;AACtC,kEAAwC;AACxC,mEAAyC;AACzC,6DAAmC;AACnC,8DAAoC;AACpC,iEAAuC"}
@@ -1 +1 @@
1
- {"version":3,"file":"notifications.module.d.ts","sourceRoot":"","sources":["../../src/notifications/notifications.module.ts"],"names":[],"mappings":"AAMA;;;;;GAKG;AACH,qBAKa,mBAAmB;CAAG"}
1
+ {"version":3,"file":"notifications.module.d.ts","sourceRoot":"","sources":["../../src/notifications/notifications.module.ts"],"names":[],"mappings":"AAOA;;;;;GAKG;AACH,qBAKa,mBAAmB;CAAG"}
@@ -5,6 +5,7 @@ const tslib_1 = require("tslib");
5
5
  const common_1 = require("@nestjs/common");
6
6
  const integrations_module_1 = require("../integrations/integrations.module");
7
7
  const order_email_service_1 = require("./order-email.service");
8
+ const order_sms_service_1 = require("./order-sms.service");
8
9
  const order_whatsapp_service_1 = require("./order-whatsapp.service");
9
10
  const order_source_1 = require("./order.source");
10
11
  /**
@@ -19,8 +20,8 @@ exports.NotificationsModule = NotificationsModule;
19
20
  exports.NotificationsModule = NotificationsModule = tslib_1.__decorate([
20
21
  (0, common_1.Module)({
21
22
  imports: [integrations_module_1.IntegrationsModule],
22
- providers: [order_source_1.OrderSource, order_email_service_1.OrderEmailService, order_whatsapp_service_1.OrderWhatsAppService],
23
- exports: [order_source_1.OrderSource, order_email_service_1.OrderEmailService, order_whatsapp_service_1.OrderWhatsAppService],
23
+ providers: [order_source_1.OrderSource, order_email_service_1.OrderEmailService, order_whatsapp_service_1.OrderWhatsAppService, order_sms_service_1.OrderSmsService],
24
+ exports: [order_source_1.OrderSource, order_email_service_1.OrderEmailService, order_whatsapp_service_1.OrderWhatsAppService, order_sms_service_1.OrderSmsService],
24
25
  })
25
26
  ], NotificationsModule);
26
27
  //# sourceMappingURL=notifications.module.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"notifications.module.js","sourceRoot":"","sources":["../../src/notifications/notifications.module.ts"],"names":[],"mappings":";;;;AAAA,2CAAwC;AACxC,6EAAyE;AACzE,+DAA0D;AAC1D,qEAAgE;AAChE,iDAA6C;AAE7C;;;;;GAKG;AAMI,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;CAAG,CAAA;AAAtB,kDAAmB;8BAAnB,mBAAmB;IAL/B,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,CAAC,wCAAkB,CAAC;QAC7B,SAAS,EAAE,CAAC,0BAAW,EAAE,uCAAiB,EAAE,6CAAoB,CAAC;QACjE,OAAO,EAAE,CAAC,0BAAW,EAAE,uCAAiB,EAAE,6CAAoB,CAAC;KAChE,CAAC;GACW,mBAAmB,CAAG"}
1
+ {"version":3,"file":"notifications.module.js","sourceRoot":"","sources":["../../src/notifications/notifications.module.ts"],"names":[],"mappings":";;;;AAAA,2CAAwC;AACxC,6EAAyE;AACzE,+DAA0D;AAC1D,2DAAsD;AACtD,qEAAgE;AAChE,iDAA6C;AAE7C;;;;;GAKG;AAMI,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;CAAG,CAAA;AAAtB,kDAAmB;8BAAnB,mBAAmB;IAL/B,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,CAAC,wCAAkB,CAAC;QAC7B,SAAS,EAAE,CAAC,0BAAW,EAAE,uCAAiB,EAAE,6CAAoB,EAAE,mCAAe,CAAC;QAClF,OAAO,EAAE,CAAC,0BAAW,EAAE,uCAAiB,EAAE,6CAAoB,EAAE,mCAAe,CAAC;KACjF,CAAC;GACW,mBAAmB,CAAG"}
@@ -1 +1 @@
1
- {"version":3,"file":"order-email.mapper.d.ts","sourceRoot":"","sources":["../../src/notifications/order-email.mapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AA+B5E,2DAA2D;AAC3D,eAAO,MAAM,WAAW,GAAI,QAAQ,MAAM,EAAE,UAAU,MAAM,KAAG,MAG9D,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,OAAO,MAAM,KAAG,MAKf,CAAC;AAE7B;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,GACxB,MAAM,MAAM,EACZ,SAAQ,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM,KAC5C,MAQF,CAAC;AAEF;;;;;;;GAOG;AACH;;;;;GAKG;AACH,eAAO,MAAM,aAAa,EAAE,WAAW,CAAC,UAAU,CAKhD,CAAC;AAEH,eAAO,MAAM,oBAAoB,GAC/B,OAAO,aAAa,EACpB,cAAa,SAAS,MAAM,EAAO;AACnC;;;;GAIG;AACH,iBAAiB,MAAM;AACvB,qDAAqD;AACrD,gBAAe,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM,KACnD,MAaF,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAE7D;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB,GAC9B,OAAO,aAAa,CAAC,OAAO,CAAC,EAC7B,UAAU,aAAa,KACtB,aAAa,CAAC,OAAO,CAOlB,CAAC;AA6CP,eAAO,MAAM,eAAe,GAC1B,OAAO,aAAa,CAAC,OAAO,CAAC,EAC7B,UAAU,MAAM,EAChB,UAAU,kBAAkB,KAC3B,MAKE,CAAC;AAEN,eAAO,MAAM,iBAAiB,GAAI,OAAO,MAAM,EAAE,KAAG,MACd,CAAC;AAEvC;;;;;GAKG;AACH,eAAO,MAAM,eAAe,GAC1B,OAAO,UAAU,EACjB,OAAO,aAAa,EACpB,UAAU,kBAAkB,EAC5B,cAAc,MAAM;AACpB,6EAA6E;AAC7E,eAAe,MAAM;AACrB,qEAAqE;AACrE,WAAW,aAAa,KACvB,MAAM,CAAC,MAAM,EAAE,MAAM,CAuDvB,CAAC"}
1
+ {"version":3,"file":"order-email.mapper.d.ts","sourceRoot":"","sources":["../../src/notifications/order-email.mapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AA+B5E,2DAA2D;AAC3D,eAAO,MAAM,WAAW,GAAI,QAAQ,MAAM,EAAE,UAAU,MAAM,KAAG,MAG9D,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,OAAO,MAAM,KAAG,MAKf,CAAC;AAE7B;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,GACxB,MAAM,MAAM,EACZ,SAAQ,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM,KAC5C,MAQF,CAAC;AAEF;;;;;;;GAOG;AACH;;;;;GAKG;AACH,eAAO,MAAM,aAAa,EAAE,WAAW,CAAC,UAAU,CAKhD,CAAC;AAEH,eAAO,MAAM,oBAAoB,GAC/B,OAAO,aAAa,EACpB,cAAa,SAAS,MAAM,EAAO;AACnC;;;;GAIG;AACH,iBAAiB,MAAM;AACvB,qDAAqD;AACrD,gBAAe,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM,KACnD,MAaF,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAE7D;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB,GAC9B,OAAO,aAAa,CAAC,OAAO,CAAC,EAC7B,UAAU,aAAa,KACtB,aAAa,CAAC,OAAO,CAcvB,CAAC;AA6CF,eAAO,MAAM,eAAe,GAC1B,OAAO,aAAa,CAAC,OAAO,CAAC,EAC7B,UAAU,MAAM,EAChB,UAAU,kBAAkB,KAC3B,MAKE,CAAC;AAEN,eAAO,MAAM,iBAAiB,GAAI,OAAO,MAAM,EAAE,KAAG,MACd,CAAC;AAEvC;;;;;GAKG;AACH,eAAO,MAAM,eAAe,GAC1B,OAAO,UAAU,EACjB,OAAO,aAAa,EACpB,UAAU,kBAAkB,EAC5B,cAAc,MAAM;AACpB,6EAA6E;AAC7E,eAAe,MAAM;AACrB,qEAAqE;AACrE,WAAW,aAAa,KACvB,MAAM,CAAC,MAAM,EAAE,MAAM,CAuDvB,CAAC"}
@@ -108,13 +108,20 @@ exports.resolvePaymentMethod = resolvePaymentMethod;
108
108
  * three must not quote the price of three. Ids absent from the order are
109
109
  * ignored rather than guessed at.
110
110
  */
111
- const selectAffectedItems = (items, affected) => items
112
- .filter((item) => affected[item.id] !== undefined)
113
- .map((item) => {
114
- const quantity = affected[item.id];
115
- const unit = item.quantity > 0 ? item.amount / item.quantity : item.amount;
116
- return { ...item, quantity, amount: unit * quantity };
117
- });
111
+ const selectAffectedItems = (items, affected) => {
112
+ const selected = items
113
+ .filter((item) => affected[item.id] !== undefined)
114
+ .map((item) => {
115
+ const quantity = affected[item.id];
116
+ const unit = item.quantity > 0 ? item.amount / item.quantity : item.amount;
117
+ return { ...item, quantity, amount: unit * quantity };
118
+ });
119
+ // Matching nothing means the ids disagree, not that the customer returned
120
+ // nothing — an order snapshot predating line item ids would match none of
121
+ // them. Fall back to the whole order: listing too much is recoverable,
122
+ // sending a message with no items and a zero total is not.
123
+ return selected.length ? selected : items;
124
+ };
118
125
  exports.selectAffectedItems = selectAffectedItems;
119
126
  const specRow = (label, value, { fontFamily, textColor }) => {
120
127
  const cell = `font-family:${fontFamily}; font-size:15px; line-height:26px; color:${textColor};`;
@@ -1 +1 @@
1
- {"version":3,"file":"order-email.mapper.js","sourceRoot":"","sources":["../../src/notifications/order-email.mapper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"order-email.mapper.js","sourceRoot":"","sources":["../../src/notifications/order-email.mapper.ts"],"names":[],"mappings":";;;AAGA;;;;;;;;GAQG;AAEH,iFAAiF;AACjF,MAAM,eAAe,GAA2B,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;AAE/D,MAAM,UAAU,GAAG,IAAI,GAAG,EAA6B,CAAC;AAExD,yEAAyE;AACzE,MAAM,YAAY,GAAG,CAAC,QAAgB,EAAqB,EAAE;IAC3D,MAAM,MAAM,GAAG,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;IACtD,IAAI,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACvC,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,SAAS,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE;YACxC,qBAAqB,EAAE,CAAC;YACxB,qBAAqB,EAAE,CAAC;SACzB,CAAC,CAAC;QACH,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACpC,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAEF,2DAA2D;AACpD,MAAM,WAAW,GAAG,CAAC,MAAc,EAAE,QAAgB,EAAU,EAAE;IACtE,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACnD,OAAO,GAAG,eAAe,CAAC,QAAQ,CAAC,IAAI,QAAQ,IAAI,YAAY,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;AAC5F,CAAC,CAAC;AAHW,QAAA,WAAW,eAGtB;AAEK,MAAM,UAAU,GAAG,CAAC,KAAa,EAAU,EAAE,CAClD,KAAK;KACF,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;KACtB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;KACrB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;KACrB,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AALhB,QAAA,UAAU,cAKM;AAE7B;;;;;;;GAOG;AACI,MAAM,aAAa,GAAG,CAC3B,IAAY,EACZ,SAA2C,EAAE,EACrC,EAAE;IACV,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAC5B,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,CAAC;IACxB,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IAC7C,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAC1B,OAAO,OAAO,CAAC,MAAM,IAAI,CAAC;QACxB,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE;QACvB,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACzD,CAAC,CAAC;AAXW,QAAA,aAAa,iBAWxB;AAEF;;;;;;;GAOG;AACH;;;;;GAKG;AACU,QAAA,aAAa,GAA4B,IAAI,GAAG,CAAC;IAC5D,kBAAkB;IAClB,iBAAiB;IACjB,iBAAiB;IACjB,iBAAiB;CAClB,CAAC,CAAC;AAEI,MAAM,oBAAoB,GAAG,CAClC,KAAoB,EACpB,cAAiC,EAAE;AACnC;;;;GAIG;AACH,cAAuB;AACvB,qDAAqD;AACrD,gBAAkD,EAAE,EAC5C,EAAE;IACV,MAAM,QAAQ,GAAG,KAAK,CAAC,aAAa;SACjC,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,qBAAa,EAAC,IAAI,EAAE,aAAa,CAAC,CAAC;SACjD,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAC9B,IAAI,cAAc;QAAE,OAAO,cAAc,CAAC;IAE1C,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;IAC1D,OAAO,CACL,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,IAAI,EAAE,CACzE,CAAC;AACJ,CAAC,CAAC;AAxBW,QAAA,oBAAoB,wBAwB/B;AASF;;;;;;;GAOG;AACI,MAAM,mBAAmB,GAAG,CACjC,KAA6B,EAC7B,QAAuB,EACC,EAAE;IAC1B,MAAM,QAAQ,GAAG,KAAK;SACnB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,SAAS,CAAC;SACjD,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACZ,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACnC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;QAC3E,OAAO,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,GAAG,QAAQ,EAAE,CAAC;IACxD,CAAC,CAAC,CAAC;IAEL,0EAA0E;IAC1E,0EAA0E;IAC1E,uEAAuE;IACvE,2DAA2D;IAC3D,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC;AAC5C,CAAC,CAAC;AAjBW,QAAA,mBAAmB,uBAiB9B;AAEF,MAAM,OAAO,GAAG,CACd,KAAa,EACb,KAAa,EACb,EAAE,UAAU,EAAE,SAAS,EAAsB,EACrC,EAAE;IACV,MAAM,IAAI,GAAG,eAAe,UAAU,6CAA6C,SAAS,GAAG,CAAC;IAChG,OAAO;+BACsB,IAAI,KAAK,IAAA,kBAAU,EAAC,KAAK,CAAC;8BAC3B,IAAI;mBACf,IAAI,KAAK,IAAA,kBAAU,EAAC,KAAK,CAAC;UACnC,CAAC;AACX,CAAC,CAAC;AAEF,6EAA6E;AAC7E,MAAM,UAAU,GAAG,CACjB,IAAoC,EACpC,QAAgB,EAChB,QAA4B,EACpB,EAAE;IACV,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC;IACnD,MAAM,OAAO,GAAG,eAAe,UAAU,+DAA+D,SAAS,GAAG,CAAC;IAErH,MAAM,KAAK,GAAG;QACZ,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE;QAC1D,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE;QAChE,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC;QACzD,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE;KAC7E;SACE,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,QAAQ,CAAC,CAAC;IAElB,OAAO;;mBAEU,OAAO,yBAAyB,IAAA,kBAAU,EAAC,IAAI,CAAC,KAAK,CAAC;8CAC3B,OAAO,yBAAyB,IAAA,mBAAW,EAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC;;;;;MAK1G,KAAK;WACA,CAAC;AACZ,CAAC,CAAC;AAEK,MAAM,eAAe,GAAG,CAC7B,KAA6B,EAC7B,QAAgB,EAChB,QAA4B,EACpB,EAAE,CACV,KAAK;KACF,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;KACnD,IAAI,CACH,+EAA+E,CAChF,CAAC;AATO,QAAA,eAAe,mBAStB;AAEC,MAAM,iBAAiB,GAAG,CAAC,KAAe,EAAU,EAAE,CAC3D,KAAK,CAAC,GAAG,CAAC,kBAAU,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAD1B,QAAA,iBAAiB,qBACS;AAEvC;;;;;GAKG;AACI,MAAM,eAAe,GAAG,CAC7B,KAAiB,EACjB,KAAoB,EACpB,QAA4B,EAC5B,WAAoB;AACpB,6EAA6E;AAC7E,YAAqB;AACrB,qEAAqE;AACrE,QAAwB,EACA,EAAE;IAC1B,MAAM,KAAK,GAAG,CAAC,MAAc,EAAU,EAAE,CAAC,IAAA,mBAAW,EAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IAE9E,yEAAyE;IACzE,qEAAqE;IACrE,2EAA2E;IAC3E,6BAA6B;IAC7B,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAA,2BAAmB,EAAC,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;IAClF,MAAM,OAAO,GAAG,QAAQ,KAAK,SAAS,CAAC;IACvC,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAErE,MAAM,UAAU,GAA2B;QACzC,QAAQ,EAAE,QAAQ,CAAC,OAAO;QAC1B,aAAa,EAAE,KAAK,CAAC,YAAY,IAAI,OAAO;QAC5C,YAAY,EAAE,KAAK,CAAC,WAAW;QAC/B,UAAU,EAAE,IAAA,uBAAe,EAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC;QAC5D,0EAA0E;QAC1E,4EAA4E;QAC5E,yEAAyE;QACzE,YAAY,EACV,CAAC,OAAO,IAAI,KAAK,CAAC,aAAa,GAAG,CAAC;YACjC,CAAC,CAAC,wBAAwB,IAAA,kBAAU,EAAC,QAAQ,CAAC,aAAa,CAAC,OAAO;gBACjE,iDAAiD,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,YAAY;YACzF,CAAC,CAAC,EAAE;QACR,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC/C,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC;QACzD,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC;QAC5D,wEAAwE;QACxE,gDAAgD;QAChD,aAAa,EAAE,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC;QACpE,oBAAoB,EAAE,IAAA,yBAAiB,EAAC,KAAK,CAAC,cAAc,CAAC;QAC7D,qBAAqB,EAAE,IAAA,yBAAiB,EAAC,KAAK,CAAC,eAAe,CAAC;QAC/D,cAAc,EAAE,IAAA,4BAAoB,EAClC,KAAK,EACL,QAAQ,CAAC,WAAW,EACpB,qBAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,EAC9D,QAAQ,CAAC,aAAa,CACvB;QACD,eAAe,EAAE,KAAK,CAAC,cAAc;QACrC,aAAa,EAAE,QAAQ,CAAC,YAAY;QACpC,aAAa,EAAE,QAAQ,CAAC,YAAY;KACrC,CAAC;IAEF,yEAAyE;IACzE,6EAA6E;IAC7E,kCAAkC;IAClC,IAAI,KAAK,KAAK,cAAc,IAAI,KAAK,KAAK,eAAe,EAAE,CAAC;QAC1D,4EAA4E;QAC5E,yEAAyE;QACzE,kDAAkD;QAClD,UAAU,CAAC,YAAY;YACrB,WAAW,IAAI,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,cAAc,IAAI,EAAE,CAAC;IACnE,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC;AAhEW,QAAA,eAAe,mBAgE1B"}
@@ -1 +1 @@
1
- {"version":3,"file":"order-email.service.d.ts","sourceRoot":"","sources":["../../src/notifications/order-email.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kDAAkD,CAAC;AACvF,OAAO,EAAE,aAAa,EAAmB,MAAM,sBAAsB,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAEL,gBAAgB,EAChB,UAAU,EAGX,MAAM,4BAA4B,CAAC;AAsBpC;;;;;;;;GAQG;AACH,qBACa,iBAAiB;IAE1B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAFN,aAAa,EAAE,aAAa,EAC5B,OAAO,EAAE,mBAAmB,EAC5B,MAAM,EAAE,WAAW;IAGhC,IAAI,CACR,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,UAAU,EACjB,OAAO,EAAE,MAAM,GAAG,MAAM,EACxB,WAAW,CAAC,EAAE,MAAM,EACpB,YAAY,CAAC,EAAE,MAAM;IACrB,qEAAqE;IACrE,QAAQ,CAAC,EAAE,aAAa,GACvB,OAAO,CAAC,gBAAgB,CAAC;IAuE5B;;;;;OAKG;IACH,OAAO,CAAC,aAAa;IAmCrB,iFAAiF;IACjF,OAAO,CAAC,iBAAiB;CA8B1B"}
1
+ {"version":3,"file":"order-email.service.d.ts","sourceRoot":"","sources":["../../src/notifications/order-email.service.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kDAAkD,CAAC;AACvF,OAAO,EAAE,aAAa,EAAmB,MAAM,sBAAsB,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAEL,gBAAgB,EAChB,UAAU,EAGX,MAAM,4BAA4B,CAAC;AAsBpC;;;;;;;;GAQG;AACH,qBACa,iBAAiB;IAE1B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAFN,aAAa,EAAE,aAAa,EAC5B,OAAO,EAAE,mBAAmB,EAC5B,MAAM,EAAE,WAAW;IAGhC,IAAI,CACR,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,UAAU,EACjB,OAAO,EAAE,MAAM,GAAG,MAAM,EACxB,WAAW,CAAC,EAAE,MAAM,EACpB,YAAY,CAAC,EAAE,MAAM;IACrB,qEAAqE;IACrE,QAAQ,CAAC,EAAE,aAAa,GACvB,OAAO,CAAC,gBAAgB,CAAC;IAuE5B;;;;;OAKG;IACH,OAAO,CAAC,aAAa;IAmCrB,iFAAiF;IACjF,OAAO,CAAC,iBAAiB;CAmC1B"}
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.OrderEmailService = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const common_1 = require("@nestjs/common");
6
+ const feature_flags_1 = require("../common/feature-flags");
6
7
  const logger_1 = require("../common/logger");
7
8
  const config_service_1 = require("../config/config.service");
8
9
  const netcore_email_service_1 = require("../integrations/engagement/netcore-email.service");
@@ -121,6 +122,10 @@ let OrderEmailService = class OrderEmailService {
121
122
  }
122
123
  /** Returns the engagement options, or null when the brand has no email setup. */
123
124
  configureProvider(brand) {
125
+ if (!(0, feature_flags_1.isOrderEmailEnabled)()) {
126
+ logger_1.logger.info('Order email disabled - skipping', { brand });
127
+ return null;
128
+ }
124
129
  const engagement = this.configService.getBrand(brand)?.integrations
125
130
  ?.engagement;
126
131
  if (!engagement?.apiKey) {
@@ -1 +1 @@
1
- {"version":3,"file":"order-email.service.js","sourceRoot":"","sources":["../../src/notifications/order-email.service.ts"],"names":[],"mappings":";;;;AAAA,2CAA4C;AAC5C,6CAA0C;AAC1C,6DAAyD;AACzD,4FAAuF;AACvF,6DAAsE;AACtE,iDAA6C;AA6B7C;;;;;;;;GAQG;AAEI,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;IAET;IACA;IACA;IAHnB,YACmB,aAA4B,EAC5B,OAA4B,EAC5B,MAAmB;QAFnB,kBAAa,GAAb,aAAa,CAAe;QAC5B,YAAO,GAAP,OAAO,CAAqB;QAC5B,WAAM,GAAN,MAAM,CAAa;IACnC,CAAC;IAEJ,KAAK,CAAC,IAAI,CACR,KAAa,EACb,KAAiB,EACjB,OAAwB,EACxB,WAAoB,EACpB,YAAqB;IACrB,qEAAqE;IACrE,QAAwB;QAExB,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAC9C,IAAI,CAAC,OAAO;YAAE,OAAO,SAAS,CAAC;QAE/B,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC;QAC5C,IAAI,CAAC,WAAW,EAAE,UAAU,EAAE,CAAC;YAC7B,eAAM,CAAC,IAAI,CAAC,yDAAyD,EAAE;gBACrE,KAAK;gBACL,KAAK;aACN,CAAC,CAAC;YACH,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACrD,IAAI,CAAC,KAAK;YAAE,OAAO,QAAQ,CAAC;QAE5B,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACjB,eAAM,CAAC,IAAI,CAAC,6CAA6C,EAAE;gBACzD,KAAK;gBACL,KAAK;gBACL,OAAO;aACR,CAAC,CAAC;YACH,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAEpD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;YACrC,OAAO,EAAE,WAAW,CAAC,OAAO;YAC5B,UAAU,EAAE,WAAW,CAAC,UAAU;YAClC,uEAAuE;YACvE,wEAAwE;YACxE,0DAA0D;YAC1D,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;YAC9C,IAAI,EAAE,CAAC,WAAW,CAAC,GAAG,IAAI,KAAK,CAAC;YAChC,gBAAgB,EAAE;gBAChB;oBACE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,YAAY,IAAI,SAAS,EAAE,CAAC;oBACnE,UAAU,EAAE,IAAA,oCAAe,EACzB,KAAK,EACL,KAAK,EACL,QAAQ,EACR,WAAW,EACX,YAAY,EAClB,QAAQ,CACH;iBACF;aACF;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,eAAM,CAAC,KAAK,CAAC,4BAA4B,EAAE;gBACzC,KAAK;gBACL,KAAK;gBACL,OAAO;gBACP,SAAS,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI;gBAC7B,YAAY,EAAE,MAAM,CAAC,KAAK,EAAE,OAAO;aACpC,CAAC,CAAC;YACH,6DAA6D;YAC7D,OAAO,MAAM,CAAC,KAAK,EAAE,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;QACrE,CAAC;QAED,eAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE;YAC9B,KAAK;YACL,KAAK;YACL,OAAO;YACP,SAAS,EAAE,MAAM,CAAC,IAAI,EAAE,SAAS;SAClC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;OAKG;IACK,aAAa,CACnB,KAAa,EACb,OAA0B;QAE1B,MAAM,OAAO,GACX,CAAC,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,YAAY,CAC1D,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;QAEjC,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,eAAM,CAAC,IAAI,CAAC,wDAAwD,EAAE;gBACpE,KAAK;gBACL,OAAO;aACR,CAAC,CAAC;QACL,CAAC;QAED,MAAM,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;QAClC,OAAO;YACL,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,EAAE;YAC9B,YAAY,EAAE,OAAO,CAAC,YAAY,IAAI,EAAE;YACxC,YAAY,EAAE,OAAO,CAAC,YAAY,IAAI,EAAE;YACxC,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,EAAE;YACpC,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,EAAE;YAClC,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,EAAE;YAC1C,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,EAAE;YACtC,cAAc,EAAE,OAAO,CAAC,cAAc,IAAI,EAAE;YAC5C,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,EAAE;YAC1C,MAAM,EAAE;gBACN,IAAI,EAAE,MAAM,EAAE,IAAI,IAAI,EAAE;gBACxB,MAAM,EAAE,MAAM,EAAE,MAAM,IAAI,EAAE;gBAC5B,QAAQ,EAAE,MAAM,EAAE,QAAQ,IAAI,EAAE;gBAChC,UAAU,EAAE,MAAM,EAAE,UAAU,IAAI,EAAE;aACrC;SACF,CAAC;IACJ,CAAC;IAED,iFAAiF;IACzE,iBAAiB,CAAC,KAAa;QACrC,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,YAAY;YACjE,EAAE,UAAU,CAAC;QAEf,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC;YACxB,eAAM,CAAC,IAAI,CAAC,wDAAwD,EAAE;gBACpE,KAAK;aACN,CAAC,CAAC;YACH,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,OAAO,GAAG,CAAC,UAAU,CAAC,OAAO,IAAI,EAAE,CAAsB,CAAC;QAEhE,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;YACvB,eAAM,CAAC,IAAI,CAAC,0CAA0C,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;YACnE,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC;YACjC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,EAAE;gBAC5B,OAAO,EAAE,UAAU,CAAC,OAAO;gBAC3B,MAAM,EAAE,UAAU,CAAC,MAAM;gBACzB,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,OAAO,EAAE,OAAO,CAAC,OAAO;aACzB,CAAC,CAAC;QACL,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAA;AA9JY,8CAAiB;4BAAjB,iBAAiB;IAD7B,IAAA,mBAAU,GAAE;6CAGuB,8BAAa;QACnB,2CAAmB;QACpB,0BAAW;GAJ3B,iBAAiB,CA8J7B"}
1
+ {"version":3,"file":"order-email.service.js","sourceRoot":"","sources":["../../src/notifications/order-email.service.ts"],"names":[],"mappings":";;;;AAAA,2CAA4C;AAC5C,2DAA8D;AAC9D,6CAA0C;AAC1C,6DAAyD;AACzD,4FAAuF;AACvF,6DAAsE;AACtE,iDAA6C;AA6B7C;;;;;;;;GAQG;AAEI,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;IAET;IACA;IACA;IAHnB,YACmB,aAA4B,EAC5B,OAA4B,EAC5B,MAAmB;QAFnB,kBAAa,GAAb,aAAa,CAAe;QAC5B,YAAO,GAAP,OAAO,CAAqB;QAC5B,WAAM,GAAN,MAAM,CAAa;IACnC,CAAC;IAEJ,KAAK,CAAC,IAAI,CACR,KAAa,EACb,KAAiB,EACjB,OAAwB,EACxB,WAAoB,EACpB,YAAqB;IACrB,qEAAqE;IACrE,QAAwB;QAExB,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAC9C,IAAI,CAAC,OAAO;YAAE,OAAO,SAAS,CAAC;QAE/B,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC;QAC5C,IAAI,CAAC,WAAW,EAAE,UAAU,EAAE,CAAC;YAC7B,eAAM,CAAC,IAAI,CAAC,yDAAyD,EAAE;gBACrE,KAAK;gBACL,KAAK;aACN,CAAC,CAAC;YACH,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACrD,IAAI,CAAC,KAAK;YAAE,OAAO,QAAQ,CAAC;QAE5B,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACjB,eAAM,CAAC,IAAI,CAAC,6CAA6C,EAAE;gBACzD,KAAK;gBACL,KAAK;gBACL,OAAO;aACR,CAAC,CAAC;YACH,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAEpD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;YACrC,OAAO,EAAE,WAAW,CAAC,OAAO;YAC5B,UAAU,EAAE,WAAW,CAAC,UAAU;YAClC,uEAAuE;YACvE,wEAAwE;YACxE,0DAA0D;YAC1D,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;YAC9C,IAAI,EAAE,CAAC,WAAW,CAAC,GAAG,IAAI,KAAK,CAAC;YAChC,gBAAgB,EAAE;gBAChB;oBACE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,YAAY,IAAI,SAAS,EAAE,CAAC;oBACnE,UAAU,EAAE,IAAA,oCAAe,EACzB,KAAK,EACL,KAAK,EACL,QAAQ,EACR,WAAW,EACX,YAAY,EAClB,QAAQ,CACH;iBACF;aACF;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,eAAM,CAAC,KAAK,CAAC,4BAA4B,EAAE;gBACzC,KAAK;gBACL,KAAK;gBACL,OAAO;gBACP,SAAS,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI;gBAC7B,YAAY,EAAE,MAAM,CAAC,KAAK,EAAE,OAAO;aACpC,CAAC,CAAC;YACH,6DAA6D;YAC7D,OAAO,MAAM,CAAC,KAAK,EAAE,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;QACrE,CAAC;QAED,eAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE;YAC9B,KAAK;YACL,KAAK;YACL,OAAO;YACP,SAAS,EAAE,MAAM,CAAC,IAAI,EAAE,SAAS;SAClC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;OAKG;IACK,aAAa,CACnB,KAAa,EACb,OAA0B;QAE1B,MAAM,OAAO,GACX,CAAC,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,YAAY,CAC1D,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;QAEjC,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,eAAM,CAAC,IAAI,CAAC,wDAAwD,EAAE;gBACpE,KAAK;gBACL,OAAO;aACR,CAAC,CAAC;QACL,CAAC;QAED,MAAM,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;QAClC,OAAO;YACL,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,EAAE;YAC9B,YAAY,EAAE,OAAO,CAAC,YAAY,IAAI,EAAE;YACxC,YAAY,EAAE,OAAO,CAAC,YAAY,IAAI,EAAE;YACxC,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,EAAE;YACpC,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,EAAE;YAClC,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,EAAE;YAC1C,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,EAAE;YACtC,cAAc,EAAE,OAAO,CAAC,cAAc,IAAI,EAAE;YAC5C,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,EAAE;YAC1C,MAAM,EAAE;gBACN,IAAI,EAAE,MAAM,EAAE,IAAI,IAAI,EAAE;gBACxB,MAAM,EAAE,MAAM,EAAE,MAAM,IAAI,EAAE;gBAC5B,QAAQ,EAAE,MAAM,EAAE,QAAQ,IAAI,EAAE;gBAChC,UAAU,EAAE,MAAM,EAAE,UAAU,IAAI,EAAE;aACrC;SACF,CAAC;IACJ,CAAC;IAED,iFAAiF;IACzE,iBAAiB,CAAC,KAAa;QACrC,IAAI,CAAC,IAAA,mCAAmB,GAAE,EAAE,CAAC;YAC3B,eAAM,CAAC,IAAI,CAAC,iCAAiC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;YAC1D,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,YAAY;YACjE,EAAE,UAAU,CAAC;QAEf,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC;YACxB,eAAM,CAAC,IAAI,CAAC,wDAAwD,EAAE;gBACpE,KAAK;aACN,CAAC,CAAC;YACH,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,OAAO,GAAG,CAAC,UAAU,CAAC,OAAO,IAAI,EAAE,CAAsB,CAAC;QAEhE,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;YACvB,eAAM,CAAC,IAAI,CAAC,0CAA0C,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;YACnE,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC;YACjC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,EAAE;gBAC5B,OAAO,EAAE,UAAU,CAAC,OAAO;gBAC3B,MAAM,EAAE,UAAU,CAAC,MAAM;gBACzB,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,OAAO,EAAE,OAAO,CAAC,OAAO;aACzB,CAAC,CAAC;QACL,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAA;AAnKY,8CAAiB;4BAAjB,iBAAiB;IAD7B,IAAA,mBAAU,GAAE;6CAGuB,8BAAa;QACnB,2CAAmB;QACpB,0BAAW;GAJ3B,iBAAiB,CAmK7B"}
@@ -0,0 +1,25 @@
1
+ import { AffectedLines } from './order-email.mapper';
2
+ import { OrderWhatsAppBranding } from './order-whatsapp.mapper';
3
+ import { OrderEvent } from './order-notification.types';
4
+ import { OrderSnapshot } from './order.source';
5
+ export interface SmsRenderContext {
6
+ event: OrderEvent;
7
+ order: OrderSnapshot;
8
+ branding: OrderWhatsAppBranding;
9
+ trackingUrl?: string;
10
+ refundAmount?: number;
11
+ declineReason?: string;
12
+ affected?: AffectedLines;
13
+ }
14
+ /**
15
+ * Substitute `{field}` placeholders in a DLT-approved body.
16
+ *
17
+ * An unknown placeholder is left as written rather than blanked. A name that
18
+ * does not resolve is a config mistake, and leaving it visible makes it
19
+ * obvious in a test send; blanking it would produce a plausible-looking
20
+ * message that no longer matches its registration.
21
+ */
22
+ export declare const renderSmsText: (template: string, context: SmsRenderContext) => string;
23
+ /** Placeholders in `template` that name no known field. */
24
+ export declare const unknownPlaceholders: (template: string) => string[];
25
+ //# sourceMappingURL=order-sms.mapper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"order-sms.mapper.d.ts","sourceRoot":"","sources":["../../src/notifications/order-sms.mapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EACL,qBAAqB,EAGtB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAsB/C,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,UAAU,CAAC;IAClB,KAAK,EAAE,aAAa,CAAC;IACrB,QAAQ,EAAE,qBAAqB,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,aAAa,CAAC;CAC1B;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,GACxB,UAAU,MAAM,EAChB,SAAS,gBAAgB,KACxB,MAaC,CAAC;AAmBL,2DAA2D;AAC3D,eAAO,MAAM,mBAAmB,GAAI,UAAU,MAAM,KAAG,MAAM,EAG5D,CAAC"}
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.unknownPlaceholders = exports.renderSmsText = void 0;
4
+ const order_whatsapp_mapper_1 = require("./order-whatsapp.mapper");
5
+ /**
6
+ * Renders the body of one transactional SMS.
7
+ *
8
+ * SMS differs from the other two channels in where the wording lives. Netcore
9
+ * assembles an email from a template id and a WhatsApp message from a template
10
+ * name; for SMS it forwards whatever text we send. The wording is therefore
11
+ * ours to produce, and it must match the body registered with DLT for that
12
+ * template id — the telco compares them and drops mismatches.
13
+ *
14
+ * So the text belongs in brand config rather than here: it is a transcription
15
+ * of an approved registration, and changing it in code would silently break
16
+ * delivery. This module only substitutes the variables.
17
+ *
18
+ * The values come from the same resolver WhatsApp uses, so a field means the
19
+ * same thing on both channels and only has to be got right once.
20
+ */
21
+ /** `{customerName}` — the field names are the WhatsApp ones. */
22
+ const PLACEHOLDER = /\{(\w+)\}/g;
23
+ /**
24
+ * Substitute `{field}` placeholders in a DLT-approved body.
25
+ *
26
+ * An unknown placeholder is left as written rather than blanked. A name that
27
+ * does not resolve is a config mistake, and leaving it visible makes it
28
+ * obvious in a test send; blanking it would produce a plausible-looking
29
+ * message that no longer matches its registration.
30
+ */
31
+ const renderSmsText = (template, context) => template.replace(PLACEHOLDER, (whole, name) => {
32
+ if (!isWhatsAppField(name))
33
+ return whole;
34
+ return (0, order_whatsapp_mapper_1.resolveField)(name, context.event, context.order, context.branding, context.trackingUrl, context.refundAmount, context.declineReason, context.affected);
35
+ });
36
+ exports.renderSmsText = renderSmsText;
37
+ const FIELDS = new Set([
38
+ 'customerName',
39
+ 'orderNumber',
40
+ 'products',
41
+ 'paymentMethod',
42
+ 'trackingUrl',
43
+ 'amount',
44
+ 'refundTimeframe',
45
+ 'expectedDelivery',
46
+ 'declineReason',
47
+ 'supportPhone',
48
+ 'supportEmail',
49
+ ]);
50
+ const isWhatsAppField = (name) => FIELDS.has(name);
51
+ /** Placeholders in `template` that name no known field. */
52
+ const unknownPlaceholders = (template) => {
53
+ const names = [...template.matchAll(PLACEHOLDER)].map(([, name]) => name);
54
+ return [...new Set(names.filter((name) => !isWhatsAppField(name)))];
55
+ };
56
+ exports.unknownPlaceholders = unknownPlaceholders;
57
+ //# sourceMappingURL=order-sms.mapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"order-sms.mapper.js","sourceRoot":"","sources":["../../src/notifications/order-sms.mapper.ts"],"names":[],"mappings":";;;AACA,mEAIiC;AAIjC;;;;;;;;;;;;;;;GAeG;AAEH,gEAAgE;AAChE,MAAM,WAAW,GAAG,YAAY,CAAC;AAYjC;;;;;;;GAOG;AACI,MAAM,aAAa,GAAG,CAC3B,QAAgB,EAChB,OAAyB,EACjB,EAAE,CACV,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,IAAY,EAAE,EAAE;IACpD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IACzC,OAAO,IAAA,oCAAY,EACjB,IAAI,EACJ,OAAO,CAAC,KAAK,EACb,OAAO,CAAC,KAAK,EACb,OAAO,CAAC,QAAQ,EAChB,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,YAAY,EACpB,OAAO,CAAC,aAAa,EACrB,OAAO,CAAC,QAAQ,CACjB,CAAC;AACJ,CAAC,CAAC,CAAC;AAhBQ,QAAA,aAAa,iBAgBrB;AAEL,MAAM,MAAM,GAAwB,IAAI,GAAG,CAAgB;IACzD,cAAc;IACd,aAAa;IACb,UAAU;IACV,eAAe;IACf,aAAa;IACb,QAAQ;IACR,iBAAiB;IACjB,kBAAkB;IAClB,eAAe;IACf,cAAc;IACd,cAAc;CACf,CAAC,CAAC;AAEH,MAAM,eAAe,GAAG,CAAC,IAAY,EAAyB,EAAE,CAC9D,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAEnB,2DAA2D;AACpD,MAAM,mBAAmB,GAAG,CAAC,QAAgB,EAAY,EAAE;IAChE,MAAM,KAAK,GAAG,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;IAC1E,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACtE,CAAC,CAAC;AAHW,QAAA,mBAAmB,uBAG9B"}
@@ -0,0 +1,28 @@
1
+ import { ConfigService } from '../config/config.service';
2
+ import { NetcoreSmsService } from '../integrations/engagement/netcore-sms.service';
3
+ import { AffectedLines } from './order-email.mapper';
4
+ import { OrderSource } from './order.source';
5
+ import { OrderEmailResult, OrderEvent } from './order-notification.types';
6
+ /**
7
+ * Sends one order lifecycle SMS for any brand.
8
+ *
9
+ * Mirrors `OrderWhatsAppService` — same snapshot, same fields, same skip
10
+ * behaviour when a brand has no template for an event or an order has no
11
+ * phone number. What differs is that the message body comes from config
12
+ * rather than the provider, because Indian SMS delivers the text we supply
13
+ * and DLT requires it to match a registration.
14
+ */
15
+ export declare class OrderSmsService {
16
+ private readonly configService;
17
+ private readonly sms;
18
+ private readonly source;
19
+ constructor(configService: ConfigService, sms: NetcoreSmsService, source: OrderSource);
20
+ send(brand: string, event: OrderEvent, orderId: string | number, trackingUrl?: string, refundAmount?: number,
21
+ /** Shopify's decline enum, for the return-rejected message. */
22
+ declineReason?: string,
23
+ /** Lines a return or refund covers. Absent means the whole order. */
24
+ affected?: AffectedLines): Promise<OrderEmailResult>;
25
+ private buildBranding;
26
+ private configureProvider;
27
+ }
28
+ //# sourceMappingURL=order-sms.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"order-sms.service.d.ts","sourceRoot":"","sources":["../../src/notifications/order-sms.service.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gDAAgD,CAAC;AACnF,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAGrD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AA4B1E;;;;;;;;GAQG;AACH,qBACa,eAAe;IAExB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAFN,aAAa,EAAE,aAAa,EAC5B,GAAG,EAAE,iBAAiB,EACtB,MAAM,EAAE,WAAW;IAGhC,IAAI,CACR,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,UAAU,EACjB,OAAO,EAAE,MAAM,GAAG,MAAM,EACxB,WAAW,CAAC,EAAE,MAAM,EACpB,YAAY,CAAC,EAAE,MAAM;IACrB,+DAA+D;IAC/D,aAAa,CAAC,EAAE,MAAM;IACtB,qEAAqE;IACrE,QAAQ,CAAC,EAAE,aAAa,GACvB,OAAO,CAAC,gBAAgB,CAAC;IA2E5B,OAAO,CAAC,aAAa;IAyBrB,OAAO,CAAC,iBAAiB;CAyC1B"}
@@ -0,0 +1,165 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OrderSmsService = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const common_1 = require("@nestjs/common");
6
+ const feature_flags_1 = require("../common/feature-flags");
7
+ const logger_1 = require("../common/logger");
8
+ const config_service_1 = require("../config/config.service");
9
+ const netcore_sms_service_1 = require("../integrations/engagement/netcore-sms.service");
10
+ const order_sms_mapper_1 = require("./order-sms.mapper");
11
+ const order_source_1 = require("./order.source");
12
+ /**
13
+ * Sends one order lifecycle SMS for any brand.
14
+ *
15
+ * Mirrors `OrderWhatsAppService` — same snapshot, same fields, same skip
16
+ * behaviour when a brand has no template for an event or an order has no
17
+ * phone number. What differs is that the message body comes from config
18
+ * rather than the provider, because Indian SMS delivers the text we supply
19
+ * and DLT requires it to match a registration.
20
+ */
21
+ let OrderSmsService = class OrderSmsService {
22
+ configService;
23
+ sms;
24
+ source;
25
+ constructor(configService, sms, source) {
26
+ this.configService = configService;
27
+ this.sms = sms;
28
+ this.source = source;
29
+ }
30
+ async send(brand, event, orderId, trackingUrl, refundAmount,
31
+ /** Shopify's decline enum, for the return-rejected message. */
32
+ declineReason,
33
+ /** Lines a return or refund covers. Absent means the whole order. */
34
+ affected) {
35
+ const options = this.configureProvider(brand);
36
+ if (!options)
37
+ return 'skipped';
38
+ const eventConfig = options.events?.[event];
39
+ if (!eventConfig?.templateId || !eventConfig.text) {
40
+ logger_1.logger.warn('No SMS template configured for order event - skipping', {
41
+ brand,
42
+ event,
43
+ });
44
+ return 'skipped';
45
+ }
46
+ const order = await this.source.load(brand, orderId);
47
+ if (!order)
48
+ return 'failed';
49
+ if (!order.phone) {
50
+ logger_1.logger.warn('Order has no phone number - skipping SMS', {
51
+ brand,
52
+ event,
53
+ orderId,
54
+ });
55
+ return 'skipped';
56
+ }
57
+ // A misspelled placeholder ships the literal `{orderNumber}` to a customer
58
+ // and breaks the DLT match. Warn rather than fail: the rest of the message
59
+ // is still correct, and a silent skip would be harder to trace.
60
+ const unknown = (0, order_sms_mapper_1.unknownPlaceholders)(eventConfig.text);
61
+ if (unknown.length) {
62
+ logger_1.logger.warn('SMS template has unknown placeholders', {
63
+ brand,
64
+ event,
65
+ unknown,
66
+ });
67
+ }
68
+ const text = (0, order_sms_mapper_1.renderSmsText)(eventConfig.text, {
69
+ event,
70
+ order,
71
+ branding: this.buildBranding(brand, options),
72
+ trackingUrl,
73
+ refundAmount,
74
+ declineReason,
75
+ affected,
76
+ });
77
+ const result = await this.sms.send({
78
+ recipient: order.phone,
79
+ text,
80
+ templateId: eventConfig.templateId,
81
+ });
82
+ if (!result.success) {
83
+ logger_1.logger.error('Failed to send order SMS', {
84
+ brand,
85
+ event,
86
+ orderId,
87
+ templateId: eventConfig.templateId,
88
+ errorCode: result.error?.code,
89
+ errorMessage: result.error?.message,
90
+ });
91
+ return 'failed';
92
+ }
93
+ logger_1.logger.info('Order SMS sent', {
94
+ brand,
95
+ event,
96
+ orderId,
97
+ templateId: eventConfig.templateId,
98
+ requestId: result.data?.requestId,
99
+ });
100
+ return 'sent';
101
+ }
102
+ buildBranding(brand, options) {
103
+ const missing = ['supportPhone', 'supportEmail', 'refundTimeframe']
104
+ .filter((key) => !options[key]);
105
+ if (missing.length) {
106
+ logger_1.logger.warn('Brand SMS config is missing presentation values', {
107
+ brand,
108
+ missing,
109
+ });
110
+ }
111
+ return {
112
+ supportPhone: options.supportPhone ?? '',
113
+ supportEmail: options.supportEmail ?? '',
114
+ refundTimeframe: options.refundTimeframe ?? '',
115
+ paymentTags: options.paymentTags ?? [],
116
+ codRefundLabel: options.codRefundLabel ?? '',
117
+ gatewayLabels: options.gatewayLabels ?? {},
118
+ declineReasons: options.declineReasons ?? {},
119
+ fallbacks: options.fallbacks ?? {},
120
+ };
121
+ }
122
+ configureProvider(brand) {
123
+ if (!(0, feature_flags_1.isOrderSmsEnabled)()) {
124
+ logger_1.logger.info('Order SMS disabled - skipping', { brand });
125
+ return null;
126
+ }
127
+ const sms = this.configService.getBrand(brand)?.integrations?.sms;
128
+ const options = (sms?.options ?? {});
129
+ // Credentials live in the body of every request rather than a header, so
130
+ // all three must be present before anything is sent.
131
+ const feedId = sms?.feedId;
132
+ const username = sms?.username;
133
+ const password = sms?.password;
134
+ if (!feedId || !username || !password) {
135
+ logger_1.logger.warn('SMS integration not configured - skipping message', {
136
+ brand,
137
+ });
138
+ return null;
139
+ }
140
+ if (!options.entityId) {
141
+ logger_1.logger.warn('SMS integration missing DLT entityId - skipping message', {
142
+ brand,
143
+ });
144
+ return null;
145
+ }
146
+ if (!this.sms.isConfigured()) {
147
+ this.sms.configure(brand, {
148
+ baseUrl: sms?.baseUrl,
149
+ feedId,
150
+ username,
151
+ password,
152
+ entityId: options.entityId,
153
+ });
154
+ }
155
+ return options;
156
+ }
157
+ };
158
+ exports.OrderSmsService = OrderSmsService;
159
+ exports.OrderSmsService = OrderSmsService = tslib_1.__decorate([
160
+ (0, common_1.Injectable)(),
161
+ tslib_1.__metadata("design:paramtypes", [config_service_1.ConfigService,
162
+ netcore_sms_service_1.NetcoreSmsService,
163
+ order_source_1.OrderSource])
164
+ ], OrderSmsService);
165
+ //# sourceMappingURL=order-sms.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"order-sms.service.js","sourceRoot":"","sources":["../../src/notifications/order-sms.service.ts"],"names":[],"mappings":"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"}
@@ -43,6 +43,14 @@ export interface OrderWhatsAppBranding {
43
43
  */
44
44
  export declare const renderProducts: (items: OrderSnapshot["items"]) => string;
45
45
  export declare const formatEdd: (note: string | null) => string;
46
+ /**
47
+ * One field's final value: resolved, whitespace-flattened, and falling back to
48
+ * the brand's configured default when there is nothing to show.
49
+ *
50
+ * Shared with SMS, which needs the same values substituted into text rather
51
+ * than passed positionally.
52
+ */
53
+ export declare const resolveField: (field: WhatsAppField, event: OrderEvent, order: OrderSnapshot, branding: OrderWhatsAppBranding, trackingUrl?: string, refundAmount?: number, declineReason?: string, affected?: AffectedLines) => string;
46
54
  /**
47
55
  * Build the positional `attributes` array for one template.
48
56
  *
@@ -1 +1 @@
1
- {"version":3,"file":"order-whatsapp.mapper.d.ts","sourceRoot":"","sources":["../../src/notifications/order-whatsapp.mapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EACL,aAAa,EAKd,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAExD;;;;GAIG;AACH,MAAM,MAAM,aAAa,GACrB,cAAc,GACd,aAAa,GACb,UAAU,GACV,eAAe,GACf,aAAa,GACb,QAAQ,GACR,iBAAiB,GACjB,kBAAkB,GAClB,eAAe,GACf,cAAc,GACd,cAAc,CAAC;AAEnB,MAAM,WAAW,qBAAqB;IACpC;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,4DAA4D;IAC5D,cAAc,EAAE,MAAM,CAAC;IACvB;;;;OAIG;IACH,cAAc,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACjD,+EAA+E;IAC/E,aAAa,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAChD,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,sFAAsF;IACtF,eAAe,EAAE,MAAM,CAAC;IACxB;;;OAGG;IACH,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC;CACnD;AAKD;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,GAAI,OAAO,aAAa,CAAC,OAAO,CAAC,KAAG,MAuB9D,CAAC;AAmBF,eAAO,MAAM,SAAS,GAAI,MAAM,MAAM,GAAG,IAAI,KAAG,MAO/C,CAAC;AAuDF;;;;;;GAMG;AACH,eAAO,MAAM,uBAAuB,GAClC,QAAQ,SAAS,aAAa,EAAE,EAChC,OAAO,UAAU,EACjB,OAAO,aAAa,EACpB,UAAU,qBAAqB,EAC/B,cAAc,MAAM,EACpB,eAAe,MAAM,EACrB,gBAAgB,MAAM,EACtB,WAAW,aAAa,KACvB,MAAM,EAeL,CAAC"}
1
+ {"version":3,"file":"order-whatsapp.mapper.d.ts","sourceRoot":"","sources":["../../src/notifications/order-whatsapp.mapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EACL,aAAa,EAKd,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAExD;;;;GAIG;AACH,MAAM,MAAM,aAAa,GACrB,cAAc,GACd,aAAa,GACb,UAAU,GACV,eAAe,GACf,aAAa,GACb,QAAQ,GACR,iBAAiB,GACjB,kBAAkB,GAClB,eAAe,GACf,cAAc,GACd,cAAc,CAAC;AAEnB,MAAM,WAAW,qBAAqB;IACpC;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,4DAA4D;IAC5D,cAAc,EAAE,MAAM,CAAC;IACvB;;;;OAIG;IACH,cAAc,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACjD,+EAA+E;IAC/E,aAAa,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAChD,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,sFAAsF;IACtF,eAAe,EAAE,MAAM,CAAC;IACxB;;;OAGG;IACH,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC;CACnD;AAKD;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,GAAI,OAAO,aAAa,CAAC,OAAO,CAAC,KAAG,MAuB9D,CAAC;AAmBF,eAAO,MAAM,SAAS,GAAI,MAAM,MAAM,GAAG,IAAI,KAAG,MAO/C,CAAC;AAuDF;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,GACvB,OAAO,aAAa,EACpB,OAAO,UAAU,EACjB,OAAO,aAAa,EACpB,UAAU,qBAAqB,EAC/B,cAAc,MAAM,EACpB,eAAe,MAAM,EACrB,gBAAgB,MAAM,EACtB,WAAW,aAAa,KACvB,MAcF,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,uBAAuB,GAClC,QAAQ,SAAS,aAAa,EAAE,EAChC,OAAO,UAAU,EACjB,OAAO,aAAa,EACpB,UAAU,qBAAqB,EAC/B,cAAc,MAAM,EACpB,eAAe,MAAM,EACrB,gBAAgB,MAAM,EACtB,WAAW,aAAa,KACvB,MAAM,EAYN,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.buildWhatsAppAttributes = exports.formatEdd = exports.renderProducts = void 0;
3
+ exports.buildWhatsAppAttributes = exports.resolveField = exports.formatEdd = exports.renderProducts = void 0;
4
4
  const order_email_mapper_1 = require("./order-email.mapper");
5
5
  /** Max characters for the joined product list before it is summarised. */
6
6
  const PRODUCTS_MAX_LENGTH = 700;
@@ -98,6 +98,18 @@ const resolve = (field, event, order, branding, trackingUrl, refundAmount, decli
98
98
  return '';
99
99
  }
100
100
  };
101
+ /**
102
+ * One field's final value: resolved, whitespace-flattened, and falling back to
103
+ * the brand's configured default when there is nothing to show.
104
+ *
105
+ * Shared with SMS, which needs the same values substituted into text rather
106
+ * than passed positionally.
107
+ */
108
+ const resolveField = (field, event, order, branding, trackingUrl, refundAmount, declineReason, affected) => {
109
+ const value = flatten(resolve(field, event, order, branding, trackingUrl, refundAmount, declineReason, affected));
110
+ return value || flatten(branding.fallbacks[field] ?? '');
111
+ };
112
+ exports.resolveField = resolveField;
101
113
  /**
102
114
  * Build the positional `attributes` array for one template.
103
115
  *
@@ -105,9 +117,6 @@ const resolve = (field, event, order, branding, trackingUrl, refundAmount, decli
105
117
  * variable order. Any value that resolves empty takes its configured fallback,
106
118
  * because WhatsApp rejects the whole send on a blank variable.
107
119
  */
108
- const buildWhatsAppAttributes = (fields, event, order, branding, trackingUrl, refundAmount, declineReason, affected) => fields.map((field) => {
109
- const value = flatten(resolve(field, event, order, branding, trackingUrl, refundAmount, declineReason, affected));
110
- return value || flatten(branding.fallbacks[field] ?? '');
111
- });
120
+ const buildWhatsAppAttributes = (fields, event, order, branding, trackingUrl, refundAmount, declineReason, affected) => fields.map((field) => (0, exports.resolveField)(field, event, order, branding, trackingUrl, refundAmount, declineReason, affected));
112
121
  exports.buildWhatsAppAttributes = buildWhatsAppAttributes;
113
122
  //# sourceMappingURL=order-whatsapp.mapper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"order-whatsapp.mapper.js","sourceRoot":"","sources":["../../src/notifications/order-whatsapp.mapper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"order-whatsapp.mapper.js","sourceRoot":"","sources":["../../src/notifications/order-whatsapp.mapper.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"order-whatsapp.service.d.ts","sourceRoot":"","sources":["../../src/notifications/order-whatsapp.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,qDAAqD,CAAC;AAC7F,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAMrD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AA0B1E;;;;;;;;;;;;GAYG;AACH,qBACa,oBAAoB;IAE7B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAFN,aAAa,EAAE,aAAa,EAC5B,QAAQ,EAAE,sBAAsB,EAChC,MAAM,EAAE,WAAW;IAGhC,IAAI,CACR,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,UAAU,EACjB,OAAO,EAAE,MAAM,GAAG,MAAM,EACxB,WAAW,CAAC,EAAE,MAAM,EACpB,YAAY,CAAC,EAAE,MAAM;IACrB,+DAA+D;IAC/D,aAAa,CAAC,EAAE,MAAM;IACtB,qEAAqE;IACrE,QAAQ,CAAC,EAAE,aAAa,GACvB,OAAO,CAAC,gBAAgB,CAAC;IAkE5B,OAAO,CAAC,aAAa;IAyBrB,OAAO,CAAC,iBAAiB;CAmB1B"}
1
+ {"version":3,"file":"order-whatsapp.service.d.ts","sourceRoot":"","sources":["../../src/notifications/order-whatsapp.service.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,qDAAqD,CAAC;AAC7F,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAMrD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AA0B1E;;;;;;;;;;;;GAYG;AACH,qBACa,oBAAoB;IAE7B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAFN,aAAa,EAAE,aAAa,EAC5B,QAAQ,EAAE,sBAAsB,EAChC,MAAM,EAAE,WAAW;IAGhC,IAAI,CACR,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,UAAU,EACjB,OAAO,EAAE,MAAM,GAAG,MAAM,EACxB,WAAW,CAAC,EAAE,MAAM,EACpB,YAAY,CAAC,EAAE,MAAM;IACrB,+DAA+D;IAC/D,aAAa,CAAC,EAAE,MAAM;IACtB,qEAAqE;IACrE,QAAQ,CAAC,EAAE,aAAa,GACvB,OAAO,CAAC,gBAAgB,CAAC;IAkE5B,OAAO,CAAC,aAAa;IAyBrB,OAAO,CAAC,iBAAiB;CAwB1B"}
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.OrderWhatsAppService = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const common_1 = require("@nestjs/common");
6
+ const feature_flags_1 = require("../common/feature-flags");
6
7
  const logger_1 = require("../common/logger");
7
8
  const config_service_1 = require("../config/config.service");
8
9
  const netcore_whatsapp_service_1 = require("../integrations/engagement/netcore-whatsapp.service");
@@ -106,6 +107,10 @@ let OrderWhatsAppService = class OrderWhatsAppService {
106
107
  };
107
108
  }
108
109
  configureProvider(brand) {
110
+ if (!(0, feature_flags_1.isOrderWhatsAppEnabled)()) {
111
+ logger_1.logger.info('Order WhatsApp disabled - skipping', { brand });
112
+ return null;
113
+ }
109
114
  const whatsapp = this.configService.getBrand(brand)?.integrations?.whatsapp;
110
115
  if (!whatsapp?.apiKey) {
111
116
  logger_1.logger.warn('WhatsApp integration not configured - skipping message', {
@@ -1 +1 @@
1
- {"version":3,"file":"order-whatsapp.service.js","sourceRoot":"","sources":["../../src/notifications/order-whatsapp.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"order-whatsapp.service.js","sourceRoot":"","sources":["../../src/notifications/order-whatsapp.service.ts"],"names":[],"mappings":";;;;AAAA,2CAA4C;AAC5C,2DAAiE;AACjE,6CAA0C;AAC1C,6DAAyD;AACzD,kGAA6F;AAE7F,mEAIiC;AACjC,iDAA6C;AA2B7C;;;;;;;;;;;;GAYG;AAEI,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;IAEZ;IACA;IACA;IAHnB,YACmB,aAA4B,EAC5B,QAAgC,EAChC,MAAmB;QAFnB,kBAAa,GAAb,aAAa,CAAe;QAC5B,aAAQ,GAAR,QAAQ,CAAwB;QAChC,WAAM,GAAN,MAAM,CAAa;IACnC,CAAC;IAEJ,KAAK,CAAC,IAAI,CACR,KAAa,EACb,KAAiB,EACjB,OAAwB,EACxB,WAAoB,EACpB,YAAqB;IACrB,+DAA+D;IAC/D,aAAsB;IACtB,qEAAqE;IACrE,QAAwB;QAExB,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAC9C,IAAI,CAAC,OAAO;YAAE,OAAO,SAAS,CAAC;QAE/B,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC;QAC5C,IAAI,CAAC,WAAW,EAAE,YAAY,EAAE,CAAC;YAC/B,eAAM,CAAC,IAAI,CAAC,4DAA4D,EAAE;gBACxE,KAAK;gBACL,KAAK;aACN,CAAC,CAAC;YACH,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACrD,IAAI,CAAC,KAAK;YAAE,OAAO,QAAQ,CAAC;QAE5B,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACjB,eAAM,CAAC,IAAI,CAAC,+CAA+C,EAAE;gBAC3D,KAAK;gBACL,KAAK;gBACL,OAAO;aACR,CAAC,CAAC;YACH,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACpD,MAAM,UAAU,GAAG,IAAA,+CAAuB,EACxC,WAAW,CAAC,UAAU,IAAI,EAAE,EAC5B,KAAK,EACL,KAAK,EACL,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,aAAa,EACb,QAAQ,CACT,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;YAC9C,SAAS,EAAE,KAAK,CAAC,KAAK;YACtB,YAAY,EAAE,WAAW,CAAC,YAAY;YACtC,MAAM,EAAE,WAAW,CAAC,MAAM,IAAI,OAAO,CAAC,aAAa,IAAI,IAAI;YAC3D,UAAU;SACX,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,eAAM,CAAC,KAAK,CAAC,uCAAuC,EAAE;gBACpD,KAAK;gBACL,KAAK;gBACL,OAAO;gBACP,QAAQ,EAAE,WAAW,CAAC,YAAY;gBAClC,SAAS,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI;gBAC7B,YAAY,EAAE,MAAM,CAAC,KAAK,EAAE,OAAO;aACpC,CAAC,CAAC;YACH,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,eAAM,CAAC,IAAI,CAAC,6BAA6B,EAAE;YACzC,KAAK;YACL,KAAK;YACL,OAAO;YACP,QAAQ,EAAE,WAAW,CAAC,YAAY;YAClC,SAAS,EAAE,MAAM,CAAC,IAAI,EAAE,SAAS;SAClC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,aAAa,CACnB,KAAa,EACb,OAAwB;QAExB,MAAM,OAAO,GAAI,CAAC,cAAc,EAAE,cAAc,EAAE,iBAAiB,CAAW;aAC3E,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;QAClC,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,eAAM,CAAC,IAAI,CAAC,sDAAsD,EAAE;gBAClE,KAAK;gBACL,OAAO;aACR,CAAC,CAAC;QACL,CAAC;QAED,OAAO;YACL,YAAY,EAAE,OAAO,CAAC,YAAY,IAAI,EAAE;YACxC,YAAY,EAAE,OAAO,CAAC,YAAY,IAAI,EAAE;YACxC,eAAe,EAAE,OAAO,CAAC,eAAe,IAAI,EAAE;YAC9C,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,EAAE;YACtC,cAAc,EAAE,OAAO,CAAC,cAAc,IAAI,EAAE;YAC5C,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,EAAE;YAC1C,cAAc,EAAE,OAAO,CAAC,cAAc,IAAI,EAAE;YAC5C,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,EAAE;SACnC,CAAC;IACJ,CAAC;IAEO,iBAAiB,CAAC,KAAa;QACrC,IAAI,CAAC,IAAA,sCAAsB,GAAE,EAAE,CAAC;YAC9B,eAAM,CAAC,IAAI,CAAC,oCAAoC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;YAC7D,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,YAAY,EAAE,QAAQ,CAAC;QAE5E,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;YACtB,eAAM,CAAC,IAAI,CAAC,wDAAwD,EAAE;gBACpE,KAAK;aACN,CAAC,CAAC;YACH,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,EAAE,CAAC;YAClC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE;gBAC7B,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,MAAM,EAAE,QAAQ,CAAC,MAAM;aACxB,CAAC,CAAC;QACL,CAAC;QAED,OAAO,CAAC,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAoB,CAAC;IACrD,CAAC;CACF,CAAA;AApIY,oDAAoB;+BAApB,oBAAoB;IADhC,IAAA,mBAAU,GAAE;6CAGuB,8BAAa;QAClB,iDAAsB;QACxB,0BAAW;GAJ3B,oBAAoB,CAoIhC"}
@@ -1 +1 @@
1
- {"version":3,"file":"order.source.d.ts","sourceRoot":"","sources":["../../src/notifications/order.source.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,gDAAgD,CAAC;AAqErF,yFAAyF;AACzF,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB;;;OAGG;IACH,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,kEAAkE;IAClE,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,kGAAkG;IAClG,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,IAAI,EAAE,MAAM,EAAE,CAAC;IACf;;;;OAIG;IACH,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,qFAAqF;IACrF,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,KAAK,EAAE,KAAK,CAAC;QACX;;;WAGG;QACH,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QACpB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QACtB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;KAC3B,CAAC,CAAC;CACJ;AA0ED,qBACa,WAAW;IACV,OAAO,CAAC,QAAQ,CAAC,mBAAmB;gBAAnB,mBAAmB,EAAE,mBAAmB;IAErE;;;;OAIG;IACG,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IA4ClF,OAAO,CAAC,KAAK;IAIb,OAAO,CAAC,UAAU;CA6CnB"}
1
+ {"version":3,"file":"order.source.d.ts","sourceRoot":"","sources":["../../src/notifications/order.source.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,gDAAgD,CAAC;AAqErF,yFAAyF;AACzF,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB;;;OAGG;IACH,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,kEAAkE;IAClE,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,kGAAkG;IAClG,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,IAAI,EAAE,MAAM,EAAE,CAAC;IACf;;;;OAIG;IACH,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,qFAAqF;IACrF,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,KAAK,EAAE,KAAK,CAAC;QACX;;;WAGG;QACH,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QACpB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QACtB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;KAC3B,CAAC,CAAC;CACJ;AA2ED,qBACa,WAAW;IACV,OAAO,CAAC,QAAQ,CAAC,mBAAmB;gBAAnB,mBAAmB,EAAE,mBAAmB;IAErE;;;;OAIG;IACG,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IA4ClF,OAAO,CAAC,KAAK;IAIb,OAAO,CAAC,UAAU;CA6CnB"}
@@ -27,6 +27,7 @@ const ORDER_QUERY = `
27
27
  lineItems(first: 50) {
28
28
  edges {
29
29
  node {
30
+ id
30
31
  title
31
32
  quantity
32
33
  sku
@@ -1 +1 @@
1
- {"version":3,"file":"order.source.js","sourceRoot":"","sources":["../../src/notifications/order.source.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"order.source.js","sourceRoot":"","sources":["../../src/notifications/order.source.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pvh-afl/core",
3
- "version": "1.2.44",
3
+ "version": "1.2.46",
4
4
  "description": "AFL Core - Shared services for multi-brand commerce platform",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",