@intlayer/backend 7.2.1-canary.1 → 7.2.2

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 (288) hide show
  1. package/dist/esm/utils/AI/aiSdk.mjs +7 -1
  2. package/dist/esm/utils/AI/aiSdk.mjs.map +1 -1
  3. package/dist/types/controllers/projectAccessKey.controller.d.ts.map +1 -1
  4. package/dist/types/controllers/tag.controller.d.ts.map +1 -1
  5. package/dist/types/emails/InviteUserEmail.d.ts +4 -4
  6. package/dist/types/emails/InviteUserEmail.d.ts.map +1 -1
  7. package/dist/types/emails/MagicLinkEmail.d.ts +4 -4
  8. package/dist/types/emails/OAuthTokenCreatedEmail.d.ts +4 -4
  9. package/dist/types/emails/OAuthTokenCreatedEmail.d.ts.map +1 -1
  10. package/dist/types/emails/PasswordChangeConfirmation.d.ts +4 -4
  11. package/dist/types/emails/ResetUserPassword.d.ts +4 -4
  12. package/dist/types/emails/SubscriptionPaymentCancellation.d.ts +4 -4
  13. package/dist/types/emails/SubscriptionPaymentError.d.ts +4 -4
  14. package/dist/types/emails/SubscriptionPaymentError.d.ts.map +1 -1
  15. package/dist/types/emails/SubscriptionPaymentSuccess.d.ts +4 -4
  16. package/dist/types/emails/ValidateUserEmail.d.ts +4 -4
  17. package/dist/types/emails/Welcome.d.ts +4 -4
  18. package/dist/types/emails/Welcome.d.ts.map +1 -1
  19. package/dist/types/models/dictionary.model.d.ts +4 -4
  20. package/dist/types/models/dictionary.model.d.ts.map +1 -1
  21. package/dist/types/models/discussion.model.d.ts +2 -2
  22. package/dist/types/models/oAuth2.model.d.ts +3 -3
  23. package/dist/types/models/oAuth2.model.d.ts.map +1 -1
  24. package/dist/types/routes/ai.routes.d.ts.map +1 -1
  25. package/dist/types/routes/eventListener.routes.d.ts.map +1 -1
  26. package/dist/types/routes/project.routes.d.ts.map +1 -1
  27. package/dist/types/schemas/dictionary.schema.d.ts +6 -6
  28. package/dist/types/schemas/dictionary.schema.d.ts.map +1 -1
  29. package/dist/types/schemas/discussion.schema.d.ts +6 -6
  30. package/dist/types/schemas/oAuth2.schema.d.ts +5 -5
  31. package/dist/types/schemas/organization.schema.d.ts +6 -6
  32. package/dist/types/schemas/plans.schema.d.ts +6 -6
  33. package/dist/types/schemas/project.schema.d.ts +6 -6
  34. package/dist/types/schemas/project.schema.d.ts.map +1 -1
  35. package/dist/types/schemas/session.schema.d.ts +6 -6
  36. package/dist/types/schemas/tag.schema.d.ts +6 -6
  37. package/dist/types/schemas/user.schema.d.ts +6 -6
  38. package/dist/types/utils/filtersAndPagination/getDictionaryFiltersAndPagination.d.ts +2 -2
  39. package/dist/types/utils/filtersAndPagination/getDiscussionFiltersAndPagination.d.ts +2 -2
  40. package/dist/types/utils/filtersAndPagination/getOrganizationFiltersAndPagination.d.ts +2 -2
  41. package/dist/types/utils/filtersAndPagination/getProjectFiltersAndPagination.d.ts +2 -2
  42. package/dist/types/utils/filtersAndPagination/getTagFiltersAndPagination.d.ts +2 -2
  43. package/package.json +17 -18
  44. package/dist/cjs/_virtual/_utils_asset.cjs +0 -98
  45. package/dist/cjs/_virtual/rolldown_runtime.cjs +0 -25
  46. package/dist/cjs/controllers/ai.controller.cjs +0 -381
  47. package/dist/cjs/controllers/ai.controller.cjs.map +0 -1
  48. package/dist/cjs/controllers/dictionary.controller.cjs +0 -463
  49. package/dist/cjs/controllers/dictionary.controller.cjs.map +0 -1
  50. package/dist/cjs/controllers/eventListener.controller.cjs +0 -53
  51. package/dist/cjs/controllers/eventListener.controller.cjs.map +0 -1
  52. package/dist/cjs/controllers/newsletter.controller.cjs +0 -164
  53. package/dist/cjs/controllers/newsletter.controller.cjs.map +0 -1
  54. package/dist/cjs/controllers/oAuth2.controller.cjs +0 -22
  55. package/dist/cjs/controllers/oAuth2.controller.cjs.map +0 -1
  56. package/dist/cjs/controllers/organization.controller.cjs +0 -492
  57. package/dist/cjs/controllers/organization.controller.cjs.map +0 -1
  58. package/dist/cjs/controllers/project.controller.cjs +0 -430
  59. package/dist/cjs/controllers/project.controller.cjs.map +0 -1
  60. package/dist/cjs/controllers/projectAccessKey.controller.cjs +0 -161
  61. package/dist/cjs/controllers/projectAccessKey.controller.cjs.map +0 -1
  62. package/dist/cjs/controllers/search.controller.cjs +0 -14
  63. package/dist/cjs/controllers/search.controller.cjs.map +0 -1
  64. package/dist/cjs/controllers/stripe.controller.cjs +0 -149
  65. package/dist/cjs/controllers/stripe.controller.cjs.map +0 -1
  66. package/dist/cjs/controllers/tag.controller.cjs +0 -226
  67. package/dist/cjs/controllers/tag.controller.cjs.map +0 -1
  68. package/dist/cjs/controllers/user.controller.cjs +0 -269
  69. package/dist/cjs/controllers/user.controller.cjs.map +0 -1
  70. package/dist/cjs/emails/InviteUserEmail.cjs +0 -325
  71. package/dist/cjs/emails/InviteUserEmail.cjs.map +0 -1
  72. package/dist/cjs/emails/MagicLinkEmail.cjs +0 -242
  73. package/dist/cjs/emails/MagicLinkEmail.cjs.map +0 -1
  74. package/dist/cjs/emails/OAuthTokenCreatedEmail.cjs +0 -301
  75. package/dist/cjs/emails/OAuthTokenCreatedEmail.cjs.map +0 -1
  76. package/dist/cjs/emails/PasswordChangeConfirmation.cjs +0 -177
  77. package/dist/cjs/emails/PasswordChangeConfirmation.cjs.map +0 -1
  78. package/dist/cjs/emails/ResetUserPassword.cjs +0 -240
  79. package/dist/cjs/emails/ResetUserPassword.cjs.map +0 -1
  80. package/dist/cjs/emails/SubscriptionPaymentCancellation.cjs +0 -202
  81. package/dist/cjs/emails/SubscriptionPaymentCancellation.cjs.map +0 -1
  82. package/dist/cjs/emails/SubscriptionPaymentError.cjs +0 -202
  83. package/dist/cjs/emails/SubscriptionPaymentError.cjs.map +0 -1
  84. package/dist/cjs/emails/SubscriptionPaymentSuccess.cjs +0 -208
  85. package/dist/cjs/emails/SubscriptionPaymentSuccess.cjs.map +0 -1
  86. package/dist/cjs/emails/ValidateUserEmail.cjs +0 -240
  87. package/dist/cjs/emails/ValidateUserEmail.cjs.map +0 -1
  88. package/dist/cjs/emails/Welcome.cjs +0 -216
  89. package/dist/cjs/emails/Welcome.cjs.map +0 -1
  90. package/dist/cjs/emails/index.cjs +0 -25
  91. package/dist/cjs/export.cjs +0 -24
  92. package/dist/cjs/index.cjs +0 -91
  93. package/dist/cjs/index.cjs.map +0 -1
  94. package/dist/cjs/logger/index.cjs +0 -13
  95. package/dist/cjs/logger/index.cjs.map +0 -1
  96. package/dist/cjs/middlewares/oAuth2.middleware.cjs +0 -42
  97. package/dist/cjs/middlewares/oAuth2.middleware.cjs.map +0 -1
  98. package/dist/cjs/middlewares/request.middleware.cjs +0 -17
  99. package/dist/cjs/middlewares/request.middleware.cjs.map +0 -1
  100. package/dist/cjs/middlewares/sessionAuth.middleware.cjs +0 -22
  101. package/dist/cjs/middlewares/sessionAuth.middleware.cjs.map +0 -1
  102. package/dist/cjs/models/dictionary.model.cjs +0 -10
  103. package/dist/cjs/models/dictionary.model.cjs.map +0 -1
  104. package/dist/cjs/models/discussion.model.cjs +0 -10
  105. package/dist/cjs/models/discussion.model.cjs.map +0 -1
  106. package/dist/cjs/models/oAuth2.model.cjs +0 -10
  107. package/dist/cjs/models/oAuth2.model.cjs.map +0 -1
  108. package/dist/cjs/models/organization.model.cjs +0 -10
  109. package/dist/cjs/models/organization.model.cjs.map +0 -1
  110. package/dist/cjs/models/project.model.cjs +0 -10
  111. package/dist/cjs/models/project.model.cjs.map +0 -1
  112. package/dist/cjs/models/session.model.cjs +0 -10
  113. package/dist/cjs/models/session.model.cjs.map +0 -1
  114. package/dist/cjs/models/tag.model.cjs +0 -10
  115. package/dist/cjs/models/tag.model.cjs.map +0 -1
  116. package/dist/cjs/models/user.model.cjs +0 -10
  117. package/dist/cjs/models/user.model.cjs.map +0 -1
  118. package/dist/cjs/routes/ai.routes.cjs +0 -75
  119. package/dist/cjs/routes/ai.routes.cjs.map +0 -1
  120. package/dist/cjs/routes/dictionary.routes.cjs +0 -64
  121. package/dist/cjs/routes/dictionary.routes.cjs.map +0 -1
  122. package/dist/cjs/routes/eventListener.routes.cjs +0 -20
  123. package/dist/cjs/routes/eventListener.routes.cjs.map +0 -1
  124. package/dist/cjs/routes/newsletter.routes.cjs +0 -34
  125. package/dist/cjs/routes/newsletter.routes.cjs.map +0 -1
  126. package/dist/cjs/routes/organization.routes.cjs +0 -70
  127. package/dist/cjs/routes/organization.routes.cjs.map +0 -1
  128. package/dist/cjs/routes/project.routes.cjs +0 -83
  129. package/dist/cjs/routes/project.routes.cjs.map +0 -1
  130. package/dist/cjs/routes/search.routes.cjs +0 -20
  131. package/dist/cjs/routes/search.routes.cjs.map +0 -1
  132. package/dist/cjs/routes/stripe.routes.cjs +0 -34
  133. package/dist/cjs/routes/stripe.routes.cjs.map +0 -1
  134. package/dist/cjs/routes/tags.routes.cjs +0 -40
  135. package/dist/cjs/routes/tags.routes.cjs.map +0 -1
  136. package/dist/cjs/routes/user.routes.cjs +0 -58
  137. package/dist/cjs/routes/user.routes.cjs.map +0 -1
  138. package/dist/cjs/schemas/dictionary.schema.cjs +0 -73
  139. package/dist/cjs/schemas/dictionary.schema.cjs.map +0 -1
  140. package/dist/cjs/schemas/discussion.schema.cjs +0 -81
  141. package/dist/cjs/schemas/discussion.schema.cjs.map +0 -1
  142. package/dist/cjs/schemas/oAuth2.schema.cjs +0 -49
  143. package/dist/cjs/schemas/oAuth2.schema.cjs.map +0 -1
  144. package/dist/cjs/schemas/organization.schema.cjs +0 -62
  145. package/dist/cjs/schemas/organization.schema.cjs.map +0 -1
  146. package/dist/cjs/schemas/plans.schema.cjs +0 -75
  147. package/dist/cjs/schemas/plans.schema.cjs.map +0 -1
  148. package/dist/cjs/schemas/project.schema.cjs +0 -112
  149. package/dist/cjs/schemas/project.schema.cjs.map +0 -1
  150. package/dist/cjs/schemas/session.schema.cjs +0 -43
  151. package/dist/cjs/schemas/session.schema.cjs.map +0 -1
  152. package/dist/cjs/schemas/tag.schema.cjs +0 -62
  153. package/dist/cjs/schemas/tag.schema.cjs.map +0 -1
  154. package/dist/cjs/schemas/user.schema.cjs +0 -87
  155. package/dist/cjs/schemas/user.schema.cjs.map +0 -1
  156. package/dist/cjs/services/dictionary.service.cjs +0 -176
  157. package/dist/cjs/services/dictionary.service.cjs.map +0 -1
  158. package/dist/cjs/services/email.service.cjs +0 -155
  159. package/dist/cjs/services/email.service.cjs.map +0 -1
  160. package/dist/cjs/services/oAuth2.service.cjs +0 -211
  161. package/dist/cjs/services/oAuth2.service.cjs.map +0 -1
  162. package/dist/cjs/services/organization.service.cjs +0 -106
  163. package/dist/cjs/services/organization.service.cjs.map +0 -1
  164. package/dist/cjs/services/project.service.cjs +0 -89
  165. package/dist/cjs/services/project.service.cjs.map +0 -1
  166. package/dist/cjs/services/projectAccessKey.service.cjs +0 -111
  167. package/dist/cjs/services/projectAccessKey.service.cjs.map +0 -1
  168. package/dist/cjs/services/subscription.service.cjs +0 -184
  169. package/dist/cjs/services/subscription.service.cjs.map +0 -1
  170. package/dist/cjs/services/tag.service.cjs +0 -88
  171. package/dist/cjs/services/tag.service.cjs.map +0 -1
  172. package/dist/cjs/services/user.service.cjs +0 -120
  173. package/dist/cjs/services/user.service.cjs.map +0 -1
  174. package/dist/cjs/types/Routes.cjs +0 -0
  175. package/dist/cjs/types/dictionary.types.cjs +0 -0
  176. package/dist/cjs/types/discussion.types.cjs +0 -0
  177. package/dist/cjs/types/oAuth2.types.cjs +0 -0
  178. package/dist/cjs/types/organization.types.cjs +0 -0
  179. package/dist/cjs/types/plan.types.cjs +0 -0
  180. package/dist/cjs/types/project.types.cjs +0 -0
  181. package/dist/cjs/types/session.types.cjs +0 -0
  182. package/dist/cjs/types/tag.types.cjs +0 -0
  183. package/dist/cjs/types/user.types.cjs +0 -10
  184. package/dist/cjs/types/user.types.cjs.map +0 -1
  185. package/dist/cjs/utils/AI/aiSdk.cjs +0 -94
  186. package/dist/cjs/utils/AI/aiSdk.cjs.map +0 -1
  187. package/dist/cjs/utils/AI/askDocQuestion/askDocQuestion.cjs +0 -201
  188. package/dist/cjs/utils/AI/askDocQuestion/askDocQuestion.cjs.map +0 -1
  189. package/dist/cjs/utils/AI/askDocQuestion/indexMarkdownFiles.cjs +0 -150
  190. package/dist/cjs/utils/AI/askDocQuestion/indexMarkdownFiles.cjs.map +0 -1
  191. package/dist/cjs/utils/AI/auditDictionary/index.cjs +0 -60
  192. package/dist/cjs/utils/AI/auditDictionary/index.cjs.map +0 -1
  193. package/dist/cjs/utils/AI/auditDictionaryField/index.cjs +0 -63
  194. package/dist/cjs/utils/AI/auditDictionaryField/index.cjs.map +0 -1
  195. package/dist/cjs/utils/AI/auditDictionaryMetadata/index.cjs +0 -45
  196. package/dist/cjs/utils/AI/auditDictionaryMetadata/index.cjs.map +0 -1
  197. package/dist/cjs/utils/AI/auditTag/index.cjs +0 -40
  198. package/dist/cjs/utils/AI/auditTag/index.cjs.map +0 -1
  199. package/dist/cjs/utils/AI/autocomplete/index.cjs +0 -41
  200. package/dist/cjs/utils/AI/autocomplete/index.cjs.map +0 -1
  201. package/dist/cjs/utils/AI/customQuery/index.cjs +0 -27
  202. package/dist/cjs/utils/AI/customQuery/index.cjs.map +0 -1
  203. package/dist/cjs/utils/AI/translateJSON/index.cjs +0 -71
  204. package/dist/cjs/utils/AI/translateJSON/index.cjs.map +0 -1
  205. package/dist/cjs/utils/access.cjs +0 -0
  206. package/dist/cjs/utils/accessControl.cjs +0 -133
  207. package/dist/cjs/utils/accessControl.cjs.map +0 -1
  208. package/dist/cjs/utils/auth/getAuth.cjs +0 -218
  209. package/dist/cjs/utils/auth/getAuth.cjs.map +0 -1
  210. package/dist/cjs/utils/cors.cjs +0 -33
  211. package/dist/cjs/utils/cors.cjs.map +0 -1
  212. package/dist/cjs/utils/ensureArrayQueryFilter.cjs +0 -13
  213. package/dist/cjs/utils/ensureArrayQueryFilter.cjs.map +0 -1
  214. package/dist/cjs/utils/ensureMongoDocumentToObject.cjs +0 -16
  215. package/dist/cjs/utils/ensureMongoDocumentToObject.cjs.map +0 -1
  216. package/dist/cjs/utils/errors/ErrorHandler.cjs +0 -76
  217. package/dist/cjs/utils/errors/ErrorHandler.cjs.map +0 -1
  218. package/dist/cjs/utils/errors/ErrorsClass.cjs +0 -54
  219. package/dist/cjs/utils/errors/ErrorsClass.cjs.map +0 -1
  220. package/dist/cjs/utils/errors/errorCodes.cjs +0 -1387
  221. package/dist/cjs/utils/errors/errorCodes.cjs.map +0 -1
  222. package/dist/cjs/utils/errors/index.cjs +0 -8
  223. package/dist/cjs/utils/extractJSON.cjs +0 -61
  224. package/dist/cjs/utils/extractJSON.cjs.map +0 -1
  225. package/dist/cjs/utils/filtersAndPagination/getDictionaryFiltersAndPagination.cjs +0 -94
  226. package/dist/cjs/utils/filtersAndPagination/getDictionaryFiltersAndPagination.cjs.map +0 -1
  227. package/dist/cjs/utils/filtersAndPagination/getDiscussionFiltersAndPagination.cjs +0 -65
  228. package/dist/cjs/utils/filtersAndPagination/getDiscussionFiltersAndPagination.cjs.map +0 -1
  229. package/dist/cjs/utils/filtersAndPagination/getFiltersAndPaginationFromBody.cjs +0 -36
  230. package/dist/cjs/utils/filtersAndPagination/getFiltersAndPaginationFromBody.cjs.map +0 -1
  231. package/dist/cjs/utils/filtersAndPagination/getOrganizationFiltersAndPagination.cjs +0 -49
  232. package/dist/cjs/utils/filtersAndPagination/getOrganizationFiltersAndPagination.cjs.map +0 -1
  233. package/dist/cjs/utils/filtersAndPagination/getProjectFiltersAndPagination.cjs +0 -53
  234. package/dist/cjs/utils/filtersAndPagination/getProjectFiltersAndPagination.cjs.map +0 -1
  235. package/dist/cjs/utils/filtersAndPagination/getTagFiltersAndPagination.cjs +0 -57
  236. package/dist/cjs/utils/filtersAndPagination/getTagFiltersAndPagination.cjs.map +0 -1
  237. package/dist/cjs/utils/filtersAndPagination/getUserFiltersAndPagination.cjs +0 -74
  238. package/dist/cjs/utils/filtersAndPagination/getUserFiltersAndPagination.cjs.map +0 -1
  239. package/dist/cjs/utils/httpStatusCodes.cjs +0 -401
  240. package/dist/cjs/utils/httpStatusCodes.cjs.map +0 -1
  241. package/dist/cjs/utils/mapper/dictionary.cjs +0 -29
  242. package/dist/cjs/utils/mapper/dictionary.cjs.map +0 -1
  243. package/dist/cjs/utils/mapper/organization.cjs +0 -19
  244. package/dist/cjs/utils/mapper/organization.cjs.map +0 -1
  245. package/dist/cjs/utils/mapper/project.cjs +0 -26
  246. package/dist/cjs/utils/mapper/project.cjs.map +0 -1
  247. package/dist/cjs/utils/mapper/session.cjs +0 -15
  248. package/dist/cjs/utils/mapper/session.cjs.map +0 -1
  249. package/dist/cjs/utils/mapper/tag.cjs +0 -25
  250. package/dist/cjs/utils/mapper/tag.cjs.map +0 -1
  251. package/dist/cjs/utils/mapper/user.cjs +0 -24
  252. package/dist/cjs/utils/mapper/user.cjs.map +0 -1
  253. package/dist/cjs/utils/mergeFunctionTypes.cjs +0 -0
  254. package/dist/cjs/utils/mongoDB/connectDB.cjs +0 -32
  255. package/dist/cjs/utils/mongoDB/connectDB.cjs.map +0 -1
  256. package/dist/cjs/utils/mongoDB/types.cjs +0 -0
  257. package/dist/cjs/utils/oAuth2.cjs +0 -25
  258. package/dist/cjs/utils/oAuth2.cjs.map +0 -1
  259. package/dist/cjs/utils/permissions.cjs +0 -103
  260. package/dist/cjs/utils/permissions.cjs.map +0 -1
  261. package/dist/cjs/utils/plan.cjs +0 -63
  262. package/dist/cjs/utils/plan.cjs.map +0 -1
  263. package/dist/cjs/utils/rateLimiter.cjs +0 -48
  264. package/dist/cjs/utils/rateLimiter.cjs.map +0 -1
  265. package/dist/cjs/utils/removeObjectKeys.cjs +0 -11
  266. package/dist/cjs/utils/removeObjectKeys.cjs.map +0 -1
  267. package/dist/cjs/utils/responseData.cjs +0 -33
  268. package/dist/cjs/utils/responseData.cjs.map +0 -1
  269. package/dist/cjs/utils/validation/validateArray.cjs +0 -31
  270. package/dist/cjs/utils/validation/validateArray.cjs.map +0 -1
  271. package/dist/cjs/utils/validation/validateDictionary.cjs +0 -35
  272. package/dist/cjs/utils/validation/validateDictionary.cjs.map +0 -1
  273. package/dist/cjs/utils/validation/validateEmail.cjs +0 -20
  274. package/dist/cjs/utils/validation/validateEmail.cjs.map +0 -1
  275. package/dist/cjs/utils/validation/validateOrganization.cjs +0 -43
  276. package/dist/cjs/utils/validation/validateOrganization.cjs.map +0 -1
  277. package/dist/cjs/utils/validation/validatePhone.cjs +0 -20
  278. package/dist/cjs/utils/validation/validatePhone.cjs.map +0 -1
  279. package/dist/cjs/utils/validation/validateProject.cjs +0 -55
  280. package/dist/cjs/utils/validation/validateProject.cjs.map +0 -1
  281. package/dist/cjs/utils/validation/validateString.cjs +0 -21
  282. package/dist/cjs/utils/validation/validateString.cjs.map +0 -1
  283. package/dist/cjs/utils/validation/validateTag.cjs +0 -47
  284. package/dist/cjs/utils/validation/validateTag.cjs.map +0 -1
  285. package/dist/cjs/utils/validation/validateUser.cjs +0 -47
  286. package/dist/cjs/utils/validation/validateUser.cjs.map +0 -1
  287. package/dist/cjs/webhooks/stripe.webhook.cjs +0 -116
  288. package/dist/cjs/webhooks/stripe.webhook.cjs.map +0 -1
