@intlayer/backend 7.2.1-canary.1 → 7.2.3

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 (286) 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/dictionary.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/MagicLinkEmail.d.ts.map +1 -1
  9. package/dist/types/emails/OAuthTokenCreatedEmail.d.ts +4 -4
  10. package/dist/types/emails/PasswordChangeConfirmation.d.ts +4 -4
  11. package/dist/types/emails/PasswordChangeConfirmation.d.ts.map +1 -1
  12. package/dist/types/emails/ResetUserPassword.d.ts +4 -4
  13. package/dist/types/emails/ResetUserPassword.d.ts.map +1 -1
  14. package/dist/types/emails/SubscriptionPaymentCancellation.d.ts +4 -4
  15. package/dist/types/emails/SubscriptionPaymentCancellation.d.ts.map +1 -1
  16. package/dist/types/emails/SubscriptionPaymentError.d.ts +4 -4
  17. package/dist/types/emails/SubscriptionPaymentSuccess.d.ts +4 -4
  18. package/dist/types/emails/ValidateUserEmail.d.ts +4 -4
  19. package/dist/types/emails/Welcome.d.ts +4 -4
  20. package/dist/types/emails/Welcome.d.ts.map +1 -1
  21. package/dist/types/models/dictionary.model.d.ts +4 -4
  22. package/dist/types/models/discussion.model.d.ts +2 -2
  23. package/dist/types/models/discussion.model.d.ts.map +1 -1
  24. package/dist/types/models/oAuth2.model.d.ts +3 -3
  25. package/dist/types/routes/eventListener.routes.d.ts.map +1 -1
  26. package/dist/types/schemas/dictionary.schema.d.ts +6 -6
  27. package/dist/types/schemas/dictionary.schema.d.ts.map +1 -1
  28. package/dist/types/schemas/discussion.schema.d.ts +6 -6
  29. package/dist/types/schemas/oAuth2.schema.d.ts +5 -5
  30. package/dist/types/schemas/oAuth2.schema.d.ts.map +1 -1
  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/tag.schema.d.ts +6 -6
  36. package/dist/types/schemas/user.schema.d.ts +6 -6
  37. package/dist/types/utils/filtersAndPagination/getDiscussionFiltersAndPagination.d.ts +2 -2
  38. package/dist/types/utils/filtersAndPagination/getOrganizationFiltersAndPagination.d.ts +2 -2
  39. package/dist/types/utils/filtersAndPagination/getProjectFiltersAndPagination.d.ts +2 -2
  40. package/dist/types/utils/filtersAndPagination/getTagFiltersAndPagination.d.ts +2 -2
  41. package/package.json +17 -18
  42. package/dist/cjs/_virtual/_utils_asset.cjs +0 -98
  43. package/dist/cjs/_virtual/rolldown_runtime.cjs +0 -25
  44. package/dist/cjs/controllers/ai.controller.cjs +0 -381
  45. package/dist/cjs/controllers/ai.controller.cjs.map +0 -1
  46. package/dist/cjs/controllers/dictionary.controller.cjs +0 -463
  47. package/dist/cjs/controllers/dictionary.controller.cjs.map +0 -1
  48. package/dist/cjs/controllers/eventListener.controller.cjs +0 -53
  49. package/dist/cjs/controllers/eventListener.controller.cjs.map +0 -1
  50. package/dist/cjs/controllers/newsletter.controller.cjs +0 -164
  51. package/dist/cjs/controllers/newsletter.controller.cjs.map +0 -1
  52. package/dist/cjs/controllers/oAuth2.controller.cjs +0 -22
  53. package/dist/cjs/controllers/oAuth2.controller.cjs.map +0 -1
  54. package/dist/cjs/controllers/organization.controller.cjs +0 -492
  55. package/dist/cjs/controllers/organization.controller.cjs.map +0 -1
  56. package/dist/cjs/controllers/project.controller.cjs +0 -430
  57. package/dist/cjs/controllers/project.controller.cjs.map +0 -1
  58. package/dist/cjs/controllers/projectAccessKey.controller.cjs +0 -161
  59. package/dist/cjs/controllers/projectAccessKey.controller.cjs.map +0 -1
  60. package/dist/cjs/controllers/search.controller.cjs +0 -14
  61. package/dist/cjs/controllers/search.controller.cjs.map +0 -1
  62. package/dist/cjs/controllers/stripe.controller.cjs +0 -149
  63. package/dist/cjs/controllers/stripe.controller.cjs.map +0 -1
  64. package/dist/cjs/controllers/tag.controller.cjs +0 -226
  65. package/dist/cjs/controllers/tag.controller.cjs.map +0 -1
  66. package/dist/cjs/controllers/user.controller.cjs +0 -269
  67. package/dist/cjs/controllers/user.controller.cjs.map +0 -1
  68. package/dist/cjs/emails/InviteUserEmail.cjs +0 -325
  69. package/dist/cjs/emails/InviteUserEmail.cjs.map +0 -1
  70. package/dist/cjs/emails/MagicLinkEmail.cjs +0 -242
  71. package/dist/cjs/emails/MagicLinkEmail.cjs.map +0 -1
  72. package/dist/cjs/emails/OAuthTokenCreatedEmail.cjs +0 -301
  73. package/dist/cjs/emails/OAuthTokenCreatedEmail.cjs.map +0 -1
  74. package/dist/cjs/emails/PasswordChangeConfirmation.cjs +0 -177
  75. package/dist/cjs/emails/PasswordChangeConfirmation.cjs.map +0 -1
  76. package/dist/cjs/emails/ResetUserPassword.cjs +0 -240
  77. package/dist/cjs/emails/ResetUserPassword.cjs.map +0 -1
  78. package/dist/cjs/emails/SubscriptionPaymentCancellation.cjs +0 -202
  79. package/dist/cjs/emails/SubscriptionPaymentCancellation.cjs.map +0 -1
  80. package/dist/cjs/emails/SubscriptionPaymentError.cjs +0 -202
  81. package/dist/cjs/emails/SubscriptionPaymentError.cjs.map +0 -1
  82. package/dist/cjs/emails/SubscriptionPaymentSuccess.cjs +0 -208
  83. package/dist/cjs/emails/SubscriptionPaymentSuccess.cjs.map +0 -1
  84. package/dist/cjs/emails/ValidateUserEmail.cjs +0 -240
  85. package/dist/cjs/emails/ValidateUserEmail.cjs.map +0 -1
  86. package/dist/cjs/emails/Welcome.cjs +0 -216
  87. package/dist/cjs/emails/Welcome.cjs.map +0 -1
  88. package/dist/cjs/emails/index.cjs +0 -25
  89. package/dist/cjs/export.cjs +0 -24
  90. package/dist/cjs/index.cjs +0 -91
  91. package/dist/cjs/index.cjs.map +0 -1
  92. package/dist/cjs/logger/index.cjs +0 -13
  93. package/dist/cjs/logger/index.cjs.map +0 -1
  94. package/dist/cjs/middlewares/oAuth2.middleware.cjs +0 -42
  95. package/dist/cjs/middlewares/oAuth2.middleware.cjs.map +0 -1
  96. package/dist/cjs/middlewares/request.middleware.cjs +0 -17
  97. package/dist/cjs/middlewares/request.middleware.cjs.map +0 -1
  98. package/dist/cjs/middlewares/sessionAuth.middleware.cjs +0 -22
  99. package/dist/cjs/middlewares/sessionAuth.middleware.cjs.map +0 -1
  100. package/dist/cjs/models/dictionary.model.cjs +0 -10
  101. package/dist/cjs/models/dictionary.model.cjs.map +0 -1
  102. package/dist/cjs/models/discussion.model.cjs +0 -10
  103. package/dist/cjs/models/discussion.model.cjs.map +0 -1
  104. package/dist/cjs/models/oAuth2.model.cjs +0 -10
  105. package/dist/cjs/models/oAuth2.model.cjs.map +0 -1
  106. package/dist/cjs/models/organization.model.cjs +0 -10
  107. package/dist/cjs/models/organization.model.cjs.map +0 -1
  108. package/dist/cjs/models/project.model.cjs +0 -10
  109. package/dist/cjs/models/project.model.cjs.map +0 -1
  110. package/dist/cjs/models/session.model.cjs +0 -10
  111. package/dist/cjs/models/session.model.cjs.map +0 -1
  112. package/dist/cjs/models/tag.model.cjs +0 -10
  113. package/dist/cjs/models/tag.model.cjs.map +0 -1
  114. package/dist/cjs/models/user.model.cjs +0 -10
  115. package/dist/cjs/models/user.model.cjs.map +0 -1
  116. package/dist/cjs/routes/ai.routes.cjs +0 -75
  117. package/dist/cjs/routes/ai.routes.cjs.map +0 -1
  118. package/dist/cjs/routes/dictionary.routes.cjs +0 -64
  119. package/dist/cjs/routes/dictionary.routes.cjs.map +0 -1
  120. package/dist/cjs/routes/eventListener.routes.cjs +0 -20
  121. package/dist/cjs/routes/eventListener.routes.cjs.map +0 -1
  122. package/dist/cjs/routes/newsletter.routes.cjs +0 -34
  123. package/dist/cjs/routes/newsletter.routes.cjs.map +0 -1
  124. package/dist/cjs/routes/organization.routes.cjs +0 -70
  125. package/dist/cjs/routes/organization.routes.cjs.map +0 -1
  126. package/dist/cjs/routes/project.routes.cjs +0 -83
  127. package/dist/cjs/routes/project.routes.cjs.map +0 -1
  128. package/dist/cjs/routes/search.routes.cjs +0 -20
  129. package/dist/cjs/routes/search.routes.cjs.map +0 -1
  130. package/dist/cjs/routes/stripe.routes.cjs +0 -34
  131. package/dist/cjs/routes/stripe.routes.cjs.map +0 -1
  132. package/dist/cjs/routes/tags.routes.cjs +0 -40
  133. package/dist/cjs/routes/tags.routes.cjs.map +0 -1
  134. package/dist/cjs/routes/user.routes.cjs +0 -58
  135. package/dist/cjs/routes/user.routes.cjs.map +0 -1
  136. package/dist/cjs/schemas/dictionary.schema.cjs +0 -73
  137. package/dist/cjs/schemas/dictionary.schema.cjs.map +0 -1
  138. package/dist/cjs/schemas/discussion.schema.cjs +0 -81
  139. package/dist/cjs/schemas/discussion.schema.cjs.map +0 -1
  140. package/dist/cjs/schemas/oAuth2.schema.cjs +0 -49
  141. package/dist/cjs/schemas/oAuth2.schema.cjs.map +0 -1
  142. package/dist/cjs/schemas/organization.schema.cjs +0 -62
  143. package/dist/cjs/schemas/organization.schema.cjs.map +0 -1
  144. package/dist/cjs/schemas/plans.schema.cjs +0 -75
  145. package/dist/cjs/schemas/plans.schema.cjs.map +0 -1
  146. package/dist/cjs/schemas/project.schema.cjs +0 -112
  147. package/dist/cjs/schemas/project.schema.cjs.map +0 -1
  148. package/dist/cjs/schemas/session.schema.cjs +0 -43
  149. package/dist/cjs/schemas/session.schema.cjs.map +0 -1
  150. package/dist/cjs/schemas/tag.schema.cjs +0 -62
  151. package/dist/cjs/schemas/tag.schema.cjs.map +0 -1
  152. package/dist/cjs/schemas/user.schema.cjs +0 -87
  153. package/dist/cjs/schemas/user.schema.cjs.map +0 -1
  154. package/dist/cjs/services/dictionary.service.cjs +0 -176
  155. package/dist/cjs/services/dictionary.service.cjs.map +0 -1
  156. package/dist/cjs/services/email.service.cjs +0 -155
  157. package/dist/cjs/services/email.service.cjs.map +0 -1
  158. package/dist/cjs/services/oAuth2.service.cjs +0 -211
  159. package/dist/cjs/services/oAuth2.service.cjs.map +0 -1
  160. package/dist/cjs/services/organization.service.cjs +0 -106
  161. package/dist/cjs/services/organization.service.cjs.map +0 -1
  162. package/dist/cjs/services/project.service.cjs +0 -89
  163. package/dist/cjs/services/project.service.cjs.map +0 -1
  164. package/dist/cjs/services/projectAccessKey.service.cjs +0 -111
  165. package/dist/cjs/services/projectAccessKey.service.cjs.map +0 -1
  166. package/dist/cjs/services/subscription.service.cjs +0 -184
  167. package/dist/cjs/services/subscription.service.cjs.map +0 -1
  168. package/dist/cjs/services/tag.service.cjs +0 -88
  169. package/dist/cjs/services/tag.service.cjs.map +0 -1
  170. package/dist/cjs/services/user.service.cjs +0 -120
  171. package/dist/cjs/services/user.service.cjs.map +0 -1
  172. package/dist/cjs/types/Routes.cjs +0 -0
  173. package/dist/cjs/types/dictionary.types.cjs +0 -0
  174. package/dist/cjs/types/discussion.types.cjs +0 -0
  175. package/dist/cjs/types/oAuth2.types.cjs +0 -0
  176. package/dist/cjs/types/organization.types.cjs +0 -0
  177. package/dist/cjs/types/plan.types.cjs +0 -0
  178. package/dist/cjs/types/project.types.cjs +0 -0
  179. package/dist/cjs/types/session.types.cjs +0 -0
  180. package/dist/cjs/types/tag.types.cjs +0 -0
  181. package/dist/cjs/types/user.types.cjs +0 -10
  182. package/dist/cjs/types/user.types.cjs.map +0 -1
  183. package/dist/cjs/utils/AI/aiSdk.cjs +0 -94
  184. package/dist/cjs/utils/AI/aiSdk.cjs.map +0 -1
  185. package/dist/cjs/utils/AI/askDocQuestion/askDocQuestion.cjs +0 -201
  186. package/dist/cjs/utils/AI/askDocQuestion/askDocQuestion.cjs.map +0 -1
  187. package/dist/cjs/utils/AI/askDocQuestion/indexMarkdownFiles.cjs +0 -150
  188. package/dist/cjs/utils/AI/askDocQuestion/indexMarkdownFiles.cjs.map +0 -1
  189. package/dist/cjs/utils/AI/auditDictionary/index.cjs +0 -60
  190. package/dist/cjs/utils/AI/auditDictionary/index.cjs.map +0 -1
  191. package/dist/cjs/utils/AI/auditDictionaryField/index.cjs +0 -63
  192. package/dist/cjs/utils/AI/auditDictionaryField/index.cjs.map +0 -1
  193. package/dist/cjs/utils/AI/auditDictionaryMetadata/index.cjs +0 -45
  194. package/dist/cjs/utils/AI/auditDictionaryMetadata/index.cjs.map +0 -1
  195. package/dist/cjs/utils/AI/auditTag/index.cjs +0 -40
  196. package/dist/cjs/utils/AI/auditTag/index.cjs.map +0 -1
  197. package/dist/cjs/utils/AI/autocomplete/index.cjs +0 -41
  198. package/dist/cjs/utils/AI/autocomplete/index.cjs.map +0 -1
  199. package/dist/cjs/utils/AI/customQuery/index.cjs +0 -27
  200. package/dist/cjs/utils/AI/customQuery/index.cjs.map +0 -1
  201. package/dist/cjs/utils/AI/translateJSON/index.cjs +0 -71
  202. package/dist/cjs/utils/AI/translateJSON/index.cjs.map +0 -1
  203. package/dist/cjs/utils/access.cjs +0 -0
  204. package/dist/cjs/utils/accessControl.cjs +0 -133
  205. package/dist/cjs/utils/accessControl.cjs.map +0 -1
  206. package/dist/cjs/utils/auth/getAuth.cjs +0 -218
  207. package/dist/cjs/utils/auth/getAuth.cjs.map +0 -1
  208. package/dist/cjs/utils/cors.cjs +0 -33
  209. package/dist/cjs/utils/cors.cjs.map +0 -1
  210. package/dist/cjs/utils/ensureArrayQueryFilter.cjs +0 -13
  211. package/dist/cjs/utils/ensureArrayQueryFilter.cjs.map +0 -1
  212. package/dist/cjs/utils/ensureMongoDocumentToObject.cjs +0 -16
  213. package/dist/cjs/utils/ensureMongoDocumentToObject.cjs.map +0 -1
  214. package/dist/cjs/utils/errors/ErrorHandler.cjs +0 -76
  215. package/dist/cjs/utils/errors/ErrorHandler.cjs.map +0 -1
  216. package/dist/cjs/utils/errors/ErrorsClass.cjs +0 -54
  217. package/dist/cjs/utils/errors/ErrorsClass.cjs.map +0 -1
  218. package/dist/cjs/utils/errors/errorCodes.cjs +0 -1387
  219. package/dist/cjs/utils/errors/errorCodes.cjs.map +0 -1
  220. package/dist/cjs/utils/errors/index.cjs +0 -8
  221. package/dist/cjs/utils/extractJSON.cjs +0 -61
  222. package/dist/cjs/utils/extractJSON.cjs.map +0 -1
  223. package/dist/cjs/utils/filtersAndPagination/getDictionaryFiltersAndPagination.cjs +0 -94
  224. package/dist/cjs/utils/filtersAndPagination/getDictionaryFiltersAndPagination.cjs.map +0 -1
  225. package/dist/cjs/utils/filtersAndPagination/getDiscussionFiltersAndPagination.cjs +0 -65
  226. package/dist/cjs/utils/filtersAndPagination/getDiscussionFiltersAndPagination.cjs.map +0 -1
  227. package/dist/cjs/utils/filtersAndPagination/getFiltersAndPaginationFromBody.cjs +0 -36
  228. package/dist/cjs/utils/filtersAndPagination/getFiltersAndPaginationFromBody.cjs.map +0 -1
  229. package/dist/cjs/utils/filtersAndPagination/getOrganizationFiltersAndPagination.cjs +0 -49
  230. package/dist/cjs/utils/filtersAndPagination/getOrganizationFiltersAndPagination.cjs.map +0 -1
  231. package/dist/cjs/utils/filtersAndPagination/getProjectFiltersAndPagination.cjs +0 -53
  232. package/dist/cjs/utils/filtersAndPagination/getProjectFiltersAndPagination.cjs.map +0 -1
  233. package/dist/cjs/utils/filtersAndPagination/getTagFiltersAndPagination.cjs +0 -57
  234. package/dist/cjs/utils/filtersAndPagination/getTagFiltersAndPagination.cjs.map +0 -1
  235. package/dist/cjs/utils/filtersAndPagination/getUserFiltersAndPagination.cjs +0 -74
  236. package/dist/cjs/utils/filtersAndPagination/getUserFiltersAndPagination.cjs.map +0 -1
  237. package/dist/cjs/utils/httpStatusCodes.cjs +0 -401
  238. package/dist/cjs/utils/httpStatusCodes.cjs.map +0 -1
  239. package/dist/cjs/utils/mapper/dictionary.cjs +0 -29
  240. package/dist/cjs/utils/mapper/dictionary.cjs.map +0 -1
  241. package/dist/cjs/utils/mapper/organization.cjs +0 -19
  242. package/dist/cjs/utils/mapper/organization.cjs.map +0 -1
  243. package/dist/cjs/utils/mapper/project.cjs +0 -26
  244. package/dist/cjs/utils/mapper/project.cjs.map +0 -1
  245. package/dist/cjs/utils/mapper/session.cjs +0 -15
  246. package/dist/cjs/utils/mapper/session.cjs.map +0 -1
  247. package/dist/cjs/utils/mapper/tag.cjs +0 -25
  248. package/dist/cjs/utils/mapper/tag.cjs.map +0 -1
  249. package/dist/cjs/utils/mapper/user.cjs +0 -24
  250. package/dist/cjs/utils/mapper/user.cjs.map +0 -1
  251. package/dist/cjs/utils/mergeFunctionTypes.cjs +0 -0
  252. package/dist/cjs/utils/mongoDB/connectDB.cjs +0 -32
  253. package/dist/cjs/utils/mongoDB/connectDB.cjs.map +0 -1
  254. package/dist/cjs/utils/mongoDB/types.cjs +0 -0
  255. package/dist/cjs/utils/oAuth2.cjs +0 -25
  256. package/dist/cjs/utils/oAuth2.cjs.map +0 -1
  257. package/dist/cjs/utils/permissions.cjs +0 -103
  258. package/dist/cjs/utils/permissions.cjs.map +0 -1
  259. package/dist/cjs/utils/plan.cjs +0 -63
  260. package/dist/cjs/utils/plan.cjs.map +0 -1
  261. package/dist/cjs/utils/rateLimiter.cjs +0 -48
  262. package/dist/cjs/utils/rateLimiter.cjs.map +0 -1
  263. package/dist/cjs/utils/removeObjectKeys.cjs +0 -11
  264. package/dist/cjs/utils/removeObjectKeys.cjs.map +0 -1
  265. package/dist/cjs/utils/responseData.cjs +0 -33
  266. package/dist/cjs/utils/responseData.cjs.map +0 -1
  267. package/dist/cjs/utils/validation/validateArray.cjs +0 -31
  268. package/dist/cjs/utils/validation/validateArray.cjs.map +0 -1
  269. package/dist/cjs/utils/validation/validateDictionary.cjs +0 -35
  270. package/dist/cjs/utils/validation/validateDictionary.cjs.map +0 -1
  271. package/dist/cjs/utils/validation/validateEmail.cjs +0 -20
  272. package/dist/cjs/utils/validation/validateEmail.cjs.map +0 -1
  273. package/dist/cjs/utils/validation/validateOrganization.cjs +0 -43
  274. package/dist/cjs/utils/validation/validateOrganization.cjs.map +0 -1
  275. package/dist/cjs/utils/validation/validatePhone.cjs +0 -20
  276. package/dist/cjs/utils/validation/validatePhone.cjs.map +0 -1
  277. package/dist/cjs/utils/validation/validateProject.cjs +0 -55
  278. package/dist/cjs/utils/validation/validateProject.cjs.map +0 -1
  279. package/dist/cjs/utils/validation/validateString.cjs +0 -21
  280. package/dist/cjs/utils/validation/validateString.cjs.map +0 -1
  281. package/dist/cjs/utils/validation/validateTag.cjs +0 -47
  282. package/dist/cjs/utils/validation/validateTag.cjs.map +0 -1
  283. package/dist/cjs/utils/validation/validateUser.cjs +0 -47
  284. package/dist/cjs/utils/validation/validateUser.cjs.map +0 -1
  285. package/dist/cjs/webhooks/stripe.webhook.cjs +0 -116
  286. 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"}