@dextinity/brevo-api 2.0.0-canary-20260729062014

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.
Files changed (363) hide show
  1. package/LICENSE +24 -0
  2. package/lib/blacklisted-contacts/blacklisted-contacts.module.d.ts +12 -0
  3. package/lib/blacklisted-contacts/blacklisted-contacts.module.d.ts.map +1 -0
  4. package/lib/blacklisted-contacts/blacklisted-contacts.module.js +28 -0
  5. package/lib/blacklisted-contacts/blacklisted-contacts.module.js.map +1 -0
  6. package/lib/blacklisted-contacts/blacklisted-contacts.service.d.ts +13 -0
  7. package/lib/blacklisted-contacts/blacklisted-contacts.service.d.ts.map +1 -0
  8. package/lib/blacklisted-contacts/blacklisted-contacts.service.js +55 -0
  9. package/lib/blacklisted-contacts/blacklisted-contacts.service.js.map +1 -0
  10. package/lib/blacklisted-contacts/entity/blacklisted-contacts.entity.factory.d.ts +12 -0
  11. package/lib/blacklisted-contacts/entity/blacklisted-contacts.entity.factory.d.ts.map +1 -0
  12. package/lib/blacklisted-contacts/entity/blacklisted-contacts.entity.factory.js +63 -0
  13. package/lib/blacklisted-contacts/entity/blacklisted-contacts.entity.factory.js.map +1 -0
  14. package/lib/blocks/newsletter-image.block.d.ts +11 -0
  15. package/lib/blocks/newsletter-image.block.d.ts.map +1 -0
  16. package/lib/blocks/newsletter-image.block.js +32 -0
  17. package/lib/blocks/newsletter-image.block.js.map +1 -0
  18. package/lib/brevo-api/brevo-api-campaigns.service.d.ts +42 -0
  19. package/lib/brevo-api/brevo-api-campaigns.service.d.ts.map +1 -0
  20. package/lib/brevo-api/brevo-api-campaigns.service.js +188 -0
  21. package/lib/brevo-api/brevo-api-campaigns.service.js.map +1 -0
  22. package/lib/brevo-api/brevo-api-client.factory.d.ts +10 -0
  23. package/lib/brevo-api/brevo-api-client.factory.d.ts.map +1 -0
  24. package/lib/brevo-api/brevo-api-client.factory.js +48 -0
  25. package/lib/brevo-api/brevo-api-client.factory.js.map +1 -0
  26. package/lib/brevo-api/brevo-api-contact.service.d.ts +49 -0
  27. package/lib/brevo-api/brevo-api-contact.service.d.ts.map +1 -0
  28. package/lib/brevo-api/brevo-api-contact.service.js +265 -0
  29. package/lib/brevo-api/brevo-api-contact.service.js.map +1 -0
  30. package/lib/brevo-api/brevo-api-folders.service.d.ts +9 -0
  31. package/lib/brevo-api/brevo-api-folders.service.d.ts.map +1 -0
  32. package/lib/brevo-api/brevo-api-folders.service.js +43 -0
  33. package/lib/brevo-api/brevo-api-folders.service.js.map +1 -0
  34. package/lib/brevo-api/brevo-api-sender.service.d.ts +9 -0
  35. package/lib/brevo-api/brevo-api-sender.service.d.ts.map +1 -0
  36. package/lib/brevo-api/brevo-api-sender.service.js +35 -0
  37. package/lib/brevo-api/brevo-api-sender.service.js.map +1 -0
  38. package/lib/brevo-api/brevo-api-transactional-mails.service.d.ts +14 -0
  39. package/lib/brevo-api/brevo-api-transactional-mails.service.d.ts.map +1 -0
  40. package/lib/brevo-api/brevo-api-transactional-mails.service.js +55 -0
  41. package/lib/brevo-api/brevo-api-transactional-mails.service.js.map +1 -0
  42. package/lib/brevo-api/brevo-api.module.d.ts +3 -0
  43. package/lib/brevo-api/brevo-api.module.d.ts.map +1 -0
  44. package/lib/brevo-api/brevo-api.module.js +37 -0
  45. package/lib/brevo-api/brevo-api.module.js.map +1 -0
  46. package/lib/brevo-api/brevo-api.utils.d.ts +4 -0
  47. package/lib/brevo-api/brevo-api.utils.d.ts.map +1 -0
  48. package/lib/brevo-api/brevo-api.utils.js +18 -0
  49. package/lib/brevo-api/brevo-api.utils.js.map +1 -0
  50. package/lib/brevo-api/dto/brevo-api-campaign-statistics.d.ts +15 -0
  51. package/lib/brevo-api/dto/brevo-api-campaign-statistics.d.ts.map +1 -0
  52. package/lib/brevo-api/dto/brevo-api-campaign-statistics.js +70 -0
  53. package/lib/brevo-api/dto/brevo-api-campaign-statistics.js.map +1 -0
  54. package/lib/brevo-api/dto/brevo-api-campaign.d.ts +30 -0
  55. package/lib/brevo-api/dto/brevo-api-campaign.d.ts.map +1 -0
  56. package/lib/brevo-api/dto/brevo-api-campaign.js +3 -0
  57. package/lib/brevo-api/dto/brevo-api-campaign.js.map +1 -0
  58. package/lib/brevo-api/dto/brevo-api-contact-list.d.ts +11 -0
  59. package/lib/brevo-api/dto/brevo-api-contact-list.d.ts.map +1 -0
  60. package/lib/brevo-api/dto/brevo-api-contact-list.js +52 -0
  61. package/lib/brevo-api/dto/brevo-api-contact-list.js.map +1 -0
  62. package/lib/brevo-api/dto/brevo-api-email-templates-list.d.ts +25 -0
  63. package/lib/brevo-api/dto/brevo-api-email-templates-list.d.ts.map +1 -0
  64. package/lib/brevo-api/dto/brevo-api-email-templates-list.js +99 -0
  65. package/lib/brevo-api/dto/brevo-api-email-templates-list.js.map +1 -0
  66. package/lib/brevo-api/dto/brevo-api-folder.d.ts +5 -0
  67. package/lib/brevo-api/dto/brevo-api-folder.d.ts.map +1 -0
  68. package/lib/brevo-api/dto/brevo-api-folder.js +28 -0
  69. package/lib/brevo-api/dto/brevo-api-folder.js.map +1 -0
  70. package/lib/brevo-api/dto/brevo-api-sender.d.ts +14 -0
  71. package/lib/brevo-api/dto/brevo-api-sender.d.ts.map +1 -0
  72. package/lib/brevo-api/dto/brevo-api-sender.js +57 -0
  73. package/lib/brevo-api/dto/brevo-api-sender.js.map +1 -0
  74. package/lib/brevo-config/brevo-config.module.d.ts +12 -0
  75. package/lib/brevo-config/brevo-config.module.d.ts.map +1 -0
  76. package/lib/brevo-config/brevo-config.module.js +29 -0
  77. package/lib/brevo-config/brevo-config.module.js.map +1 -0
  78. package/lib/brevo-config/brevo-config.resolver.d.ts +8 -0
  79. package/lib/brevo-config/brevo-config.resolver.d.ts.map +1 -0
  80. package/lib/brevo-config/brevo-config.resolver.js +184 -0
  81. package/lib/brevo-config/brevo-config.resolver.js.map +1 -0
  82. package/lib/brevo-config/dto/brevo-config.input.d.ts +13 -0
  83. package/lib/brevo-config/dto/brevo-config.input.d.ts.map +1 -0
  84. package/lib/brevo-config/dto/brevo-config.input.js +64 -0
  85. package/lib/brevo-config/dto/brevo-config.input.js.map +1 -0
  86. package/lib/brevo-config/entities/brevo-config-entity.factory.d.ts +22 -0
  87. package/lib/brevo-config/entities/brevo-config-entity.factory.d.ts.map +1 -0
  88. package/lib/brevo-config/entities/brevo-config-entity.factory.js +91 -0
  89. package/lib/brevo-config/entities/brevo-config-entity.factory.js.map +1 -0
  90. package/lib/brevo-contact/brevo-contact-import.console.d.ts +6 -0
  91. package/lib/brevo-contact/brevo-contact-import.console.d.ts.map +1 -0
  92. package/lib/brevo-contact/brevo-contact-import.console.js +176 -0
  93. package/lib/brevo-contact/brevo-contact-import.console.js.map +1 -0
  94. package/lib/brevo-contact/brevo-contact-import.resolver.d.ts +8 -0
  95. package/lib/brevo-contact/brevo-contact-import.resolver.d.ts.map +1 -0
  96. package/lib/brevo-contact/brevo-contact-import.resolver.js +91 -0
  97. package/lib/brevo-contact/brevo-contact-import.resolver.js.map +1 -0
  98. package/lib/brevo-contact/brevo-contact-import.service.d.ts +44 -0
  99. package/lib/brevo-contact/brevo-contact-import.service.d.ts.map +1 -0
  100. package/lib/brevo-contact/brevo-contact-import.service.js +277 -0
  101. package/lib/brevo-contact/brevo-contact-import.service.js.map +1 -0
  102. package/lib/brevo-contact/brevo-contact.console.d.ts +12 -0
  103. package/lib/brevo-contact/brevo-contact.console.d.ts.map +1 -0
  104. package/lib/brevo-contact/brevo-contact.console.js +62 -0
  105. package/lib/brevo-contact/brevo-contact.console.js.map +1 -0
  106. package/lib/brevo-contact/brevo-contact.module.d.ts +17 -0
  107. package/lib/brevo-contact/brevo-contact.module.d.ts.map +1 -0
  108. package/lib/brevo-contact/brevo-contact.module.js +73 -0
  109. package/lib/brevo-contact/brevo-contact.module.js.map +1 -0
  110. package/lib/brevo-contact/brevo-contact.resolver.d.ts +15 -0
  111. package/lib/brevo-contact/brevo-contact.resolver.d.ts.map +1 -0
  112. package/lib/brevo-contact/brevo-contact.resolver.js +330 -0
  113. package/lib/brevo-contact/brevo-contact.resolver.js.map +1 -0
  114. package/lib/brevo-contact/brevo-contacts.service.d.ts +49 -0
  115. package/lib/brevo-contact/brevo-contacts.service.d.ts.map +1 -0
  116. package/lib/brevo-contact/brevo-contacts.service.js +158 -0
  117. package/lib/brevo-contact/brevo-contacts.service.js.map +1 -0
  118. package/lib/brevo-contact/dto/brevo-contact-import.args.d.ts +15 -0
  119. package/lib/brevo-contact/dto/brevo-contact-import.args.d.ts.map +1 -0
  120. package/lib/brevo-contact/dto/brevo-contact-import.args.js +49 -0
  121. package/lib/brevo-contact/dto/brevo-contact-import.args.js.map +1 -0
  122. package/lib/brevo-contact/dto/brevo-contact-input.factory.d.ts +21 -0
  123. package/lib/brevo-contact/dto/brevo-contact-input.factory.d.ts.map +1 -0
  124. package/lib/brevo-contact/dto/brevo-contact-input.factory.js +106 -0
  125. package/lib/brevo-contact/dto/brevo-contact-input.factory.js.map +1 -0
  126. package/lib/brevo-contact/dto/brevo-contact.factory.d.ts +19 -0
  127. package/lib/brevo-contact/dto/brevo-contact.factory.d.ts.map +1 -0
  128. package/lib/brevo-contact/dto/brevo-contact.factory.js +74 -0
  129. package/lib/brevo-contact/dto/brevo-contact.factory.js.map +1 -0
  130. package/lib/brevo-contact/dto/brevo-contacts.args.d.ts +16 -0
  131. package/lib/brevo-contact/dto/brevo-contacts.args.d.ts.map +1 -0
  132. package/lib/brevo-contact/dto/brevo-contacts.args.js +45 -0
  133. package/lib/brevo-contact/dto/brevo-contacts.args.js.map +1 -0
  134. package/lib/brevo-contact/dto/brevo-test-contact-input.factory.d.ts +14 -0
  135. package/lib/brevo-contact/dto/brevo-test-contact-input.factory.d.ts.map +1 -0
  136. package/lib/brevo-contact/dto/brevo-test-contact-input.factory.js +62 -0
  137. package/lib/brevo-contact/dto/brevo-test-contact-input.factory.js.map +1 -0
  138. package/lib/brevo-contact/dto/manually-assigned-brevo-contacts.args.d.ts +6 -0
  139. package/lib/brevo-contact/dto/manually-assigned-brevo-contacts.args.d.ts.map +1 -0
  140. package/lib/brevo-contact/dto/manually-assigned-brevo-contacts.args.js +32 -0
  141. package/lib/brevo-contact/dto/manually-assigned-brevo-contacts.args.js.map +1 -0
  142. package/lib/brevo-contact/dto/subscribe-input.factory.d.ts +14 -0
  143. package/lib/brevo-contact/dto/subscribe-input.factory.d.ts.map +1 -0
  144. package/lib/brevo-contact/dto/subscribe-input.factory.js +55 -0
  145. package/lib/brevo-contact/dto/subscribe-input.factory.js.map +1 -0
  146. package/lib/brevo-contact/dto/subscribe-response.enum.d.ts +9 -0
  147. package/lib/brevo-contact/dto/subscribe-response.enum.d.ts.map +1 -0
  148. package/lib/brevo-contact/dto/subscribe-response.enum.js +17 -0
  149. package/lib/brevo-contact/dto/subscribe-response.enum.js.map +1 -0
  150. package/lib/brevo-contact/ecg-rtr-list/ecg-rtr-list.service.d.ts +8 -0
  151. package/lib/brevo-contact/ecg-rtr-list/ecg-rtr-list.service.d.ts.map +1 -0
  152. package/lib/brevo-contact/ecg-rtr-list/ecg-rtr-list.service.js +80 -0
  153. package/lib/brevo-contact/ecg-rtr-list/ecg-rtr-list.service.js.map +1 -0
  154. package/lib/brevo-contact/validator/redirect-url.validator.d.ts +14 -0
  155. package/lib/brevo-contact/validator/redirect-url.validator.d.ts.map +1 -0
  156. package/lib/brevo-contact/validator/redirect-url.validator.js +61 -0
  157. package/lib/brevo-contact/validator/redirect-url.validator.js.map +1 -0
  158. package/lib/brevo-email-import-log/brevo-email-import-log.module.d.ts +12 -0
  159. package/lib/brevo-email-import-log/brevo-email-import-log.module.d.ts.map +1 -0
  160. package/lib/brevo-email-import-log/brevo-email-import-log.module.js +30 -0
  161. package/lib/brevo-email-import-log/brevo-email-import-log.module.js.map +1 -0
  162. package/lib/brevo-email-import-log/brevo-email-import-log.service.d.ts +12 -0
  163. package/lib/brevo-email-import-log/brevo-email-import-log.service.d.ts.map +1 -0
  164. package/lib/brevo-email-import-log/brevo-email-import-log.service.js +52 -0
  165. package/lib/brevo-email-import-log/brevo-email-import-log.service.js.map +1 -0
  166. package/lib/brevo-email-import-log/entity/brevo-email-import-log.entity.factory.d.ts +19 -0
  167. package/lib/brevo-email-import-log/entity/brevo-email-import-log.entity.factory.d.ts.map +1 -0
  168. package/lib/brevo-email-import-log/entity/brevo-email-import-log.entity.factory.js +87 -0
  169. package/lib/brevo-email-import-log/entity/brevo-email-import-log.entity.factory.js.map +1 -0
  170. package/lib/brevo-module.d.ts +10 -0
  171. package/lib/brevo-module.d.ts.map +1 -0
  172. package/lib/brevo-module.js +93 -0
  173. package/lib/brevo-module.js.map +1 -0
  174. package/lib/config/brevo-module.config.d.ts +43 -0
  175. package/lib/config/brevo-module.config.d.ts.map +1 -0
  176. package/lib/config/brevo-module.config.js +3 -0
  177. package/lib/config/brevo-module.config.js.map +1 -0
  178. package/lib/config/brevo-module.constants.d.ts +2 -0
  179. package/lib/config/brevo-module.constants.d.ts.map +1 -0
  180. package/lib/config/brevo-module.constants.js +5 -0
  181. package/lib/config/brevo-module.constants.js.map +1 -0
  182. package/lib/config/config.module.d.ts +6 -0
  183. package/lib/config/config.module.d.ts.map +1 -0
  184. package/lib/config/config.module.js +32 -0
  185. package/lib/config/config.module.js.map +1 -0
  186. package/lib/email-campaign/dto/email-campaign-args.factory.d.ts +19 -0
  187. package/lib/email-campaign/dto/email-campaign-args.factory.d.ts.map +1 -0
  188. package/lib/email-campaign/dto/email-campaign-args.factory.js +56 -0
  189. package/lib/email-campaign/dto/email-campaign-args.factory.js.map +1 -0
  190. package/lib/email-campaign/dto/email-campaign-input.factory.d.ts +15 -0
  191. package/lib/email-campaign/dto/email-campaign-input.factory.d.ts.map +1 -0
  192. package/lib/email-campaign/dto/email-campaign-input.factory.js +66 -0
  193. package/lib/email-campaign/dto/email-campaign-input.factory.js.map +1 -0
  194. package/lib/email-campaign/dto/email-campaign.filter.d.ts +16 -0
  195. package/lib/email-campaign/dto/email-campaign.filter.d.ts.map +1 -0
  196. package/lib/email-campaign/dto/email-campaign.filter.js +85 -0
  197. package/lib/email-campaign/dto/email-campaign.filter.js.map +1 -0
  198. package/lib/email-campaign/dto/email-campaign.sort.d.ts +14 -0
  199. package/lib/email-campaign/dto/email-campaign.sort.d.ts.map +1 -0
  200. package/lib/email-campaign/dto/email-campaign.sort.js +46 -0
  201. package/lib/email-campaign/dto/email-campaign.sort.js.map +1 -0
  202. package/lib/email-campaign/dto/send-test-email-campaign.args.d.ts +4 -0
  203. package/lib/email-campaign/dto/send-test-email-campaign.args.d.ts.map +1 -0
  204. package/lib/email-campaign/dto/send-test-email-campaign.args.js +26 -0
  205. package/lib/email-campaign/dto/send-test-email-campaign.args.js.map +1 -0
  206. package/lib/email-campaign/email-campaign.module.d.ts +18 -0
  207. package/lib/email-campaign/email-campaign.module.d.ts.map +1 -0
  208. package/lib/email-campaign/email-campaign.module.js +48 -0
  209. package/lib/email-campaign/email-campaign.module.js.map +1 -0
  210. package/lib/email-campaign/email-campaign.resolver.d.ts +13 -0
  211. package/lib/email-campaign/email-campaign.resolver.d.ts.map +1 -0
  212. package/lib/email-campaign/email-campaign.resolver.js +272 -0
  213. package/lib/email-campaign/email-campaign.resolver.js.map +1 -0
  214. package/lib/email-campaign/email-campaigns.service.d.ts +32 -0
  215. package/lib/email-campaign/email-campaigns.service.d.ts.map +1 -0
  216. package/lib/email-campaign/email-campaigns.service.js +152 -0
  217. package/lib/email-campaign/email-campaigns.service.js.map +1 -0
  218. package/lib/email-campaign/entities/email-campaign-entity.factory.d.ts +27 -0
  219. package/lib/email-campaign/entities/email-campaign-entity.factory.d.ts.map +1 -0
  220. package/lib/email-campaign/entities/email-campaign-entity.factory.js +95 -0
  221. package/lib/email-campaign/entities/email-campaign-entity.factory.js.map +1 -0
  222. package/lib/email-campaign/sending-state.enum.d.ts +6 -0
  223. package/lib/email-campaign/sending-state.enum.d.ts.map +1 -0
  224. package/lib/email-campaign/sending-state.enum.js +14 -0
  225. package/lib/email-campaign/sending-state.enum.js.map +1 -0
  226. package/lib/index.d.ts +19 -0
  227. package/lib/index.d.ts.map +1 -0
  228. package/lib/index.js +28 -0
  229. package/lib/index.js.map +1 -0
  230. package/lib/mikro-orm/migrations/Migration20240115095733.d.ts +5 -0
  231. package/lib/mikro-orm/migrations/Migration20240115095733.d.ts.map +1 -0
  232. package/lib/mikro-orm/migrations/Migration20240115095733.js +11 -0
  233. package/lib/mikro-orm/migrations/Migration20240115095733.js.map +1 -0
  234. package/lib/mikro-orm/migrations/Migration20240118144808.d.ts +5 -0
  235. package/lib/mikro-orm/migrations/Migration20240118144808.d.ts.map +1 -0
  236. package/lib/mikro-orm/migrations/Migration20240118144808.js +12 -0
  237. package/lib/mikro-orm/migrations/Migration20240118144808.js.map +1 -0
  238. package/lib/mikro-orm/migrations/Migration20240123145606.d.ts +5 -0
  239. package/lib/mikro-orm/migrations/Migration20240123145606.d.ts.map +1 -0
  240. package/lib/mikro-orm/migrations/Migration20240123145606.js +13 -0
  241. package/lib/mikro-orm/migrations/Migration20240123145606.js.map +1 -0
  242. package/lib/mikro-orm/migrations/Migration20240527112204.d.ts +5 -0
  243. package/lib/mikro-orm/migrations/Migration20240527112204.d.ts.map +1 -0
  244. package/lib/mikro-orm/migrations/Migration20240527112204.js +11 -0
  245. package/lib/mikro-orm/migrations/Migration20240527112204.js.map +1 -0
  246. package/lib/mikro-orm/migrations/Migration20240619092554.d.ts +5 -0
  247. package/lib/mikro-orm/migrations/Migration20240619092554.d.ts.map +1 -0
  248. package/lib/mikro-orm/migrations/Migration20240619092554.js +11 -0
  249. package/lib/mikro-orm/migrations/Migration20240619092554.js.map +1 -0
  250. package/lib/mikro-orm/migrations/Migration20240619145217.d.ts +5 -0
  251. package/lib/mikro-orm/migrations/Migration20240619145217.d.ts.map +1 -0
  252. package/lib/mikro-orm/migrations/Migration20240619145217.js +11 -0
  253. package/lib/mikro-orm/migrations/Migration20240619145217.js.map +1 -0
  254. package/lib/mikro-orm/migrations/Migration20240621102349.d.ts +5 -0
  255. package/lib/mikro-orm/migrations/Migration20240621102349.d.ts.map +1 -0
  256. package/lib/mikro-orm/migrations/Migration20240621102349.js +19 -0
  257. package/lib/mikro-orm/migrations/Migration20240621102349.js.map +1 -0
  258. package/lib/mikro-orm/migrations/Migration20240819214939.d.ts +5 -0
  259. package/lib/mikro-orm/migrations/Migration20240819214939.d.ts.map +1 -0
  260. package/lib/mikro-orm/migrations/Migration20240819214939.js +19 -0
  261. package/lib/mikro-orm/migrations/Migration20240819214939.js.map +1 -0
  262. package/lib/mikro-orm/migrations/Migration20240830112400.d.ts +5 -0
  263. package/lib/mikro-orm/migrations/Migration20240830112400.d.ts.map +1 -0
  264. package/lib/mikro-orm/migrations/Migration20240830112400.js +12 -0
  265. package/lib/mikro-orm/migrations/Migration20240830112400.js.map +1 -0
  266. package/lib/mikro-orm/migrations/Migration20241016123307.d.ts +5 -0
  267. package/lib/mikro-orm/migrations/Migration20241016123307.d.ts.map +1 -0
  268. package/lib/mikro-orm/migrations/Migration20241016123307.js +11 -0
  269. package/lib/mikro-orm/migrations/Migration20241016123307.js.map +1 -0
  270. package/lib/mikro-orm/migrations/Migration20241018110515.d.ts +5 -0
  271. package/lib/mikro-orm/migrations/Migration20241018110515.d.ts.map +1 -0
  272. package/lib/mikro-orm/migrations/Migration20241018110515.js +11 -0
  273. package/lib/mikro-orm/migrations/Migration20241018110515.js.map +1 -0
  274. package/lib/mikro-orm/migrations/Migration20241022144400.d.ts +5 -0
  275. package/lib/mikro-orm/migrations/Migration20241022144400.d.ts.map +1 -0
  276. package/lib/mikro-orm/migrations/Migration20241022144400.js +11 -0
  277. package/lib/mikro-orm/migrations/Migration20241022144400.js.map +1 -0
  278. package/lib/mikro-orm/migrations/Migration20241024071748.d.ts +5 -0
  279. package/lib/mikro-orm/migrations/Migration20241024071748.d.ts.map +1 -0
  280. package/lib/mikro-orm/migrations/Migration20241024071748.js +11 -0
  281. package/lib/mikro-orm/migrations/Migration20241024071748.js.map +1 -0
  282. package/lib/mikro-orm/migrations/Migration20241119101706.d.ts +5 -0
  283. package/lib/mikro-orm/migrations/Migration20241119101706.d.ts.map +1 -0
  284. package/lib/mikro-orm/migrations/Migration20241119101706.js +12 -0
  285. package/lib/mikro-orm/migrations/Migration20241119101706.js.map +1 -0
  286. package/lib/mikro-orm/migrations/Migration20250221073825.d.ts +5 -0
  287. package/lib/mikro-orm/migrations/Migration20250221073825.d.ts.map +1 -0
  288. package/lib/mikro-orm/migrations/Migration20250221073825.js +11 -0
  289. package/lib/mikro-orm/migrations/Migration20250221073825.js.map +1 -0
  290. package/lib/mikro-orm/migrations/Migration20250317131301.d.ts +5 -0
  291. package/lib/mikro-orm/migrations/Migration20250317131301.d.ts.map +1 -0
  292. package/lib/mikro-orm/migrations/Migration20250317131301.js +11 -0
  293. package/lib/mikro-orm/migrations/Migration20250317131301.js.map +1 -0
  294. package/lib/mikro-orm/migrations/Migration20250321132034.d.ts +5 -0
  295. package/lib/mikro-orm/migrations/Migration20250321132034.d.ts.map +1 -0
  296. package/lib/mikro-orm/migrations/Migration20250321132034.js +11 -0
  297. package/lib/mikro-orm/migrations/Migration20250321132034.js.map +1 -0
  298. package/lib/mikro-orm/migrations/Migration20250703155205.d.ts +5 -0
  299. package/lib/mikro-orm/migrations/Migration20250703155205.d.ts.map +1 -0
  300. package/lib/mikro-orm/migrations/Migration20250703155205.js +16 -0
  301. package/lib/mikro-orm/migrations/Migration20250703155205.js.map +1 -0
  302. package/lib/mikro-orm/migrations/migrations.d.ts +3 -0
  303. package/lib/mikro-orm/migrations/migrations.d.ts.map +1 -0
  304. package/lib/mikro-orm/migrations/migrations.js +42 -0
  305. package/lib/mikro-orm/migrations/migrations.js.map +1 -0
  306. package/lib/permissions/brevo-permission.enum.d.ts +5 -0
  307. package/lib/permissions/brevo-permission.enum.d.ts.map +1 -0
  308. package/lib/permissions/brevo-permission.enum.js +15 -0
  309. package/lib/permissions/brevo-permission.enum.js.map +1 -0
  310. package/lib/target-group/dto/add-brevo-contacts.input.d.ts +4 -0
  311. package/lib/target-group/dto/add-brevo-contacts.input.d.ts.map +1 -0
  312. package/lib/target-group/dto/add-brevo-contacts.input.js +27 -0
  313. package/lib/target-group/dto/add-brevo-contacts.input.js.map +1 -0
  314. package/lib/target-group/dto/remove-brevo-contact.input.d.ts +4 -0
  315. package/lib/target-group/dto/remove-brevo-contact.input.d.ts.map +1 -0
  316. package/lib/target-group/dto/remove-brevo-contact.input.js +26 -0
  317. package/lib/target-group/dto/remove-brevo-contact.input.js.map +1 -0
  318. package/lib/target-group/dto/target-group-args.factory.d.ts +19 -0
  319. package/lib/target-group/dto/target-group-args.factory.d.ts.map +1 -0
  320. package/lib/target-group/dto/target-group-args.factory.js +56 -0
  321. package/lib/target-group/dto/target-group-args.factory.js.map +1 -0
  322. package/lib/target-group/dto/target-group-input.factory.d.ts +12 -0
  323. package/lib/target-group/dto/target-group-input.factory.d.ts.map +1 -0
  324. package/lib/target-group/dto/target-group-input.factory.js +66 -0
  325. package/lib/target-group/dto/target-group-input.factory.js.map +1 -0
  326. package/lib/target-group/dto/target-group.filter.d.ts +10 -0
  327. package/lib/target-group/dto/target-group.filter.d.ts.map +1 -0
  328. package/lib/target-group/dto/target-group.filter.js +65 -0
  329. package/lib/target-group/dto/target-group.filter.js.map +1 -0
  330. package/lib/target-group/dto/target-group.sort.d.ts +12 -0
  331. package/lib/target-group/dto/target-group.sort.d.ts.map +1 -0
  332. package/lib/target-group/dto/target-group.sort.js +44 -0
  333. package/lib/target-group/dto/target-group.sort.js.map +1 -0
  334. package/lib/target-group/entity/target-group-entity.factory.d.ts +24 -0
  335. package/lib/target-group/entity/target-group-entity.factory.d.ts.map +1 -0
  336. package/lib/target-group/entity/target-group-entity.factory.js +112 -0
  337. package/lib/target-group/entity/target-group-entity.factory.js.map +1 -0
  338. package/lib/target-group/target-group.module.d.ts +13 -0
  339. package/lib/target-group/target-group.module.d.ts.map +1 -0
  340. package/lib/target-group/target-group.module.js +39 -0
  341. package/lib/target-group/target-group.module.js.map +1 -0
  342. package/lib/target-group/target-group.resolver.d.ts +11 -0
  343. package/lib/target-group/target-group.resolver.d.ts.map +1 -0
  344. package/lib/target-group/target-group.resolver.js +227 -0
  345. package/lib/target-group/target-group.resolver.js.map +1 -0
  346. package/lib/target-group/target-groups.service.d.ts +26 -0
  347. package/lib/target-group/target-groups.service.d.ts.map +1 -0
  348. package/lib/target-group/target-groups.service.js +175 -0
  349. package/lib/target-group/target-groups.service.js.map +1 -0
  350. package/lib/tsconfig.build.tsbuildinfo +1 -0
  351. package/lib/types.d.ts +4 -0
  352. package/lib/types.d.ts.map +1 -0
  353. package/lib/types.js +3 -0
  354. package/lib/types.js.map +1 -0
  355. package/lib/util/hash.util.d.ts +2 -0
  356. package/lib/util/hash.util.d.ts.map +1 -0
  357. package/lib/util/hash.util.js +13 -0
  358. package/lib/util/hash.util.js.map +1 -0
  359. package/lib/validation/dynamic-dto-validation.pipe.d.ts +5 -0
  360. package/lib/validation/dynamic-dto-validation.pipe.d.ts.map +1 -0
  361. package/lib/validation/dynamic-dto-validation.pipe.js +18 -0
  362. package/lib/validation/dynamic-dto-validation.pipe.js.map +1 -0
  363. package/package.json +101 -0
