@pvh-afl/core 1.2.45 → 1.2.47
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/dist/common/feature-flags.d.ts +16 -0
- package/dist/common/feature-flags.d.ts.map +1 -1
- package/dist/common/feature-flags.js +25 -0
- package/dist/common/feature-flags.js.map +1 -1
- package/dist/integrations/engagement/index.d.ts +2 -0
- package/dist/integrations/engagement/index.d.ts.map +1 -1
- package/dist/integrations/engagement/index.js +2 -0
- package/dist/integrations/engagement/index.js.map +1 -1
- package/dist/integrations/engagement/netcore-sms.service.d.ts +34 -0
- package/dist/integrations/engagement/netcore-sms.service.d.ts.map +1 -0
- package/dist/integrations/engagement/netcore-sms.service.js +166 -0
- package/dist/integrations/engagement/netcore-sms.service.js.map +1 -0
- package/dist/integrations/engagement/netcore-sms.types.d.ts +53 -0
- package/dist/integrations/engagement/netcore-sms.types.d.ts.map +1 -0
- package/dist/integrations/engagement/netcore-sms.types.js +3 -0
- package/dist/integrations/engagement/netcore-sms.types.js.map +1 -0
- package/dist/integrations/integrations.module.d.ts.map +1 -1
- package/dist/integrations/integrations.module.js +3 -0
- package/dist/integrations/integrations.module.js.map +1 -1
- package/dist/integrations/search/wizzy.service.d.ts.map +1 -1
- package/dist/integrations/search/wizzy.service.js +7 -0
- package/dist/integrations/search/wizzy.service.js.map +1 -1
- package/dist/integrations/search/wizzy.types.d.ts +9 -0
- package/dist/integrations/search/wizzy.types.d.ts.map +1 -1
- package/dist/integrations/search/wizzy.types.js.map +1 -1
- package/dist/notifications/index.d.ts +2 -0
- package/dist/notifications/index.d.ts.map +1 -1
- package/dist/notifications/index.js +2 -0
- package/dist/notifications/index.js.map +1 -1
- package/dist/notifications/notifications.module.d.ts.map +1 -1
- package/dist/notifications/notifications.module.js +3 -2
- package/dist/notifications/notifications.module.js.map +1 -1
- package/dist/notifications/order-email.service.d.ts.map +1 -1
- package/dist/notifications/order-email.service.js +5 -0
- package/dist/notifications/order-email.service.js.map +1 -1
- package/dist/notifications/order-sms.mapper.d.ts +25 -0
- package/dist/notifications/order-sms.mapper.d.ts.map +1 -0
- package/dist/notifications/order-sms.mapper.js +57 -0
- package/dist/notifications/order-sms.mapper.js.map +1 -0
- package/dist/notifications/order-sms.service.d.ts +28 -0
- package/dist/notifications/order-sms.service.d.ts.map +1 -0
- package/dist/notifications/order-sms.service.js +165 -0
- package/dist/notifications/order-sms.service.js.map +1 -0
- package/dist/notifications/order-whatsapp.mapper.d.ts +8 -0
- package/dist/notifications/order-whatsapp.mapper.d.ts.map +1 -1
- package/dist/notifications/order-whatsapp.mapper.js +14 -5
- package/dist/notifications/order-whatsapp.mapper.js.map +1 -1
- package/dist/notifications/order-whatsapp.service.d.ts.map +1 -1
- package/dist/notifications/order-whatsapp.service.js +5 -0
- package/dist/notifications/order-whatsapp.service.js.map +1 -1
- 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;
|
|
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 @@
|
|
|
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":"
|
|
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;
|
|
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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wizzy.service.d.ts","sourceRoot":"","sources":["../../../src/integrations/search/wizzy.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAoB,MAAM,sBAAsB,CAAC;AAC7E,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,kBAAkB,EAElB,wBAAwB,EACxB,aAAa,EACb,oBAAoB,EACpB,wBAAwB,EACxB,oBAAoB,EAErB,MAAM,eAAe,CAAC;AAEvB;;;;;GAKG;AACH,qBACa,YAAY;IACvB,OAAO,CAAC,MAAM,CAA4B;IAC1C,OAAO,CAAC,KAAK,CAAc;IAC3B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IAMxC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAO;IAC1C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAQ;IAMjC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,
|
|
1
|
+
{"version":3,"file":"wizzy.service.d.ts","sourceRoot":"","sources":["../../../src/integrations/search/wizzy.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAoB,MAAM,sBAAsB,CAAC;AAC7E,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,kBAAkB,EAElB,wBAAwB,EACxB,aAAa,EACb,oBAAoB,EACpB,wBAAwB,EACxB,oBAAoB,EAErB,MAAM,eAAe,CAAC;AAEvB;;;;;GAKG;AACH,qBACa,YAAY;IACvB,OAAO,CAAC,MAAM,CAA4B;IAC1C,OAAO,CAAC,KAAK,CAAc;IAC3B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IAMxC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAO;IAC1C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAQ;IAMjC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAsBlC;IAIF,OAAO,CAAC,SAAS;IAMjB;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI;IAQnD;;OAEG;IACH,YAAY,IAAI,OAAO;IAIvB;;OAEG;IACG,cAAc,CAClB,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,mBAAmB,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC,CAAC;IA4DpE;;;;;;;OAOG;IACG,cAAc,CAClB,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC,mBAAmB,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC,CAAC;IAgCpE;;;;;;OAMG;IACG,YAAY,CAChB,MAAM,EAAE,wBAAwB,GAC/B,OAAO,CAAC,mBAAmB,CAAC,aAAa,CAAC,wBAAwB,CAAC,CAAC,CAAC;IAQxE;;OAEG;IACG,mBAAmB,IAAI,OAAO,CAClC,mBAAmB,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC,CACzD;IAID;;OAEG;YACW,WAAW;IAyEzB;;OAEG;YACW,UAAU;IAgExB;;OAEG;IACH,OAAO,CAAC,cAAc;CAqBvB"}
|
|
@@ -44,6 +44,7 @@ let WizzyService = class WizzyService {
|
|
|
44
44
|
'page',
|
|
45
45
|
'productsCount',
|
|
46
46
|
'swatch',
|
|
47
|
+
'includeSwatchInAttributeFacets',
|
|
47
48
|
'type',
|
|
48
49
|
'searchedKey',
|
|
49
50
|
];
|
|
@@ -114,6 +115,8 @@ let WizzyService = class WizzyService {
|
|
|
114
115
|
// Return every colourway per product for the card's colour dots. Keyed by
|
|
115
116
|
// the Wizzy colour attribute; the legacy `colors` key returns nothing.
|
|
116
117
|
swatch: filters.swatch ?? wizzy_types_1.COLOUR_SWATCH_KEYS.map((key) => ({ key })),
|
|
118
|
+
// Opt-in: forwarded only when the client sends it, so hex is returned on demand.
|
|
119
|
+
includeSwatchInAttributeFacets: filters.includeSwatchInAttributeFacets,
|
|
117
120
|
// Analytics attribution tag (DEFAULT / CATEGORY_PAGE / ...) and the
|
|
118
121
|
// search-session key echoed from /products/search.
|
|
119
122
|
type: filters.type,
|
|
@@ -148,6 +151,10 @@ let WizzyService = class WizzyService {
|
|
|
148
151
|
// Return every colourway per product for the card's colour dots. Keyed by
|
|
149
152
|
// the Wizzy colour attribute; `colors` returns none.
|
|
150
153
|
body.swatch = JSON.stringify(params.swatch ?? wizzy_types_1.COLOUR_SWATCH_KEYS.map((key) => ({ key })));
|
|
154
|
+
// Opt-in: forwarded only when the client sends it.
|
|
155
|
+
if (params.includeSwatchInAttributeFacets) {
|
|
156
|
+
body.includeSwatchInAttributeFacets = JSON.stringify(params.includeSwatchInAttributeFacets);
|
|
157
|
+
}
|
|
151
158
|
return this.postRequest('/products/search', body);
|
|
152
159
|
}
|
|
153
160
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wizzy.service.js","sourceRoot":"","sources":["../../../src/integrations/search/wizzy.service.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"wizzy.service.js","sourceRoot":"","sources":["../../../src/integrations/search/wizzy.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -40,6 +40,8 @@ export interface WizzyFilterRequest {
|
|
|
40
40
|
sort?: WizzySortOption[];
|
|
41
41
|
facets?: WizzyFacetRequest[];
|
|
42
42
|
swatch?: WizzySwatchRequest[];
|
|
43
|
+
/** Attribute facets to return swatch hex on, e.g. `["product_Colour"]`. Opt-in. */
|
|
44
|
+
includeSwatchInAttributeFacets?: string[];
|
|
43
45
|
/** Analytics bucket for this request (nested in `filters`, not a sibling field). */
|
|
44
46
|
type?: WizzySearchType;
|
|
45
47
|
/**
|
|
@@ -84,6 +86,8 @@ export interface WizzySearchRequest {
|
|
|
84
86
|
sort?: WizzySortOption[];
|
|
85
87
|
facets?: WizzyFacetRequest[];
|
|
86
88
|
swatch?: WizzySwatchRequest[];
|
|
89
|
+
/** Attribute facets to return swatch hex on, e.g. `["product_Colour"]`. Opt-in. */
|
|
90
|
+
includeSwatchInAttributeFacets?: string[];
|
|
87
91
|
}
|
|
88
92
|
export interface WizzyAutocompleteRequest {
|
|
89
93
|
q: string;
|
|
@@ -121,6 +125,11 @@ export interface WizzyProductsPayload {
|
|
|
121
125
|
export interface WizzySwatchValue {
|
|
122
126
|
value: string;
|
|
123
127
|
inStock?: boolean;
|
|
128
|
+
/** Colour hex, when the value is linked to the Shopify colour metafield. */
|
|
129
|
+
swatch?: {
|
|
130
|
+
type: string;
|
|
131
|
+
value: string;
|
|
132
|
+
};
|
|
124
133
|
}
|
|
125
134
|
/**
|
|
126
135
|
* Wizzy colour attribute ids, newest first. Wizzy derives the id from the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wizzy.types.d.ts","sourceRoot":"","sources":["../../../src/integrations/search/wizzy.types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;;;;GAKG;AACH,MAAM,MAAM,eAAe,GACvB,SAAS,GACT,eAAe,GACf,sBAAsB,GACtB,qBAAqB,GACrB,kBAAkB,CAAC;AAEvB,MAAM,WAAW,kBAAkB;IACjC,sEAAsE;IACtE,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC;IACpB,YAAY,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAClC,KAAK,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC3B,kBAAkB,CAAC,EAAE,gBAAgB,EAAE,CAAC;IACxC,UAAU,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAChC;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACtC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,eAAe,EAAE,CAAC;IACzB,MAAM,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC7B,MAAM,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAC9B,oFAAoF;IACpF,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC/B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,KAAK,GAAG,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ;;;OAGG;IACH,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC/C;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,kBAAkB;IACjC,CAAC,EAAE,MAAM,CAAC;IACV,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,eAAe,EAAE,CAAC;IACzB,MAAM,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC7B,MAAM,CAAC,EAAE,kBAAkB,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"wizzy.types.d.ts","sourceRoot":"","sources":["../../../src/integrations/search/wizzy.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wizzy.types.js","sourceRoot":"","sources":["../../../src/integrations/search/wizzy.types.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;
|
|
1
|
+
{"version":3,"file":"wizzy.types.js","sourceRoot":"","sources":["../../../src/integrations/search/wizzy.types.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAmJH;;;;GAIG;AACU,QAAA,kBAAkB,GAAG,CAAC,gBAAgB,EAAE,sBAAsB,CAAU,CAAC;AAEtF,uDAAuD;AAC1C,QAAA,wBAAwB,GAAG,UAAU,CAAC"}
|
|
@@ -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":"
|
|
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;
|
|
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.service.d.ts","sourceRoot":"","sources":["../../src/notifications/order-email.service.ts"],"names":[],"mappings":"
|
|
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":"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
|
|
1
|
+
{"version":3,"file":"order-email.service.js","sourceRoot":"","sources":["../../src/notifications/order-email.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -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,
|
|
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":"
|
|
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":";;;;AAAA,2CAA4C;AAC5C,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,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;
|
|
1
|
+
{"version":3,"file":"order-whatsapp.service.js","sourceRoot":"","sources":["../../src/notifications/order-whatsapp.service.ts"],"names":[],"mappings":"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"}
|