@comet/brevo-api 3.0.0-canary-20240920122446 → 3.0.0-canary-20241017075628
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/lib/brevo-api/brevo-api-campaigns.service.d.ts.map +1 -1
- package/lib/brevo-api/brevo-api-campaigns.service.js +152 -96
- package/lib/brevo-api/brevo-api-campaigns.service.js.map +1 -1
- package/lib/brevo-api/brevo-api-contact.service.d.ts +2 -2
- package/lib/brevo-api/brevo-api-contact.service.d.ts.map +1 -1
- package/lib/brevo-api/brevo-api-contact.service.js +158 -76
- package/lib/brevo-api/brevo-api-contact.service.js.map +1 -1
- package/lib/brevo-api/brevo-api-transactional-mails.service.d.ts.map +1 -1
- package/lib/brevo-api/brevo-api-transactional-mails.service.js +21 -10
- package/lib/brevo-api/brevo-api-transactional-mails.service.js.map +1 -1
- package/lib/brevo-api/brevo-api.utils.d.ts +3 -0
- package/lib/brevo-api/brevo-api.utils.d.ts.map +1 -1
- package/lib/brevo-api/brevo-api.utils.js +21 -2
- package/lib/brevo-api/brevo-api.utils.js.map +1 -1
- package/lib/brevo-contact/brevo-contact-import.console.d.ts.map +1 -1
- package/lib/brevo-contact/brevo-contact-import.console.js +10 -6
- package/lib/brevo-contact/brevo-contact-import.console.js.map +1 -1
- package/lib/brevo-contact/brevo-contact-import.controller.d.ts.map +1 -1
- package/lib/brevo-contact/brevo-contact-import.controller.js +13 -16
- package/lib/brevo-contact/brevo-contact-import.controller.js.map +1 -1
- package/lib/brevo-contact/brevo-contact-import.service.d.ts +27 -11
- package/lib/brevo-contact/brevo-contact-import.service.d.ts.map +1 -1
- package/lib/brevo-contact/brevo-contact-import.service.js +168 -77
- package/lib/brevo-contact/brevo-contact-import.service.js.map +1 -1
- package/lib/brevo-contact/brevo-contact.resolver.d.ts.map +1 -1
- package/lib/brevo-contact/brevo-contact.resolver.js +5 -1
- package/lib/brevo-contact/brevo-contact.resolver.js.map +1 -1
- package/lib/brevo-contact/brevo-contacts.service.d.ts +1 -2
- package/lib/brevo-contact/brevo-contacts.service.d.ts.map +1 -1
- package/lib/brevo-contact/brevo-contacts.service.js +2 -2
- package/lib/brevo-contact/brevo-contacts.service.js.map +1 -1
- package/lib/target-group/target-group.resolver.d.ts.map +1 -1
- package/lib/target-group/target-group.resolver.js +3 -0
- package/lib/target-group/target-group.resolver.js.map +1 -1
- package/lib/target-group/target-groups.service.d.ts.map +1 -1
- package/lib/target-group/target-groups.service.js +85 -50
- package/lib/target-group/target-groups.service.js.map +1 -1
- package/lib/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +3 -1
|
@@ -26,6 +26,7 @@ const cms_api_1 = require("@comet/cms-api");
|
|
|
26
26
|
const core_1 = require("@mikro-orm/core");
|
|
27
27
|
const nestjs_1 = require("@mikro-orm/nestjs");
|
|
28
28
|
const common_1 = require("@nestjs/common");
|
|
29
|
+
const brevo_api_utils_1 = require("../brevo-api/brevo-api.utils");
|
|
29
30
|
const brevo_api_contact_service_1 = require("../brevo-api/brevo-api-contact.service");
|
|
30
31
|
let TargetGroupsService = class TargetGroupsService {
|
|
31
32
|
constructor(repository, brevoApiContactsService, entityManager) {
|
|
@@ -46,9 +47,21 @@ let TargetGroupsService = class TargetGroupsService {
|
|
|
46
47
|
checkIfContactIsInTargetGroup(contactAttributes, filters) {
|
|
47
48
|
if (filters && contactAttributes) {
|
|
48
49
|
for (const [key, value] of Object.entries(filters)) {
|
|
49
|
-
if (!value)
|
|
50
|
+
if (!value || value.length === 0)
|
|
50
51
|
continue;
|
|
51
|
-
|
|
52
|
+
let isFound = false;
|
|
53
|
+
if (Array.isArray(contactAttributes[key])) {
|
|
54
|
+
for (const attribute of contactAttributes[key]) {
|
|
55
|
+
if (value.includes(attribute)) {
|
|
56
|
+
isFound = true;
|
|
57
|
+
break;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
if (isFound) {
|
|
61
|
+
continue;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
else if (value.includes(contactAttributes[key])) {
|
|
52
65
|
continue;
|
|
53
66
|
}
|
|
54
67
|
return false;
|
|
@@ -59,36 +72,46 @@ let TargetGroupsService = class TargetGroupsService {
|
|
|
59
72
|
}
|
|
60
73
|
assignContactsToContactList(targetGroup, scope, filters) {
|
|
61
74
|
return __awaiter(this, void 0, void 0, function* () {
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
75
|
+
try {
|
|
76
|
+
const mainScopeTargetGroupList = yield this.repository.findOneOrFail({ scope, isMainList: true });
|
|
77
|
+
let offset = 0;
|
|
78
|
+
let totalCount = 0;
|
|
79
|
+
do {
|
|
80
|
+
try {
|
|
81
|
+
const [contacts, totalContacts] = yield this.brevoApiContactsService.findContactsByListId(mainScopeTargetGroupList.brevoId, 50, offset, scope);
|
|
82
|
+
totalCount = totalContacts;
|
|
83
|
+
offset += contacts.length;
|
|
84
|
+
const contactsInContactList = [];
|
|
85
|
+
const contactsNotInContactList = [];
|
|
86
|
+
for (const contact of contacts) {
|
|
87
|
+
const contactIsInTargetGroupByFilters = this.checkIfContactIsInTargetGroup(contact.attributes, filters);
|
|
88
|
+
const manuallyAssignedTargetGroup = targetGroup.assignedContactsTargetGroupBrevoId;
|
|
89
|
+
const contactIsManuallyAssignedToTargetGroup = manuallyAssignedTargetGroup
|
|
90
|
+
? contact.listIds.includes(manuallyAssignedTargetGroup)
|
|
91
|
+
: false;
|
|
92
|
+
if (contactIsInTargetGroupByFilters || contactIsManuallyAssignedToTargetGroup) {
|
|
93
|
+
contactsInContactList.push(contact);
|
|
94
|
+
}
|
|
95
|
+
else {
|
|
96
|
+
contactsNotInContactList.push(contact);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
if (contactsInContactList.length > 0) {
|
|
100
|
+
yield this.brevoApiContactsService.updateMultipleContacts(contactsInContactList.map((contact) => ({ id: contact.id, listIds: [targetGroup.brevoId] })), scope);
|
|
101
|
+
}
|
|
102
|
+
if (contactsNotInContactList.length > 0) {
|
|
103
|
+
yield this.brevoApiContactsService.updateMultipleContacts(contactsNotInContactList.map((contact) => ({ id: contact.id, unlinkListIds: [targetGroup.brevoId] })), scope);
|
|
104
|
+
}
|
|
79
105
|
}
|
|
80
|
-
|
|
81
|
-
|
|
106
|
+
catch (error) {
|
|
107
|
+
(0, brevo_api_utils_1.handleBrevoError)(error);
|
|
82
108
|
}
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
}
|
|
90
|
-
} while (offset < totalCount);
|
|
91
|
-
return true;
|
|
109
|
+
} while (offset < totalCount);
|
|
110
|
+
return true;
|
|
111
|
+
}
|
|
112
|
+
catch (error) {
|
|
113
|
+
(0, brevo_api_utils_1.handleBrevoError)(error);
|
|
114
|
+
}
|
|
92
115
|
});
|
|
93
116
|
}
|
|
94
117
|
findTargetGroups({ offset, limit, where, }) {
|
|
@@ -99,34 +122,46 @@ let TargetGroupsService = class TargetGroupsService {
|
|
|
99
122
|
}
|
|
100
123
|
createIfNotExistMainTargetGroupForScope(scope) {
|
|
101
124
|
return __awaiter(this, void 0, void 0, function* () {
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
125
|
+
try {
|
|
126
|
+
const mainList = yield this.repository.findOne({ scope, isMainList: true });
|
|
127
|
+
if (mainList) {
|
|
128
|
+
return mainList;
|
|
129
|
+
}
|
|
130
|
+
const title = "Main list for current scope";
|
|
131
|
+
const brevoId = yield this.brevoApiContactsService.createBrevoContactList(title, scope);
|
|
132
|
+
if (brevoId) {
|
|
133
|
+
const mainTargetGroupForScope = this.repository.create({ title, brevoId, scope, isMainList: true });
|
|
134
|
+
yield this.entityManager.flush();
|
|
135
|
+
return mainTargetGroupForScope;
|
|
136
|
+
}
|
|
137
|
+
throw new Error("Brevo Error: Could not create contact list");
|
|
105
138
|
}
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
const mainTargetGroupForScope = this.repository.create({ title, brevoId, scope, isMainList: true });
|
|
110
|
-
yield this.entityManager.flush();
|
|
111
|
-
return mainTargetGroupForScope;
|
|
139
|
+
catch (error) {
|
|
140
|
+
(0, brevo_api_utils_1.handleBrevoError)(error);
|
|
141
|
+
throw error;
|
|
112
142
|
}
|
|
113
|
-
throw new Error("Brevo Error: Could not create contact list");
|
|
114
143
|
});
|
|
115
144
|
}
|
|
116
145
|
createIfNotExistsManuallyAssignedContactsTargetGroup(targetGroup) {
|
|
117
146
|
return __awaiter(this, void 0, void 0, function* () {
|
|
118
|
-
|
|
119
|
-
|
|
147
|
+
try {
|
|
148
|
+
if (targetGroup.assignedContactsTargetGroupBrevoId) {
|
|
149
|
+
return targetGroup.assignedContactsTargetGroupBrevoId;
|
|
150
|
+
}
|
|
151
|
+
const brevoId = yield this.brevoApiContactsService.createBrevoContactList(`Manually assigned contacts for target group ${targetGroup.brevoId}`, targetGroup.scope);
|
|
152
|
+
if (!brevoId) {
|
|
153
|
+
throw new Error("Brevo Error: Could not create target group in brevo");
|
|
154
|
+
}
|
|
155
|
+
(0, core_1.wrap)(targetGroup).assign({
|
|
156
|
+
assignedContactsTargetGroupBrevoId: brevoId,
|
|
157
|
+
});
|
|
158
|
+
yield this.entityManager.flush();
|
|
159
|
+
return brevoId;
|
|
120
160
|
}
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
throw
|
|
161
|
+
catch (error) {
|
|
162
|
+
(0, brevo_api_utils_1.handleBrevoError)(error);
|
|
163
|
+
throw error;
|
|
124
164
|
}
|
|
125
|
-
(0, core_1.wrap)(targetGroup).assign({
|
|
126
|
-
assignedContactsTargetGroupBrevoId: brevoId,
|
|
127
|
-
});
|
|
128
|
-
yield this.entityManager.flush();
|
|
129
|
-
return brevoId;
|
|
130
165
|
});
|
|
131
166
|
}
|
|
132
167
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"target-groups.service.js","sourceRoot":"","sources":["../../src/target-group/target-groups.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,4CAA+E;AAC/E,0CAAkG;AAClG,8CAAqD;AACrD,2CAA4C;AAE5C,sFAAiF;AAO1E,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IAC5B,YACsD,UAAkD,EACnF,uBAAgD,EAChD,aAA4B;QAFK,eAAU,GAAV,UAAU,CAAwC;QACnF,4BAAuB,GAAvB,uBAAuB,CAAyB;QAChD,kBAAa,GAAb,aAAa,CAAe;IAC9C,CAAC;IAEJ,gBAAgB,CAAC,OAAwD;QACrE,MAAM,UAAU,GAAG,EAAE,CAAC;QAEtB,IAAI,OAAO,CAAC,MAAM,EAAE;YAChB,UAAU,CAAC,IAAI,CAAC,IAAA,+BAAqB,EAAC,OAAO,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;SACrE;QAED,IAAI,OAAO,CAAC,MAAM,EAAE;YAChB,UAAU,CAAC,IAAI,CAAC,IAAA,gCAAsB,EAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;SAC3D;QAED,OAAO,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7D,CAAC;IAEM,6BAA6B,CAChC,iBAAmD,EACnD,OAA+C;QAE/C,IAAI,OAAO,IAAI,iBAAiB,EAAE;YAC9B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;gBAChD,IAAI,CAAC,KAAK;oBAAE,SAAS;
|
|
1
|
+
{"version":3,"file":"target-groups.service.js","sourceRoot":"","sources":["../../src/target-group/target-groups.service.ts"],"names":[],"mappings":"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"}
|