@@ -0,0 +1,15 @@
1
+ import { Type } from "@nestjs/common";
2
+ import { EmailCampaignScopeInterface } from "../types";
3
+ import { BrevoContactInterface } from "./dto/brevo-contact.factory";
4
+ import { BrevoContactInputInterface } from "./dto/brevo-contact-input.factory";
5
+ import { BrevoTestContactInputInterface } from "./dto/brevo-test-contact-input.factory";
6
+ import { SubscribeInputInterface } from "./dto/subscribe-input.factory";
7
+ export declare function createBrevoContactResolver({ BrevoContact, BrevoContactSubscribeInput, Scope, BrevoContactInput, BrevoContactUpdateInput, BrevoTestContactInput, }: {
8
+ BrevoContact: Type<BrevoContactInterface>;
9
+ BrevoContactSubscribeInput: Type<SubscribeInputInterface>;
10
+ BrevoContactInput: Type<BrevoContactInputInterface>;
11
+ BrevoContactUpdateInput: Type<Partial<BrevoContactInputInterface>>;
12
+ BrevoTestContactInput: Type<BrevoTestContactInputInterface>;
13
+ Scope: Type<EmailCampaignScopeInterface>;
14
+ }): Type<unknown>;
15
+ //# sourceMappingURL=brevo-contact.resolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"brevo-contact.resolver.d.ts","sourceRoot":"","sources":["../../src/brevo-contact/brevo-contact.resolver.ts"],"names":[],"mappings":"AAGA,OAAO,EAAU,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAU9C,OAAO,EAAE,2BAA2B,EAAE,MAAM,UAAU,CAAC;AAGvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,0BAA0B,EAAoC,MAAM,mCAAmC,CAAC;AAEjH,OAAO,EAAE,8BAA8B,EAAE,MAAM,wCAAwC,CAAC;AAExF,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAIxE,wBAAgB,0BAA0B,CAAC,EACvC,YAAY,EACZ,0BAA0B,EAC1B,KAAK,EACL,iBAAiB,EACjB,uBAAuB,EACvB,qBAAqB,GACxB,EAAE;IACC,YAAY,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;IAC1C,0BAA0B,EAAE,IAAI,CAAC,uBAAuB,CAAC,CAAC;IAC1D,iBAAiB,EAAE,IAAI,CAAC,0BAA0B,CAAC,CAAC;IACpD,uBAAuB,EAAE,IAAI,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC,CAAC;IACnE,qBAAqB,EAAE,IAAI,CAAC,8BAA8B,CAAC,CAAC;IAC5D,KAAK,EAAE,IAAI,CAAC,2BAA2B,CAAC,CAAC;CAC5C,GAAG,IAAI,CAAC,OAAO,CAAC,CA6ThB"}
@@ -0,0 +1,330 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.createBrevoContactResolver = createBrevoContactResolver;
16
+ const cms_api_1 = require("@dextinity/cms-api");
17
+ const nestjs_1 = require("@mikro-orm/nestjs");
18
+ const postgresql_1 = require("@mikro-orm/postgresql");
19
+ const common_1 = require("@nestjs/common");
20
+ const graphql_1 = require("@nestjs/graphql");
21
+ const brevo_api_contact_service_1 = require("../brevo-api/brevo-api-contact.service");
22
+ const brevo_email_import_log_entity_factory_1 = require("../brevo-email-import-log/entity/brevo-email-import-log.entity.factory");
23
+ const brevo_module_constants_1 = require("../config/brevo-module.constants");
24
+ const target_groups_service_1 = require("../target-group/target-groups.service");
25
+ const dynamic_dto_validation_pipe_1 = require("../validation/dynamic-dto-validation.pipe");
26
+ const brevo_contacts_service_1 = require("./brevo-contacts.service");
27
+ const brevo_contacts_args_1 = require("./dto/brevo-contacts.args");
28
+ const manually_assigned_brevo_contacts_args_1 = require("./dto/manually-assigned-brevo-contacts.args");
29
+ const subscribe_response_enum_1 = require("./dto/subscribe-response.enum");
30
+ const ecg_rtr_list_service_1 = require("./ecg-rtr-list/ecg-rtr-list.service");
31
+ function createBrevoContactResolver({ BrevoContact, BrevoContactSubscribeInput, Scope, BrevoContactInput, BrevoContactUpdateInput, BrevoTestContactInput, }) {
32
+ let PaginatedBrevoContacts = class PaginatedBrevoContacts extends cms_api_1.PaginatedResponseFactory.create(BrevoContact) {
33
+ };
34
+ PaginatedBrevoContacts = __decorate([
35
+ (0, graphql_1.ObjectType)()
36
+ ], PaginatedBrevoContacts);
37
+ let BrevoContactsArgs = class BrevoContactsArgs extends brevo_contacts_args_1.BrevoContactsArgsFactory.create({ Scope }) {
38
+ };
39
+ BrevoContactsArgs = __decorate([
40
+ (0, graphql_1.ArgsType)()
41
+ ], BrevoContactsArgs);
42
+ let BrevoContactResolver = class BrevoContactResolver {
43
+ constructor(config, brevoConfigRepository, brevoContactsApiService, brevoContactsService, ecgRtrListService, targetGroupService, targetGroupRepository) {
44
+ this.config = config;
45
+ this.brevoConfigRepository = brevoConfigRepository;
46
+ this.brevoContactsApiService = brevoContactsApiService;
47
+ this.brevoContactsService = brevoContactsService;
48
+ this.ecgRtrListService = ecgRtrListService;
49
+ this.targetGroupService = targetGroupService;
50
+ this.targetGroupRepository = targetGroupRepository;
51
+ }
52
+ async brevoContact(id, scope) {
53
+ const brevoContact = await this.brevoContactsApiService.findContact(id, scope);
54
+ if (!brevoContact) {
55
+ throw new Error(`Brevo contact with id ${id} not found`);
56
+ }
57
+ return brevoContact;
58
+ }
59
+ async brevoContacts({ offset, limit, email, targetGroupId, scope }) {
60
+ const where = { scope, isMainList: true };
61
+ if (targetGroupId) {
62
+ where.id = targetGroupId;
63
+ where.isMainList = false;
64
+ }
65
+ let targetGroup = await this.targetGroupRepository.findOne(where);
66
+ if (!targetGroup) {
67
+ if (targetGroupId) {
68
+ return new PaginatedBrevoContacts([], 0, { offset, limit });
69
+ }
70
+ targetGroup = await this.targetGroupService.createIfNotExistMainTargetGroupForScope(scope);
71
+ }
72
+ if (email) {
73
+ const contact = await this.brevoContactsApiService.getContactInfoByEmail(email, scope);
74
+ if (contact && contact.listIds.includes(targetGroup.brevoId)) {
75
+ return new PaginatedBrevoContacts([contact], 1, { offset, limit });
76
+ }
77
+ return new PaginatedBrevoContacts([], 0, { offset, limit });
78
+ }
79
+ const [contacts, count] = await this.brevoContactsApiService.findContactsByListId(targetGroup.brevoId, limit, offset, targetGroup.scope);
80
+ return new PaginatedBrevoContacts(contacts, count, { offset, limit });
81
+ }
82
+ async brevoTestContacts({ offset, limit, email, scope }) {
83
+ const where = { scope, isMainList: false, isTestList: true };
84
+ let targetGroup = await this.targetGroupRepository.findOne(where);
85
+ if (!targetGroup) {
86
+ targetGroup = await this.targetGroupService.createIfNotExistTestTargetGroupForScope(scope);
87
+ }
88
+ if (email) {
89
+ const contact = await this.brevoContactsApiService.getContactInfoByEmail(email, scope);
90
+ if (contact && contact.listIds.includes(targetGroup.brevoId)) {
91
+ return new PaginatedBrevoContacts([contact], 1, { offset, limit });
92
+ }
93
+ return new PaginatedBrevoContacts([], 0, { offset, limit });
94
+ }
95
+ const [contacts, count] = await this.brevoContactsApiService.findContactsByListId(targetGroup.brevoId, limit, offset, targetGroup.scope);
96
+ return new PaginatedBrevoContacts(contacts, count, { offset, limit });
97
+ }
98
+ async manuallyAssignedBrevoContacts({ offset, limit, email, targetGroupId }) {
99
+ const targetGroup = await this.targetGroupRepository.findOneOrFail({ id: targetGroupId });
100
+ if (email) {
101
+ const contact = await this.brevoContactsApiService.getContactInfoByEmail(email, targetGroup.scope);
102
+ if (contact && contact.listIds.includes(targetGroup.brevoId)) {
103
+ return new PaginatedBrevoContacts([contact], 1, { offset, limit });
104
+ }
105
+ return new PaginatedBrevoContacts([], 0, { offset, limit });
106
+ }
107
+ if (!targetGroup.assignedContactsTargetGroupBrevoId) {
108
+ return new PaginatedBrevoContacts([], 0, { offset, limit });
109
+ }
110
+ const [contacts, count] = await this.brevoContactsApiService.findContactsByListId(targetGroup.assignedContactsTargetGroupBrevoId, limit, offset, targetGroup.scope);
111
+ return new PaginatedBrevoContacts(contacts, count, { offset, limit });
112
+ }
113
+ async updateBrevoContact(id, scope, input) {
114
+ const contact = await this.brevoContactsApiService.updateContact(id, {
115
+ blocked: input.blocked,
116
+ attributes: input.attributes,
117
+ }, scope);
118
+ const assignedListIds = contact.listIds;
119
+ const mainListIds = (await this.targetGroupRepository.find({ brevoId: { $in: assignedListIds }, isMainList: true })).map((targetGroup) => targetGroup.brevoId);
120
+ const updatedNonMainListIds = await this.brevoContactsService.getTargetGroupIdsForExistingContact({
121
+ contact,
122
+ });
123
+ const testTargetGroup = await this.targetGroupRepository.findOne({ scope, isMainList: false, isTestList: true });
124
+ const contactIncludesTestList = testTargetGroup?.brevoId ? contact.listIds.includes(testTargetGroup.brevoId) : false;
125
+ if (testTargetGroup && contactIncludesTestList) {
126
+ const testListId = testTargetGroup.brevoId;
127
+ if (!updatedNonMainListIds.includes(testListId)) {
128
+ updatedNonMainListIds.push(testListId);
129
+ }
130
+ }
131
+ const contactWithUpdatedLists = await this.brevoContactsApiService.updateContact(id, {
132
+ listIds: updatedNonMainListIds.filter((listId) => !assignedListIds.includes(listId)),
133
+ unlinkListIds: assignedListIds.filter((listId) => !updatedNonMainListIds.includes(listId) && !mainListIds.includes(listId)),
134
+ }, scope);
135
+ return contactWithUpdatedLists;
136
+ }
137
+ async createBrevoContact(scope, input, user) {
138
+ if ((await this.ecgRtrListService.getContainedEcgRtrListEmails([input.email])).length > 0) {
139
+ return subscribe_response_enum_1.SubscribeResponse.ERROR_CONTAINED_IN_ECG_RTR_LIST;
140
+ }
141
+ const brevoConfig = await this.brevoConfigRepository.findOneOrFail({ scope });
142
+ return this.brevoContactsService.createContact({
143
+ email: input.email,
144
+ attributes: input.attributes,
145
+ redirectionUrl: input.redirectionUrl,
146
+ scope,
147
+ templateId: brevoConfig.doubleOptInTemplateId,
148
+ sendDoubleOptIn: input.sendDoubleOptIn,
149
+ responsibleUserId: user.id,
150
+ contactSource: brevo_email_import_log_entity_factory_1.ContactSource.manualCreation,
151
+ });
152
+ }
153
+ async createBrevoTestContact(scope, input) {
154
+ const where = { scope, isMainList: false, isTestList: true };
155
+ const targetGroup = await this.targetGroupRepository.findOne(where);
156
+ const contact = await this.brevoContactsApiService.getContactInfoByEmail(input.email, scope);
157
+ if (targetGroup) {
158
+ const numberOfContacts = await this.brevoContactsApiService.getContactCountByListId(targetGroup.brevoId, scope);
159
+ if (numberOfContacts >= 100) {
160
+ return subscribe_response_enum_1.SubscribeResponse.ERROR_MAXIMAL_NUMBER_OF_TEST_CONTACTS_REACHED;
161
+ }
162
+ }
163
+ if (contact && targetGroup) {
164
+ const listIds = contact.listIds ? [...contact.listIds] : [];
165
+ listIds.push(targetGroup.brevoId);
166
+ await this.brevoContactsApiService.updateContact(contact.id, {
167
+ listIds,
168
+ }, scope);
169
+ return subscribe_response_enum_1.SubscribeResponse.SUCCESSFUL;
170
+ }
171
+ else {
172
+ const created = await this.brevoContactsService.createTestContact({
173
+ email: input.email,
174
+ attributes: input.attributes,
175
+ scope,
176
+ });
177
+ if (created) {
178
+ return subscribe_response_enum_1.SubscribeResponse.SUCCESSFUL;
179
+ }
180
+ return subscribe_response_enum_1.SubscribeResponse.ERROR_UNKNOWN;
181
+ }
182
+ }
183
+ async deleteBrevoContact(id, scope) {
184
+ const contact = await this.brevoContactsApiService.findContact(id, scope);
185
+ if (!contact) {
186
+ return false;
187
+ }
188
+ const where = { scope, isMainList: false, isTestList: true };
189
+ const testTargetGroup = await this.targetGroupRepository.findOne(where);
190
+ const contactIncludesTestList = testTargetGroup?.brevoId ? contact.listIds.includes(testTargetGroup.brevoId) : false;
191
+ if (testTargetGroup && contactIncludesTestList) {
192
+ const testListId = testTargetGroup.brevoId;
193
+ const unlinkListIds = contact.listIds.filter((id) => id !== testListId);
194
+ await this.brevoContactsApiService.updateContact(contact.id, {
195
+ listIds: [testListId],
196
+ unlinkListIds,
197
+ }, scope);
198
+ return true;
199
+ }
200
+ else {
201
+ return this.brevoContactsApiService.deleteContact(id, scope);
202
+ }
203
+ }
204
+ async deleteBrevoTestContact(id, scope) {
205
+ const contact = await this.brevoContactsApiService.findContact(id, scope);
206
+ if (!contact) {
207
+ return false;
208
+ }
209
+ const where = { scope, isMainList: false, isTestList: true };
210
+ const testTargetGroup = await this.targetGroupRepository.findOne(where);
211
+ const mainTargetGroup = await this.targetGroupRepository.findOne({ scope, isMainList: true });
212
+ const mainListIncludesContact = mainTargetGroup?.brevoId ? contact.listIds.includes(mainTargetGroup.brevoId) : false;
213
+ if (testTargetGroup && mainListIncludesContact) {
214
+ const testListId = testTargetGroup.brevoId;
215
+ const linkListIds = contact.listIds.filter((id) => id !== testListId);
216
+ await this.brevoContactsApiService.updateContact(contact.id, {
217
+ listIds: linkListIds,
218
+ unlinkListIds: [testListId],
219
+ }, scope);
220
+ return true;
221
+ }
222
+ else {
223
+ return this.brevoContactsApiService.deleteContact(id, scope);
224
+ }
225
+ }
226
+ async subscribeBrevoContact(data, scope) {
227
+ return this.brevoContactsService.subscribeBrevoContact(data, scope);
228
+ }
229
+ };
230
+ __decorate([
231
+ (0, graphql_1.Query)(() => BrevoContact),
232
+ (0, cms_api_1.AffectedEntity)(BrevoContact),
233
+ __param(0, (0, graphql_1.Args)("id", { type: () => graphql_1.Int })),
234
+ __param(1, (0, graphql_1.Args)("scope", { type: () => Scope }, new dynamic_dto_validation_pipe_1.DynamicDtoValidationPipe(Scope))),
235
+ __metadata("design:type", Function),
236
+ __metadata("design:paramtypes", [Number, Object]),
237
+ __metadata("design:returntype", Promise)
238
+ ], BrevoContactResolver.prototype, "brevoContact", null);
239
+ __decorate([
240
+ (0, graphql_1.Query)(() => PaginatedBrevoContacts),
241
+ __param(0, (0, graphql_1.Args)()),
242
+ __metadata("design:type", Function),
243
+ __metadata("design:paramtypes", [BrevoContactsArgs]),
244
+ __metadata("design:returntype", Promise)
245
+ ], BrevoContactResolver.prototype, "brevoContacts", null);
246
+ __decorate([
247
+ (0, graphql_1.Query)(() => PaginatedBrevoContacts),
248
+ __param(0, (0, graphql_1.Args)()),
249
+ __metadata("design:type", Function),
250
+ __metadata("design:paramtypes", [BrevoContactsArgs]),
251
+ __metadata("design:returntype", Promise)
252
+ ], BrevoContactResolver.prototype, "brevoTestContacts", null);
253
+ __decorate([
254
+ (0, graphql_1.Query)(() => PaginatedBrevoContacts),
255
+ __param(0, (0, graphql_1.Args)()),
256
+ __metadata("design:type", Function),
257
+ __metadata("design:paramtypes", [manually_assigned_brevo_contacts_args_1.ManuallyAssignedBrevoContactsArgs]),
258
+ __metadata("design:returntype", Promise)
259
+ ], BrevoContactResolver.prototype, "manuallyAssignedBrevoContacts", null);
260
+ __decorate([
261
+ (0, graphql_1.Mutation)(() => BrevoContact),
262
+ (0, cms_api_1.AffectedEntity)(BrevoContact),
263
+ __param(0, (0, graphql_1.Args)("id", { type: () => graphql_1.Int })),
264
+ __param(1, (0, graphql_1.Args)("scope", { type: () => Scope }, new dynamic_dto_validation_pipe_1.DynamicDtoValidationPipe(Scope))),
265
+ __param(2, (0, graphql_1.Args)("input", { type: () => BrevoContactUpdateInput })),
266
+ __metadata("design:type", Function),
267
+ __metadata("design:paramtypes", [Number, Object, Object]),
268
+ __metadata("design:returntype", Promise)
269
+ ], BrevoContactResolver.prototype, "updateBrevoContact", null);
270
+ __decorate([
271
+ (0, graphql_1.Mutation)(() => subscribe_response_enum_1.SubscribeResponse),
272
+ (0, cms_api_1.RequiredPermission)(["brevoNewsletter"], { skipScopeCheck: true }),
273
+ __param(0, (0, graphql_1.Args)("scope", { type: () => Scope }, new dynamic_dto_validation_pipe_1.DynamicDtoValidationPipe(Scope))),
274
+ __param(1, (0, graphql_1.Args)("input", { type: () => BrevoContactInput })),
275
+ __param(2, (0, cms_api_1.GetCurrentUser)()),
276
+ __metadata("design:type", Function),
277
+ __metadata("design:paramtypes", [Object, Object, cms_api_1.CurrentUser]),
278
+ __metadata("design:returntype", Promise)
279
+ ], BrevoContactResolver.prototype, "createBrevoContact", null);
280
+ __decorate([
281
+ (0, graphql_1.Mutation)(() => subscribe_response_enum_1.SubscribeResponse),
282
+ (0, cms_api_1.RequiredPermission)(["brevoNewsletter"], { skipScopeCheck: true }),
283
+ __param(0, (0, graphql_1.Args)("scope", { type: () => Scope }, new dynamic_dto_validation_pipe_1.DynamicDtoValidationPipe(Scope))),
284
+ __param(1, (0, graphql_1.Args)("input", { type: () => BrevoTestContactInput })),
285
+ __metadata("design:type", Function),
286
+ __metadata("design:paramtypes", [Object, Object]),
287
+ __metadata("design:returntype", Promise)
288
+ ], BrevoContactResolver.prototype, "createBrevoTestContact", null);
289
+ __decorate([
290
+ (0, graphql_1.Mutation)(() => Boolean),
291
+ (0, cms_api_1.AffectedEntity)(BrevoContact),
292
+ __param(0, (0, graphql_1.Args)("id", { type: () => graphql_1.Int })),
293
+ __param(1, (0, graphql_1.Args)("scope", { type: () => Scope }, new dynamic_dto_validation_pipe_1.DynamicDtoValidationPipe(Scope))),
294
+ __metadata("design:type", Function),
295
+ __metadata("design:paramtypes", [Number, Object]),
296
+ __metadata("design:returntype", Promise)
297
+ ], BrevoContactResolver.prototype, "deleteBrevoContact", null);
298
+ __decorate([
299
+ (0, graphql_1.Mutation)(() => Boolean),
300
+ (0, cms_api_1.AffectedEntity)(BrevoContact),
301
+ __param(0, (0, graphql_1.Args)("id", { type: () => graphql_1.Int })),
302
+ __param(1, (0, graphql_1.Args)("scope", { type: () => Scope }, new dynamic_dto_validation_pipe_1.DynamicDtoValidationPipe(Scope))),
303
+ __metadata("design:type", Function),
304
+ __metadata("design:paramtypes", [Number, Object]),
305
+ __metadata("design:returntype", Promise)
306
+ ], BrevoContactResolver.prototype, "deleteBrevoTestContact", null);
307
+ __decorate([
308
+ (0, graphql_1.Mutation)(() => subscribe_response_enum_1.SubscribeResponse),
309
+ __param(0, (0, graphql_1.Args)("input", { type: () => BrevoContactSubscribeInput })),
310
+ __param(1, (0, graphql_1.Args)("scope", { type: () => Scope }, new dynamic_dto_validation_pipe_1.DynamicDtoValidationPipe(Scope))),
311
+ __metadata("design:type", Function),
312
+ __metadata("design:paramtypes", [Object, Object]),
313
+ __metadata("design:returntype", Promise)
314
+ ], BrevoContactResolver.prototype, "subscribeBrevoContact", null);
315
+ BrevoContactResolver = __decorate([
316
+ (0, graphql_1.Resolver)(() => BrevoContact),
317
+ (0, cms_api_1.RequiredPermission)(["brevoNewsletter"], { skipScopeCheck: true }),
318
+ __param(0, (0, common_1.Inject)(brevo_module_constants_1.BREVO_MODULE_CONFIG)),
319
+ __param(1, (0, nestjs_1.InjectRepository)("BrevoConfig")),
320
+ __param(6, (0, nestjs_1.InjectRepository)("BrevoTargetGroup")),
321
+ __metadata("design:paramtypes", [Object, postgresql_1.EntityRepository,
322
+ brevo_api_contact_service_1.BrevoApiContactsService,
323
+ brevo_contacts_service_1.BrevoContactsService,
324
+ ecg_rtr_list_service_1.EcgRtrListService,
325
+ target_groups_service_1.TargetGroupsService,
326
+ postgresql_1.EntityRepository])
327
+ ], BrevoContactResolver);
328
+ return BrevoContactResolver;
329
+ }
330
+ //# sourceMappingURL=brevo-contact.resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"brevo-contact.resolver.js","sourceRoot":"","sources":["../../src/brevo-contact/brevo-contact.resolver.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ import { EntityRepository } from "@mikro-orm/postgresql";
2
+ import { BrevoConfigInterface } from "src/brevo-config/entities/brevo-config-entity.factory";
3
+ import { BlacklistedContactsInterface } from "../blacklisted-contacts/entity/blacklisted-contacts.entity.factory";
4
+ import { BrevoApiContactsService } from "../brevo-api/brevo-api-contact.service";
5
+ import { BrevoEmailImportLogService } from "../brevo-email-import-log/brevo-email-import-log.service";
6
+ import { ContactSource } from "../brevo-email-import-log/entity/brevo-email-import-log.entity.factory";
7
+ import { BrevoModuleConfig } from "../config/brevo-module.config";
8
+ import { TargetGroupsService } from "../target-group/target-groups.service";
9
+ import { BrevoContactAttributesInterface, EmailCampaignScopeInterface } from "../types";
10
+ import { BrevoContactInterface } from "./dto/brevo-contact.factory";
11
+ import { SubscribeInputInterface } from "./dto/subscribe-input.factory";
12
+ import { SubscribeResponse } from "./dto/subscribe-response.enum";
13
+ import { EcgRtrListService } from "./ecg-rtr-list/ecg-rtr-list.service";
14
+ export declare class BrevoContactsService {
15
+ private readonly config;
16
+ private readonly brevoConfigRepository;
17
+ private readonly blacklistedContactsRepository;
18
+ private readonly brevoContactsApiService;
19
+ private readonly ecgRtrListService;
20
+ private readonly targetGroupService;
21
+ private readonly brevoEmailImportLogService;
22
+ private readonly secretKey?;
23
+ constructor(config: BrevoModuleConfig, brevoConfigRepository: EntityRepository<BrevoConfigInterface>, blacklistedContactsRepository: EntityRepository<BlacklistedContactsInterface>, brevoContactsApiService: BrevoApiContactsService, ecgRtrListService: EcgRtrListService, targetGroupService: TargetGroupsService, brevoEmailImportLogService: BrevoEmailImportLogService);
24
+ createContact({ email, attributes, redirectionUrl, scope, templateId, listIds, sendDoubleOptIn, responsibleUserId, contactSource, }: {
25
+ email: string;
26
+ attributes?: BrevoContactAttributesInterface;
27
+ redirectionUrl?: string;
28
+ scope: EmailCampaignScopeInterface;
29
+ templateId: number;
30
+ listIds?: number[];
31
+ sendDoubleOptIn: boolean;
32
+ responsibleUserId?: string;
33
+ contactSource?: ContactSource;
34
+ }): Promise<SubscribeResponse>;
35
+ createTestContact({ email, attributes, scope, }: {
36
+ email: string;
37
+ attributes?: BrevoContactAttributesInterface;
38
+ scope: EmailCampaignScopeInterface;
39
+ }): Promise<boolean>;
40
+ getTargetGroupIdsForNewContact({ contactAttributes, scope, }: {
41
+ contactAttributes?: BrevoContactAttributesInterface;
42
+ scope?: EmailCampaignScopeInterface;
43
+ }): Promise<number[]>;
44
+ subscribeBrevoContact(data: SubscribeInputInterface, scope: EmailCampaignScopeInterface): Promise<SubscribeResponse>;
45
+ getTargetGroupIdsForExistingContact({ contact }: {
46
+ contact?: BrevoContactInterface;
47
+ }): Promise<number[]>;
48
+ }
49
+ //# sourceMappingURL=brevo-contacts.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"brevo-contacts.service.d.ts","sourceRoot":"","sources":["../../src/brevo-contact/brevo-contacts.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,158 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.BrevoContactsService = void 0;
16
+ const nestjs_1 = require("@mikro-orm/nestjs");
17
+ const postgresql_1 = require("@mikro-orm/postgresql");
18
+ const common_1 = require("@nestjs/common");
19
+ const brevo_api_contact_service_1 = require("../brevo-api/brevo-api-contact.service");
20
+ const brevo_email_import_log_service_1 = require("../brevo-email-import-log/brevo-email-import-log.service");
21
+ const brevo_module_constants_1 = require("../config/brevo-module.constants");
22
+ const target_groups_service_1 = require("../target-group/target-groups.service");
23
+ const hash_util_1 = require("../util/hash.util");
24
+ const subscribe_response_enum_1 = require("./dto/subscribe-response.enum");
25
+ const ecg_rtr_list_service_1 = require("./ecg-rtr-list/ecg-rtr-list.service");
26
+ let BrevoContactsService = class BrevoContactsService {
27
+ constructor(config, brevoConfigRepository, blacklistedContactsRepository, brevoContactsApiService, ecgRtrListService, targetGroupService, brevoEmailImportLogService) {
28
+ this.config = config;
29
+ this.brevoConfigRepository = brevoConfigRepository;
30
+ this.blacklistedContactsRepository = blacklistedContactsRepository;
31
+ this.brevoContactsApiService = brevoContactsApiService;
32
+ this.ecgRtrListService = ecgRtrListService;
33
+ this.targetGroupService = targetGroupService;
34
+ this.brevoEmailImportLogService = brevoEmailImportLogService;
35
+ this.secretKey = this.config.contactsWithoutDoi?.emailHashKey;
36
+ }
37
+ async createContact({ email, attributes, redirectionUrl, scope, templateId, listIds, sendDoubleOptIn, responsibleUserId, contactSource, }) {
38
+ const existingContact = await this.brevoContactsApiService.getContactInfoByEmail(email, scope);
39
+ if (existingContact) {
40
+ return subscribe_response_enum_1.SubscribeResponse.ERROR_CONTACT_ALREADY_EXISTS;
41
+ }
42
+ const mainTargetGroupForScope = await this.targetGroupService.createIfNotExistMainTargetGroupForScope(scope);
43
+ const targetGroupIds = await this.getTargetGroupIdsForNewContact({ scope, contactAttributes: attributes });
44
+ const brevoIds = [mainTargetGroupForScope.brevoId, ...targetGroupIds];
45
+ if (listIds) {
46
+ brevoIds.push(...listIds);
47
+ }
48
+ if (!sendDoubleOptIn && responsibleUserId) {
49
+ if (!this.secretKey) {
50
+ throw new Error("There is no `emailHashKey` defined in the environment variables.");
51
+ }
52
+ const hashedEmail = (0, hash_util_1.hashEmail)(email, this.secretKey);
53
+ const blacklistedContactAvailable = await this.blacklistedContactsRepository.findOne({ hashedEmail: hashedEmail });
54
+ if (blacklistedContactAvailable) {
55
+ return subscribe_response_enum_1.SubscribeResponse.ERROR_CONTACT_IS_BLACKLISTED;
56
+ }
57
+ if (contactSource) {
58
+ const created = await this.brevoContactsApiService.createBrevoContactWithoutDoubleOptIn({ email, attributes }, brevoIds, scope);
59
+ if (created) {
60
+ await this.brevoEmailImportLogService.addContactToLogs(email, responsibleUserId, scope, contactSource);
61
+ return subscribe_response_enum_1.SubscribeResponse.SUCCESSFUL;
62
+ }
63
+ else {
64
+ return subscribe_response_enum_1.SubscribeResponse.ERROR_UNKNOWN;
65
+ }
66
+ }
67
+ }
68
+ else {
69
+ const created = await this.brevoContactsApiService.createDoubleOptInBrevoContact({ email, redirectionUrl, attributes }, brevoIds, templateId, scope);
70
+ if (created) {
71
+ return subscribe_response_enum_1.SubscribeResponse.SUCCESSFUL;
72
+ }
73
+ else {
74
+ return subscribe_response_enum_1.SubscribeResponse.ERROR_UNKNOWN;
75
+ }
76
+ }
77
+ return subscribe_response_enum_1.SubscribeResponse.ERROR_UNKNOWN;
78
+ }
79
+ async createTestContact({ email, attributes, scope, }) {
80
+ const testTargetGroupForScope = await this.targetGroupService.createIfNotExistTestTargetGroupForScope(scope);
81
+ const created = await this.brevoContactsApiService.createTestContact({ email, attributes }, [testTargetGroupForScope.brevoId], scope);
82
+ return created;
83
+ }
84
+ async getTargetGroupIdsForNewContact({ contactAttributes, scope, }) {
85
+ let offset = 0;
86
+ let totalCount = 0;
87
+ const targetGroupIds = [];
88
+ const limit = 50;
89
+ const where = { isMainList: false, scope };
90
+ do {
91
+ const [targetGroups, totalContactLists] = await this.targetGroupService.findTargetGroups({ offset, limit, where });
92
+ totalCount = totalContactLists;
93
+ offset += targetGroups.length;
94
+ for (const targetGroup of targetGroups) {
95
+ const contactIsInTargetGroup = this.targetGroupService.checkIfContactIsInTargetGroupByAttributes(contactAttributes, targetGroup.filters);
96
+ if (contactIsInTargetGroup) {
97
+ targetGroupIds.push(targetGroup.brevoId);
98
+ }
99
+ }
100
+ } while (offset < totalCount);
101
+ return targetGroupIds;
102
+ }
103
+ async subscribeBrevoContact(data, scope) {
104
+ if ((await this.ecgRtrListService.getContainedEcgRtrListEmails([data.email])).length > 0) {
105
+ return subscribe_response_enum_1.SubscribeResponse.ERROR_CONTAINED_IN_ECG_RTR_LIST;
106
+ }
107
+ const brevoConfig = await this.brevoConfigRepository.findOneOrFail({ scope });
108
+ const created = await this.createContact({
109
+ ...data,
110
+ scope,
111
+ templateId: brevoConfig.doubleOptInTemplateId,
112
+ sendDoubleOptIn: true,
113
+ });
114
+ if (created) {
115
+ return subscribe_response_enum_1.SubscribeResponse.SUCCESSFUL;
116
+ }
117
+ return subscribe_response_enum_1.SubscribeResponse.ERROR_UNKNOWN;
118
+ }
119
+ async getTargetGroupIdsForExistingContact({ contact }) {
120
+ let offset = 0;
121
+ let totalCount = 0;
122
+ const targetGroupIds = [];
123
+ const limit = 50;
124
+ const where = { isMainList: false };
125
+ do {
126
+ const [targetGroups, totalContactLists] = await this.targetGroupService.findTargetGroups({ offset, limit, where });
127
+ totalCount = totalContactLists;
128
+ offset += targetGroups.length;
129
+ for (const targetGroup of targetGroups) {
130
+ const contactIsInTargetGroupByAttributes = this.targetGroupService.checkIfContactIsInTargetGroupByAttributes(contact?.attributes, targetGroup.filters);
131
+ if (contactIsInTargetGroupByAttributes) {
132
+ targetGroupIds.push(targetGroup.brevoId);
133
+ }
134
+ if (targetGroup.assignedContactsTargetGroupBrevoId && contact?.listIds.includes(targetGroup.assignedContactsTargetGroupBrevoId)) {
135
+ targetGroupIds.push(targetGroup.brevoId, targetGroup.assignedContactsTargetGroupBrevoId);
136
+ }
137
+ }
138
+ } while (offset < totalCount);
139
+ return targetGroupIds;
140
+ }
141
+ };
142
+ exports.BrevoContactsService = BrevoContactsService;
143
+ exports.BrevoContactsService = BrevoContactsService = __decorate([
144
+ (0, common_1.Injectable)(),
145
+ __param(0, (0, common_1.Inject)(brevo_module_constants_1.BREVO_MODULE_CONFIG)),
146
+ __param(1, (0, nestjs_1.InjectRepository)("BrevoConfig")),
147
+ __param(2, (0, common_1.Optional)()),
148
+ __param(2, (0, nestjs_1.InjectRepository)("BrevoBlacklistedContacts")),
149
+ __param(2, (0, common_1.Optional)()),
150
+ __param(6, (0, common_1.Optional)()),
151
+ __metadata("design:paramtypes", [Object, postgresql_1.EntityRepository,
152
+ postgresql_1.EntityRepository,
153
+ brevo_api_contact_service_1.BrevoApiContactsService,
154
+ ecg_rtr_list_service_1.EcgRtrListService,
155
+ target_groups_service_1.TargetGroupsService,
156
+ brevo_email_import_log_service_1.BrevoEmailImportLogService])
157
+ ], BrevoContactsService);
158
+ //# sourceMappingURL=brevo-contacts.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"brevo-contacts.service.js","sourceRoot":"","sources":["../../src/brevo-contact/brevo-contacts.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import { Type } from "@nestjs/common";
2
+ import { EmailCampaignScopeInterface } from "../../types";
3
+ export declare class BrevoContactImportArgsFactory {
4
+ static create({ Scope }: {
5
+ Scope: Type<EmailCampaignScopeInterface>;
6
+ }): {
7
+ new (): {
8
+ fileId: string;
9
+ targetGroupIds?: Array<string>;
10
+ scope: EmailCampaignScopeInterface;
11
+ sendDoubleOptIn: boolean;
12
+ };
13
+ };
14
+ }
15
+ //# sourceMappingURL=brevo-contact-import.args.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"brevo-contact-import.args.d.ts","sourceRoot":"","sources":["../../../src/brevo-contact/dto/brevo-contact-import.args.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAKtC,OAAO,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAC;AAE1D,qBAAa,6BAA6B;IACtC,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,EAAE;QAAE,KAAK,EAAE,IAAI,CAAC,2BAA2B,CAAC,CAAA;KAAE;;oBAKrD,MAAM;6BAIG,KAAK,CAAC,MAAM,CAAC;mBAKvB,2BAA2B;6BAIjB,OAAO;;;CAKnC"}