@@ -1,164 +0,0 @@
1
- const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
2
- const require_logger_index = require('../logger/index.cjs');
3
- const require_utils_responseData = require('../utils/responseData.cjs');
4
- const require_utils_errors_ErrorHandler = require('../utils/errors/ErrorHandler.cjs');
5
- const require_utils_permissions = require('../utils/permissions.cjs');
6
- const require_services_user_service = require('../services/user.service.cjs');
7
- const require_utils_mapper_user = require('../utils/mapper/user.cjs');
8
- let express_intlayer = require("express-intlayer");
9
-
10
- //#region src/controllers/newsletter.controller.ts
11
- /**
12
- * Subscribes a user to the newsletter.
13
- * If the user doesn't exist, creates a new user.
14
- * If the user exists, updates their newsletter subscription to true.
15
- */
16
- const subscribeToNewsletter = async (req, res, _next) => {
17
- const { roles } = res.locals;
18
- const { email, emailList } = req.body;
19
- if (!email) {
20
- require_utils_errors_ErrorHandler.ErrorHandler.handleGenericErrorResponse(res, "USER_DATA_NOT_FOUND");
21
- return;
22
- }
23
- const emailLists = Array.isArray(emailList) ? emailList : [emailList];
24
- const emailsListObject = Object.fromEntries(emailLists.map((list) => [list, true]));
25
- try {
26
- let user = await require_services_user_service.getUserByEmail(email);
27
- if (!user) {
28
- user = await require_services_user_service.createUser({
29
- email,
30
- emailsList: emailsListObject
31
- });
32
- require_logger_index.logger.info(`New user created and subscribed to newsletter: ${email}`);
33
- } else {
34
- if (!require_utils_permissions.hasPermission(roles, "user:write")({
35
- ...res.locals,
36
- targetUsers: [user]
37
- })) {
38
- require_utils_errors_ErrorHandler.ErrorHandler.handleGenericErrorResponse(res, "PERMISSION_DENIED");
39
- return;
40
- }
41
- user = await require_services_user_service.updateUserById(user.id, { emailsList: {
42
- ...user.emailsList,
43
- ...emailsListObject
44
- } });
45
- require_logger_index.logger.info(`User subscribed to newsletter: ${email}`);
46
- }
47
- const formattedUser = require_utils_mapper_user.mapUserToAPI(user);
48
- const responseData = require_utils_responseData.formatResponse({
49
- message: (0, express_intlayer.t)({
50
- en: "Successfully subscribed to newsletter",
51
- fr: "Abonnement à la newsletter réussi",
52
- es: "Suscripción al boletín exitosa"
53
- }),
54
- description: (0, express_intlayer.t)({
55
- en: "You have been successfully subscribed to our newsletter",
56
- fr: "Vous avez été abonné avec succès à notre newsletter",
57
- es: "Te has suscrito exitosamente a nuestro boletín"
58
- }),
59
- data: formattedUser
60
- });
61
- res.json(responseData);
62
- return;
63
- } catch (error) {
64
- require_utils_errors_ErrorHandler.ErrorHandler.handleAppErrorResponse(res, error);
65
- return;
66
- }
67
- };
68
- /**
69
- * Unsubscribes a user from the newsletter.
70
- * Only works if the user exists.
71
- */
72
- const unsubscribeFromNewsletter = async (req, res, _next) => {
73
- const { userId, emailList } = req.body;
74
- const { roles } = res.locals;
75
- if (!userId) {
76
- require_utils_errors_ErrorHandler.ErrorHandler.handleGenericErrorResponse(res, "USER_DATA_NOT_FOUND");
77
- return;
78
- }
79
- try {
80
- const user = await require_services_user_service.getUserById(userId);
81
- if (!user) {
82
- require_utils_errors_ErrorHandler.ErrorHandler.handleGenericErrorResponse(res, "USER_NOT_FOUND");
83
- return;
84
- }
85
- if (!require_utils_permissions.hasPermission(roles, "user:write")({
86
- ...res.locals,
87
- targetUsers: [user]
88
- })) {
89
- require_utils_errors_ErrorHandler.ErrorHandler.handleGenericErrorResponse(res, "PERMISSION_DENIED");
90
- return;
91
- }
92
- const emailLists = Array.isArray(emailList) ? emailList : [emailList];
93
- const emailsListObject = Object.fromEntries(emailLists.map((list) => [list, false]));
94
- const updatedUser = await require_services_user_service.updateUserById(user.id, { emailsList: {
95
- ...user.emailsList,
96
- ...emailsListObject
97
- } });
98
- require_logger_index.logger.info(`User unsubscribed from newsletter: ${updatedUser.email}`);
99
- const formattedUser = require_utils_mapper_user.mapUserToAPI(updatedUser);
100
- const responseData = require_utils_responseData.formatResponse({
101
- message: (0, express_intlayer.t)({
102
- en: "Successfully unsubscribed from newsletter",
103
- fr: "Désabonnement de la newsletter réussi",
104
- es: "Cancelación de suscripción al boletín exitosa"
105
- }),
106
- description: (0, express_intlayer.t)({
107
- en: "You have been successfully unsubscribed from our newsletter",
108
- fr: "Vous avez été désabonné avec succès de notre newsletter",
109
- es: "Te has desuscrito exitosamente de nuestro boletín"
110
- }),
111
- data: formattedUser
112
- });
113
- res.json(responseData);
114
- return;
115
- } catch (error) {
116
- require_utils_errors_ErrorHandler.ErrorHandler.handleAppErrorResponse(res, error);
117
- return;
118
- }
119
- };
120
- /**
121
- * Gets the newsletter subscription status for a user.
122
- */
123
- const getNewsletterStatus = async (_req, res, _next) => {
124
- const email = res.locals.user?.email;
125
- const { roles } = res.locals;
126
- if (!email) {
127
- require_utils_errors_ErrorHandler.ErrorHandler.handleGenericErrorResponse(res, "USER_DATA_NOT_FOUND");
128
- return;
129
- }
130
- try {
131
- const user = await require_services_user_service.getUserByEmail(email);
132
- if (!user) {
133
- require_utils_errors_ErrorHandler.ErrorHandler.handleGenericErrorResponse(res, "USER_NOT_FOUND");
134
- return;
135
- }
136
- if (!require_utils_permissions.hasPermission(roles, "user:read")({
137
- ...res.locals,
138
- targetUsers: [user]
139
- })) {
140
- require_utils_errors_ErrorHandler.ErrorHandler.handleGenericErrorResponse(res, "PERMISSION_DENIED");
141
- return;
142
- }
143
- const formattedUser = require_utils_mapper_user.mapUserToAPI(user);
144
- const responseData = require_utils_responseData.formatResponse({
145
- message: (0, express_intlayer.t)({
146
- en: "Newsletter subscription status retrieved",
147
- fr: "Statut d'abonnement à la newsletter récupéré",
148
- es: "Estado de suscripción al boletín obtenido"
149
- }),
150
- data: formattedUser
151
- });
152
- res.json(responseData);
153
- return;
154
- } catch (error) {
155
- require_utils_errors_ErrorHandler.ErrorHandler.handleAppErrorResponse(res, error);
156
- return;
157
- }
158
- };
159
-
160
- //#endregion
161
- exports.getNewsletterStatus = getNewsletterStatus;
162
- exports.subscribeToNewsletter = subscribeToNewsletter;
163
- exports.unsubscribeFromNewsletter = unsubscribeFromNewsletter;
164
- //# sourceMappingURL=newsletter.controller.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"newsletter.controller.cjs","names":["hasPermission","mapUserToAPI","formatResponse"],"sources":["../../../src/controllers/newsletter.controller.ts"],"sourcesContent":["import { logger } from '@logger';\nimport type { ResponseWithSession } from '@middlewares/sessionAuth.middleware';\nimport * as userService from '@services/user.service';\nimport { type AppError, ErrorHandler } from '@utils/errors';\nimport { mapUserToAPI } from '@utils/mapper/user';\nimport { hasPermission } from '@utils/permissions';\nimport { formatResponse, type ResponseData } from '@utils/responseData';\nimport type { NextFunction, Request } from 'express';\nimport { t } from 'express-intlayer';\nimport type { EmailsList, UserAPI } from '@/types/user.types';\n\nexport type NewsletterSubscriptionBody = {\n email: string;\n emailList: EmailsList | EmailsList[];\n};\nexport type NewsletterSubscriptionResult = ResponseData<UserAPI>;\n\n/**\n * Subscribes a user to the newsletter.\n * If the user doesn't exist, creates a new user.\n * If the user exists, updates their newsletter subscription to true.\n */\nexport const subscribeToNewsletter = async (\n req: Request<any, any, NewsletterSubscriptionBody>,\n res: ResponseWithSession<NewsletterSubscriptionResult>,\n _next: NextFunction\n): Promise<void> => {\n const { roles } = res.locals;\n const { email, emailList } = req.body;\n\n if (!email) {\n ErrorHandler.handleGenericErrorResponse(res, 'USER_DATA_NOT_FOUND');\n return;\n }\n\n const emailLists = Array.isArray(emailList) ? emailList : [emailList];\n\n // Create new user with newsletter subscription enabled\n const emailsListObject = Object.fromEntries(\n emailLists.map((list) => [list, true])\n ) as Record<EmailsList, boolean>;\n\n try {\n // Check if user exists\n let user = await userService.getUserByEmail(email);\n\n if (!user) {\n user = await userService.createUser({\n email,\n emailsList: emailsListObject,\n });\n\n logger.info(`New user created and subscribed to newsletter: ${email}`);\n } else {\n if (\n !hasPermission(\n roles,\n 'user:write'\n )({\n ...res.locals,\n targetUsers: [user],\n })\n ) {\n ErrorHandler.handleGenericErrorResponse(res, 'PERMISSION_DENIED');\n return;\n }\n\n // Update existing user's newsletter subscription\n user = await userService.updateUserById(user.id, {\n emailsList: { ...user.emailsList, ...emailsListObject },\n });\n\n logger.info(`User subscribed to newsletter: ${email}`);\n }\n\n const formattedUser = mapUserToAPI(user);\n\n const responseData = formatResponse<UserAPI>({\n message: t({\n en: 'Successfully subscribed to newsletter',\n fr: 'Abonnement à la newsletter réussi',\n es: 'Suscripción al boletín exitosa',\n }),\n description: t({\n en: 'You have been successfully subscribed to our newsletter',\n fr: 'Vous avez été abonné avec succès à notre newsletter',\n es: 'Te has suscrito exitosamente a nuestro boletín',\n }),\n data: formattedUser,\n });\n\n res.json(responseData);\n return;\n } catch (error) {\n ErrorHandler.handleAppErrorResponse(res, error as AppError);\n return;\n }\n};\n\nexport type NewsletterUnsubscriptionBody = {\n userId: string;\n emailList: EmailsList | EmailsList[];\n};\n\n/**\n * Unsubscribes a user from the newsletter.\n * Only works if the user exists.\n */\nexport const unsubscribeFromNewsletter = async (\n req: Request<any, any, NewsletterUnsubscriptionBody>,\n res: ResponseWithSession<NewsletterSubscriptionResult>,\n _next: NextFunction\n): Promise<void> => {\n const { userId, emailList } = req.body;\n const { roles } = res.locals;\n\n if (!userId) {\n ErrorHandler.handleGenericErrorResponse(res, 'USER_DATA_NOT_FOUND');\n return;\n }\n\n try {\n // Check if user exists\n const user = await userService.getUserById(userId);\n\n if (!user) {\n ErrorHandler.handleGenericErrorResponse(res, 'USER_NOT_FOUND');\n return;\n }\n\n if (\n !hasPermission(\n roles,\n 'user:write'\n )({\n ...res.locals,\n targetUsers: [user],\n })\n ) {\n ErrorHandler.handleGenericErrorResponse(res, 'PERMISSION_DENIED');\n return;\n }\n\n const emailLists = Array.isArray(emailList) ? emailList : [emailList];\n\n // Create new user with newsletter subscription enabled\n const emailsListObject = Object.fromEntries(\n emailLists.map((list) => [list, false])\n ) as Record<EmailsList, boolean>;\n\n // Update user's newsletter subscription to false\n const updatedUser = await userService.updateUserById(user.id, {\n emailsList: { ...user.emailsList, ...emailsListObject },\n });\n\n logger.info(`User unsubscribed from newsletter: ${updatedUser.email}`);\n\n const formattedUser = mapUserToAPI(updatedUser);\n\n const responseData = formatResponse<UserAPI>({\n message: t({\n en: 'Successfully unsubscribed from newsletter',\n fr: 'Désabonnement de la newsletter réussi',\n es: 'Cancelación de suscripción al boletín exitosa',\n }),\n description: t({\n en: 'You have been successfully unsubscribed from our newsletter',\n fr: 'Vous avez été désabonné avec succès de notre newsletter',\n es: 'Te has desuscrito exitosamente de nuestro boletín',\n }),\n data: formattedUser,\n });\n\n res.json(responseData);\n return;\n } catch (error) {\n ErrorHandler.handleAppErrorResponse(res, error as AppError);\n return;\n }\n};\n\n/**\n * Gets the newsletter subscription status for a user.\n */\nexport const getNewsletterStatus = async (\n _req: Request<{ email: string }>,\n res: ResponseWithSession<NewsletterSubscriptionResult>,\n _next: NextFunction\n): Promise<void> => {\n const email = res.locals.user?.email;\n const { roles } = res.locals;\n\n if (!email) {\n ErrorHandler.handleGenericErrorResponse(res, 'USER_DATA_NOT_FOUND');\n return;\n }\n\n try {\n const user = await userService.getUserByEmail(email);\n\n if (!user) {\n ErrorHandler.handleGenericErrorResponse(res, 'USER_NOT_FOUND');\n return;\n }\n\n if (\n !hasPermission(\n roles,\n 'user:read'\n )({\n ...res.locals,\n targetUsers: [user],\n })\n ) {\n ErrorHandler.handleGenericErrorResponse(res, 'PERMISSION_DENIED');\n return;\n }\n\n const formattedUser = mapUserToAPI(user);\n\n const responseData = formatResponse<UserAPI>({\n message: t({\n en: 'Newsletter subscription status retrieved',\n fr: \"Statut d'abonnement à la newsletter récupéré\",\n es: 'Estado de suscripción al boletín obtenido',\n }),\n data: formattedUser,\n });\n\n res.json(responseData);\n return;\n } catch (error) {\n ErrorHandler.handleAppErrorResponse(res, error as AppError);\n return;\n }\n};\n"],"mappings":"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"}
@@ -1,22 +0,0 @@
1
- const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
2
- const require_utils_responseData = require('../utils/responseData.cjs');
3
- const require_utils_errors_ErrorHandler = require('../utils/errors/ErrorHandler.cjs');
4
- let oauth2_server = require("oauth2-server");
5
-
6
- //#region src/controllers/oAuth2.controller.ts
7
- const getOAuth2AccessToken = async (req, res, _next) => {
8
- const oauthRequest = new oauth2_server.Request(req);
9
- const oauthResponse = new oauth2_server.Response(res);
10
- try {
11
- const responseData = require_utils_responseData.formatResponse({ data: await req.oauth.token(oauthRequest, oauthResponse) });
12
- res.json(responseData);
13
- return;
14
- } catch (error) {
15
- require_utils_errors_ErrorHandler.ErrorHandler.handleAppErrorResponse(res, error);
16
- return;
17
- }
18
- };
19
-
20
- //#endregion
21
- exports.getOAuth2AccessToken = getOAuth2AccessToken;
22
- //# sourceMappingURL=oAuth2.controller.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"oAuth2.controller.cjs","names":["OAuthRequest","OAuthResponse","formatResponse"],"sources":["../../../src/controllers/oAuth2.controller.ts"],"sourcesContent":["import type { RequestWithOAuth2Information } from '@middlewares/oAuth2.middleware';\nimport { type AppError, ErrorHandler } from '@utils/errors';\nimport { formatResponse, type ResponseData } from '@utils/responseData';\nimport type { NextFunction, Request, Response } from 'express';\nimport {\n Request as OAuthRequest,\n Response as OAuthResponse,\n} from 'oauth2-server';\nimport type { OAuth2Token } from '@/types/oAuth2.types';\n\nexport type GetOAuth2TokenBody = {\n grant_type: 'client_credentials';\n client_id: string;\n client_secret: string;\n};\nexport type GetOAuth2TokenResult = ResponseData<OAuth2Token>;\n\n// Method to get the token\nexport const getOAuth2AccessToken = async (\n req: Request,\n res: Response<GetOAuth2TokenResult>,\n _next: NextFunction\n): Promise<void> => {\n const oauthRequest = new OAuthRequest(req);\n const oauthResponse = new OAuthResponse(res);\n\n try {\n const token: OAuth2Token = (await (\n req as unknown as RequestWithOAuth2Information<\n undefined,\n undefined,\n GetOAuth2TokenBody\n >\n ).oauth.token(oauthRequest, oauthResponse)) as OAuth2Token;\n\n const responseData = formatResponse<OAuth2Token>({\n data: token,\n });\n\n res.json(responseData);\n return;\n } catch (error) {\n ErrorHandler.handleAppErrorResponse(res, error as AppError);\n return;\n }\n};\n"],"mappings":";;;;;;AAkBA,MAAa,uBAAuB,OAClC,KACA,KACA,UACkB;CAClB,MAAM,eAAe,IAAIA,sBAAa,IAAI;CAC1C,MAAM,gBAAgB,IAAIC,uBAAc,IAAI;AAE5C,KAAI;EASF,MAAM,eAAeC,0CAA4B,EAC/C,MAT0B,MAC1B,IAKA,MAAM,MAAM,cAAc,cAAc,EAIzC,CAAC;AAEF,MAAI,KAAK,aAAa;AACtB;UACO,OAAO;AACd,iDAAa,uBAAuB,KAAK,MAAkB;AAC3D"}