@comet/brevo-api 2.1.2-canary-20241007102959 → 2.1.2-canary-20241010125453
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.map +1 -1
- package/lib/brevo-api/brevo-api-contact.service.js +149 -74
- 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/target-group/target-groups.service.d.ts.map +1 -1
- package/lib/target-group/target-groups.service.js +71 -48
- package/lib/target-group/target-groups.service.js.map +1 -1
- package/lib/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -79,54 +79,84 @@ let BrevoApiContactsService = class BrevoApiContactsService {
|
|
|
79
79
|
this.contactsApis = new Map();
|
|
80
80
|
}
|
|
81
81
|
getContactsApi(scope) {
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
82
|
+
try {
|
|
83
|
+
const existingContactsApiForScope = this.contactsApis.get(JSON.stringify(scope));
|
|
84
|
+
if (existingContactsApiForScope) {
|
|
85
|
+
return existingContactsApiForScope;
|
|
86
|
+
}
|
|
87
|
+
const { apiKey } = this.config.brevo.resolveConfig(scope);
|
|
88
|
+
const contactsApi = new Brevo.ContactsApi();
|
|
89
|
+
contactsApi.setApiKey(Brevo.ContactsApiApiKeys.apiKey, apiKey);
|
|
90
|
+
this.contactsApis.set(JSON.stringify(scope), contactsApi);
|
|
91
|
+
return contactsApi;
|
|
92
|
+
}
|
|
93
|
+
catch (error) {
|
|
94
|
+
(0, brevo_api_utils_1.handleBrevoError)(error);
|
|
85
95
|
}
|
|
86
|
-
const { apiKey } = this.config.brevo.resolveConfig(scope);
|
|
87
|
-
const contactsApi = new Brevo.ContactsApi();
|
|
88
|
-
contactsApi.setApiKey(Brevo.ContactsApiApiKeys.apiKey, apiKey);
|
|
89
|
-
this.contactsApis.set(JSON.stringify(scope), contactsApi);
|
|
90
|
-
return contactsApi;
|
|
91
96
|
}
|
|
92
97
|
createDoubleOptInBrevoContact({ email, redirectionUrl, attributes }, brevoIds, templateId, scope) {
|
|
93
98
|
return __awaiter(this, void 0, void 0, function* () {
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
99
|
+
try {
|
|
100
|
+
const contact = {
|
|
101
|
+
email,
|
|
102
|
+
includeListIds: brevoIds,
|
|
103
|
+
templateId,
|
|
104
|
+
redirectionUrl,
|
|
105
|
+
attributes,
|
|
106
|
+
};
|
|
107
|
+
const { response } = yield this.getContactsApi(scope).createDoiContact(contact);
|
|
108
|
+
return response.statusCode === 204 || response.statusCode === 201;
|
|
109
|
+
}
|
|
110
|
+
catch (error) {
|
|
111
|
+
(0, brevo_api_utils_1.handleBrevoError)(error);
|
|
112
|
+
}
|
|
103
113
|
});
|
|
104
114
|
}
|
|
105
115
|
updateContact(id, { blocked, attributes, listIds, unlinkListIds, }, scope) {
|
|
106
116
|
return __awaiter(this, void 0, void 0, function* () {
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
117
|
+
try {
|
|
118
|
+
const idAsString = id.toString();
|
|
119
|
+
yield this.getContactsApi(scope).updateContact(idAsString, { emailBlacklisted: blocked, attributes, listIds, unlinkListIds });
|
|
120
|
+
return this.findContact(id, scope);
|
|
121
|
+
}
|
|
122
|
+
catch (error) {
|
|
123
|
+
(0, brevo_api_utils_1.handleBrevoError)(error);
|
|
124
|
+
}
|
|
110
125
|
});
|
|
111
126
|
}
|
|
112
127
|
updateMultipleContacts(contacts, scope) {
|
|
113
128
|
return __awaiter(this, void 0, void 0, function* () {
|
|
114
|
-
|
|
115
|
-
|
|
129
|
+
try {
|
|
130
|
+
const { response } = yield this.getContactsApi(scope).updateBatchContacts({ contacts });
|
|
131
|
+
return response.statusCode === 204;
|
|
132
|
+
}
|
|
133
|
+
catch (error) {
|
|
134
|
+
(0, brevo_api_utils_1.handleBrevoError)(error);
|
|
135
|
+
}
|
|
116
136
|
});
|
|
117
137
|
}
|
|
118
138
|
deleteContact(id, scope) {
|
|
119
139
|
return __awaiter(this, void 0, void 0, function* () {
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
140
|
+
try {
|
|
141
|
+
const idAsString = id.toString();
|
|
142
|
+
const { response } = yield this.getContactsApi(scope).deleteContact(idAsString);
|
|
143
|
+
return response.statusCode === 204;
|
|
144
|
+
}
|
|
145
|
+
catch (error) {
|
|
146
|
+
(0, brevo_api_utils_1.handleBrevoError)(error);
|
|
147
|
+
}
|
|
123
148
|
});
|
|
124
149
|
}
|
|
125
150
|
findContact(idOrEmail, scope) {
|
|
126
151
|
return __awaiter(this, void 0, void 0, function* () {
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
152
|
+
try {
|
|
153
|
+
const idAsString = String(idOrEmail);
|
|
154
|
+
const { body } = yield this.getContactsApi(scope).getContactInfo(idAsString);
|
|
155
|
+
return body;
|
|
156
|
+
}
|
|
157
|
+
catch (error) {
|
|
158
|
+
(0, brevo_api_utils_1.handleBrevoError)(error);
|
|
159
|
+
}
|
|
130
160
|
});
|
|
131
161
|
}
|
|
132
162
|
getContactInfoByEmail(email, scope) {
|
|
@@ -142,32 +172,47 @@ let BrevoApiContactsService = class BrevoApiContactsService {
|
|
|
142
172
|
if ((0, brevo_api_utils_1.isErrorFromBrevo)(error) && (error.response.statusCode === 404 || error.response.statusCode === 400)) {
|
|
143
173
|
return undefined;
|
|
144
174
|
}
|
|
145
|
-
|
|
175
|
+
(0, brevo_api_utils_1.handleBrevoError)(error);
|
|
146
176
|
}
|
|
147
177
|
});
|
|
148
178
|
}
|
|
149
179
|
findContactsByListId(id, limit, offset, scope) {
|
|
150
180
|
return __awaiter(this, void 0, void 0, function* () {
|
|
151
|
-
|
|
152
|
-
|
|
181
|
+
try {
|
|
182
|
+
const data = yield this.getContactsApi(scope).getContactsFromList(id, undefined, limit, offset);
|
|
183
|
+
return [data.body.contacts, data.body.count];
|
|
184
|
+
}
|
|
185
|
+
catch (error) {
|
|
186
|
+
(0, brevo_api_utils_1.handleBrevoError)(error);
|
|
187
|
+
}
|
|
153
188
|
});
|
|
154
189
|
}
|
|
155
190
|
findContacts(limit, offset, scope) {
|
|
156
191
|
return __awaiter(this, void 0, void 0, function* () {
|
|
157
|
-
|
|
158
|
-
|
|
192
|
+
try {
|
|
193
|
+
const data = yield this.getContactsApi(scope).getContacts(limit, offset);
|
|
194
|
+
return data.body.contacts;
|
|
195
|
+
}
|
|
196
|
+
catch (error) {
|
|
197
|
+
(0, brevo_api_utils_1.handleBrevoError)(error);
|
|
198
|
+
}
|
|
159
199
|
});
|
|
160
200
|
}
|
|
161
201
|
deleteContacts(contacts, scope) {
|
|
162
202
|
return __awaiter(this, void 0, void 0, function* () {
|
|
163
|
-
|
|
164
|
-
const
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
203
|
+
try {
|
|
204
|
+
for (const contact of contacts) {
|
|
205
|
+
const idAsString = contact.id.toString();
|
|
206
|
+
const response = yield this.getContactsApi(scope).deleteContact(idAsString);
|
|
207
|
+
if (response.response.statusCode !== 204) {
|
|
208
|
+
return false;
|
|
209
|
+
}
|
|
168
210
|
}
|
|
211
|
+
return true;
|
|
212
|
+
}
|
|
213
|
+
catch (error) {
|
|
214
|
+
(0, brevo_api_utils_1.handleBrevoError)(error);
|
|
169
215
|
}
|
|
170
|
-
return true;
|
|
171
216
|
});
|
|
172
217
|
}
|
|
173
218
|
blacklistMultipleContacts(emails, scope) {
|
|
@@ -178,59 +223,84 @@ let BrevoApiContactsService = class BrevoApiContactsService {
|
|
|
178
223
|
}
|
|
179
224
|
createBrevoContactList(title, scope) {
|
|
180
225
|
return __awaiter(this, void 0, void 0, function* () {
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
226
|
+
try {
|
|
227
|
+
const contactList = {
|
|
228
|
+
name: title,
|
|
229
|
+
folderId: 1,
|
|
230
|
+
};
|
|
231
|
+
const data = yield this.getContactsApi(scope).createList(contactList);
|
|
232
|
+
return data.body.id;
|
|
233
|
+
}
|
|
234
|
+
catch (error) {
|
|
235
|
+
(0, brevo_api_utils_1.handleBrevoError)(error);
|
|
236
|
+
}
|
|
187
237
|
});
|
|
188
238
|
}
|
|
189
239
|
updateBrevoContactList(id, title, scope) {
|
|
190
240
|
return __awaiter(this, void 0, void 0, function* () {
|
|
191
|
-
|
|
192
|
-
|
|
241
|
+
try {
|
|
242
|
+
const data = yield this.getContactsApi(scope).updateList(id, { name: title });
|
|
243
|
+
return data.response.statusCode === 204;
|
|
244
|
+
}
|
|
245
|
+
catch (error) {
|
|
246
|
+
(0, brevo_api_utils_1.handleBrevoError)(error);
|
|
247
|
+
}
|
|
193
248
|
});
|
|
194
249
|
}
|
|
195
250
|
deleteBrevoContactList(id, scope) {
|
|
196
251
|
return __awaiter(this, void 0, void 0, function* () {
|
|
197
|
-
|
|
198
|
-
|
|
252
|
+
try {
|
|
253
|
+
const data = yield this.getContactsApi(scope).deleteList(id);
|
|
254
|
+
return data.response.statusCode === 204;
|
|
255
|
+
}
|
|
256
|
+
catch (error) {
|
|
257
|
+
(0, brevo_api_utils_1.handleBrevoError)(error);
|
|
258
|
+
}
|
|
199
259
|
});
|
|
200
260
|
}
|
|
201
261
|
findBrevoContactListById(id, scope) {
|
|
202
262
|
return __awaiter(this, void 0, void 0, function* () {
|
|
203
|
-
|
|
204
|
-
|
|
263
|
+
try {
|
|
264
|
+
const data = yield this.getContactsApi(scope).getList(id);
|
|
265
|
+
return data.body;
|
|
266
|
+
}
|
|
267
|
+
catch (error) {
|
|
268
|
+
(0, brevo_api_utils_1.handleBrevoError)(error);
|
|
269
|
+
}
|
|
205
270
|
});
|
|
206
271
|
}
|
|
207
272
|
findBrevoContactListsByIds(ids, scope) {
|
|
208
273
|
var _a, e_1, _b, _c;
|
|
209
274
|
return __awaiter(this, void 0, void 0, function* () {
|
|
210
|
-
const lists = [];
|
|
211
275
|
try {
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
_d =
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
276
|
+
const lists = [];
|
|
277
|
+
try {
|
|
278
|
+
for (var _d = true, _e = __asyncValues(yield this.getBrevoContactListResponses(scope)), _f; _f = yield _e.next(), _a = _f.done, !_a;) {
|
|
279
|
+
_c = _f.value;
|
|
280
|
+
_d = false;
|
|
281
|
+
try {
|
|
282
|
+
const list = _c;
|
|
283
|
+
if (ids.includes(list.id)) {
|
|
284
|
+
lists.push(list);
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
finally {
|
|
288
|
+
_d = true;
|
|
219
289
|
}
|
|
220
290
|
}
|
|
221
|
-
|
|
222
|
-
|
|
291
|
+
}
|
|
292
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
293
|
+
finally {
|
|
294
|
+
try {
|
|
295
|
+
if (!_d && !_a && (_b = _e.return)) yield _b.call(_e);
|
|
223
296
|
}
|
|
297
|
+
finally { if (e_1) throw e_1.error; }
|
|
224
298
|
}
|
|
299
|
+
return lists;
|
|
225
300
|
}
|
|
226
|
-
catch (
|
|
227
|
-
|
|
228
|
-
try {
|
|
229
|
-
if (!_d && !_a && (_b = _e.return)) yield _b.call(_e);
|
|
230
|
-
}
|
|
231
|
-
finally { if (e_1) throw e_1.error; }
|
|
301
|
+
catch (error) {
|
|
302
|
+
(0, brevo_api_utils_1.handleBrevoError)(error);
|
|
232
303
|
}
|
|
233
|
-
return lists;
|
|
234
304
|
});
|
|
235
305
|
}
|
|
236
306
|
getBrevoContactListResponses(scope) {
|
|
@@ -239,13 +309,18 @@ let BrevoApiContactsService = class BrevoApiContactsService {
|
|
|
239
309
|
const limit = 50;
|
|
240
310
|
let offset = 0;
|
|
241
311
|
while (true) {
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
312
|
+
try {
|
|
313
|
+
const listsResponse = yield __await(this.getContactsApi(scope).getLists(limit, offset));
|
|
314
|
+
const lists = (_a = listsResponse.body.lists) !== null && _a !== void 0 ? _a : [];
|
|
315
|
+
if (lists.length === 0) {
|
|
316
|
+
break;
|
|
317
|
+
}
|
|
318
|
+
yield __await(yield* __asyncDelegator(__asyncValues(lists)));
|
|
319
|
+
offset += limit;
|
|
320
|
+
}
|
|
321
|
+
catch (error) {
|
|
322
|
+
(0, brevo_api_utils_1.handleBrevoError)(error);
|
|
246
323
|
}
|
|
247
|
-
yield __await(yield* __asyncDelegator(__asyncValues(lists)));
|
|
248
|
-
offset += limit;
|
|
249
324
|
}
|
|
250
325
|
});
|
|
251
326
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"brevo-api-contact.service.js","sourceRoot":"","sources":["../../src/brevo-api/brevo-api-contact.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uDAAyC;AACzC,2CAAoD;AAKpD,6EAAuE;AACvE,
|
|
1
|
+
{"version":3,"file":"brevo-api-contact.service.js","sourceRoot":"","sources":["../../src/brevo-api/brevo-api-contact.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"brevo-api-transactional-mails.service.d.ts","sourceRoot":"","sources":["../../src/brevo-api/brevo-api-transactional-mails.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,iBAAiB,CAAC;AAEzC,OAAO,EAAE,2BAA2B,EAAE,MAAM,WAAW,CAAC;AAExD,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"brevo-api-transactional-mails.service.d.ts","sourceRoot":"","sources":["../../src/brevo-api/brevo-api-transactional-mails.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,iBAAiB,CAAC;AAEzC,OAAO,EAAE,2BAA2B,EAAE,MAAM,WAAW,CAAC;AAExD,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAIlE,KAAK,wBAAwB,GAAG,UAAU,CAAC,KAAK,CAAC,sBAAsB,CAAC,kBAAkB,CAAC,CAAC,CAAC;AAE7F,qBACa,8BAA8B;IAGE,OAAO,CAAC,QAAQ,CAAC,MAAM;IAFhE,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAmD;gBAEhC,MAAM,EAAE,iBAAiB;IAEnF,OAAO,CAAC,yBAAyB;IAoB3B,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,2BAA2B,GAAG,wBAAwB;CAQzH"}
|
|
@@ -48,26 +48,37 @@ exports.BrevoTransactionalMailsService = void 0;
|
|
|
48
48
|
const Brevo = __importStar(require("@getbrevo/brevo"));
|
|
49
49
|
const common_1 = require("@nestjs/common");
|
|
50
50
|
const brevo_module_constants_1 = require("../config/brevo-module.constants");
|
|
51
|
+
const brevo_api_utils_1 = require("./brevo-api.utils");
|
|
51
52
|
let BrevoTransactionalMailsService = class BrevoTransactionalMailsService {
|
|
52
53
|
constructor(config) {
|
|
53
54
|
this.config = config;
|
|
54
55
|
this.transactionalEmailsApi = new Map();
|
|
55
56
|
}
|
|
56
57
|
getTransactionalEmailsApi(scope) {
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
58
|
+
try {
|
|
59
|
+
const existingTransactionalEmailsApiForScope = this.transactionalEmailsApi.get(JSON.stringify(scope));
|
|
60
|
+
if (existingTransactionalEmailsApiForScope) {
|
|
61
|
+
return existingTransactionalEmailsApiForScope;
|
|
62
|
+
}
|
|
63
|
+
const { apiKey } = this.config.brevo.resolveConfig(scope);
|
|
64
|
+
const transactionalEmailApi = new Brevo.TransactionalEmailsApi();
|
|
65
|
+
transactionalEmailApi.setApiKey(Brevo.TransactionalEmailsApiApiKeys.apiKey, apiKey);
|
|
66
|
+
this.transactionalEmailsApi.set(JSON.stringify(scope), transactionalEmailApi);
|
|
67
|
+
return transactionalEmailApi;
|
|
68
|
+
}
|
|
69
|
+
catch (error) {
|
|
70
|
+
(0, brevo_api_utils_1.handleBrevoError)(error);
|
|
60
71
|
}
|
|
61
|
-
const { apiKey } = this.config.brevo.resolveConfig(scope);
|
|
62
|
-
const transactionalEmailApi = new Brevo.TransactionalEmailsApi();
|
|
63
|
-
transactionalEmailApi.setApiKey(Brevo.TransactionalEmailsApiApiKeys.apiKey, apiKey);
|
|
64
|
-
this.transactionalEmailsApi.set(JSON.stringify(scope), transactionalEmailApi);
|
|
65
|
-
return transactionalEmailApi;
|
|
66
72
|
}
|
|
67
73
|
send(options, scope) {
|
|
68
74
|
return __awaiter(this, void 0, void 0, function* () {
|
|
69
|
-
|
|
70
|
-
|
|
75
|
+
try {
|
|
76
|
+
const config = this.config.brevo.resolveConfig(scope);
|
|
77
|
+
return this.getTransactionalEmailsApi(scope).sendTransacEmail(Object.assign(Object.assign({}, options), { sender: config.sender }));
|
|
78
|
+
}
|
|
79
|
+
catch (error) {
|
|
80
|
+
(0, brevo_api_utils_1.handleBrevoError)(error);
|
|
81
|
+
}
|
|
71
82
|
});
|
|
72
83
|
}
|
|
73
84
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"brevo-api-transactional-mails.service.js","sourceRoot":"","sources":["../../src/brevo-api/brevo-api-transactional-mails.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uDAAyC;AACzC,2CAAoD;AAIpD,6EAAuE;
|
|
1
|
+
{"version":3,"file":"brevo-api-transactional-mails.service.js","sourceRoot":"","sources":["../../src/brevo-api/brevo-api-transactional-mails.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uDAAyC;AACzC,2CAAoD;AAIpD,6EAAuE;AACvE,uDAAqD;AAK9C,IAAM,8BAA8B,GAApC,MAAM,8BAA8B;IAGvC,YAA0D,MAAyB;QAAzB,WAAM,GAAN,MAAM,CAAmB;QAFlE,2BAAsB,GAAG,IAAI,GAAG,EAAwC,CAAC;IAEJ,CAAC;IAE/E,yBAAyB,CAAC,KAAkC;QAChE,IAAI;YACA,MAAM,sCAAsC,GAAG,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;YAEtG,IAAI,sCAAsC,EAAE;gBACxC,OAAO,sCAAsC,CAAC;aACjD;YAED,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAC1D,MAAM,qBAAqB,GAAG,IAAI,KAAK,CAAC,sBAAsB,EAAE,CAAC;YACjE,qBAAqB,CAAC,SAAS,CAAC,KAAK,CAAC,6BAA6B,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAEpF,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,qBAAqB,CAAC,CAAC;YAE9E,OAAO,qBAAqB,CAAC;SAChC;QAAC,OAAO,KAAK,EAAE;YACZ,IAAA,kCAAgB,EAAC,KAAK,CAAC,CAAC;SAC3B;IACL,CAAC;IAEK,IAAI,CAAC,OAA4C,EAAE,KAAkC;;YACvF,IAAI;gBACA,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;gBACtD,OAAO,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC,gBAAgB,iCAAM,OAAO,KAAE,MAAM,EAAE,MAAM,CAAC,MAAM,IAAG,CAAC;aACxG;YAAC,OAAO,KAAK,EAAE;gBACZ,IAAA,kCAAgB,EAAC,KAAK,CAAC,CAAC;aAC3B;QACL,CAAC;KAAA;CACJ,CAAA;AAjCY,8BAA8B;IAD1C,IAAA,mBAAU,GAAE;IAII,WAAA,IAAA,eAAM,EAAC,4CAAmB,CAAC,CAAA;;GAH/B,8BAA8B,CAiC1C;AAjCY,wEAA8B"}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
|
+
import { ErrorModel } from "@getbrevo/brevo";
|
|
2
3
|
import * as http from "http";
|
|
3
4
|
export declare function isErrorFromBrevo(error: unknown): error is {
|
|
4
5
|
response: http.IncomingMessage;
|
|
6
|
+
body: ErrorModel;
|
|
5
7
|
};
|
|
8
|
+
export declare function handleBrevoError(error: unknown): never;
|
|
6
9
|
//# sourceMappingURL=brevo-api.utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"brevo-api.utils.d.ts","sourceRoot":"","sources":["../../src/brevo-api/brevo-api.utils.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI;IAAE,QAAQ,EAAE,IAAI,CAAC,eAAe,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"brevo-api.utils.d.ts","sourceRoot":"","sources":["../../src/brevo-api/brevo-api.utils.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI;IAAE,QAAQ,EAAE,IAAI,CAAC,eAAe,CAAC;IAAC,IAAI,EAAE,UAAU,CAAA;CAAE,CAc9G;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,CAMtD"}
|
|
@@ -23,10 +23,29 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
23
23
|
return result;
|
|
24
24
|
};
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.isErrorFromBrevo = void 0;
|
|
26
|
+
exports.handleBrevoError = exports.isErrorFromBrevo = void 0;
|
|
27
27
|
const http = __importStar(require("http"));
|
|
28
28
|
function isErrorFromBrevo(error) {
|
|
29
|
-
return typeof error === "object" &&
|
|
29
|
+
return (typeof error === "object" &&
|
|
30
|
+
error !== null &&
|
|
31
|
+
"response" in error &&
|
|
32
|
+
error.response instanceof http.IncomingMessage &&
|
|
33
|
+
"body" in error &&
|
|
34
|
+
typeof error.body === "object" &&
|
|
35
|
+
error.body !== null &&
|
|
36
|
+
"code" in error.body &&
|
|
37
|
+
typeof error.body.code === "string" &&
|
|
38
|
+
"message" in error.body &&
|
|
39
|
+
typeof error.body.message === "string");
|
|
30
40
|
}
|
|
31
41
|
exports.isErrorFromBrevo = isErrorFromBrevo;
|
|
42
|
+
function handleBrevoError(error) {
|
|
43
|
+
if (isErrorFromBrevo(error)) {
|
|
44
|
+
throw new Error(error.body.message);
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
throw error;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
exports.handleBrevoError = handleBrevoError;
|
|
32
51
|
//# sourceMappingURL=brevo-api.utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"brevo-api.utils.js","sourceRoot":"","sources":["../../src/brevo-api/brevo-api.utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"brevo-api.utils.js","sourceRoot":"","sources":["../../src/brevo-api/brevo-api.utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AACA,2CAA6B;AAE7B,SAAgB,gBAAgB,CAAC,KAAc;IAC3C,OAAO,CACH,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,UAAU,IAAI,KAAK;QACnB,KAAK,CAAC,QAAQ,YAAY,IAAI,CAAC,eAAe;QAC9C,MAAM,IAAI,KAAK;QACf,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;QAC9B,KAAK,CAAC,IAAI,KAAK,IAAI;QACnB,MAAM,IAAI,KAAK,CAAC,IAAI;QACpB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ;QACnC,SAAS,IAAI,KAAK,CAAC,IAAI;QACvB,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,KAAK,QAAQ,CACzC,CAAC;AACN,CAAC;AAdD,4CAcC;AAED,SAAgB,gBAAgB,CAAC,KAAc;IAC3C,IAAI,gBAAgB,CAAC,KAAK,CAAC,EAAE;QACzB,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KACvC;SAAM;QACH,MAAM,KAAK,CAAC;KACf;AACL,CAAC;AAND,4CAMC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"target-groups.service.d.ts","sourceRoot":"","sources":["../../src/target-group/target-groups.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,WAAW,EAAE,WAAW,EAAQ,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"target-groups.service.d.ts","sourceRoot":"","sources":["../../src/target-group/target-groups.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,WAAW,EAAE,WAAW,EAAQ,MAAM,iBAAiB,CAAC;AAKlG,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AAEjF,OAAO,EAAE,+BAA+B,EAAE,qCAAqC,EAAE,2BAA2B,EAAE,MAAM,UAAU,CAAC;AAC/H,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAE5E,qBACa,mBAAmB;IAES,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC5D,OAAO,CAAC,QAAQ,CAAC,uBAAuB;IACxC,OAAO,CAAC,QAAQ,CAAC,aAAa;gBAFoB,UAAU,EAAE,gBAAgB,CAAC,oBAAoB,CAAC,EACnF,uBAAuB,EAAE,uBAAuB,EAChD,aAAa,EAAE,aAAa;IAGjD,gBAAgB,CAAC,OAAO,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,iBAAiB,CAAA;KAAE,GAAG,WAAW,CAAC,oBAAoB,CAAC;IActG,6BAA6B,CAChC,iBAAiB,CAAC,EAAE,+BAA+B,EACnD,OAAO,CAAC,EAAE,qCAAqC,GAChD,OAAO;IA2BG,2BAA2B,CACpC,WAAW,EAAE,oBAAoB,EACjC,KAAK,EAAE,2BAA2B,EAClC,OAAO,CAAC,EAAE,qCAAqC,GAChD,OAAO,CAAC,IAAI,CAAC;IA0DV,gBAAgB,CAAC,EACnB,MAAM,EACN,KAAK,EACL,KAAK,GACR,EAAE;QACC,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,WAAW,CAAC,oBAAoB,CAAC,CAAC;KAC5C,GAAG,OAAO,CAAC,CAAC,oBAAoB,EAAE,EAAE,MAAM,CAAC,CAAC;IAMhC,uCAAuC,CAAC,KAAK,EAAE,2BAA2B,GAAG,OAAO,CAAC,oBAAoB,CAAC;IA0B1G,oDAAoD,CAAC,WAAW,EAAE,oBAAoB;CA2BtG"}
|
|
@@ -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) {
|
|
@@ -71,36 +72,46 @@ let TargetGroupsService = class TargetGroupsService {
|
|
|
71
72
|
}
|
|
72
73
|
assignContactsToContactList(targetGroup, scope, filters) {
|
|
73
74
|
return __awaiter(this, void 0, void 0, function* () {
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
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
|
+
}
|
|
91
105
|
}
|
|
92
|
-
|
|
93
|
-
|
|
106
|
+
catch (error) {
|
|
107
|
+
(0, brevo_api_utils_1.handleBrevoError)(error);
|
|
94
108
|
}
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
}
|
|
102
|
-
} while (offset < totalCount);
|
|
103
|
-
return true;
|
|
109
|
+
} while (offset < totalCount);
|
|
110
|
+
return true;
|
|
111
|
+
}
|
|
112
|
+
catch (error) {
|
|
113
|
+
(0, brevo_api_utils_1.handleBrevoError)(error);
|
|
114
|
+
}
|
|
104
115
|
});
|
|
105
116
|
}
|
|
106
117
|
findTargetGroups({ offset, limit, where, }) {
|
|
@@ -111,34 +122,46 @@ let TargetGroupsService = class TargetGroupsService {
|
|
|
111
122
|
}
|
|
112
123
|
createIfNotExistMainTargetGroupForScope(scope) {
|
|
113
124
|
return __awaiter(this, void 0, void 0, function* () {
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
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");
|
|
117
138
|
}
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
const mainTargetGroupForScope = this.repository.create({ title, brevoId, scope, isMainList: true });
|
|
122
|
-
yield this.entityManager.flush();
|
|
123
|
-
return mainTargetGroupForScope;
|
|
139
|
+
catch (error) {
|
|
140
|
+
(0, brevo_api_utils_1.handleBrevoError)(error);
|
|
141
|
+
throw error;
|
|
124
142
|
}
|
|
125
|
-
throw new Error("Brevo Error: Could not create contact list");
|
|
126
143
|
});
|
|
127
144
|
}
|
|
128
145
|
createIfNotExistsManuallyAssignedContactsTargetGroup(targetGroup) {
|
|
129
146
|
return __awaiter(this, void 0, void 0, function* () {
|
|
130
|
-
|
|
131
|
-
|
|
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;
|
|
132
160
|
}
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
throw
|
|
161
|
+
catch (error) {
|
|
162
|
+
(0, brevo_api_utils_1.handleBrevoError)(error);
|
|
163
|
+
throw error;
|
|
136
164
|
}
|
|
137
|
-
(0, core_1.wrap)(targetGroup).assign({
|
|
138
|
-
assignedContactsTargetGroupBrevoId: brevoId,
|
|
139
|
-
});
|
|
140
|
-
yield this.entityManager.flush();
|
|
141
|
-
return brevoId;
|
|
142
165
|
});
|
|
143
166
|
}
|
|
144
167
|
};
|