@comet/brevo-api 2.1.2-canary-20241007102959 → 2.1.2-canary-20241010125601

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.
@@ -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
- const mainScopeTargetGroupList = yield this.repository.findOneOrFail({ scope, isMainList: true });
75
- let offset = 0;
76
- let totalCount = 0;
77
- do {
78
- const [contacts, totalContacts] = yield this.brevoApiContactsService.findContactsByListId(mainScopeTargetGroupList.brevoId, 50, offset, scope);
79
- totalCount = totalContacts;
80
- offset += contacts.length;
81
- const contactsInContactList = [];
82
- const contactsNotInContactList = [];
83
- for (const contact of contacts) {
84
- const contactIsInTargetGroupByFilters = this.checkIfContactIsInTargetGroup(contact.attributes, filters);
85
- const manuallyAssignedTargetGroup = targetGroup.assignedContactsTargetGroupBrevoId;
86
- const contactIsManuallyAssignedToTargetGroup = manuallyAssignedTargetGroup
87
- ? contact.listIds.includes(manuallyAssignedTargetGroup)
88
- : false;
89
- if (contactIsInTargetGroupByFilters || contactIsManuallyAssignedToTargetGroup) {
90
- contactsInContactList.push(contact);
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
- else {
93
- contactsNotInContactList.push(contact);
106
+ catch (error) {
107
+ (0, brevo_api_utils_1.handleBrevoError)(error);
94
108
  }
95
- }
96
- if (contactsInContactList.length > 0) {
97
- yield this.brevoApiContactsService.updateMultipleContacts(contactsInContactList.map((contact) => ({ id: contact.id, listIds: [targetGroup.brevoId] })), scope);
98
- }
99
- if (contactsNotInContactList.length > 0) {
100
- yield this.brevoApiContactsService.updateMultipleContacts(contactsNotInContactList.map((contact) => ({ id: contact.id, unlinkListIds: [targetGroup.brevoId] })), scope);
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
- const mainList = yield this.repository.findOne({ scope, isMainList: true });
115
- if (mainList) {
116
- return mainList;
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
- const title = "Main list for current scope";
119
- const brevoId = yield this.brevoApiContactsService.createBrevoContactList(title, scope);
120
- if (brevoId) {
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
- if (targetGroup.assignedContactsTargetGroupBrevoId) {
131
- return targetGroup.assignedContactsTargetGroupBrevoId;
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
- const brevoId = yield this.brevoApiContactsService.createBrevoContactList(`Manually assigned contacts for target group ${targetGroup.brevoId}`, targetGroup.scope);
134
- if (!brevoId) {
135
- throw new Error("Brevo Error: Could not create target group in brevo");
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
  };
@@ -1 +1 @@
1
- {"version":3,"file":"target-groups.service.js","sourceRoot":"","sources":["../../src/target-group/target-groups.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"target-groups.service.js","sourceRoot":"","sources":["../../src/target-group/target-groups.service.ts"],"names":[],"mappings":"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"}