@winible/winible-typed 2.65.1 → 2.66.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/event-collector-models/conversion-log.js +5 -0
- package/dist/event-collector-models/conversion-log.js.map +1 -1
- package/dist/utils/campaignUtils.js +84 -0
- package/dist/utils/campaignUtils.js.map +1 -0
- package/dist/utils/index.js +9 -0
- package/dist/utils/index.js.map +1 -0
- package/event-collector-models/conversion-log.ts +6 -0
- package/package.json +4 -3
@@ -25,6 +25,11 @@ ConversionLog.init({
|
|
25
25
|
allowNull: false,
|
26
26
|
field: "transaction_id",
|
27
27
|
},
|
28
|
+
relatedCampaigns: {
|
29
|
+
type: sequelize_1.DataTypes.JSONB,
|
30
|
+
allowNull: true,
|
31
|
+
field: "related_campaigns",
|
32
|
+
},
|
28
33
|
createdAt: {
|
29
34
|
type: sequelize_1.DataTypes.DATE,
|
30
35
|
allowNull: false,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"conversion-log.js","sourceRoot":"","sources":["../../event-collector-models/conversion-log.ts"],"names":[],"mappings":";;;;;AAAA,yCAMmB;AAEnB,kEAAuC;AACvC,0DAAiC;AAEjC,MAAM,aAAc,SAAQ,iBAG3B;
|
1
|
+
{"version":3,"file":"conversion-log.js","sourceRoot":"","sources":["../../event-collector-models/conversion-log.ts"],"names":[],"mappings":";;;;;AAAA,yCAMmB;AAEnB,kEAAuC;AACvC,0DAAiC;AAEjC,MAAM,aAAc,SAAQ,iBAG3B;CAMA;AAED,aAAa,CAAC,IAAI,CAChB;IACE,EAAE,EAAE;QACF,IAAI,EAAE,qBAAS,CAAC,IAAI;QACpB,YAAY,EAAE,qBAAS,CAAC,MAAM;QAC9B,UAAU,EAAE,IAAI;QAChB,KAAK,EAAE,IAAI;KACZ;IACD,SAAS,EAAE;QACT,IAAI,EAAE,qBAAS,CAAC,IAAI;QACpB,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,aAAa;KACrB;IACD,aAAa,EAAE;QACb,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,gBAAgB;KACxB;IACD,gBAAgB,EAAE;QAChB,IAAI,EAAE,qBAAS,CAAC,KAAK;QACrB,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,mBAAmB;KAC3B;IACD,SAAS,EAAE;QACT,IAAI,EAAE,qBAAS,CAAC,IAAI;QACpB,SAAS,EAAE,KAAK;QAChB,YAAY,EAAE,qBAAS,CAAC,GAAG;QAC3B,UAAU,EAAE,IAAI;KACjB;CACF,EACD;IACE,SAAS,EAAT,sBAAS;IACT,SAAS,EAAE,gBAAgB;IAC3B,UAAU,EAAE,KAAK;CAClB,CACF,CAAC;AAEF,aAAa,CAAC,SAAS,CAAC,kBAAO,EAAE;IAC/B,UAAU,EAAE,WAAW;IACvB,EAAE,EAAE,SAAS;IACb,SAAS,EAAE,IAAI;CAChB,CAAC,CAAC;AAEH,kBAAe,aAAa,CAAC"}
|
@@ -0,0 +1,84 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.buildEmailQueueInput = exports.buildSmsQueueInput = void 0;
|
4
|
+
const CLIENT_URL = process.env.CLIENT_URL;
|
5
|
+
const VARIABLE_MAP = {
|
6
|
+
FIRST_NAME: "{FIRST_NAME}",
|
7
|
+
CHECKOUT_URL: "{CHECKOUT_URL}",
|
8
|
+
PLAN_NAME: "{PLAN_NAME}",
|
9
|
+
FOR_PROMOTION: "{FOR_PROMOTION}",
|
10
|
+
JOINED_PLAN_NAME: "{JOINED_PLAN_NAME}",
|
11
|
+
};
|
12
|
+
const buildReplacements = (contact, campaignMessage) => {
|
13
|
+
let replacements = {};
|
14
|
+
const subject = (campaignMessage.subject || "").replace(/<[^>]*>/g, "");
|
15
|
+
const content = campaignMessage.content || "";
|
16
|
+
const metadata = campaignMessage.metadata || {};
|
17
|
+
const dynamicFields = metadata.dynamicFields || {};
|
18
|
+
if (subject.includes(VARIABLE_MAP.FIRST_NAME) ||
|
19
|
+
content.includes(VARIABLE_MAP.FIRST_NAME)) {
|
20
|
+
replacements[VARIABLE_MAP.FIRST_NAME] = contact.firstName || "";
|
21
|
+
}
|
22
|
+
if (subject.includes(VARIABLE_MAP.CHECKOUT_URL) ||
|
23
|
+
content.includes(VARIABLE_MAP.CHECKOUT_URL)) {
|
24
|
+
const checkoutUrl = dynamicFields.checkoutUrl || `${CLIENT_URL}/404`;
|
25
|
+
replacements[VARIABLE_MAP.CHECKOUT_URL] = checkoutUrl;
|
26
|
+
}
|
27
|
+
if (subject.includes(VARIABLE_MAP.PLAN_NAME) ||
|
28
|
+
content.includes(VARIABLE_MAP.PLAN_NAME)) {
|
29
|
+
const planName = dynamicFields.planName || "";
|
30
|
+
replacements[VARIABLE_MAP.PLAN_NAME] = planName;
|
31
|
+
}
|
32
|
+
if (subject.includes(VARIABLE_MAP.FOR_PROMOTION) ||
|
33
|
+
content.includes(VARIABLE_MAP.FOR_PROMOTION)) {
|
34
|
+
const promotion = dynamicFields.promotion || "";
|
35
|
+
replacements[VARIABLE_MAP.FOR_PROMOTION] = promotion;
|
36
|
+
}
|
37
|
+
return replacements;
|
38
|
+
};
|
39
|
+
/**
|
40
|
+
* Builds a single SMS queue input object.
|
41
|
+
*/
|
42
|
+
const buildSmsQueueInput = (senderId, contact, campaignMessage, scheduleSendTime // Optional: Used for absolute/relative timing
|
43
|
+
) => {
|
44
|
+
const replacements = buildReplacements(contact, campaignMessage);
|
45
|
+
const configuration = {
|
46
|
+
replacements,
|
47
|
+
};
|
48
|
+
if (scheduleSendTime) {
|
49
|
+
configuration.scheduleSendTime = scheduleSendTime;
|
50
|
+
}
|
51
|
+
return {
|
52
|
+
campaignId: campaignMessage.campaignId,
|
53
|
+
campaignMessageId: campaignMessage.id,
|
54
|
+
senderId,
|
55
|
+
contactId: contact.id,
|
56
|
+
contactPhoneNumber: contact.phoneNumber || "",
|
57
|
+
configuration: configuration,
|
58
|
+
};
|
59
|
+
};
|
60
|
+
exports.buildSmsQueueInput = buildSmsQueueInput;
|
61
|
+
/**
|
62
|
+
* Builds a single Email queue input object.
|
63
|
+
*/
|
64
|
+
const buildEmailQueueInput = (senderId, contact, campaignMessage, scheduleSendTime // Optional: Used for absolute/relative timing
|
65
|
+
) => {
|
66
|
+
const replacements = buildReplacements(contact, campaignMessage);
|
67
|
+
const configuration = {
|
68
|
+
replacements,
|
69
|
+
};
|
70
|
+
if (scheduleSendTime) {
|
71
|
+
configuration.scheduleSendTime = scheduleSendTime;
|
72
|
+
}
|
73
|
+
return {
|
74
|
+
campaignId: campaignMessage.campaignId,
|
75
|
+
campaignMessageId: campaignMessage.id,
|
76
|
+
senderId,
|
77
|
+
contactId: contact.id,
|
78
|
+
contactEmail: contact.email || "",
|
79
|
+
configuration: configuration,
|
80
|
+
};
|
81
|
+
};
|
82
|
+
exports.buildEmailQueueInput = buildEmailQueueInput;
|
83
|
+
exports.default = { buildReplacements };
|
84
|
+
//# sourceMappingURL=campaignUtils.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"campaignUtils.js","sourceRoot":"","sources":["../../utils/campaignUtils.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,9 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
|
+
};
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
+
exports.campaignUtils = void 0;
|
7
|
+
var campaignUtils_1 = require("./campaignUtils");
|
8
|
+
Object.defineProperty(exports, "campaignUtils", { enumerable: true, get: function () { return __importDefault(campaignUtils_1).default; } });
|
9
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../utils/index.ts"],"names":[],"mappings":";;;;;;AAAA,iDAA2D;AAAlD,+HAAA,OAAO,OAAiB"}
|
@@ -16,6 +16,7 @@ class ConversionLog extends Model<
|
|
16
16
|
declare id: CreationOptional<string>;
|
17
17
|
declare sendLogId: string;
|
18
18
|
declare transactionId: string;
|
19
|
+
declare relatedCampaigns: object;
|
19
20
|
declare createdAt: CreationOptional<Date>;
|
20
21
|
}
|
21
22
|
|
@@ -37,6 +38,11 @@ ConversionLog.init(
|
|
37
38
|
allowNull: false,
|
38
39
|
field: "transaction_id",
|
39
40
|
},
|
41
|
+
relatedCampaigns: {
|
42
|
+
type: DataTypes.JSONB,
|
43
|
+
allowNull: true,
|
44
|
+
field: "related_campaigns",
|
45
|
+
},
|
40
46
|
createdAt: {
|
41
47
|
type: DataTypes.DATE,
|
42
48
|
allowNull: false,
|
package/package.json
CHANGED
@@ -1,13 +1,14 @@
|
|
1
1
|
{
|
2
2
|
"name": "@winible/winible-typed",
|
3
|
-
"version": "2.
|
3
|
+
"version": "2.66.0",
|
4
4
|
"description": "",
|
5
5
|
"main": "dist/index.js",
|
6
6
|
"types": "./dist/index.d.ts",
|
7
7
|
"exports": {
|
8
8
|
".": "./dist/index.js",
|
9
9
|
"./dist/src/types": "./dist/src/types.js",
|
10
|
-
"./event-collector-models": "./dist/event-collector-models/index.js"
|
10
|
+
"./event-collector-models": "./dist/event-collector-models/index.js",
|
11
|
+
"./util": "./dist/util/index.js"
|
11
12
|
},
|
12
13
|
"scripts": {
|
13
14
|
"start": "nf start",
|
@@ -72,7 +73,7 @@
|
|
72
73
|
"typescript": "^4.8.4"
|
73
74
|
},
|
74
75
|
"engines": {
|
75
|
-
"node": "
|
76
|
+
"node": ">=16.x"
|
76
77
|
},
|
77
78
|
"files": [
|
78
79
|
"typed-model/**/*",
|