@intlayer/backend 7.1.4 → 7.1.6

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 (925) hide show
  1. package/dist/cjs/controllers/ai.controller.cjs +2 -2
  2. package/dist/cjs/controllers/ai.controller.cjs.map +1 -1
  3. package/dist/cjs/schemas/dictionary.schema.cjs +2 -2
  4. package/dist/cjs/schemas/dictionary.schema.cjs.map +1 -1
  5. package/dist/cjs/schemas/discussion.schema.cjs +2 -2
  6. package/dist/cjs/schemas/discussion.schema.cjs.map +1 -1
  7. package/dist/cjs/schemas/oAuth2.schema.cjs +2 -2
  8. package/dist/cjs/schemas/oAuth2.schema.cjs.map +1 -1
  9. package/dist/cjs/schemas/organization.schema.cjs +2 -2
  10. package/dist/cjs/schemas/organization.schema.cjs.map +1 -1
  11. package/dist/cjs/schemas/plans.schema.cjs +2 -2
  12. package/dist/cjs/schemas/plans.schema.cjs.map +1 -1
  13. package/dist/cjs/schemas/project.schema.cjs +2 -2
  14. package/dist/cjs/schemas/project.schema.cjs.map +1 -1
  15. package/dist/cjs/schemas/session.schema.cjs +2 -2
  16. package/dist/cjs/schemas/session.schema.cjs.map +1 -1
  17. package/dist/cjs/schemas/tag.schema.cjs +2 -2
  18. package/dist/cjs/schemas/tag.schema.cjs.map +1 -1
  19. package/dist/cjs/schemas/user.schema.cjs +2 -2
  20. package/dist/cjs/schemas/user.schema.cjs.map +1 -1
  21. package/dist/cjs/services/email.service.cjs +1 -1
  22. package/dist/cjs/services/email.service.cjs.map +1 -1
  23. package/dist/cjs/services/oAuth2.service.cjs +1 -1
  24. package/dist/cjs/services/oAuth2.service.cjs.map +1 -1
  25. package/dist/cjs/utils/filtersAndPagination/getDictionaryFiltersAndPagination.cjs +1 -1
  26. package/dist/cjs/utils/filtersAndPagination/getDictionaryFiltersAndPagination.cjs.map +1 -1
  27. package/dist/cjs/utils/filtersAndPagination/getDiscussionFiltersAndPagination.cjs +1 -1
  28. package/dist/cjs/utils/filtersAndPagination/getDiscussionFiltersAndPagination.cjs.map +1 -1
  29. package/dist/cjs/utils/filtersAndPagination/getFiltersAndPaginationFromBody.cjs +1 -1
  30. package/dist/cjs/utils/filtersAndPagination/getFiltersAndPaginationFromBody.cjs.map +1 -1
  31. package/dist/cjs/utils/filtersAndPagination/getOrganizationFiltersAndPagination.cjs +1 -1
  32. package/dist/cjs/utils/filtersAndPagination/getOrganizationFiltersAndPagination.cjs.map +1 -1
  33. package/dist/cjs/utils/filtersAndPagination/getProjectFiltersAndPagination.cjs +1 -1
  34. package/dist/cjs/utils/filtersAndPagination/getProjectFiltersAndPagination.cjs.map +1 -1
  35. package/dist/cjs/utils/filtersAndPagination/getTagFiltersAndPagination.cjs +1 -1
  36. package/dist/cjs/utils/filtersAndPagination/getTagFiltersAndPagination.cjs.map +1 -1
  37. package/dist/cjs/utils/filtersAndPagination/getUserFiltersAndPagination.cjs +1 -1
  38. package/dist/cjs/utils/filtersAndPagination/getUserFiltersAndPagination.cjs.map +1 -1
  39. package/dist/cjs/utils/mapper/user.cjs +1 -1
  40. package/dist/cjs/utils/mapper/user.cjs.map +1 -1
  41. package/dist/esm/controllers/ai.controller.mjs +2 -2
  42. package/dist/esm/controllers/ai.controller.mjs.map +1 -1
  43. package/dist/esm/schemas/dictionary.schema.mjs +2 -2
  44. package/dist/esm/schemas/dictionary.schema.mjs.map +1 -1
  45. package/dist/esm/schemas/discussion.schema.mjs +2 -2
  46. package/dist/esm/schemas/discussion.schema.mjs.map +1 -1
  47. package/dist/esm/schemas/oAuth2.schema.mjs +2 -2
  48. package/dist/esm/schemas/oAuth2.schema.mjs.map +1 -1
  49. package/dist/esm/schemas/organization.schema.mjs +2 -2
  50. package/dist/esm/schemas/organization.schema.mjs.map +1 -1
  51. package/dist/esm/schemas/plans.schema.mjs +2 -2
  52. package/dist/esm/schemas/plans.schema.mjs.map +1 -1
  53. package/dist/esm/schemas/project.schema.mjs +2 -2
  54. package/dist/esm/schemas/project.schema.mjs.map +1 -1
  55. package/dist/esm/schemas/session.schema.mjs +2 -2
  56. package/dist/esm/schemas/session.schema.mjs.map +1 -1
  57. package/dist/esm/schemas/tag.schema.mjs +2 -2
  58. package/dist/esm/schemas/tag.schema.mjs.map +1 -1
  59. package/dist/esm/schemas/user.schema.mjs +2 -2
  60. package/dist/esm/schemas/user.schema.mjs.map +1 -1
  61. package/dist/esm/services/email.service.mjs +1 -1
  62. package/dist/esm/services/email.service.mjs.map +1 -1
  63. package/dist/esm/services/oAuth2.service.mjs +1 -1
  64. package/dist/esm/services/oAuth2.service.mjs.map +1 -1
  65. package/dist/esm/utils/filtersAndPagination/getDictionaryFiltersAndPagination.mjs +1 -1
  66. package/dist/esm/utils/filtersAndPagination/getDictionaryFiltersAndPagination.mjs.map +1 -1
  67. package/dist/esm/utils/filtersAndPagination/getDiscussionFiltersAndPagination.mjs +1 -1
  68. package/dist/esm/utils/filtersAndPagination/getDiscussionFiltersAndPagination.mjs.map +1 -1
  69. package/dist/esm/utils/filtersAndPagination/getFiltersAndPaginationFromBody.mjs +1 -1
  70. package/dist/esm/utils/filtersAndPagination/getFiltersAndPaginationFromBody.mjs.map +1 -1
  71. package/dist/esm/utils/filtersAndPagination/getOrganizationFiltersAndPagination.mjs +1 -1
  72. package/dist/esm/utils/filtersAndPagination/getOrganizationFiltersAndPagination.mjs.map +1 -1
  73. package/dist/esm/utils/filtersAndPagination/getProjectFiltersAndPagination.mjs +1 -1
  74. package/dist/esm/utils/filtersAndPagination/getProjectFiltersAndPagination.mjs.map +1 -1
  75. package/dist/esm/utils/filtersAndPagination/getTagFiltersAndPagination.mjs +1 -1
  76. package/dist/esm/utils/filtersAndPagination/getTagFiltersAndPagination.mjs.map +1 -1
  77. package/dist/esm/utils/filtersAndPagination/getUserFiltersAndPagination.mjs +1 -1
  78. package/dist/esm/utils/filtersAndPagination/getUserFiltersAndPagination.mjs.map +1 -1
  79. package/dist/esm/utils/mapper/user.mjs +1 -1
  80. package/dist/esm/utils/mapper/user.mjs.map +1 -1
  81. package/dist/types/controllers/ai.controller.d.ts.map +1 -1
  82. package/dist/types/controllers/project.controller.d.ts.map +1 -1
  83. package/dist/types/controllers/projectAccessKey.controller.d.ts.map +1 -1
  84. package/dist/types/emails/InviteUserEmail.d.ts +4 -4
  85. package/dist/types/emails/MagicLinkEmail.d.ts +4 -4
  86. package/dist/types/emails/MagicLinkEmail.d.ts.map +1 -1
  87. package/dist/types/emails/OAuthTokenCreatedEmail.d.ts +4 -4
  88. package/dist/types/emails/PasswordChangeConfirmation.d.ts +4 -4
  89. package/dist/types/emails/ResetUserPassword.d.ts +4 -4
  90. package/dist/types/emails/SubscriptionPaymentCancellation.d.ts +4 -4
  91. package/dist/types/emails/SubscriptionPaymentError.d.ts +4 -4
  92. package/dist/types/emails/SubscriptionPaymentSuccess.d.ts +4 -4
  93. package/dist/types/emails/ValidateUserEmail.d.ts +4 -4
  94. package/dist/types/emails/ValidateUserEmail.d.ts.map +1 -1
  95. package/dist/types/models/dictionary.model.d.ts +4 -4
  96. package/dist/types/models/dictionary.model.d.ts.map +1 -1
  97. package/dist/types/models/discussion.model.d.ts +2 -2
  98. package/dist/types/models/discussion.model.d.ts.map +1 -1
  99. package/dist/types/models/oAuth2.model.d.ts +3 -3
  100. package/dist/types/models/oAuth2.model.d.ts.map +1 -1
  101. package/dist/types/schemas/dictionary.schema.d.ts +6 -6
  102. package/dist/types/schemas/discussion.schema.d.ts +6 -6
  103. package/dist/types/schemas/discussion.schema.d.ts.map +1 -1
  104. package/dist/types/schemas/oAuth2.schema.d.ts +5 -5
  105. package/dist/types/schemas/oAuth2.schema.d.ts.map +1 -1
  106. package/dist/types/schemas/organization.schema.d.ts +6 -6
  107. package/dist/types/schemas/plans.schema.d.ts +6 -6
  108. package/dist/types/schemas/project.schema.d.ts +6 -6
  109. package/dist/types/schemas/session.schema.d.ts +6 -6
  110. package/dist/types/schemas/tag.schema.d.ts +6 -6
  111. package/dist/types/schemas/user.schema.d.ts +6 -6
  112. package/dist/types/schemas/user.schema.d.ts.map +1 -1
  113. package/dist/types/utils/filtersAndPagination/getDictionaryFiltersAndPagination.d.ts +2 -2
  114. package/dist/types/utils/filtersAndPagination/getDiscussionFiltersAndPagination.d.ts +2 -2
  115. package/dist/types/utils/filtersAndPagination/getOrganizationFiltersAndPagination.d.ts +2 -2
  116. package/dist/types/utils/filtersAndPagination/getProjectFiltersAndPagination.d.ts +2 -2
  117. package/dist/types/utils/filtersAndPagination/getTagFiltersAndPagination.d.ts +2 -2
  118. package/package.json +7 -7
  119. package/dist/cjs/controllers/audit.controller.cjs +0 -186
  120. package/dist/cjs/controllers/audit.controller.cjs.map +0 -1
  121. package/dist/cjs/models/audit.model.cjs +0 -10
  122. package/dist/cjs/models/audit.model.cjs.map +0 -1
  123. package/dist/cjs/node_modules/@authenio/xml-encryption/lib/index.cjs +0 -16
  124. package/dist/cjs/node_modules/@authenio/xml-encryption/lib/index.cjs.map +0 -1
  125. package/dist/cjs/node_modules/@authenio/xml-encryption/lib/templates/encrypted-key.tpl.xml.cjs +0 -25
  126. package/dist/cjs/node_modules/@authenio/xml-encryption/lib/templates/encrypted-key.tpl.xml.cjs.map +0 -1
  127. package/dist/cjs/node_modules/@authenio/xml-encryption/lib/templates/keyinfo.tpl.xml.cjs +0 -31
  128. package/dist/cjs/node_modules/@authenio/xml-encryption/lib/templates/keyinfo.tpl.xml.cjs.map +0 -1
  129. package/dist/cjs/node_modules/@authenio/xml-encryption/lib/utils.cjs +0 -38
  130. package/dist/cjs/node_modules/@authenio/xml-encryption/lib/utils.cjs.map +0 -1
  131. package/dist/cjs/node_modules/@authenio/xml-encryption/lib/xmlenc.cjs +0 -231
  132. package/dist/cjs/node_modules/@authenio/xml-encryption/lib/xmlenc.cjs.map +0 -1
  133. package/dist/cjs/node_modules/@better-auth/sso/dist/index.cjs +0 -1210
  134. package/dist/cjs/node_modules/@better-auth/sso/dist/index.cjs.map +0 -1
  135. package/dist/cjs/node_modules/@better-fetch/fetch/dist/index.cjs +0 -362
  136. package/dist/cjs/node_modules/@better-fetch/fetch/dist/index.cjs.map +0 -1
  137. package/dist/cjs/node_modules/@xmldom/is-dom-node/dist/index.cjs +0 -89
  138. package/dist/cjs/node_modules/@xmldom/is-dom-node/dist/index.cjs.map +0 -1
  139. package/dist/cjs/node_modules/@xmldom/xmldom/lib/conventions.cjs +0 -110
  140. package/dist/cjs/node_modules/@xmldom/xmldom/lib/conventions.cjs.map +0 -1
  141. package/dist/cjs/node_modules/@xmldom/xmldom/lib/dom-parser.cjs +0 -248
  142. package/dist/cjs/node_modules/@xmldom/xmldom/lib/dom-parser.cjs.map +0 -1
  143. package/dist/cjs/node_modules/@xmldom/xmldom/lib/dom.cjs +0 -1309
  144. package/dist/cjs/node_modules/@xmldom/xmldom/lib/dom.cjs.map +0 -1
  145. package/dist/cjs/node_modules/@xmldom/xmldom/lib/entities.cjs +0 -2176
  146. package/dist/cjs/node_modules/@xmldom/xmldom/lib/entities.cjs.map +0 -1
  147. package/dist/cjs/node_modules/@xmldom/xmldom/lib/index.cjs +0 -20
  148. package/dist/cjs/node_modules/@xmldom/xmldom/lib/index.cjs.map +0 -1
  149. package/dist/cjs/node_modules/@xmldom/xmldom/lib/sax.cjs +0 -499
  150. package/dist/cjs/node_modules/@xmldom/xmldom/lib/sax.cjs.map +0 -1
  151. package/dist/cjs/node_modules/asn1/lib/ber/errors.cjs +0 -20
  152. package/dist/cjs/node_modules/asn1/lib/ber/errors.cjs.map +0 -1
  153. package/dist/cjs/node_modules/asn1/lib/ber/index.cjs +0 -28
  154. package/dist/cjs/node_modules/asn1/lib/ber/index.cjs.map +0 -1
  155. package/dist/cjs/node_modules/asn1/lib/ber/reader.cjs +0 -167
  156. package/dist/cjs/node_modules/asn1/lib/ber/reader.cjs.map +0 -1
  157. package/dist/cjs/node_modules/asn1/lib/ber/types.cjs +0 -47
  158. package/dist/cjs/node_modules/asn1/lib/ber/types.cjs.map +0 -1
  159. package/dist/cjs/node_modules/asn1/lib/ber/writer.cjs +0 -223
  160. package/dist/cjs/node_modules/asn1/lib/ber/writer.cjs.map +0 -1
  161. package/dist/cjs/node_modules/asn1/lib/index.cjs +0 -21
  162. package/dist/cjs/node_modules/asn1/lib/index.cjs.map +0 -1
  163. package/dist/cjs/node_modules/camelcase/index.cjs +0 -78
  164. package/dist/cjs/node_modules/camelcase/index.cjs.map +0 -1
  165. package/dist/cjs/node_modules/escape-html/index.cjs +0 -71
  166. package/dist/cjs/node_modules/escape-html/index.cjs.map +0 -1
  167. package/dist/cjs/node_modules/fast-xml-parser/src/fxp.cjs +0 -9
  168. package/dist/cjs/node_modules/fast-xml-parser/src/fxp.cjs.map +0 -1
  169. package/dist/cjs/node_modules/fast-xml-parser/src/util.cjs +0 -29
  170. package/dist/cjs/node_modules/fast-xml-parser/src/util.cjs.map +0 -1
  171. package/dist/cjs/node_modules/fast-xml-parser/src/validator.cjs +0 -244
  172. package/dist/cjs/node_modules/fast-xml-parser/src/validator.cjs.map +0 -1
  173. package/dist/cjs/node_modules/jose/dist/webapi/lib/base64.cjs +0 -14
  174. package/dist/cjs/node_modules/jose/dist/webapi/lib/base64.cjs.map +0 -1
  175. package/dist/cjs/node_modules/jose/dist/webapi/lib/buffer_utils.cjs +0 -10
  176. package/dist/cjs/node_modules/jose/dist/webapi/lib/buffer_utils.cjs.map +0 -1
  177. package/dist/cjs/node_modules/jose/dist/webapi/lib/is_object.cjs +0 -17
  178. package/dist/cjs/node_modules/jose/dist/webapi/lib/is_object.cjs.map +0 -1
  179. package/dist/cjs/node_modules/jose/dist/webapi/util/base64url.cjs +0 -20
  180. package/dist/cjs/node_modules/jose/dist/webapi/util/base64url.cjs.map +0 -1
  181. package/dist/cjs/node_modules/jose/dist/webapi/util/decode_jwt.cjs +0 -32
  182. package/dist/cjs/node_modules/jose/dist/webapi/util/decode_jwt.cjs.map +0 -1
  183. package/dist/cjs/node_modules/jose/dist/webapi/util/errors.cjs +0 -28
  184. package/dist/cjs/node_modules/jose/dist/webapi/util/errors.cjs.map +0 -1
  185. package/dist/cjs/node_modules/node-forge/lib/aes.cjs +0 -604
  186. package/dist/cjs/node_modules/node-forge/lib/aes.cjs.map +0 -1
  187. package/dist/cjs/node_modules/node-forge/lib/aesCipherSuites.cjs +0 -202
  188. package/dist/cjs/node_modules/node-forge/lib/aesCipherSuites.cjs.map +0 -1
  189. package/dist/cjs/node_modules/node-forge/lib/asn1-validator.cjs +0 -83
  190. package/dist/cjs/node_modules/node-forge/lib/asn1-validator.cjs.map +0 -1
  191. package/dist/cjs/node_modules/node-forge/lib/asn1.cjs +0 -945
  192. package/dist/cjs/node_modules/node-forge/lib/asn1.cjs.map +0 -1
  193. package/dist/cjs/node_modules/node-forge/lib/baseN.cjs +0 -144
  194. package/dist/cjs/node_modules/node-forge/lib/baseN.cjs.map +0 -1
  195. package/dist/cjs/node_modules/node-forge/lib/cipher.cjs +0 -193
  196. package/dist/cjs/node_modules/node-forge/lib/cipher.cjs.map +0 -1
  197. package/dist/cjs/node_modules/node-forge/lib/cipherModes.cjs +0 -604
  198. package/dist/cjs/node_modules/node-forge/lib/cipherModes.cjs.map +0 -1
  199. package/dist/cjs/node_modules/node-forge/lib/des.cjs +0 -1194
  200. package/dist/cjs/node_modules/node-forge/lib/des.cjs.map +0 -1
  201. package/dist/cjs/node_modules/node-forge/lib/ed25519.cjs +0 -1027
  202. package/dist/cjs/node_modules/node-forge/lib/ed25519.cjs.map +0 -1
  203. package/dist/cjs/node_modules/node-forge/lib/forge.cjs +0 -22
  204. package/dist/cjs/node_modules/node-forge/lib/forge.cjs.map +0 -1
  205. package/dist/cjs/node_modules/node-forge/lib/hmac.cjs +0 -114
  206. package/dist/cjs/node_modules/node-forge/lib/hmac.cjs.map +0 -1
  207. package/dist/cjs/node_modules/node-forge/lib/index.cjs +0 -73
  208. package/dist/cjs/node_modules/node-forge/lib/index.cjs.map +0 -1
  209. package/dist/cjs/node_modules/node-forge/lib/jsbn.cjs +0 -1263
  210. package/dist/cjs/node_modules/node-forge/lib/jsbn.cjs.map +0 -1
  211. package/dist/cjs/node_modules/node-forge/lib/kem.cjs +0 -153
  212. package/dist/cjs/node_modules/node-forge/lib/kem.cjs.map +0 -1
  213. package/dist/cjs/node_modules/node-forge/lib/log.cjs +0 -248
  214. package/dist/cjs/node_modules/node-forge/lib/log.cjs.map +0 -1
  215. package/dist/cjs/node_modules/node-forge/lib/md.all.cjs +0 -31
  216. package/dist/cjs/node_modules/node-forge/lib/md.all.cjs.map +0 -1
  217. package/dist/cjs/node_modules/node-forge/lib/md.cjs +0 -25
  218. package/dist/cjs/node_modules/node-forge/lib/md.cjs.map +0 -1
  219. package/dist/cjs/node_modules/node-forge/lib/md5.cjs +0 -331
  220. package/dist/cjs/node_modules/node-forge/lib/md5.cjs.map +0 -1
  221. package/dist/cjs/node_modules/node-forge/lib/mgf.cjs +0 -27
  222. package/dist/cjs/node_modules/node-forge/lib/mgf.cjs.map +0 -1
  223. package/dist/cjs/node_modules/node-forge/lib/mgf1.cjs +0 -51
  224. package/dist/cjs/node_modules/node-forge/lib/mgf1.cjs.map +0 -1
  225. package/dist/cjs/node_modules/node-forge/lib/oids.cjs +0 -160
  226. package/dist/cjs/node_modules/node-forge/lib/oids.cjs.map +0 -1
  227. package/dist/cjs/node_modules/node-forge/lib/pbe.cjs +0 -822
  228. package/dist/cjs/node_modules/node-forge/lib/pbe.cjs.map +0 -1
  229. package/dist/cjs/node_modules/node-forge/lib/pbkdf2.cjs +0 -132
  230. package/dist/cjs/node_modules/node-forge/lib/pbkdf2.cjs.map +0 -1
  231. package/dist/cjs/node_modules/node-forge/lib/pem.cjs +0 -182
  232. package/dist/cjs/node_modules/node-forge/lib/pem.cjs.map +0 -1
  233. package/dist/cjs/node_modules/node-forge/lib/pkcs1.cjs +0 -207
  234. package/dist/cjs/node_modules/node-forge/lib/pkcs1.cjs.map +0 -1
  235. package/dist/cjs/node_modules/node-forge/lib/pkcs12.cjs +0 -730
  236. package/dist/cjs/node_modules/node-forge/lib/pkcs12.cjs.map +0 -1
  237. package/dist/cjs/node_modules/node-forge/lib/pkcs7.cjs +0 -648
  238. package/dist/cjs/node_modules/node-forge/lib/pkcs7.cjs.map +0 -1
  239. package/dist/cjs/node_modules/node-forge/lib/pkcs7asn1.cjs +0 -412
  240. package/dist/cjs/node_modules/node-forge/lib/pkcs7asn1.cjs.map +0 -1
  241. package/dist/cjs/node_modules/node-forge/lib/pki.cjs +0 -108
  242. package/dist/cjs/node_modules/node-forge/lib/pki.cjs.map +0 -1
  243. package/dist/cjs/node_modules/node-forge/lib/prime.cjs +0 -200
  244. package/dist/cjs/node_modules/node-forge/lib/prime.cjs.map +0 -1
  245. package/dist/cjs/node_modules/node-forge/lib/prng.cjs +0 -297
  246. package/dist/cjs/node_modules/node-forge/lib/prng.cjs.map +0 -1
  247. package/dist/cjs/node_modules/node-forge/lib/pss.cjs +0 -148
  248. package/dist/cjs/node_modules/node-forge/lib/pss.cjs.map +0 -1
  249. package/dist/cjs/node_modules/node-forge/lib/random.cjs +0 -148
  250. package/dist/cjs/node_modules/node-forge/lib/random.cjs.map +0 -1
  251. package/dist/cjs/node_modules/node-forge/lib/rc2.cjs +0 -545
  252. package/dist/cjs/node_modules/node-forge/lib/rc2.cjs.map +0 -1
  253. package/dist/cjs/node_modules/node-forge/lib/rsa.cjs +0 -1306
  254. package/dist/cjs/node_modules/node-forge/lib/rsa.cjs.map +0 -1
  255. package/dist/cjs/node_modules/node-forge/lib/sha1.cjs +0 -237
  256. package/dist/cjs/node_modules/node-forge/lib/sha1.cjs.map +0 -1
  257. package/dist/cjs/node_modules/node-forge/lib/sha256.cjs +0 -274
  258. package/dist/cjs/node_modules/node-forge/lib/sha256.cjs.map +0 -1
  259. package/dist/cjs/node_modules/node-forge/lib/sha512.cjs +0 -420
  260. package/dist/cjs/node_modules/node-forge/lib/sha512.cjs.map +0 -1
  261. package/dist/cjs/node_modules/node-forge/lib/ssh.cjs +0 -201
  262. package/dist/cjs/node_modules/node-forge/lib/ssh.cjs.map +0 -1
  263. package/dist/cjs/node_modules/node-forge/lib/tls.cjs +0 -3662
  264. package/dist/cjs/node_modules/node-forge/lib/tls.cjs.map +0 -1
  265. package/dist/cjs/node_modules/node-forge/lib/util.cjs +0 -2124
  266. package/dist/cjs/node_modules/node-forge/lib/util.cjs.map +0 -1
  267. package/dist/cjs/node_modules/node-forge/lib/x509.cjs +0 -2171
  268. package/dist/cjs/node_modules/node-forge/lib/x509.cjs.map +0 -1
  269. package/dist/cjs/node_modules/node-rsa/src/NodeRSA.cjs +0 -341
  270. package/dist/cjs/node_modules/node-rsa/src/NodeRSA.cjs.map +0 -1
  271. package/dist/cjs/node_modules/node-rsa/src/encryptEngines/encryptEngines.cjs +0 -26
  272. package/dist/cjs/node_modules/node-rsa/src/encryptEngines/encryptEngines.cjs.map +0 -1
  273. package/dist/cjs/node_modules/node-rsa/src/encryptEngines/io.cjs +0 -65
  274. package/dist/cjs/node_modules/node-rsa/src/encryptEngines/io.cjs.map +0 -1
  275. package/dist/cjs/node_modules/node-rsa/src/encryptEngines/js.cjs +0 -44
  276. package/dist/cjs/node_modules/node-rsa/src/encryptEngines/js.cjs.map +0 -1
  277. package/dist/cjs/node_modules/node-rsa/src/encryptEngines/node12.cjs +0 -49
  278. package/dist/cjs/node_modules/node-rsa/src/encryptEngines/node12.cjs.map +0 -1
  279. package/dist/cjs/node_modules/node-rsa/src/formats/components.cjs +0 -55
  280. package/dist/cjs/node_modules/node-rsa/src/formats/components.cjs.map +0 -1
  281. package/dist/cjs/node_modules/node-rsa/src/formats/formats.cjs +0 -86
  282. package/dist/cjs/node_modules/node-rsa/src/formats/formats.cjs.map +0 -1
  283. package/dist/cjs/node_modules/node-rsa/src/formats/openssh.cjs +0 -177
  284. package/dist/cjs/node_modules/node-rsa/src/formats/openssh.cjs.map +0 -1
  285. package/dist/cjs/node_modules/node-rsa/src/formats/pkcs1.cjs +0 -104
  286. package/dist/cjs/node_modules/node-rsa/src/formats/pkcs1.cjs.map +0 -1
  287. package/dist/cjs/node_modules/node-rsa/src/formats/pkcs8.cjs +0 -131
  288. package/dist/cjs/node_modules/node-rsa/src/formats/pkcs8.cjs.map +0 -1
  289. package/dist/cjs/node_modules/node-rsa/src/libs/jsbn.cjs +0 -1347
  290. package/dist/cjs/node_modules/node-rsa/src/libs/jsbn.cjs.map +0 -1
  291. package/dist/cjs/node_modules/node-rsa/src/libs/rsa.cjs +0 -231
  292. package/dist/cjs/node_modules/node-rsa/src/libs/rsa.cjs.map +0 -1
  293. package/dist/cjs/node_modules/node-rsa/src/schemes/oaep.cjs +0 -123
  294. package/dist/cjs/node_modules/node-rsa/src/schemes/oaep.cjs.map +0 -1
  295. package/dist/cjs/node_modules/node-rsa/src/schemes/pkcs1.cjs +0 -175
  296. package/dist/cjs/node_modules/node-rsa/src/schemes/pkcs1.cjs.map +0 -1
  297. package/dist/cjs/node_modules/node-rsa/src/schemes/pss.cjs +0 -123
  298. package/dist/cjs/node_modules/node-rsa/src/schemes/pss.cjs.map +0 -1
  299. package/dist/cjs/node_modules/node-rsa/src/schemes/schemes.cjs +0 -28
  300. package/dist/cjs/node_modules/node-rsa/src/schemes/schemes.cjs.map +0 -1
  301. package/dist/cjs/node_modules/node-rsa/src/utils.cjs +0 -84
  302. package/dist/cjs/node_modules/node-rsa/src/utils.cjs.map +0 -1
  303. package/dist/cjs/node_modules/pako/index.cjs +0 -25
  304. package/dist/cjs/node_modules/pako/index.cjs.map +0 -1
  305. package/dist/cjs/node_modules/pako/lib/deflate.cjs +0 -311
  306. package/dist/cjs/node_modules/pako/lib/deflate.cjs.map +0 -1
  307. package/dist/cjs/node_modules/pako/lib/inflate.cjs +0 -317
  308. package/dist/cjs/node_modules/pako/lib/inflate.cjs.map +0 -1
  309. package/dist/cjs/node_modules/pako/lib/utils/common.cjs +0 -77
  310. package/dist/cjs/node_modules/pako/lib/utils/common.cjs.map +0 -1
  311. package/dist/cjs/node_modules/pako/lib/utils/strings.cjs +0 -131
  312. package/dist/cjs/node_modules/pako/lib/utils/strings.cjs.map +0 -1
  313. package/dist/cjs/node_modules/pako/lib/zlib/adler32.cjs +0 -29
  314. package/dist/cjs/node_modules/pako/lib/zlib/adler32.cjs.map +0 -1
  315. package/dist/cjs/node_modules/pako/lib/zlib/constants.cjs +0 -43
  316. package/dist/cjs/node_modules/pako/lib/zlib/constants.cjs.map +0 -1
  317. package/dist/cjs/node_modules/pako/lib/zlib/crc32.cjs +0 -31
  318. package/dist/cjs/node_modules/pako/lib/zlib/crc32.cjs.map +0 -1
  319. package/dist/cjs/node_modules/pako/lib/zlib/deflate.cjs +0 -889
  320. package/dist/cjs/node_modules/pako/lib/zlib/deflate.cjs.map +0 -1
  321. package/dist/cjs/node_modules/pako/lib/zlib/gzheader.cjs +0 -27
  322. package/dist/cjs/node_modules/pako/lib/zlib/gzheader.cjs.map +0 -1
  323. package/dist/cjs/node_modules/pako/lib/zlib/inffast.cjs +0 -227
  324. package/dist/cjs/node_modules/pako/lib/zlib/inffast.cjs.map +0 -1
  325. package/dist/cjs/node_modules/pako/lib/zlib/inflate.cjs +0 -1038
  326. package/dist/cjs/node_modules/pako/lib/zlib/inflate.cjs.map +0 -1
  327. package/dist/cjs/node_modules/pako/lib/zlib/inftrees.cjs +0 -278
  328. package/dist/cjs/node_modules/pako/lib/zlib/inftrees.cjs.map +0 -1
  329. package/dist/cjs/node_modules/pako/lib/zlib/messages.cjs +0 -25
  330. package/dist/cjs/node_modules/pako/lib/zlib/messages.cjs.map +0 -1
  331. package/dist/cjs/node_modules/pako/lib/zlib/trees.cjs +0 -626
  332. package/dist/cjs/node_modules/pako/lib/zlib/trees.cjs.map +0 -1
  333. package/dist/cjs/node_modules/pako/lib/zlib/zstream.cjs +0 -29
  334. package/dist/cjs/node_modules/pako/lib/zlib/zstream.cjs.map +0 -1
  335. package/dist/cjs/node_modules/safer-buffer/safer.cjs +0 -52
  336. package/dist/cjs/node_modules/safer-buffer/safer.cjs.map +0 -1
  337. package/dist/cjs/node_modules/samlify/build/index.cjs +0 -120
  338. package/dist/cjs/node_modules/samlify/build/index.cjs.map +0 -1
  339. package/dist/cjs/node_modules/samlify/build/src/api.cjs +0 -36
  340. package/dist/cjs/node_modules/samlify/build/src/api.cjs.map +0 -1
  341. package/dist/cjs/node_modules/samlify/build/src/binding-post.cjs +0 -507
  342. package/dist/cjs/node_modules/samlify/build/src/binding-post.cjs.map +0 -1
  343. package/dist/cjs/node_modules/samlify/build/src/binding-redirect.cjs +0 -342
  344. package/dist/cjs/node_modules/samlify/build/src/binding-redirect.cjs.map +0 -1
  345. package/dist/cjs/node_modules/samlify/build/src/binding-simplesign.cjs +0 -361
  346. package/dist/cjs/node_modules/samlify/build/src/binding-simplesign.cjs.map +0 -1
  347. package/dist/cjs/node_modules/samlify/build/src/entity-idp.cjs +0 -282
  348. package/dist/cjs/node_modules/samlify/build/src/entity-idp.cjs.map +0 -1
  349. package/dist/cjs/node_modules/samlify/build/src/entity-sp.cjs +0 -145
  350. package/dist/cjs/node_modules/samlify/build/src/entity-sp.cjs.map +0 -1
  351. package/dist/cjs/node_modules/samlify/build/src/entity.cjs +0 -256
  352. package/dist/cjs/node_modules/samlify/build/src/entity.cjs.map +0 -1
  353. package/dist/cjs/node_modules/samlify/build/src/extractor.cjs +0 -355
  354. package/dist/cjs/node_modules/samlify/build/src/extractor.cjs.map +0 -1
  355. package/dist/cjs/node_modules/samlify/build/src/flow.cjs +0 -392
  356. package/dist/cjs/node_modules/samlify/build/src/flow.cjs.map +0 -1
  357. package/dist/cjs/node_modules/samlify/build/src/libsaml.cjs +0 -547
  358. package/dist/cjs/node_modules/samlify/build/src/libsaml.cjs.map +0 -1
  359. package/dist/cjs/node_modules/samlify/build/src/metadata-idp.cjs +0 -174
  360. package/dist/cjs/node_modules/samlify/build/src/metadata-idp.cjs.map +0 -1
  361. package/dist/cjs/node_modules/samlify/build/src/metadata-sp.cjs +0 -217
  362. package/dist/cjs/node_modules/samlify/build/src/metadata-sp.cjs.map +0 -1
  363. package/dist/cjs/node_modules/samlify/build/src/metadata.cjs +0 -203
  364. package/dist/cjs/node_modules/samlify/build/src/metadata.cjs.map +0 -1
  365. package/dist/cjs/node_modules/samlify/build/src/urn.cjs +0 -228
  366. package/dist/cjs/node_modules/samlify/build/src/urn.cjs.map +0 -1
  367. package/dist/cjs/node_modules/samlify/build/src/utility.cjs +0 -280
  368. package/dist/cjs/node_modules/samlify/build/src/utility.cjs.map +0 -1
  369. package/dist/cjs/node_modules/samlify/build/src/validator.cjs +0 -56
  370. package/dist/cjs/node_modules/samlify/build/src/validator.cjs.map +0 -1
  371. package/dist/cjs/node_modules/samlify/node_modules/uuid/dist/esm-node/index.cjs +0 -50
  372. package/dist/cjs/node_modules/samlify/node_modules/uuid/dist/esm-node/index.cjs.map +0 -1
  373. package/dist/cjs/node_modules/samlify/node_modules/uuid/dist/esm-node/md5.cjs +0 -25
  374. package/dist/cjs/node_modules/samlify/node_modules/uuid/dist/esm-node/md5.cjs.map +0 -1
  375. package/dist/cjs/node_modules/samlify/node_modules/uuid/dist/esm-node/nil.cjs +0 -18
  376. package/dist/cjs/node_modules/samlify/node_modules/uuid/dist/esm-node/nil.cjs.map +0 -1
  377. package/dist/cjs/node_modules/samlify/node_modules/uuid/dist/esm-node/parse.cjs +0 -42
  378. package/dist/cjs/node_modules/samlify/node_modules/uuid/dist/esm-node/parse.cjs.map +0 -1
  379. package/dist/cjs/node_modules/samlify/node_modules/uuid/dist/esm-node/regex.cjs +0 -18
  380. package/dist/cjs/node_modules/samlify/node_modules/uuid/dist/esm-node/regex.cjs.map +0 -1
  381. package/dist/cjs/node_modules/samlify/node_modules/uuid/dist/esm-node/rng.cjs +0 -28
  382. package/dist/cjs/node_modules/samlify/node_modules/uuid/dist/esm-node/rng.cjs.map +0 -1
  383. package/dist/cjs/node_modules/samlify/node_modules/uuid/dist/esm-node/sha1.cjs +0 -25
  384. package/dist/cjs/node_modules/samlify/node_modules/uuid/dist/esm-node/sha1.cjs.map +0 -1
  385. package/dist/cjs/node_modules/samlify/node_modules/uuid/dist/esm-node/stringify.cjs +0 -27
  386. package/dist/cjs/node_modules/samlify/node_modules/uuid/dist/esm-node/stringify.cjs.map +0 -1
  387. package/dist/cjs/node_modules/samlify/node_modules/uuid/dist/esm-node/v1.cjs +0 -69
  388. package/dist/cjs/node_modules/samlify/node_modules/uuid/dist/esm-node/v1.cjs.map +0 -1
  389. package/dist/cjs/node_modules/samlify/node_modules/uuid/dist/esm-node/v3.cjs +0 -23
  390. package/dist/cjs/node_modules/samlify/node_modules/uuid/dist/esm-node/v3.cjs.map +0 -1
  391. package/dist/cjs/node_modules/samlify/node_modules/uuid/dist/esm-node/v35.cjs +0 -54
  392. package/dist/cjs/node_modules/samlify/node_modules/uuid/dist/esm-node/v35.cjs.map +0 -1
  393. package/dist/cjs/node_modules/samlify/node_modules/uuid/dist/esm-node/v4.cjs +0 -34
  394. package/dist/cjs/node_modules/samlify/node_modules/uuid/dist/esm-node/v4.cjs.map +0 -1
  395. package/dist/cjs/node_modules/samlify/node_modules/uuid/dist/esm-node/v5.cjs +0 -23
  396. package/dist/cjs/node_modules/samlify/node_modules/uuid/dist/esm-node/v5.cjs.map +0 -1
  397. package/dist/cjs/node_modules/samlify/node_modules/uuid/dist/esm-node/validate.cjs +0 -23
  398. package/dist/cjs/node_modules/samlify/node_modules/uuid/dist/esm-node/validate.cjs.map +0 -1
  399. package/dist/cjs/node_modules/samlify/node_modules/uuid/dist/esm-node/version.cjs +0 -24
  400. package/dist/cjs/node_modules/samlify/node_modules/uuid/dist/esm-node/version.cjs.map +0 -1
  401. package/dist/cjs/node_modules/xml/lib/escapeForXML.cjs +0 -27
  402. package/dist/cjs/node_modules/xml/lib/escapeForXML.cjs.map +0 -1
  403. package/dist/cjs/node_modules/xml/lib/xml.cjs +0 -186
  404. package/dist/cjs/node_modules/xml/lib/xml.cjs.map +0 -1
  405. package/dist/cjs/node_modules/xml-crypto/lib/c14n-canonicalization.cjs +0 -202
  406. package/dist/cjs/node_modules/xml-crypto/lib/c14n-canonicalization.cjs.map +0 -1
  407. package/dist/cjs/node_modules/xml-crypto/lib/enveloped-signature.cjs +0 -52
  408. package/dist/cjs/node_modules/xml-crypto/lib/enveloped-signature.cjs.map +0 -1
  409. package/dist/cjs/node_modules/xml-crypto/lib/exclusive-canonicalization.cjs +0 -223
  410. package/dist/cjs/node_modules/xml-crypto/lib/exclusive-canonicalization.cjs.map +0 -1
  411. package/dist/cjs/node_modules/xml-crypto/lib/hash-algorithms.cjs +0 -56
  412. package/dist/cjs/node_modules/xml-crypto/lib/hash-algorithms.cjs.map +0 -1
  413. package/dist/cjs/node_modules/xml-crypto/lib/index.cjs +0 -73
  414. package/dist/cjs/node_modules/xml-crypto/lib/index.cjs.map +0 -1
  415. package/dist/cjs/node_modules/xml-crypto/lib/signature-algorithms.cjs +0 -91
  416. package/dist/cjs/node_modules/xml-crypto/lib/signature-algorithms.cjs.map +0 -1
  417. package/dist/cjs/node_modules/xml-crypto/lib/signed-xml.cjs +0 -695
  418. package/dist/cjs/node_modules/xml-crypto/lib/signed-xml.cjs.map +0 -1
  419. package/dist/cjs/node_modules/xml-crypto/lib/types.cjs +0 -58
  420. package/dist/cjs/node_modules/xml-crypto/lib/types.cjs.map +0 -1
  421. package/dist/cjs/node_modules/xml-crypto/lib/utils.cjs +0 -213
  422. package/dist/cjs/node_modules/xml-crypto/lib/utils.cjs.map +0 -1
  423. package/dist/cjs/node_modules/xml-crypto/node_modules/xpath/xpath.cjs +0 -3445
  424. package/dist/cjs/node_modules/xml-crypto/node_modules/xpath/xpath.cjs.map +0 -1
  425. package/dist/cjs/node_modules/xml-escape/index.cjs +0 -30
  426. package/dist/cjs/node_modules/xml-escape/index.cjs.map +0 -1
  427. package/dist/cjs/node_modules/xpath/xpath.cjs +0 -3410
  428. package/dist/cjs/node_modules/xpath/xpath.cjs.map +0 -1
  429. package/dist/cjs/node_modules/zod/v4/classic/errors.cjs +0 -31
  430. package/dist/cjs/node_modules/zod/v4/classic/errors.cjs.map +0 -1
  431. package/dist/cjs/node_modules/zod/v4/classic/iso.cjs +0 -42
  432. package/dist/cjs/node_modules/zod/v4/classic/iso.cjs.map +0 -1
  433. package/dist/cjs/node_modules/zod/v4/classic/parse.cjs +0 -32
  434. package/dist/cjs/node_modules/zod/v4/classic/parse.cjs.map +0 -1
  435. package/dist/cjs/node_modules/zod/v4/classic/schemas.cjs +0 -527
  436. package/dist/cjs/node_modules/zod/v4/classic/schemas.cjs.map +0 -1
  437. package/dist/cjs/node_modules/zod/v4/core/api.cjs +0 -443
  438. package/dist/cjs/node_modules/zod/v4/core/api.cjs.map +0 -1
  439. package/dist/cjs/node_modules/zod/v4/core/checks.cjs +0 -238
  440. package/dist/cjs/node_modules/zod/v4/core/checks.cjs.map +0 -1
  441. package/dist/cjs/node_modules/zod/v4/core/core.cjs +0 -63
  442. package/dist/cjs/node_modules/zod/v4/core/core.cjs.map +0 -1
  443. package/dist/cjs/node_modules/zod/v4/core/doc.cjs +0 -36
  444. package/dist/cjs/node_modules/zod/v4/core/doc.cjs.map +0 -1
  445. package/dist/cjs/node_modules/zod/v4/core/errors.cjs +0 -67
  446. package/dist/cjs/node_modules/zod/v4/core/errors.cjs.map +0 -1
  447. package/dist/cjs/node_modules/zod/v4/core/parse.cjs +0 -124
  448. package/dist/cjs/node_modules/zod/v4/core/parse.cjs.map +0 -1
  449. package/dist/cjs/node_modules/zod/v4/core/regexes.cjs +0 -87
  450. package/dist/cjs/node_modules/zod/v4/core/regexes.cjs.map +0 -1
  451. package/dist/cjs/node_modules/zod/v4/core/registries.cjs +0 -55
  452. package/dist/cjs/node_modules/zod/v4/core/registries.cjs.map +0 -1
  453. package/dist/cjs/node_modules/zod/v4/core/schemas.cjs +0 -1115
  454. package/dist/cjs/node_modules/zod/v4/core/schemas.cjs.map +0 -1
  455. package/dist/cjs/node_modules/zod/v4/core/util.cjs +0 -333
  456. package/dist/cjs/node_modules/zod/v4/core/util.cjs.map +0 -1
  457. package/dist/cjs/node_modules/zod/v4/core/versions.cjs +0 -12
  458. package/dist/cjs/node_modules/zod/v4/core/versions.cjs.map +0 -1
  459. package/dist/esm/_virtual/rolldown_runtime.mjs +0 -43
  460. package/dist/esm/controllers/audit.controller.mjs +0 -182
  461. package/dist/esm/controllers/audit.controller.mjs.map +0 -1
  462. package/dist/esm/models/audit.model.mjs +0 -9
  463. package/dist/esm/models/audit.model.mjs.map +0 -1
  464. package/dist/esm/node_modules/@authenio/xml-encryption/lib/index.mjs +0 -13
  465. package/dist/esm/node_modules/@authenio/xml-encryption/lib/index.mjs.map +0 -1
  466. package/dist/esm/node_modules/@authenio/xml-encryption/lib/templates/encrypted-key.tpl.xml.mjs +0 -22
  467. package/dist/esm/node_modules/@authenio/xml-encryption/lib/templates/encrypted-key.tpl.xml.mjs.map +0 -1
  468. package/dist/esm/node_modules/@authenio/xml-encryption/lib/templates/keyinfo.tpl.xml.mjs +0 -28
  469. package/dist/esm/node_modules/@authenio/xml-encryption/lib/templates/keyinfo.tpl.xml.mjs.map +0 -1
  470. package/dist/esm/node_modules/@authenio/xml-encryption/lib/utils.mjs +0 -35
  471. package/dist/esm/node_modules/@authenio/xml-encryption/lib/utils.mjs.map +0 -1
  472. package/dist/esm/node_modules/@authenio/xml-encryption/lib/xmlenc.mjs +0 -228
  473. package/dist/esm/node_modules/@authenio/xml-encryption/lib/xmlenc.mjs.map +0 -1
  474. package/dist/esm/node_modules/@better-auth/sso/dist/index.mjs +0 -1210
  475. package/dist/esm/node_modules/@better-auth/sso/dist/index.mjs.map +0 -1
  476. package/dist/esm/node_modules/@better-fetch/fetch/dist/index.mjs +0 -359
  477. package/dist/esm/node_modules/@better-fetch/fetch/dist/index.mjs.map +0 -1
  478. package/dist/esm/node_modules/@xmldom/is-dom-node/dist/index.mjs +0 -86
  479. package/dist/esm/node_modules/@xmldom/is-dom-node/dist/index.mjs.map +0 -1
  480. package/dist/esm/node_modules/@xmldom/xmldom/lib/conventions.mjs +0 -107
  481. package/dist/esm/node_modules/@xmldom/xmldom/lib/conventions.mjs.map +0 -1
  482. package/dist/esm/node_modules/@xmldom/xmldom/lib/dom-parser.mjs +0 -245
  483. package/dist/esm/node_modules/@xmldom/xmldom/lib/dom-parser.mjs.map +0 -1
  484. package/dist/esm/node_modules/@xmldom/xmldom/lib/dom.mjs +0 -1306
  485. package/dist/esm/node_modules/@xmldom/xmldom/lib/dom.mjs.map +0 -1
  486. package/dist/esm/node_modules/@xmldom/xmldom/lib/entities.mjs +0 -2173
  487. package/dist/esm/node_modules/@xmldom/xmldom/lib/entities.mjs.map +0 -1
  488. package/dist/esm/node_modules/@xmldom/xmldom/lib/index.mjs +0 -17
  489. package/dist/esm/node_modules/@xmldom/xmldom/lib/index.mjs.map +0 -1
  490. package/dist/esm/node_modules/@xmldom/xmldom/lib/sax.mjs +0 -496
  491. package/dist/esm/node_modules/@xmldom/xmldom/lib/sax.mjs.map +0 -1
  492. package/dist/esm/node_modules/asn1/lib/ber/errors.mjs +0 -17
  493. package/dist/esm/node_modules/asn1/lib/ber/errors.mjs.map +0 -1
  494. package/dist/esm/node_modules/asn1/lib/ber/index.mjs +0 -25
  495. package/dist/esm/node_modules/asn1/lib/ber/index.mjs.map +0 -1
  496. package/dist/esm/node_modules/asn1/lib/ber/reader.mjs +0 -164
  497. package/dist/esm/node_modules/asn1/lib/ber/reader.mjs.map +0 -1
  498. package/dist/esm/node_modules/asn1/lib/ber/types.mjs +0 -44
  499. package/dist/esm/node_modules/asn1/lib/ber/types.mjs.map +0 -1
  500. package/dist/esm/node_modules/asn1/lib/ber/writer.mjs +0 -220
  501. package/dist/esm/node_modules/asn1/lib/ber/writer.mjs.map +0 -1
  502. package/dist/esm/node_modules/asn1/lib/index.mjs +0 -18
  503. package/dist/esm/node_modules/asn1/lib/index.mjs.map +0 -1
  504. package/dist/esm/node_modules/available-typed-arrays/index.mjs +0 -20
  505. package/dist/esm/node_modules/available-typed-arrays/index.mjs.map +0 -1
  506. package/dist/esm/node_modules/base64-js/index.mjs +0 -95
  507. package/dist/esm/node_modules/base64-js/index.mjs.map +0 -1
  508. package/dist/esm/node_modules/buffer/index.mjs +0 -1114
  509. package/dist/esm/node_modules/buffer/index.mjs.map +0 -1
  510. package/dist/esm/node_modules/call-bind/index.mjs +0 -26
  511. package/dist/esm/node_modules/call-bind/index.mjs.map +0 -1
  512. package/dist/esm/node_modules/call-bind-apply-helpers/actualApply.mjs +0 -21
  513. package/dist/esm/node_modules/call-bind-apply-helpers/actualApply.mjs.map +0 -1
  514. package/dist/esm/node_modules/call-bind-apply-helpers/applyBind.mjs +0 -21
  515. package/dist/esm/node_modules/call-bind-apply-helpers/applyBind.mjs.map +0 -1
  516. package/dist/esm/node_modules/call-bind-apply-helpers/functionApply.mjs +0 -13
  517. package/dist/esm/node_modules/call-bind-apply-helpers/functionApply.mjs.map +0 -1
  518. package/dist/esm/node_modules/call-bind-apply-helpers/functionCall.mjs +0 -13
  519. package/dist/esm/node_modules/call-bind-apply-helpers/functionCall.mjs.map +0 -1
  520. package/dist/esm/node_modules/call-bind-apply-helpers/index.mjs +0 -24
  521. package/dist/esm/node_modules/call-bind-apply-helpers/index.mjs.map +0 -1
  522. package/dist/esm/node_modules/call-bind-apply-helpers/reflectApply.mjs +0 -13
  523. package/dist/esm/node_modules/call-bind-apply-helpers/reflectApply.mjs.map +0 -1
  524. package/dist/esm/node_modules/call-bound/index.mjs +0 -23
  525. package/dist/esm/node_modules/call-bound/index.mjs.map +0 -1
  526. package/dist/esm/node_modules/camelcase/index.mjs +0 -75
  527. package/dist/esm/node_modules/camelcase/index.mjs.map +0 -1
  528. package/dist/esm/node_modules/define-data-property/index.mjs +0 -41
  529. package/dist/esm/node_modules/define-data-property/index.mjs.map +0 -1
  530. package/dist/esm/node_modules/dunder-proto/get.mjs +0 -28
  531. package/dist/esm/node_modules/dunder-proto/get.mjs.map +0 -1
  532. package/dist/esm/node_modules/es-define-property/index.mjs +0 -19
  533. package/dist/esm/node_modules/es-define-property/index.mjs.map +0 -1
  534. package/dist/esm/node_modules/es-errors/eval.mjs +0 -13
  535. package/dist/esm/node_modules/es-errors/eval.mjs.map +0 -1
  536. package/dist/esm/node_modules/es-errors/index.mjs +0 -13
  537. package/dist/esm/node_modules/es-errors/index.mjs.map +0 -1
  538. package/dist/esm/node_modules/es-errors/range.mjs +0 -13
  539. package/dist/esm/node_modules/es-errors/range.mjs.map +0 -1
  540. package/dist/esm/node_modules/es-errors/ref.mjs +0 -13
  541. package/dist/esm/node_modules/es-errors/ref.mjs.map +0 -1
  542. package/dist/esm/node_modules/es-errors/syntax.mjs +0 -13
  543. package/dist/esm/node_modules/es-errors/syntax.mjs.map +0 -1
  544. package/dist/esm/node_modules/es-errors/type.mjs +0 -13
  545. package/dist/esm/node_modules/es-errors/type.mjs.map +0 -1
  546. package/dist/esm/node_modules/es-errors/uri.mjs +0 -13
  547. package/dist/esm/node_modules/es-errors/uri.mjs.map +0 -1
  548. package/dist/esm/node_modules/es-object-atoms/index.mjs +0 -13
  549. package/dist/esm/node_modules/es-object-atoms/index.mjs.map +0 -1
  550. package/dist/esm/node_modules/escape-html/index.mjs +0 -68
  551. package/dist/esm/node_modules/escape-html/index.mjs.map +0 -1
  552. package/dist/esm/node_modules/fast-xml-parser/src/fxp.mjs +0 -8
  553. package/dist/esm/node_modules/fast-xml-parser/src/fxp.mjs.map +0 -1
  554. package/dist/esm/node_modules/fast-xml-parser/src/util.mjs +0 -26
  555. package/dist/esm/node_modules/fast-xml-parser/src/util.mjs.map +0 -1
  556. package/dist/esm/node_modules/fast-xml-parser/src/validator.mjs +0 -243
  557. package/dist/esm/node_modules/fast-xml-parser/src/validator.mjs.map +0 -1
  558. package/dist/esm/node_modules/for-each/index.mjs +0 -43
  559. package/dist/esm/node_modules/for-each/index.mjs.map +0 -1
  560. package/dist/esm/node_modules/function-bind/implementation.mjs +0 -59
  561. package/dist/esm/node_modules/function-bind/implementation.mjs.map +0 -1
  562. package/dist/esm/node_modules/function-bind/index.mjs +0 -14
  563. package/dist/esm/node_modules/function-bind/index.mjs.map +0 -1
  564. package/dist/esm/node_modules/generator-function/index.mjs +0 -14
  565. package/dist/esm/node_modules/generator-function/index.mjs.map +0 -1
  566. package/dist/esm/node_modules/get-intrinsic/index.mjs +0 -358
  567. package/dist/esm/node_modules/get-intrinsic/index.mjs.map +0 -1
  568. package/dist/esm/node_modules/get-proto/Object.getPrototypeOf.mjs +0 -15
  569. package/dist/esm/node_modules/get-proto/Object.getPrototypeOf.mjs.map +0 -1
  570. package/dist/esm/node_modules/get-proto/Reflect.getPrototypeOf.mjs +0 -13
  571. package/dist/esm/node_modules/get-proto/Reflect.getPrototypeOf.mjs.map +0 -1
  572. package/dist/esm/node_modules/get-proto/index.mjs +0 -26
  573. package/dist/esm/node_modules/get-proto/index.mjs.map +0 -1
  574. package/dist/esm/node_modules/gopd/gOPD.mjs +0 -13
  575. package/dist/esm/node_modules/gopd/gOPD.mjs.map +0 -1
  576. package/dist/esm/node_modules/gopd/index.mjs +0 -20
  577. package/dist/esm/node_modules/gopd/index.mjs.map +0 -1
  578. package/dist/esm/node_modules/has-property-descriptors/index.mjs +0 -25
  579. package/dist/esm/node_modules/has-property-descriptors/index.mjs.map +0 -1
  580. package/dist/esm/node_modules/has-symbols/index.mjs +0 -22
  581. package/dist/esm/node_modules/has-symbols/index.mjs.map +0 -1
  582. package/dist/esm/node_modules/has-symbols/shams.mjs +0 -36
  583. package/dist/esm/node_modules/has-symbols/shams.mjs.map +0 -1
  584. package/dist/esm/node_modules/has-tostringtag/shams.mjs +0 -17
  585. package/dist/esm/node_modules/has-tostringtag/shams.mjs.map +0 -1
  586. package/dist/esm/node_modules/hasown/index.mjs +0 -17
  587. package/dist/esm/node_modules/hasown/index.mjs.map +0 -1
  588. package/dist/esm/node_modules/ieee754/index.mjs +0 -80
  589. package/dist/esm/node_modules/ieee754/index.mjs.map +0 -1
  590. package/dist/esm/node_modules/inherits/inherits_browser.mjs +0 -31
  591. package/dist/esm/node_modules/inherits/inherits_browser.mjs.map +0 -1
  592. package/dist/esm/node_modules/is-arguments/index.mjs +0 -31
  593. package/dist/esm/node_modules/is-arguments/index.mjs.map +0 -1
  594. package/dist/esm/node_modules/is-callable/index.mjs +0 -87
  595. package/dist/esm/node_modules/is-callable/index.mjs.map +0 -1
  596. package/dist/esm/node_modules/is-generator-function/index.mjs +0 -32
  597. package/dist/esm/node_modules/is-generator-function/index.mjs.map +0 -1
  598. package/dist/esm/node_modules/is-regex/index.mjs +0 -58
  599. package/dist/esm/node_modules/is-regex/index.mjs.map +0 -1
  600. package/dist/esm/node_modules/is-typed-array/index.mjs +0 -17
  601. package/dist/esm/node_modules/is-typed-array/index.mjs.map +0 -1
  602. package/dist/esm/node_modules/jose/dist/webapi/lib/base64.mjs +0 -12
  603. package/dist/esm/node_modules/jose/dist/webapi/lib/base64.mjs.map +0 -1
  604. package/dist/esm/node_modules/jose/dist/webapi/lib/buffer_utils.mjs +0 -8
  605. package/dist/esm/node_modules/jose/dist/webapi/lib/buffer_utils.mjs.map +0 -1
  606. package/dist/esm/node_modules/jose/dist/webapi/lib/is_object.mjs +0 -15
  607. package/dist/esm/node_modules/jose/dist/webapi/lib/is_object.mjs.map +0 -1
  608. package/dist/esm/node_modules/jose/dist/webapi/util/base64url.mjs +0 -19
  609. package/dist/esm/node_modules/jose/dist/webapi/util/base64url.mjs.map +0 -1
  610. package/dist/esm/node_modules/jose/dist/webapi/util/decode_jwt.mjs +0 -31
  611. package/dist/esm/node_modules/jose/dist/webapi/util/decode_jwt.mjs.map +0 -1
  612. package/dist/esm/node_modules/jose/dist/webapi/util/errors.mjs +0 -26
  613. package/dist/esm/node_modules/jose/dist/webapi/util/errors.mjs.map +0 -1
  614. package/dist/esm/node_modules/math-intrinsics/abs.mjs +0 -13
  615. package/dist/esm/node_modules/math-intrinsics/abs.mjs.map +0 -1
  616. package/dist/esm/node_modules/math-intrinsics/floor.mjs +0 -13
  617. package/dist/esm/node_modules/math-intrinsics/floor.mjs.map +0 -1
  618. package/dist/esm/node_modules/math-intrinsics/isNaN.mjs +0 -15
  619. package/dist/esm/node_modules/math-intrinsics/isNaN.mjs.map +0 -1
  620. package/dist/esm/node_modules/math-intrinsics/max.mjs +0 -13
  621. package/dist/esm/node_modules/math-intrinsics/max.mjs.map +0 -1
  622. package/dist/esm/node_modules/math-intrinsics/min.mjs +0 -13
  623. package/dist/esm/node_modules/math-intrinsics/min.mjs.map +0 -1
  624. package/dist/esm/node_modules/math-intrinsics/pow.mjs +0 -13
  625. package/dist/esm/node_modules/math-intrinsics/pow.mjs.map +0 -1
  626. package/dist/esm/node_modules/math-intrinsics/round.mjs +0 -13
  627. package/dist/esm/node_modules/math-intrinsics/round.mjs.map +0 -1
  628. package/dist/esm/node_modules/math-intrinsics/sign.mjs +0 -18
  629. package/dist/esm/node_modules/math-intrinsics/sign.mjs.map +0 -1
  630. package/dist/esm/node_modules/node-forge/lib/aes.mjs +0 -601
  631. package/dist/esm/node_modules/node-forge/lib/aes.mjs.map +0 -1
  632. package/dist/esm/node_modules/node-forge/lib/aesCipherSuites.mjs +0 -199
  633. package/dist/esm/node_modules/node-forge/lib/aesCipherSuites.mjs.map +0 -1
  634. package/dist/esm/node_modules/node-forge/lib/asn1-validator.mjs +0 -80
  635. package/dist/esm/node_modules/node-forge/lib/asn1-validator.mjs.map +0 -1
  636. package/dist/esm/node_modules/node-forge/lib/asn1.mjs +0 -942
  637. package/dist/esm/node_modules/node-forge/lib/asn1.mjs.map +0 -1
  638. package/dist/esm/node_modules/node-forge/lib/baseN.mjs +0 -141
  639. package/dist/esm/node_modules/node-forge/lib/baseN.mjs.map +0 -1
  640. package/dist/esm/node_modules/node-forge/lib/cipher.mjs +0 -190
  641. package/dist/esm/node_modules/node-forge/lib/cipher.mjs.map +0 -1
  642. package/dist/esm/node_modules/node-forge/lib/cipherModes.mjs +0 -601
  643. package/dist/esm/node_modules/node-forge/lib/cipherModes.mjs.map +0 -1
  644. package/dist/esm/node_modules/node-forge/lib/des.mjs +0 -1191
  645. package/dist/esm/node_modules/node-forge/lib/des.mjs.map +0 -1
  646. package/dist/esm/node_modules/node-forge/lib/ed25519.mjs +0 -1024
  647. package/dist/esm/node_modules/node-forge/lib/ed25519.mjs.map +0 -1
  648. package/dist/esm/node_modules/node-forge/lib/forge.mjs +0 -19
  649. package/dist/esm/node_modules/node-forge/lib/forge.mjs.map +0 -1
  650. package/dist/esm/node_modules/node-forge/lib/hmac.mjs +0 -111
  651. package/dist/esm/node_modules/node-forge/lib/hmac.mjs.map +0 -1
  652. package/dist/esm/node_modules/node-forge/lib/index.mjs +0 -70
  653. package/dist/esm/node_modules/node-forge/lib/index.mjs.map +0 -1
  654. package/dist/esm/node_modules/node-forge/lib/jsbn.mjs +0 -1260
  655. package/dist/esm/node_modules/node-forge/lib/jsbn.mjs.map +0 -1
  656. package/dist/esm/node_modules/node-forge/lib/kem.mjs +0 -150
  657. package/dist/esm/node_modules/node-forge/lib/kem.mjs.map +0 -1
  658. package/dist/esm/node_modules/node-forge/lib/log.mjs +0 -245
  659. package/dist/esm/node_modules/node-forge/lib/log.mjs.map +0 -1
  660. package/dist/esm/node_modules/node-forge/lib/md.all.mjs +0 -28
  661. package/dist/esm/node_modules/node-forge/lib/md.all.mjs.map +0 -1
  662. package/dist/esm/node_modules/node-forge/lib/md.mjs +0 -22
  663. package/dist/esm/node_modules/node-forge/lib/md.mjs.map +0 -1
  664. package/dist/esm/node_modules/node-forge/lib/md5.mjs +0 -328
  665. package/dist/esm/node_modules/node-forge/lib/md5.mjs.map +0 -1
  666. package/dist/esm/node_modules/node-forge/lib/mgf.mjs +0 -24
  667. package/dist/esm/node_modules/node-forge/lib/mgf.mjs.map +0 -1
  668. package/dist/esm/node_modules/node-forge/lib/mgf1.mjs +0 -48
  669. package/dist/esm/node_modules/node-forge/lib/mgf1.mjs.map +0 -1
  670. package/dist/esm/node_modules/node-forge/lib/oids.mjs +0 -157
  671. package/dist/esm/node_modules/node-forge/lib/oids.mjs.map +0 -1
  672. package/dist/esm/node_modules/node-forge/lib/pbe.mjs +0 -819
  673. package/dist/esm/node_modules/node-forge/lib/pbe.mjs.map +0 -1
  674. package/dist/esm/node_modules/node-forge/lib/pbkdf2.mjs +0 -130
  675. package/dist/esm/node_modules/node-forge/lib/pbkdf2.mjs.map +0 -1
  676. package/dist/esm/node_modules/node-forge/lib/pem.mjs +0 -179
  677. package/dist/esm/node_modules/node-forge/lib/pem.mjs.map +0 -1
  678. package/dist/esm/node_modules/node-forge/lib/pkcs1.mjs +0 -204
  679. package/dist/esm/node_modules/node-forge/lib/pkcs1.mjs.map +0 -1
  680. package/dist/esm/node_modules/node-forge/lib/pkcs12.mjs +0 -727
  681. package/dist/esm/node_modules/node-forge/lib/pkcs12.mjs.map +0 -1
  682. package/dist/esm/node_modules/node-forge/lib/pkcs7.mjs +0 -645
  683. package/dist/esm/node_modules/node-forge/lib/pkcs7.mjs.map +0 -1
  684. package/dist/esm/node_modules/node-forge/lib/pkcs7asn1.mjs +0 -409
  685. package/dist/esm/node_modules/node-forge/lib/pkcs7asn1.mjs.map +0 -1
  686. package/dist/esm/node_modules/node-forge/lib/pki.mjs +0 -105
  687. package/dist/esm/node_modules/node-forge/lib/pki.mjs.map +0 -1
  688. package/dist/esm/node_modules/node-forge/lib/prime.mjs +0 -197
  689. package/dist/esm/node_modules/node-forge/lib/prime.mjs.map +0 -1
  690. package/dist/esm/node_modules/node-forge/lib/prng.mjs +0 -295
  691. package/dist/esm/node_modules/node-forge/lib/prng.mjs.map +0 -1
  692. package/dist/esm/node_modules/node-forge/lib/pss.mjs +0 -145
  693. package/dist/esm/node_modules/node-forge/lib/pss.mjs.map +0 -1
  694. package/dist/esm/node_modules/node-forge/lib/random.mjs +0 -145
  695. package/dist/esm/node_modules/node-forge/lib/random.mjs.map +0 -1
  696. package/dist/esm/node_modules/node-forge/lib/rc2.mjs +0 -542
  697. package/dist/esm/node_modules/node-forge/lib/rc2.mjs.map +0 -1
  698. package/dist/esm/node_modules/node-forge/lib/rsa.mjs +0 -1304
  699. package/dist/esm/node_modules/node-forge/lib/rsa.mjs.map +0 -1
  700. package/dist/esm/node_modules/node-forge/lib/sha1.mjs +0 -234
  701. package/dist/esm/node_modules/node-forge/lib/sha1.mjs.map +0 -1
  702. package/dist/esm/node_modules/node-forge/lib/sha256.mjs +0 -271
  703. package/dist/esm/node_modules/node-forge/lib/sha256.mjs.map +0 -1
  704. package/dist/esm/node_modules/node-forge/lib/sha512.mjs +0 -417
  705. package/dist/esm/node_modules/node-forge/lib/sha512.mjs.map +0 -1
  706. package/dist/esm/node_modules/node-forge/lib/ssh.mjs +0 -198
  707. package/dist/esm/node_modules/node-forge/lib/ssh.mjs.map +0 -1
  708. package/dist/esm/node_modules/node-forge/lib/tls.mjs +0 -3659
  709. package/dist/esm/node_modules/node-forge/lib/tls.mjs.map +0 -1
  710. package/dist/esm/node_modules/node-forge/lib/util.mjs +0 -2121
  711. package/dist/esm/node_modules/node-forge/lib/util.mjs.map +0 -1
  712. package/dist/esm/node_modules/node-forge/lib/x509.mjs +0 -2168
  713. package/dist/esm/node_modules/node-forge/lib/x509.mjs.map +0 -1
  714. package/dist/esm/node_modules/node-forge/lib.mjs +0 -10
  715. package/dist/esm/node_modules/node-forge/lib.mjs.map +0 -1
  716. package/dist/esm/node_modules/node-rsa/src/NodeRSA.mjs +0 -338
  717. package/dist/esm/node_modules/node-rsa/src/NodeRSA.mjs.map +0 -1
  718. package/dist/esm/node_modules/node-rsa/src/encryptEngines/encryptEngines.mjs +0 -23
  719. package/dist/esm/node_modules/node-rsa/src/encryptEngines/encryptEngines.mjs.map +0 -1
  720. package/dist/esm/node_modules/node-rsa/src/encryptEngines/io.mjs +0 -62
  721. package/dist/esm/node_modules/node-rsa/src/encryptEngines/io.mjs.map +0 -1
  722. package/dist/esm/node_modules/node-rsa/src/encryptEngines/js.mjs +0 -41
  723. package/dist/esm/node_modules/node-rsa/src/encryptEngines/js.mjs.map +0 -1
  724. package/dist/esm/node_modules/node-rsa/src/encryptEngines/node12.mjs +0 -46
  725. package/dist/esm/node_modules/node-rsa/src/encryptEngines/node12.mjs.map +0 -1
  726. package/dist/esm/node_modules/node-rsa/src/formats/components.mjs +0 -52
  727. package/dist/esm/node_modules/node-rsa/src/formats/components.mjs.map +0 -1
  728. package/dist/esm/node_modules/node-rsa/src/formats/formats.mjs +0 -83
  729. package/dist/esm/node_modules/node-rsa/src/formats/formats.mjs.map +0 -1
  730. package/dist/esm/node_modules/node-rsa/src/formats/openssh.mjs +0 -174
  731. package/dist/esm/node_modules/node-rsa/src/formats/openssh.mjs.map +0 -1
  732. package/dist/esm/node_modules/node-rsa/src/formats/pkcs1.mjs +0 -101
  733. package/dist/esm/node_modules/node-rsa/src/formats/pkcs1.mjs.map +0 -1
  734. package/dist/esm/node_modules/node-rsa/src/formats/pkcs8.mjs +0 -128
  735. package/dist/esm/node_modules/node-rsa/src/formats/pkcs8.mjs.map +0 -1
  736. package/dist/esm/node_modules/node-rsa/src/libs/jsbn.mjs +0 -1344
  737. package/dist/esm/node_modules/node-rsa/src/libs/jsbn.mjs.map +0 -1
  738. package/dist/esm/node_modules/node-rsa/src/libs/rsa.mjs +0 -228
  739. package/dist/esm/node_modules/node-rsa/src/libs/rsa.mjs.map +0 -1
  740. package/dist/esm/node_modules/node-rsa/src/schemes/oaep.mjs +0 -120
  741. package/dist/esm/node_modules/node-rsa/src/schemes/oaep.mjs.map +0 -1
  742. package/dist/esm/node_modules/node-rsa/src/schemes/pkcs1.mjs +0 -172
  743. package/dist/esm/node_modules/node-rsa/src/schemes/pkcs1.mjs.map +0 -1
  744. package/dist/esm/node_modules/node-rsa/src/schemes/pss.mjs +0 -120
  745. package/dist/esm/node_modules/node-rsa/src/schemes/pss.mjs.map +0 -1
  746. package/dist/esm/node_modules/node-rsa/src/schemes/schemes.mjs +0 -25
  747. package/dist/esm/node_modules/node-rsa/src/schemes/schemes.mjs.map +0 -1
  748. package/dist/esm/node_modules/node-rsa/src/utils.mjs +0 -81
  749. package/dist/esm/node_modules/node-rsa/src/utils.mjs.map +0 -1
  750. package/dist/esm/node_modules/pako/index.mjs +0 -22
  751. package/dist/esm/node_modules/pako/index.mjs.map +0 -1
  752. package/dist/esm/node_modules/pako/lib/deflate.mjs +0 -308
  753. package/dist/esm/node_modules/pako/lib/deflate.mjs.map +0 -1
  754. package/dist/esm/node_modules/pako/lib/inflate.mjs +0 -314
  755. package/dist/esm/node_modules/pako/lib/inflate.mjs.map +0 -1
  756. package/dist/esm/node_modules/pako/lib/utils/common.mjs +0 -74
  757. package/dist/esm/node_modules/pako/lib/utils/common.mjs.map +0 -1
  758. package/dist/esm/node_modules/pako/lib/utils/strings.mjs +0 -128
  759. package/dist/esm/node_modules/pako/lib/utils/strings.mjs.map +0 -1
  760. package/dist/esm/node_modules/pako/lib/zlib/adler32.mjs +0 -26
  761. package/dist/esm/node_modules/pako/lib/zlib/adler32.mjs.map +0 -1
  762. package/dist/esm/node_modules/pako/lib/zlib/constants.mjs +0 -40
  763. package/dist/esm/node_modules/pako/lib/zlib/constants.mjs.map +0 -1
  764. package/dist/esm/node_modules/pako/lib/zlib/crc32.mjs +0 -28
  765. package/dist/esm/node_modules/pako/lib/zlib/crc32.mjs.map +0 -1
  766. package/dist/esm/node_modules/pako/lib/zlib/deflate.mjs +0 -886
  767. package/dist/esm/node_modules/pako/lib/zlib/deflate.mjs.map +0 -1
  768. package/dist/esm/node_modules/pako/lib/zlib/gzheader.mjs +0 -24
  769. package/dist/esm/node_modules/pako/lib/zlib/gzheader.mjs.map +0 -1
  770. package/dist/esm/node_modules/pako/lib/zlib/inffast.mjs +0 -224
  771. package/dist/esm/node_modules/pako/lib/zlib/inffast.mjs.map +0 -1
  772. package/dist/esm/node_modules/pako/lib/zlib/inflate.mjs +0 -1035
  773. package/dist/esm/node_modules/pako/lib/zlib/inflate.mjs.map +0 -1
  774. package/dist/esm/node_modules/pako/lib/zlib/inftrees.mjs +0 -275
  775. package/dist/esm/node_modules/pako/lib/zlib/inftrees.mjs.map +0 -1
  776. package/dist/esm/node_modules/pako/lib/zlib/messages.mjs +0 -22
  777. package/dist/esm/node_modules/pako/lib/zlib/messages.mjs.map +0 -1
  778. package/dist/esm/node_modules/pako/lib/zlib/trees.mjs +0 -623
  779. package/dist/esm/node_modules/pako/lib/zlib/trees.mjs.map +0 -1
  780. package/dist/esm/node_modules/pako/lib/zlib/zstream.mjs +0 -26
  781. package/dist/esm/node_modules/pako/lib/zlib/zstream.mjs.map +0 -1
  782. package/dist/esm/node_modules/possible-typed-array-names/index.mjs +0 -26
  783. package/dist/esm/node_modules/possible-typed-array-names/index.mjs.map +0 -1
  784. package/dist/esm/node_modules/safe-regex-test/index.mjs +0 -25
  785. package/dist/esm/node_modules/safe-regex-test/index.mjs.map +0 -1
  786. package/dist/esm/node_modules/safer-buffer/safer.mjs +0 -50
  787. package/dist/esm/node_modules/safer-buffer/safer.mjs.map +0 -1
  788. package/dist/esm/node_modules/samlify/build/index.mjs +0 -117
  789. package/dist/esm/node_modules/samlify/build/index.mjs.map +0 -1
  790. package/dist/esm/node_modules/samlify/build/src/api.mjs +0 -33
  791. package/dist/esm/node_modules/samlify/build/src/api.mjs.map +0 -1
  792. package/dist/esm/node_modules/samlify/build/src/binding-post.mjs +0 -504
  793. package/dist/esm/node_modules/samlify/build/src/binding-post.mjs.map +0 -1
  794. package/dist/esm/node_modules/samlify/build/src/binding-redirect.mjs +0 -339
  795. package/dist/esm/node_modules/samlify/build/src/binding-redirect.mjs.map +0 -1
  796. package/dist/esm/node_modules/samlify/build/src/binding-simplesign.mjs +0 -358
  797. package/dist/esm/node_modules/samlify/build/src/binding-simplesign.mjs.map +0 -1
  798. package/dist/esm/node_modules/samlify/build/src/entity-idp.mjs +0 -279
  799. package/dist/esm/node_modules/samlify/build/src/entity-idp.mjs.map +0 -1
  800. package/dist/esm/node_modules/samlify/build/src/entity-sp.mjs +0 -142
  801. package/dist/esm/node_modules/samlify/build/src/entity-sp.mjs.map +0 -1
  802. package/dist/esm/node_modules/samlify/build/src/entity.mjs +0 -253
  803. package/dist/esm/node_modules/samlify/build/src/entity.mjs.map +0 -1
  804. package/dist/esm/node_modules/samlify/build/src/extractor.mjs +0 -352
  805. package/dist/esm/node_modules/samlify/build/src/extractor.mjs.map +0 -1
  806. package/dist/esm/node_modules/samlify/build/src/flow.mjs +0 -389
  807. package/dist/esm/node_modules/samlify/build/src/flow.mjs.map +0 -1
  808. package/dist/esm/node_modules/samlify/build/src/libsaml.mjs +0 -544
  809. package/dist/esm/node_modules/samlify/build/src/libsaml.mjs.map +0 -1
  810. package/dist/esm/node_modules/samlify/build/src/metadata-idp.mjs +0 -171
  811. package/dist/esm/node_modules/samlify/build/src/metadata-idp.mjs.map +0 -1
  812. package/dist/esm/node_modules/samlify/build/src/metadata-sp.mjs +0 -214
  813. package/dist/esm/node_modules/samlify/build/src/metadata-sp.mjs.map +0 -1
  814. package/dist/esm/node_modules/samlify/build/src/metadata.mjs +0 -200
  815. package/dist/esm/node_modules/samlify/build/src/metadata.mjs.map +0 -1
  816. package/dist/esm/node_modules/samlify/build/src/urn.mjs +0 -225
  817. package/dist/esm/node_modules/samlify/build/src/urn.mjs.map +0 -1
  818. package/dist/esm/node_modules/samlify/build/src/utility.mjs +0 -277
  819. package/dist/esm/node_modules/samlify/build/src/utility.mjs.map +0 -1
  820. package/dist/esm/node_modules/samlify/build/src/validator.mjs +0 -53
  821. package/dist/esm/node_modules/samlify/build/src/validator.mjs.map +0 -1
  822. package/dist/esm/node_modules/samlify/node_modules/uuid/dist/esm-browser/index.mjs +0 -39
  823. package/dist/esm/node_modules/samlify/node_modules/uuid/dist/esm-browser/index.mjs.map +0 -1
  824. package/dist/esm/node_modules/samlify/node_modules/uuid/dist/esm-browser/md5.mjs +0 -154
  825. package/dist/esm/node_modules/samlify/node_modules/uuid/dist/esm-browser/md5.mjs.map +0 -1
  826. package/dist/esm/node_modules/samlify/node_modules/uuid/dist/esm-browser/nil.mjs +0 -12
  827. package/dist/esm/node_modules/samlify/node_modules/uuid/dist/esm-browser/nil.mjs.map +0 -1
  828. package/dist/esm/node_modules/samlify/node_modules/uuid/dist/esm-browser/parse.mjs +0 -36
  829. package/dist/esm/node_modules/samlify/node_modules/uuid/dist/esm-browser/parse.mjs.map +0 -1
  830. package/dist/esm/node_modules/samlify/node_modules/uuid/dist/esm-browser/regex.mjs +0 -12
  831. package/dist/esm/node_modules/samlify/node_modules/uuid/dist/esm-browser/regex.mjs.map +0 -1
  832. package/dist/esm/node_modules/samlify/node_modules/uuid/dist/esm-browser/rng.mjs +0 -20
  833. package/dist/esm/node_modules/samlify/node_modules/uuid/dist/esm-browser/rng.mjs.map +0 -1
  834. package/dist/esm/node_modules/samlify/node_modules/uuid/dist/esm-browser/sha1.mjs +0 -101
  835. package/dist/esm/node_modules/samlify/node_modules/uuid/dist/esm-browser/sha1.mjs.map +0 -1
  836. package/dist/esm/node_modules/samlify/node_modules/uuid/dist/esm-browser/stringify.mjs +0 -22
  837. package/dist/esm/node_modules/samlify/node_modules/uuid/dist/esm-browser/stringify.mjs.map +0 -1
  838. package/dist/esm/node_modules/samlify/node_modules/uuid/dist/esm-browser/v1.mjs +0 -63
  839. package/dist/esm/node_modules/samlify/node_modules/uuid/dist/esm-browser/v1.mjs.map +0 -1
  840. package/dist/esm/node_modules/samlify/node_modules/uuid/dist/esm-browser/v3.mjs +0 -17
  841. package/dist/esm/node_modules/samlify/node_modules/uuid/dist/esm-browser/v3.mjs.map +0 -1
  842. package/dist/esm/node_modules/samlify/node_modules/uuid/dist/esm-browser/v35.mjs +0 -48
  843. package/dist/esm/node_modules/samlify/node_modules/uuid/dist/esm-browser/v35.mjs.map +0 -1
  844. package/dist/esm/node_modules/samlify/node_modules/uuid/dist/esm-browser/v4.mjs +0 -28
  845. package/dist/esm/node_modules/samlify/node_modules/uuid/dist/esm-browser/v4.mjs.map +0 -1
  846. package/dist/esm/node_modules/samlify/node_modules/uuid/dist/esm-browser/v5.mjs +0 -17
  847. package/dist/esm/node_modules/samlify/node_modules/uuid/dist/esm-browser/v5.mjs.map +0 -1
  848. package/dist/esm/node_modules/samlify/node_modules/uuid/dist/esm-browser/validate.mjs +0 -17
  849. package/dist/esm/node_modules/samlify/node_modules/uuid/dist/esm-browser/validate.mjs.map +0 -1
  850. package/dist/esm/node_modules/samlify/node_modules/uuid/dist/esm-browser/version.mjs +0 -18
  851. package/dist/esm/node_modules/samlify/node_modules/uuid/dist/esm-browser/version.mjs.map +0 -1
  852. package/dist/esm/node_modules/set-function-length/index.mjs +0 -38
  853. package/dist/esm/node_modules/set-function-length/index.mjs.map +0 -1
  854. package/dist/esm/node_modules/util/support/isBufferBrowser.mjs +0 -14
  855. package/dist/esm/node_modules/util/support/isBufferBrowser.mjs.map +0 -1
  856. package/dist/esm/node_modules/util/support/types.mjs +0 -218
  857. package/dist/esm/node_modules/util/support/types.mjs.map +0 -1
  858. package/dist/esm/node_modules/util/util.mjs +0 -443
  859. package/dist/esm/node_modules/util/util.mjs.map +0 -1
  860. package/dist/esm/node_modules/which-typed-array/index.mjs +0 -93
  861. package/dist/esm/node_modules/which-typed-array/index.mjs.map +0 -1
  862. package/dist/esm/node_modules/xml/lib/escapeForXML.mjs +0 -24
  863. package/dist/esm/node_modules/xml/lib/escapeForXML.mjs.map +0 -1
  864. package/dist/esm/node_modules/xml/lib/xml.mjs +0 -183
  865. package/dist/esm/node_modules/xml/lib/xml.mjs.map +0 -1
  866. package/dist/esm/node_modules/xml-crypto/lib/c14n-canonicalization.mjs +0 -199
  867. package/dist/esm/node_modules/xml-crypto/lib/c14n-canonicalization.mjs.map +0 -1
  868. package/dist/esm/node_modules/xml-crypto/lib/enveloped-signature.mjs +0 -49
  869. package/dist/esm/node_modules/xml-crypto/lib/enveloped-signature.mjs.map +0 -1
  870. package/dist/esm/node_modules/xml-crypto/lib/exclusive-canonicalization.mjs +0 -220
  871. package/dist/esm/node_modules/xml-crypto/lib/exclusive-canonicalization.mjs.map +0 -1
  872. package/dist/esm/node_modules/xml-crypto/lib/hash-algorithms.mjs +0 -53
  873. package/dist/esm/node_modules/xml-crypto/lib/hash-algorithms.mjs.map +0 -1
  874. package/dist/esm/node_modules/xml-crypto/lib/index.mjs +0 -70
  875. package/dist/esm/node_modules/xml-crypto/lib/index.mjs.map +0 -1
  876. package/dist/esm/node_modules/xml-crypto/lib/signature-algorithms.mjs +0 -88
  877. package/dist/esm/node_modules/xml-crypto/lib/signature-algorithms.mjs.map +0 -1
  878. package/dist/esm/node_modules/xml-crypto/lib/signed-xml.mjs +0 -693
  879. package/dist/esm/node_modules/xml-crypto/lib/signed-xml.mjs.map +0 -1
  880. package/dist/esm/node_modules/xml-crypto/lib/types.mjs +0 -55
  881. package/dist/esm/node_modules/xml-crypto/lib/types.mjs.map +0 -1
  882. package/dist/esm/node_modules/xml-crypto/lib/utils.mjs +0 -210
  883. package/dist/esm/node_modules/xml-crypto/lib/utils.mjs.map +0 -1
  884. package/dist/esm/node_modules/xml-crypto/node_modules/xpath/xpath.mjs +0 -3442
  885. package/dist/esm/node_modules/xml-crypto/node_modules/xpath/xpath.mjs.map +0 -1
  886. package/dist/esm/node_modules/xml-escape/index.mjs +0 -27
  887. package/dist/esm/node_modules/xml-escape/index.mjs.map +0 -1
  888. package/dist/esm/node_modules/xpath/xpath.mjs +0 -3407
  889. package/dist/esm/node_modules/xpath/xpath.mjs.map +0 -1
  890. package/dist/esm/node_modules/zod/v4/classic/errors.mjs +0 -30
  891. package/dist/esm/node_modules/zod/v4/classic/errors.mjs.map +0 -1
  892. package/dist/esm/node_modules/zod/v4/classic/iso.mjs +0 -38
  893. package/dist/esm/node_modules/zod/v4/classic/iso.mjs.map +0 -1
  894. package/dist/esm/node_modules/zod/v4/classic/parse.mjs +0 -20
  895. package/dist/esm/node_modules/zod/v4/classic/parse.mjs.map +0 -1
  896. package/dist/esm/node_modules/zod/v4/classic/schemas.mjs +0 -519
  897. package/dist/esm/node_modules/zod/v4/classic/schemas.mjs.map +0 -1
  898. package/dist/esm/node_modules/zod/v4/core/api.mjs +0 -395
  899. package/dist/esm/node_modules/zod/v4/core/api.mjs.map +0 -1
  900. package/dist/esm/node_modules/zod/v4/core/checks.mjs +0 -226
  901. package/dist/esm/node_modules/zod/v4/core/checks.mjs.map +0 -1
  902. package/dist/esm/node_modules/zod/v4/core/core.mjs +0 -57
  903. package/dist/esm/node_modules/zod/v4/core/core.mjs.map +0 -1
  904. package/dist/esm/node_modules/zod/v4/core/doc.mjs +0 -34
  905. package/dist/esm/node_modules/zod/v4/core/doc.mjs.map +0 -1
  906. package/dist/esm/node_modules/zod/v4/core/errors.mjs +0 -63
  907. package/dist/esm/node_modules/zod/v4/core/errors.mjs.map +0 -1
  908. package/dist/esm/node_modules/zod/v4/core/parse.mjs +0 -110
  909. package/dist/esm/node_modules/zod/v4/core/parse.mjs.map +0 -1
  910. package/dist/esm/node_modules/zod/v4/core/regexes.mjs +0 -60
  911. package/dist/esm/node_modules/zod/v4/core/regexes.mjs.map +0 -1
  912. package/dist/esm/node_modules/zod/v4/core/registries.mjs +0 -53
  913. package/dist/esm/node_modules/zod/v4/core/registries.mjs.map +0 -1
  914. package/dist/esm/node_modules/zod/v4/core/schemas.mjs +0 -1069
  915. package/dist/esm/node_modules/zod/v4/core/schemas.mjs.map +0 -1
  916. package/dist/esm/node_modules/zod/v4/core/util.mjs +0 -302
  917. package/dist/esm/node_modules/zod/v4/core/util.mjs.map +0 -1
  918. package/dist/esm/node_modules/zod/v4/core/versions.mjs +0 -10
  919. package/dist/esm/node_modules/zod/v4/core/versions.mjs.map +0 -1
  920. package/dist/types/MagicLinkEmail.d.ts +0 -8
  921. package/dist/types/MagicLinkEmail.d.ts.map +0 -1
  922. package/dist/types/controllers/audit.controller.d.ts +0 -32
  923. package/dist/types/controllers/audit.controller.d.ts.map +0 -1
  924. package/dist/types/models/audit.model.d.ts +0 -5
  925. package/dist/types/models/audit.model.d.ts.map +0 -1
@@ -87,7 +87,7 @@ const projectSchema = new Schema({
87
87
  virtuals: true,
88
88
  versionKey: false,
89
89
  transform(_doc, ret) {
90
- const { _id,...rest } = ret;
90
+ const { _id, ...rest } = ret;
91
91
  return {
92
92
  ...rest,
93
93
  id: _id.toString()
@@ -97,7 +97,7 @@ const projectSchema = new Schema({
97
97
  toObject: {
98
98
  virtuals: true,
99
99
  transform(_doc, ret) {
100
- const { _id,...rest } = ret;
100
+ const { _id, ...rest } = ret;
101
101
  return {
102
102
  ...rest,
103
103
  id: _id
@@ -1 +1 @@
1
- {"version":3,"file":"project.schema.mjs","names":[],"sources":["../../../src/schemas/project.schema.ts"],"sourcesContent":["import { Locales } from '@intlayer/types';\nimport type { RenameId } from '@utils/mongoDB/types';\nimport {\n MEMBERS_MIN_LENGTH,\n NAME_MAX_LENGTH,\n NAME_MIN_LENGTH,\n} from '@utils/validation/validateProject';\nimport { Schema } from 'mongoose';\nimport type {\n OAuth2Access,\n Project,\n ProjectSchema,\n} from '@/types/project.types';\n\n// Define the oAuth2Access subdocument schema with timestamps\nconst oAuth2AccessSchema = new Schema<RenameId<OAuth2Access>>(\n {\n clientId: { type: String, required: true },\n clientSecret: { type: String, required: true },\n userId: { type: Schema.Types.ObjectId, ref: 'User', required: true },\n name: { type: String, required: true },\n expiresAt: { type: Date },\n accessToken: { type: [String], required: true, default: [] },\n grants: { type: [String], required: true, default: [] },\n },\n {\n timestamps: true,\n }\n);\n\nconst projectConfigSchema = new Schema<Project['configuration']>(\n {\n internationalization: {\n locales: {\n type: [String],\n enum: Object.values(Locales.ALL_LOCALES),\n required: true,\n },\n defaultLocale: {\n type: String,\n enum: Object.values(Locales.ALL_LOCALES),\n },\n },\n editor: {\n applicationURL: {\n type: String,\n },\n cmsURL: {\n type: String,\n },\n },\n },\n {\n _id: false, // Prevents the generation of an _id field for this subdocument\n }\n);\n\nexport const projectSchema = new Schema<ProjectSchema>(\n {\n organizationId: {\n type: Schema.Types.ObjectId,\n ref: 'Organization',\n required: true,\n },\n name: {\n type: String,\n required: true,\n minlength: NAME_MIN_LENGTH,\n maxlength: NAME_MAX_LENGTH,\n },\n configuration: projectConfigSchema,\n oAuth2Access: [oAuth2AccessSchema],\n membersIds: {\n type: [Schema.Types.ObjectId],\n ref: 'User',\n required: true,\n minlength: MEMBERS_MIN_LENGTH,\n },\n adminsIds: {\n type: [Schema.Types.ObjectId],\n ref: 'User',\n required: true,\n minlength: MEMBERS_MIN_LENGTH,\n },\n creatorId: {\n type: Schema.Types.ObjectId,\n ref: 'User',\n required: true,\n },\n },\n {\n timestamps: true,\n\n toJSON: {\n virtuals: true, // keep the automatic `id` getter\n versionKey: false, // drop __v\n transform(_doc, ret: any) {\n const { _id, ...rest } = ret;\n return {\n ...rest,\n id: _id.toString(),\n };\n },\n },\n toObject: {\n virtuals: true,\n transform(_doc, ret: any) {\n const { _id, ...rest } = ret;\n return {\n ...rest,\n id: _id,\n };\n },\n },\n }\n);\n"],"mappings":";;;;;AAeA,MAAM,qBAAqB,IAAI,OAC7B;CACE,UAAU;EAAE,MAAM;EAAQ,UAAU;EAAM;CAC1C,cAAc;EAAE,MAAM;EAAQ,UAAU;EAAM;CAC9C,QAAQ;EAAE,MAAM,OAAO,MAAM;EAAU,KAAK;EAAQ,UAAU;EAAM;CACpE,MAAM;EAAE,MAAM;EAAQ,UAAU;EAAM;CACtC,WAAW,EAAE,MAAM,MAAM;CACzB,aAAa;EAAE,MAAM,CAAC,OAAO;EAAE,UAAU;EAAM,SAAS,EAAE;EAAE;CAC5D,QAAQ;EAAE,MAAM,CAAC,OAAO;EAAE,UAAU;EAAM,SAAS,EAAE;EAAE;CACxD,EACD,EACE,YAAY,MACb,CACF;AAED,MAAM,sBAAsB,IAAI,OAC9B;CACE,sBAAsB;EACpB,SAAS;GACP,MAAM,CAAC,OAAO;GACd,MAAM,OAAO,OAAO,QAAQ,YAAY;GACxC,UAAU;GACX;EACD,eAAe;GACb,MAAM;GACN,MAAM,OAAO,OAAO,QAAQ,YAAY;GACzC;EACF;CACD,QAAQ;EACN,gBAAgB,EACd,MAAM,QACP;EACD,QAAQ,EACN,MAAM,QACP;EACF;CACF,EACD,EACE,KAAK,OACN,CACF;AAED,MAAa,gBAAgB,IAAI,OAC/B;CACE,gBAAgB;EACd,MAAM,OAAO,MAAM;EACnB,KAAK;EACL,UAAU;EACX;CACD,MAAM;EACJ,MAAM;EACN,UAAU;EACV,WAAW;EACX,WAAW;EACZ;CACD,eAAe;CACf,cAAc,CAAC,mBAAmB;CAClC,YAAY;EACV,MAAM,CAAC,OAAO,MAAM,SAAS;EAC7B,KAAK;EACL,UAAU;EACV,WAAW;EACZ;CACD,WAAW;EACT,MAAM,CAAC,OAAO,MAAM,SAAS;EAC7B,KAAK;EACL,UAAU;EACV,WAAW;EACZ;CACD,WAAW;EACT,MAAM,OAAO,MAAM;EACnB,KAAK;EACL,UAAU;EACX;CACF,EACD;CACE,YAAY;CAEZ,QAAQ;EACN,UAAU;EACV,YAAY;EACZ,UAAU,MAAM,KAAU;GACxB,MAAM,EAAE,IAAK,GAAG,SAAS;AACzB,UAAO;IACL,GAAG;IACH,IAAI,IAAI,UAAU;IACnB;;EAEJ;CACD,UAAU;EACR,UAAU;EACV,UAAU,MAAM,KAAU;GACxB,MAAM,EAAE,IAAK,GAAG,SAAS;AACzB,UAAO;IACL,GAAG;IACH,IAAI;IACL;;EAEJ;CACF,CACF"}
1
+ {"version":3,"file":"project.schema.mjs","names":[],"sources":["../../../src/schemas/project.schema.ts"],"sourcesContent":["import { Locales } from '@intlayer/types';\nimport type { RenameId } from '@utils/mongoDB/types';\nimport {\n MEMBERS_MIN_LENGTH,\n NAME_MAX_LENGTH,\n NAME_MIN_LENGTH,\n} from '@utils/validation/validateProject';\nimport { Schema } from 'mongoose';\nimport type {\n OAuth2Access,\n Project,\n ProjectSchema,\n} from '@/types/project.types';\n\n// Define the oAuth2Access subdocument schema with timestamps\nconst oAuth2AccessSchema = new Schema<RenameId<OAuth2Access>>(\n {\n clientId: { type: String, required: true },\n clientSecret: { type: String, required: true },\n userId: { type: Schema.Types.ObjectId, ref: 'User', required: true },\n name: { type: String, required: true },\n expiresAt: { type: Date },\n accessToken: { type: [String], required: true, default: [] },\n grants: { type: [String], required: true, default: [] },\n },\n {\n timestamps: true,\n }\n);\n\nconst projectConfigSchema = new Schema<Project['configuration']>(\n {\n internationalization: {\n locales: {\n type: [String],\n enum: Object.values(Locales.ALL_LOCALES),\n required: true,\n },\n defaultLocale: {\n type: String,\n enum: Object.values(Locales.ALL_LOCALES),\n },\n },\n editor: {\n applicationURL: {\n type: String,\n },\n cmsURL: {\n type: String,\n },\n },\n },\n {\n _id: false, // Prevents the generation of an _id field for this subdocument\n }\n);\n\nexport const projectSchema = new Schema<ProjectSchema>(\n {\n organizationId: {\n type: Schema.Types.ObjectId,\n ref: 'Organization',\n required: true,\n },\n name: {\n type: String,\n required: true,\n minlength: NAME_MIN_LENGTH,\n maxlength: NAME_MAX_LENGTH,\n },\n configuration: projectConfigSchema,\n oAuth2Access: [oAuth2AccessSchema],\n membersIds: {\n type: [Schema.Types.ObjectId],\n ref: 'User',\n required: true,\n minlength: MEMBERS_MIN_LENGTH,\n },\n adminsIds: {\n type: [Schema.Types.ObjectId],\n ref: 'User',\n required: true,\n minlength: MEMBERS_MIN_LENGTH,\n },\n creatorId: {\n type: Schema.Types.ObjectId,\n ref: 'User',\n required: true,\n },\n },\n {\n timestamps: true,\n\n toJSON: {\n virtuals: true, // keep the automatic `id` getter\n versionKey: false, // drop __v\n transform(_doc, ret: any) {\n const { _id, ...rest } = ret;\n return {\n ...rest,\n id: _id.toString(),\n };\n },\n },\n toObject: {\n virtuals: true,\n transform(_doc, ret: any) {\n const { _id, ...rest } = ret;\n return {\n ...rest,\n id: _id,\n };\n },\n },\n }\n);\n"],"mappings":";;;;;AAeA,MAAM,qBAAqB,IAAI,OAC7B;CACE,UAAU;EAAE,MAAM;EAAQ,UAAU;EAAM;CAC1C,cAAc;EAAE,MAAM;EAAQ,UAAU;EAAM;CAC9C,QAAQ;EAAE,MAAM,OAAO,MAAM;EAAU,KAAK;EAAQ,UAAU;EAAM;CACpE,MAAM;EAAE,MAAM;EAAQ,UAAU;EAAM;CACtC,WAAW,EAAE,MAAM,MAAM;CACzB,aAAa;EAAE,MAAM,CAAC,OAAO;EAAE,UAAU;EAAM,SAAS,EAAE;EAAE;CAC5D,QAAQ;EAAE,MAAM,CAAC,OAAO;EAAE,UAAU;EAAM,SAAS,EAAE;EAAE;CACxD,EACD,EACE,YAAY,MACb,CACF;AAED,MAAM,sBAAsB,IAAI,OAC9B;CACE,sBAAsB;EACpB,SAAS;GACP,MAAM,CAAC,OAAO;GACd,MAAM,OAAO,OAAO,QAAQ,YAAY;GACxC,UAAU;GACX;EACD,eAAe;GACb,MAAM;GACN,MAAM,OAAO,OAAO,QAAQ,YAAY;GACzC;EACF;CACD,QAAQ;EACN,gBAAgB,EACd,MAAM,QACP;EACD,QAAQ,EACN,MAAM,QACP;EACF;CACF,EACD,EACE,KAAK,OACN,CACF;AAED,MAAa,gBAAgB,IAAI,OAC/B;CACE,gBAAgB;EACd,MAAM,OAAO,MAAM;EACnB,KAAK;EACL,UAAU;EACX;CACD,MAAM;EACJ,MAAM;EACN,UAAU;EACV,WAAW;EACX,WAAW;EACZ;CACD,eAAe;CACf,cAAc,CAAC,mBAAmB;CAClC,YAAY;EACV,MAAM,CAAC,OAAO,MAAM,SAAS;EAC7B,KAAK;EACL,UAAU;EACV,WAAW;EACZ;CACD,WAAW;EACT,MAAM,CAAC,OAAO,MAAM,SAAS;EAC7B,KAAK;EACL,UAAU;EACV,WAAW;EACZ;CACD,WAAW;EACT,MAAM,OAAO,MAAM;EACnB,KAAK;EACL,UAAU;EACX;CACF,EACD;CACE,YAAY;CAEZ,QAAQ;EACN,UAAU;EACV,YAAY;EACZ,UAAU,MAAM,KAAU;GACxB,MAAM,EAAE,KAAK,GAAG,SAAS;AACzB,UAAO;IACL,GAAG;IACH,IAAI,IAAI,UAAU;IACnB;;EAEJ;CACD,UAAU;EACR,UAAU;EACV,UAAU,MAAM,KAAU;GACxB,MAAM,EAAE,KAAK,GAAG,SAAS;AACzB,UAAO;IACL,GAAG;IACH,IAAI;IACL;;EAEJ;CACF,CACF"}
@@ -18,7 +18,7 @@ const sessionSchema = new Schema({
18
18
  virtuals: true,
19
19
  versionKey: false,
20
20
  transform(_doc, ret) {
21
- const { _id,...rest } = ret;
21
+ const { _id, ...rest } = ret;
22
22
  return {
23
23
  ...rest,
24
24
  id: _id.toString()
@@ -28,7 +28,7 @@ const sessionSchema = new Schema({
28
28
  toObject: {
29
29
  virtuals: true,
30
30
  transform(_doc, ret) {
31
- const { _id,...rest } = ret;
31
+ const { _id, ...rest } = ret;
32
32
  return {
33
33
  ...rest,
34
34
  id: _id
@@ -1 +1 @@
1
- {"version":3,"file":"session.schema.mjs","names":[],"sources":["../../../src/schemas/session.schema.ts"],"sourcesContent":["import { Schema } from 'mongoose';\nimport type { SessionSchema } from '@/types/session.types';\n\nexport const sessionSchema = new Schema<SessionSchema>(\n {\n activeOrganizationId: {\n type: Schema.Types.ObjectId,\n ref: 'Organization',\n required: false,\n },\n activeProjectId: {\n type: Schema.Types.ObjectId,\n ref: 'Project',\n required: false,\n },\n },\n {\n timestamps: true,\n\n toJSON: {\n virtuals: true, // keep the automatic `id` getter\n versionKey: false, // drop __v\n transform(_doc, ret: any) {\n const { _id, ...rest } = ret;\n return {\n ...rest,\n id: _id.toString(),\n };\n },\n },\n toObject: {\n virtuals: true,\n transform(_doc, ret: any) {\n const { _id, ...rest } = ret;\n return {\n ...rest,\n id: _id,\n };\n },\n },\n }\n);\n"],"mappings":";;;AAGA,MAAa,gBAAgB,IAAI,OAC/B;CACE,sBAAsB;EACpB,MAAM,OAAO,MAAM;EACnB,KAAK;EACL,UAAU;EACX;CACD,iBAAiB;EACf,MAAM,OAAO,MAAM;EACnB,KAAK;EACL,UAAU;EACX;CACF,EACD;CACE,YAAY;CAEZ,QAAQ;EACN,UAAU;EACV,YAAY;EACZ,UAAU,MAAM,KAAU;GACxB,MAAM,EAAE,IAAK,GAAG,SAAS;AACzB,UAAO;IACL,GAAG;IACH,IAAI,IAAI,UAAU;IACnB;;EAEJ;CACD,UAAU;EACR,UAAU;EACV,UAAU,MAAM,KAAU;GACxB,MAAM,EAAE,IAAK,GAAG,SAAS;AACzB,UAAO;IACL,GAAG;IACH,IAAI;IACL;;EAEJ;CACF,CACF"}
1
+ {"version":3,"file":"session.schema.mjs","names":[],"sources":["../../../src/schemas/session.schema.ts"],"sourcesContent":["import { Schema } from 'mongoose';\nimport type { SessionSchema } from '@/types/session.types';\n\nexport const sessionSchema = new Schema<SessionSchema>(\n {\n activeOrganizationId: {\n type: Schema.Types.ObjectId,\n ref: 'Organization',\n required: false,\n },\n activeProjectId: {\n type: Schema.Types.ObjectId,\n ref: 'Project',\n required: false,\n },\n },\n {\n timestamps: true,\n\n toJSON: {\n virtuals: true, // keep the automatic `id` getter\n versionKey: false, // drop __v\n transform(_doc, ret: any) {\n const { _id, ...rest } = ret;\n return {\n ...rest,\n id: _id.toString(),\n };\n },\n },\n toObject: {\n virtuals: true,\n transform(_doc, ret: any) {\n const { _id, ...rest } = ret;\n return {\n ...rest,\n id: _id,\n };\n },\n },\n }\n);\n"],"mappings":";;;AAGA,MAAa,gBAAgB,IAAI,OAC/B;CACE,sBAAsB;EACpB,MAAM,OAAO,MAAM;EACnB,KAAK;EACL,UAAU;EACX;CACD,iBAAiB;EACf,MAAM,OAAO,MAAM;EACnB,KAAK;EACL,UAAU;EACX;CACF,EACD;CACE,YAAY;CAEZ,QAAQ;EACN,UAAU;EACV,YAAY;EACZ,UAAU,MAAM,KAAU;GACxB,MAAM,EAAE,KAAK,GAAG,SAAS;AACzB,UAAO;IACL,GAAG;IACH,IAAI,IAAI,UAAU;IACnB;;EAEJ;CACD,UAAU;EACR,UAAU;EACV,UAAU,MAAM,KAAU;GACxB,MAAM,EAAE,KAAK,GAAG,SAAS;AACzB,UAAO;IACL,GAAG;IACH,IAAI;IACL;;EAEJ;CACF,CACF"}
@@ -37,7 +37,7 @@ const tagSchema = new Schema({
37
37
  virtuals: true,
38
38
  versionKey: false,
39
39
  transform(_doc, ret) {
40
- const { _id,...rest } = ret;
40
+ const { _id, ...rest } = ret;
41
41
  return {
42
42
  ...rest,
43
43
  id: _id.toString()
@@ -47,7 +47,7 @@ const tagSchema = new Schema({
47
47
  toObject: {
48
48
  virtuals: true,
49
49
  transform(_doc, ret) {
50
- const { _id,...rest } = ret;
50
+ const { _id, ...rest } = ret;
51
51
  return {
52
52
  ...rest,
53
53
  id: _id
@@ -1 +1 @@
1
- {"version":3,"file":"tag.schema.mjs","names":[],"sources":["../../../src/schemas/tag.schema.ts"],"sourcesContent":["import {\n KEY_MAX_LENGTH,\n KEY_MIN_LENGTH,\n NAME_MAX_LENGTH,\n NAME_MIN_LENGTH,\n} from '@utils/validation/validateTag';\nimport { Schema } from 'mongoose';\nimport type { TagSchema } from '@/types/tag.types';\n\nexport const tagSchema = new Schema<TagSchema>(\n {\n organizationId: {\n type: Schema.Types.ObjectId,\n ref: 'Organization',\n required: true,\n },\n projectId: {\n type: Schema.Types.ObjectId,\n ref: 'Project',\n required: true,\n },\n key: {\n type: String,\n required: true,\n minlength: KEY_MIN_LENGTH,\n maxlength: KEY_MAX_LENGTH,\n },\n name: {\n type: String,\n minlength: NAME_MIN_LENGTH,\n maxlength: NAME_MAX_LENGTH,\n },\n description: {\n type: String,\n },\n instructions: {\n type: String,\n },\n creatorId: {\n type: Schema.Types.ObjectId,\n ref: 'User',\n required: true,\n },\n },\n {\n timestamps: true,\n\n toJSON: {\n virtuals: true, // keep the automatic `id` getter\n versionKey: false, // drop __v\n transform(_doc, ret: any) {\n const { _id, ...rest } = ret;\n return {\n ...rest,\n id: _id.toString(),\n };\n },\n },\n toObject: {\n virtuals: true,\n transform(_doc, ret: any) {\n const { _id, ...rest } = ret;\n return {\n ...rest,\n id: _id,\n };\n },\n },\n }\n);\n"],"mappings":";;;;AASA,MAAa,YAAY,IAAI,OAC3B;CACE,gBAAgB;EACd,MAAM,OAAO,MAAM;EACnB,KAAK;EACL,UAAU;EACX;CACD,WAAW;EACT,MAAM,OAAO,MAAM;EACnB,KAAK;EACL,UAAU;EACX;CACD,KAAK;EACH,MAAM;EACN,UAAU;EACV,WAAW;EACX,WAAW;EACZ;CACD,MAAM;EACJ,MAAM;EACN,WAAW;EACX,WAAW;EACZ;CACD,aAAa,EACX,MAAM,QACP;CACD,cAAc,EACZ,MAAM,QACP;CACD,WAAW;EACT,MAAM,OAAO,MAAM;EACnB,KAAK;EACL,UAAU;EACX;CACF,EACD;CACE,YAAY;CAEZ,QAAQ;EACN,UAAU;EACV,YAAY;EACZ,UAAU,MAAM,KAAU;GACxB,MAAM,EAAE,IAAK,GAAG,SAAS;AACzB,UAAO;IACL,GAAG;IACH,IAAI,IAAI,UAAU;IACnB;;EAEJ;CACD,UAAU;EACR,UAAU;EACV,UAAU,MAAM,KAAU;GACxB,MAAM,EAAE,IAAK,GAAG,SAAS;AACzB,UAAO;IACL,GAAG;IACH,IAAI;IACL;;EAEJ;CACF,CACF"}
1
+ {"version":3,"file":"tag.schema.mjs","names":[],"sources":["../../../src/schemas/tag.schema.ts"],"sourcesContent":["import {\n KEY_MAX_LENGTH,\n KEY_MIN_LENGTH,\n NAME_MAX_LENGTH,\n NAME_MIN_LENGTH,\n} from '@utils/validation/validateTag';\nimport { Schema } from 'mongoose';\nimport type { TagSchema } from '@/types/tag.types';\n\nexport const tagSchema = new Schema<TagSchema>(\n {\n organizationId: {\n type: Schema.Types.ObjectId,\n ref: 'Organization',\n required: true,\n },\n projectId: {\n type: Schema.Types.ObjectId,\n ref: 'Project',\n required: true,\n },\n key: {\n type: String,\n required: true,\n minlength: KEY_MIN_LENGTH,\n maxlength: KEY_MAX_LENGTH,\n },\n name: {\n type: String,\n minlength: NAME_MIN_LENGTH,\n maxlength: NAME_MAX_LENGTH,\n },\n description: {\n type: String,\n },\n instructions: {\n type: String,\n },\n creatorId: {\n type: Schema.Types.ObjectId,\n ref: 'User',\n required: true,\n },\n },\n {\n timestamps: true,\n\n toJSON: {\n virtuals: true, // keep the automatic `id` getter\n versionKey: false, // drop __v\n transform(_doc, ret: any) {\n const { _id, ...rest } = ret;\n return {\n ...rest,\n id: _id.toString(),\n };\n },\n },\n toObject: {\n virtuals: true,\n transform(_doc, ret: any) {\n const { _id, ...rest } = ret;\n return {\n ...rest,\n id: _id,\n };\n },\n },\n }\n);\n"],"mappings":";;;;AASA,MAAa,YAAY,IAAI,OAC3B;CACE,gBAAgB;EACd,MAAM,OAAO,MAAM;EACnB,KAAK;EACL,UAAU;EACX;CACD,WAAW;EACT,MAAM,OAAO,MAAM;EACnB,KAAK;EACL,UAAU;EACX;CACD,KAAK;EACH,MAAM;EACN,UAAU;EACV,WAAW;EACX,WAAW;EACZ;CACD,MAAM;EACJ,MAAM;EACN,WAAW;EACX,WAAW;EACZ;CACD,aAAa,EACX,MAAM,QACP;CACD,cAAc,EACZ,MAAM,QACP;CACD,WAAW;EACT,MAAM,OAAO,MAAM;EACnB,KAAK;EACL,UAAU;EACX;CACF,EACD;CACE,YAAY;CAEZ,QAAQ;EACN,UAAU;EACV,YAAY;EACZ,UAAU,MAAM,KAAU;GACxB,MAAM,EAAE,KAAK,GAAG,SAAS;AACzB,UAAO;IACL,GAAG;IACH,IAAI,IAAI,UAAU;IACnB;;EAEJ;CACD,UAAU;EACR,UAAU;EACV,UAAU,MAAM,KAAU;GACxB,MAAM,EAAE,KAAK,GAAG,SAAS;AACzB,UAAO;IACL,GAAG;IACH,IAAI;IACL;;EAEJ;CACF,CACF"}
@@ -61,7 +61,7 @@ const userSchema = new Schema({
61
61
  virtuals: true,
62
62
  versionKey: false,
63
63
  transform(_doc, ret) {
64
- const { _id,...rest } = ret;
64
+ const { _id, ...rest } = ret;
65
65
  return {
66
66
  ...rest,
67
67
  id: _id.toString()
@@ -71,7 +71,7 @@ const userSchema = new Schema({
71
71
  toObject: {
72
72
  virtuals: true,
73
73
  transform(_doc, ret) {
74
- const { _id,...rest } = ret;
74
+ const { _id, ...rest } = ret;
75
75
  return {
76
76
  ...rest,
77
77
  id: _id
@@ -1 +1 @@
1
- {"version":3,"file":"user.schema.mjs","names":[],"sources":["../../../src/schemas/user.schema.ts"],"sourcesContent":["import {\n NAMES_MAX_LENGTH,\n NAMES_MIN_LENGTH,\n} from '@utils/validation/validateUser';\nimport { Schema } from 'mongoose';\nimport validator from 'validator';\nimport type { UserSchema } from '@/types/user.types';\n\nexport const userSchema = new Schema<UserSchema>(\n {\n email: {\n type: String,\n required: true,\n unique: true,\n validate: [validator.isEmail, 'Please fill a valid email address'],\n lowercase: true,\n trim: true,\n },\n name: {\n type: String,\n maxlength: NAMES_MAX_LENGTH,\n minlength: NAMES_MIN_LENGTH,\n },\n phone: {\n type: String,\n maxlength: 20,\n },\n\n customerId: {\n type: String,\n required: false,\n },\n\n emailsList: {\n type: {\n newsLetter: {\n type: Boolean,\n default: false,\n },\n },\n required: false,\n },\n role: {\n type: String,\n enum: ['admin', 'user'],\n default: 'user',\n required: false,\n },\n lastLoginMethod: {\n type: String,\n enum: ['email', 'google', 'github'],\n required: false,\n },\n lang: {\n type: String,\n required: false,\n },\n dateOfBirth: {\n type: Date,\n required: false,\n },\n },\n {\n timestamps: true,\n\n toJSON: {\n virtuals: true, // keep the automatic `id` getter\n versionKey: false, // drop __v\n transform(_doc, ret: any) {\n const { _id, ...rest } = ret;\n return {\n ...rest,\n id: _id.toString(),\n };\n },\n },\n toObject: {\n virtuals: true,\n transform(_doc, ret: any) {\n const { _id, ...rest } = ret;\n return {\n ...rest,\n id: _id,\n };\n },\n },\n }\n);\n"],"mappings":";;;;;AAQA,MAAa,aAAa,IAAI,OAC5B;CACE,OAAO;EACL,MAAM;EACN,UAAU;EACV,QAAQ;EACR,UAAU,CAAC,UAAU,SAAS,oCAAoC;EAClE,WAAW;EACX,MAAM;EACP;CACD,MAAM;EACJ,MAAM;EACN,WAAW;EACX,WAAW;EACZ;CACD,OAAO;EACL,MAAM;EACN,WAAW;EACZ;CAED,YAAY;EACV,MAAM;EACN,UAAU;EACX;CAED,YAAY;EACV,MAAM,EACJ,YAAY;GACV,MAAM;GACN,SAAS;GACV,EACF;EACD,UAAU;EACX;CACD,MAAM;EACJ,MAAM;EACN,MAAM,CAAC,SAAS,OAAO;EACvB,SAAS;EACT,UAAU;EACX;CACD,iBAAiB;EACf,MAAM;EACN,MAAM;GAAC;GAAS;GAAU;GAAS;EACnC,UAAU;EACX;CACD,MAAM;EACJ,MAAM;EACN,UAAU;EACX;CACD,aAAa;EACX,MAAM;EACN,UAAU;EACX;CACF,EACD;CACE,YAAY;CAEZ,QAAQ;EACN,UAAU;EACV,YAAY;EACZ,UAAU,MAAM,KAAU;GACxB,MAAM,EAAE,IAAK,GAAG,SAAS;AACzB,UAAO;IACL,GAAG;IACH,IAAI,IAAI,UAAU;IACnB;;EAEJ;CACD,UAAU;EACR,UAAU;EACV,UAAU,MAAM,KAAU;GACxB,MAAM,EAAE,IAAK,GAAG,SAAS;AACzB,UAAO;IACL,GAAG;IACH,IAAI;IACL;;EAEJ;CACF,CACF"}
1
+ {"version":3,"file":"user.schema.mjs","names":[],"sources":["../../../src/schemas/user.schema.ts"],"sourcesContent":["import {\n NAMES_MAX_LENGTH,\n NAMES_MIN_LENGTH,\n} from '@utils/validation/validateUser';\nimport { Schema } from 'mongoose';\nimport validator from 'validator';\nimport type { UserSchema } from '@/types/user.types';\n\nexport const userSchema = new Schema<UserSchema>(\n {\n email: {\n type: String,\n required: true,\n unique: true,\n validate: [validator.isEmail, 'Please fill a valid email address'],\n lowercase: true,\n trim: true,\n },\n name: {\n type: String,\n maxlength: NAMES_MAX_LENGTH,\n minlength: NAMES_MIN_LENGTH,\n },\n phone: {\n type: String,\n maxlength: 20,\n },\n\n customerId: {\n type: String,\n required: false,\n },\n\n emailsList: {\n type: {\n newsLetter: {\n type: Boolean,\n default: false,\n },\n },\n required: false,\n },\n role: {\n type: String,\n enum: ['admin', 'user'],\n default: 'user',\n required: false,\n },\n lastLoginMethod: {\n type: String,\n enum: ['email', 'google', 'github'],\n required: false,\n },\n lang: {\n type: String,\n required: false,\n },\n dateOfBirth: {\n type: Date,\n required: false,\n },\n },\n {\n timestamps: true,\n\n toJSON: {\n virtuals: true, // keep the automatic `id` getter\n versionKey: false, // drop __v\n transform(_doc, ret: any) {\n const { _id, ...rest } = ret;\n return {\n ...rest,\n id: _id.toString(),\n };\n },\n },\n toObject: {\n virtuals: true,\n transform(_doc, ret: any) {\n const { _id, ...rest } = ret;\n return {\n ...rest,\n id: _id,\n };\n },\n },\n }\n);\n"],"mappings":";;;;;AAQA,MAAa,aAAa,IAAI,OAC5B;CACE,OAAO;EACL,MAAM;EACN,UAAU;EACV,QAAQ;EACR,UAAU,CAAC,UAAU,SAAS,oCAAoC;EAClE,WAAW;EACX,MAAM;EACP;CACD,MAAM;EACJ,MAAM;EACN,WAAW;EACX,WAAW;EACZ;CACD,OAAO;EACL,MAAM;EACN,WAAW;EACZ;CAED,YAAY;EACV,MAAM;EACN,UAAU;EACX;CAED,YAAY;EACV,MAAM,EACJ,YAAY;GACV,MAAM;GACN,SAAS;GACV,EACF;EACD,UAAU;EACX;CACD,MAAM;EACJ,MAAM;EACN,MAAM,CAAC,SAAS,OAAO;EACvB,SAAS;EACT,UAAU;EACX;CACD,iBAAiB;EACf,MAAM;EACN,MAAM;GAAC;GAAS;GAAU;GAAS;EACnC,UAAU;EACX;CACD,MAAM;EACJ,MAAM;EACN,UAAU;EACX;CACD,aAAa;EACX,MAAM;EACN,UAAU;EACX;CACF,EACD;CACE,YAAY;CAEZ,QAAQ;EACN,UAAU;EACV,YAAY;EACZ,UAAU,MAAM,KAAU;GACxB,MAAM,EAAE,KAAK,GAAG,SAAS;AACzB,UAAO;IACL,GAAG;IACH,IAAI,IAAI,UAAU;IACnB;;EAEJ;CACD,UAAU;EACR,UAAU;EACV,UAAU,MAAM,KAAU;GACxB,MAAM,EAAE,KAAK,GAAG,SAAS;AACzB,UAAO;IACL,GAAG;IACH,IAAI;IACL;;EAEJ;CACF,CACF"}
@@ -136,7 +136,7 @@ const getEmailComponents = (locale) => ({
136
136
  })
137
137
  }
138
138
  });
139
- const sendEmail = async ({ type, to, subject, locale,...props }) => {
139
+ const sendEmail = async ({ type, to, subject, locale, ...props }) => {
140
140
  const resend = new Resend(process.env.RESEND_API_KEY);
141
141
  const { template, subject: baseSubject } = getEmailComponents(locale)[type];
142
142
  const react = /* @__PURE__ */ jsx(template, { ...props });
@@ -1 +1 @@
1
- {"version":3,"file":"email.service.mjs","names":[],"sources":["../../../src/services/email.service.tsx"],"sourcesContent":["import {\n InviteUserEmailEN,\n InviteUserEmailES,\n InviteUserEmailFR,\n} from '@emails/InviteUserEmail';\nimport {\n MagicLinkEmailEN,\n MagicLinkEmailES,\n MagicLinkEmailFR,\n} from '@emails/MagicLinkEmail';\nimport {\n OAuthTokenCreatedEmailEN,\n OAuthTokenCreatedEmailES,\n OAuthTokenCreatedEmailFR,\n} from '@emails/OAuthTokenCreatedEmail';\nimport {\n PasswordChangeConfirmationEmailEN,\n PasswordChangeConfirmationEmailES,\n PasswordChangeConfirmationEmailFR,\n} from '@emails/PasswordChangeConfirmation';\nimport {\n ResetPasswordEmailEN,\n ResetPasswordEmailES,\n ResetPasswordEmailFR,\n} from '@emails/ResetUserPassword';\n\nimport {\n SubscriptionPaymentCancellationEN,\n SubscriptionPaymentCancellationES,\n SubscriptionPaymentCancellationFR,\n} from '@emails/SubscriptionPaymentCancellation';\nimport {\n SubscriptionPaymentErrorEN,\n SubscriptionPaymentErrorES,\n SubscriptionPaymentErrorFR,\n} from '@emails/SubscriptionPaymentError';\nimport {\n SubscriptionPaymentSuccessEN,\n SubscriptionPaymentSuccessES,\n SubscriptionPaymentSuccessFR,\n} from '@emails/SubscriptionPaymentSuccess';\nimport {\n ValidateUserEmailEN,\n ValidateUserEmailES,\n ValidateUserEmailFR,\n} from '@emails/ValidateUserEmail';\nimport {\n WelcomeEmailEN,\n WelcomeEmailES,\n WelcomeEmailFR,\n} from '@emails/Welcome';\nimport type { Locale } from '@intlayer/types';\nimport { logger } from '@logger';\nimport { t } from 'express-intlayer';\nimport type { ComponentProps, JSX } from 'react';\nimport { Resend } from 'resend';\n\ntype EmailComponentsType = (...props: any) => JSX.Element;\ntype EmailComponents = {\n [key: string]: {\n template: EmailComponentsType;\n subject: string;\n };\n};\n\nconst getEmailComponents = (locale?: Locale) =>\n ({\n invite: {\n template: t(\n {\n en: InviteUserEmailEN,\n fr: InviteUserEmailFR,\n es: InviteUserEmailES,\n },\n locale\n ),\n subject: t(\n {\n en: 'You have been invited to join Intlayer',\n fr: 'Vous êtes invité à rejoindre Intlayer',\n es: 'Has sido invitado a unirte a Intlayer',\n },\n locale\n ),\n },\n validate: {\n template: t(\n {\n en: ValidateUserEmailEN,\n fr: ValidateUserEmailFR,\n es: ValidateUserEmailES,\n },\n locale\n ),\n subject: t(\n {\n en: 'Validate your email for Intlayer',\n fr: 'Validez votre email pour Intlayer',\n es: 'Valida tu correo electrónico para Intlayer',\n },\n locale\n ),\n },\n resetPassword: {\n template: t(\n {\n en: ResetPasswordEmailEN,\n fr: ResetPasswordEmailFR,\n es: ResetPasswordEmailES,\n },\n locale\n ),\n subject: t(\n {\n en: 'Reset your password for Intlayer',\n fr: 'Réinitialisez votre mot de passe pour Intlayer',\n es: 'Restablece tu contraseña para Intlayer',\n },\n locale\n ),\n },\n welcome: {\n template: t(\n {\n en: WelcomeEmailEN,\n fr: WelcomeEmailFR,\n es: WelcomeEmailES,\n },\n locale\n ),\n subject: t(\n {\n en: 'Welcome to Intlayer!',\n fr: 'Bienvenue chez Intlayer!',\n es: '¡Bienvenido a Intlayer!',\n },\n locale\n ),\n },\n magicLink: {\n template: t(\n {\n en: MagicLinkEmailEN,\n fr: MagicLinkEmailFR,\n es: MagicLinkEmailES,\n },\n locale\n ),\n subject: t(\n {\n en: 'Sign in to Intlayer',\n fr: 'Connectez-vous à Intlayer',\n es: 'Inicia sesión en Intlayer',\n },\n locale\n ),\n },\n passwordChangeConfirmation: {\n template: t(\n {\n en: PasswordChangeConfirmationEmailEN,\n fr: PasswordChangeConfirmationEmailFR,\n es: PasswordChangeConfirmationEmailES,\n },\n locale\n ),\n subject: t(\n {\n en: 'Your Intlayer password has been changed',\n fr: 'Votre mot de passe Intlayer a été modifié',\n es: 'Tu contraseña de Intlayer ha sido cambiada',\n },\n locale\n ),\n },\n subscriptionPaymentSuccess: {\n template: t({\n en: SubscriptionPaymentSuccessEN,\n fr: SubscriptionPaymentSuccessFR,\n es: SubscriptionPaymentSuccessES,\n }),\n subject: t({\n en: 'Your payment for Intlayer subscription is confirmed',\n fr: \"Votre paiement pour l'abonnement Intlayer est confirmé\",\n es: 'Tu pago por la suscripción de Intlayer ha sido confirmado',\n }),\n },\n subscriptionPaymentCancellation: {\n template: t({\n en: SubscriptionPaymentCancellationEN,\n fr: SubscriptionPaymentCancellationFR,\n es: SubscriptionPaymentCancellationES,\n }),\n subject: t({\n en: 'Your Intlayer subscription has been canceled',\n fr: 'Votre abonnement Intlayer a été annulé',\n es: 'Tu suscripción de Intlayer ha sido cancelada',\n }),\n },\n subscriptionPaymentError: {\n template: t({\n en: SubscriptionPaymentErrorEN,\n fr: SubscriptionPaymentErrorFR,\n es: SubscriptionPaymentErrorES,\n }),\n subject: t({\n en: 'There was an issue with your Intlayer subscription payment',\n fr: \"Un problème est survenu avec votre paiement pour l'abonnement Intlayer\",\n es: 'Hubo un problema con el pago de tu suscripción de Intlayer',\n }),\n },\n oAuthTokenCreated: {\n template: t({\n en: OAuthTokenCreatedEmailEN,\n fr: OAuthTokenCreatedEmailFR,\n es: OAuthTokenCreatedEmailES,\n }),\n subject: t({\n en: 'A third-party OAuth application has been added to your Intlayer account',\n fr: 'Une application OAuth tierce a été ajoutée à votre compte Intlayer',\n es: 'Una aplicación OAuth de terceros ha sido añadida a tu cuenta de Intlayer',\n }),\n },\n }) satisfies EmailComponents;\n\ntype EmailType = keyof ReturnType<typeof getEmailComponents>;\n\nexport type SendEmailProps<T extends EmailType> = {\n type: T;\n to: string;\n subject?: string;\n locale?: Locale;\n} & ComponentProps<ReturnType<typeof getEmailComponents>[T]['template']>;\n\nexport const sendEmail = async <T extends EmailType>({\n type,\n to,\n subject,\n locale,\n ...props\n}: SendEmailProps<T>) => {\n const resend = new Resend(process.env.RESEND_API_KEY);\n\n const emailComponents = getEmailComponents(locale);\n\n const { template, subject: baseSubject } = emailComponents[type];\n\n type EmailComponentType = (typeof emailComponents)[T]['template'];\n\n const EmailComponent: EmailComponentType = template;\n\n const react = <EmailComponent {...(props as any)} />;\n\n await resend.emails\n .send({\n from: 'Intlayer <no-reply@intlayer.org>',\n to,\n subject: subject ?? baseSubject,\n react,\n })\n .catch((err) => logger.error(err));\n\n logger.info(`Email sent ${type} to ${to}`);\n};\n"],"mappings":";;;;;;;;;;;;;;;;AAiEA,MAAM,sBAAsB,YACzB;CACC,QAAQ;EACN,UAAU,EACR;GACE,IAAI;GACJ,IAAI;GACJ,IAAI;GACL,EACD,OACD;EACD,SAAS,EACP;GACE,IAAI;GACJ,IAAI;GACJ,IAAI;GACL,EACD,OACD;EACF;CACD,UAAU;EACR,UAAU,EACR;GACE,IAAI;GACJ,IAAI;GACJ,IAAI;GACL,EACD,OACD;EACD,SAAS,EACP;GACE,IAAI;GACJ,IAAI;GACJ,IAAI;GACL,EACD,OACD;EACF;CACD,eAAe;EACb,UAAU,EACR;GACE,IAAI;GACJ,IAAI;GACJ,IAAI;GACL,EACD,OACD;EACD,SAAS,EACP;GACE,IAAI;GACJ,IAAI;GACJ,IAAI;GACL,EACD,OACD;EACF;CACD,SAAS;EACP,UAAU,EACR;GACE,IAAI;GACJ,IAAI;GACJ,IAAI;GACL,EACD,OACD;EACD,SAAS,EACP;GACE,IAAI;GACJ,IAAI;GACJ,IAAI;GACL,EACD,OACD;EACF;CACD,WAAW;EACT,UAAU,EACR;GACE,IAAI;GACJ,IAAI;GACJ,IAAI;GACL,EACD,OACD;EACD,SAAS,EACP;GACE,IAAI;GACJ,IAAI;GACJ,IAAI;GACL,EACD,OACD;EACF;CACD,4BAA4B;EAC1B,UAAU,EACR;GACE,IAAI;GACJ,IAAI;GACJ,IAAI;GACL,EACD,OACD;EACD,SAAS,EACP;GACE,IAAI;GACJ,IAAI;GACJ,IAAI;GACL,EACD,OACD;EACF;CACD,4BAA4B;EAC1B,UAAU,EAAE;GACV,IAAI;GACJ,IAAI;GACJ,IAAI;GACL,CAAC;EACF,SAAS,EAAE;GACT,IAAI;GACJ,IAAI;GACJ,IAAI;GACL,CAAC;EACH;CACD,iCAAiC;EAC/B,UAAU,EAAE;GACV,IAAI;GACJ,IAAI;GACJ,IAAI;GACL,CAAC;EACF,SAAS,EAAE;GACT,IAAI;GACJ,IAAI;GACJ,IAAI;GACL,CAAC;EACH;CACD,0BAA0B;EACxB,UAAU,EAAE;GACV,IAAI;GACJ,IAAI;GACJ,IAAI;GACL,CAAC;EACF,SAAS,EAAE;GACT,IAAI;GACJ,IAAI;GACJ,IAAI;GACL,CAAC;EACH;CACD,mBAAmB;EACjB,UAAU,EAAE;GACV,IAAI;GACJ,IAAI;GACJ,IAAI;GACL,CAAC;EACF,SAAS,EAAE;GACT,IAAI;GACJ,IAAI;GACJ,IAAI;GACL,CAAC;EACH;CACF;AAWH,MAAa,YAAY,OAA4B,EACnD,MACA,IACA,SACA,OACA,GAAG,YACoB;CACvB,MAAM,SAAS,IAAI,OAAO,QAAQ,IAAI,eAAe;CAIrD,MAAM,EAAE,UAAU,SAAS,gBAFH,mBAAmB,OAAO,CAES;CAM3D,MAAM,QAAQ,oBAF6B,YAEb,GAAK,QAAiB;AAEpD,OAAM,OAAO,OACV,KAAK;EACJ,MAAM;EACN;EACA,SAAS,WAAW;EACpB;EACD,CAAC,CACD,OAAO,QAAQ,OAAO,MAAM,IAAI,CAAC;AAEpC,QAAO,KAAK,cAAc,KAAK,MAAM,KAAK"}
1
+ {"version":3,"file":"email.service.mjs","names":[],"sources":["../../../src/services/email.service.tsx"],"sourcesContent":["import {\n InviteUserEmailEN,\n InviteUserEmailES,\n InviteUserEmailFR,\n} from '@emails/InviteUserEmail';\nimport {\n MagicLinkEmailEN,\n MagicLinkEmailES,\n MagicLinkEmailFR,\n} from '@emails/MagicLinkEmail';\nimport {\n OAuthTokenCreatedEmailEN,\n OAuthTokenCreatedEmailES,\n OAuthTokenCreatedEmailFR,\n} from '@emails/OAuthTokenCreatedEmail';\nimport {\n PasswordChangeConfirmationEmailEN,\n PasswordChangeConfirmationEmailES,\n PasswordChangeConfirmationEmailFR,\n} from '@emails/PasswordChangeConfirmation';\nimport {\n ResetPasswordEmailEN,\n ResetPasswordEmailES,\n ResetPasswordEmailFR,\n} from '@emails/ResetUserPassword';\n\nimport {\n SubscriptionPaymentCancellationEN,\n SubscriptionPaymentCancellationES,\n SubscriptionPaymentCancellationFR,\n} from '@emails/SubscriptionPaymentCancellation';\nimport {\n SubscriptionPaymentErrorEN,\n SubscriptionPaymentErrorES,\n SubscriptionPaymentErrorFR,\n} from '@emails/SubscriptionPaymentError';\nimport {\n SubscriptionPaymentSuccessEN,\n SubscriptionPaymentSuccessES,\n SubscriptionPaymentSuccessFR,\n} from '@emails/SubscriptionPaymentSuccess';\nimport {\n ValidateUserEmailEN,\n ValidateUserEmailES,\n ValidateUserEmailFR,\n} from '@emails/ValidateUserEmail';\nimport {\n WelcomeEmailEN,\n WelcomeEmailES,\n WelcomeEmailFR,\n} from '@emails/Welcome';\nimport type { Locale } from '@intlayer/types';\nimport { logger } from '@logger';\nimport { t } from 'express-intlayer';\nimport type { ComponentProps, JSX } from 'react';\nimport { Resend } from 'resend';\n\ntype EmailComponentsType = (...props: any) => JSX.Element;\ntype EmailComponents = {\n [key: string]: {\n template: EmailComponentsType;\n subject: string;\n };\n};\n\nconst getEmailComponents = (locale?: Locale) =>\n ({\n invite: {\n template: t(\n {\n en: InviteUserEmailEN,\n fr: InviteUserEmailFR,\n es: InviteUserEmailES,\n },\n locale\n ),\n subject: t(\n {\n en: 'You have been invited to join Intlayer',\n fr: 'Vous êtes invité à rejoindre Intlayer',\n es: 'Has sido invitado a unirte a Intlayer',\n },\n locale\n ),\n },\n validate: {\n template: t(\n {\n en: ValidateUserEmailEN,\n fr: ValidateUserEmailFR,\n es: ValidateUserEmailES,\n },\n locale\n ),\n subject: t(\n {\n en: 'Validate your email for Intlayer',\n fr: 'Validez votre email pour Intlayer',\n es: 'Valida tu correo electrónico para Intlayer',\n },\n locale\n ),\n },\n resetPassword: {\n template: t(\n {\n en: ResetPasswordEmailEN,\n fr: ResetPasswordEmailFR,\n es: ResetPasswordEmailES,\n },\n locale\n ),\n subject: t(\n {\n en: 'Reset your password for Intlayer',\n fr: 'Réinitialisez votre mot de passe pour Intlayer',\n es: 'Restablece tu contraseña para Intlayer',\n },\n locale\n ),\n },\n welcome: {\n template: t(\n {\n en: WelcomeEmailEN,\n fr: WelcomeEmailFR,\n es: WelcomeEmailES,\n },\n locale\n ),\n subject: t(\n {\n en: 'Welcome to Intlayer!',\n fr: 'Bienvenue chez Intlayer!',\n es: '¡Bienvenido a Intlayer!',\n },\n locale\n ),\n },\n magicLink: {\n template: t(\n {\n en: MagicLinkEmailEN,\n fr: MagicLinkEmailFR,\n es: MagicLinkEmailES,\n },\n locale\n ),\n subject: t(\n {\n en: 'Sign in to Intlayer',\n fr: 'Connectez-vous à Intlayer',\n es: 'Inicia sesión en Intlayer',\n },\n locale\n ),\n },\n passwordChangeConfirmation: {\n template: t(\n {\n en: PasswordChangeConfirmationEmailEN,\n fr: PasswordChangeConfirmationEmailFR,\n es: PasswordChangeConfirmationEmailES,\n },\n locale\n ),\n subject: t(\n {\n en: 'Your Intlayer password has been changed',\n fr: 'Votre mot de passe Intlayer a été modifié',\n es: 'Tu contraseña de Intlayer ha sido cambiada',\n },\n locale\n ),\n },\n subscriptionPaymentSuccess: {\n template: t({\n en: SubscriptionPaymentSuccessEN,\n fr: SubscriptionPaymentSuccessFR,\n es: SubscriptionPaymentSuccessES,\n }),\n subject: t({\n en: 'Your payment for Intlayer subscription is confirmed',\n fr: \"Votre paiement pour l'abonnement Intlayer est confirmé\",\n es: 'Tu pago por la suscripción de Intlayer ha sido confirmado',\n }),\n },\n subscriptionPaymentCancellation: {\n template: t({\n en: SubscriptionPaymentCancellationEN,\n fr: SubscriptionPaymentCancellationFR,\n es: SubscriptionPaymentCancellationES,\n }),\n subject: t({\n en: 'Your Intlayer subscription has been canceled',\n fr: 'Votre abonnement Intlayer a été annulé',\n es: 'Tu suscripción de Intlayer ha sido cancelada',\n }),\n },\n subscriptionPaymentError: {\n template: t({\n en: SubscriptionPaymentErrorEN,\n fr: SubscriptionPaymentErrorFR,\n es: SubscriptionPaymentErrorES,\n }),\n subject: t({\n en: 'There was an issue with your Intlayer subscription payment',\n fr: \"Un problème est survenu avec votre paiement pour l'abonnement Intlayer\",\n es: 'Hubo un problema con el pago de tu suscripción de Intlayer',\n }),\n },\n oAuthTokenCreated: {\n template: t({\n en: OAuthTokenCreatedEmailEN,\n fr: OAuthTokenCreatedEmailFR,\n es: OAuthTokenCreatedEmailES,\n }),\n subject: t({\n en: 'A third-party OAuth application has been added to your Intlayer account',\n fr: 'Une application OAuth tierce a été ajoutée à votre compte Intlayer',\n es: 'Una aplicación OAuth de terceros ha sido añadida a tu cuenta de Intlayer',\n }),\n },\n }) satisfies EmailComponents;\n\ntype EmailType = keyof ReturnType<typeof getEmailComponents>;\n\nexport type SendEmailProps<T extends EmailType> = {\n type: T;\n to: string;\n subject?: string;\n locale?: Locale;\n} & ComponentProps<ReturnType<typeof getEmailComponents>[T]['template']>;\n\nexport const sendEmail = async <T extends EmailType>({\n type,\n to,\n subject,\n locale,\n ...props\n}: SendEmailProps<T>) => {\n const resend = new Resend(process.env.RESEND_API_KEY);\n\n const emailComponents = getEmailComponents(locale);\n\n const { template, subject: baseSubject } = emailComponents[type];\n\n type EmailComponentType = (typeof emailComponents)[T]['template'];\n\n const EmailComponent: EmailComponentType = template;\n\n const react = <EmailComponent {...(props as any)} />;\n\n await resend.emails\n .send({\n from: 'Intlayer <no-reply@intlayer.org>',\n to,\n subject: subject ?? baseSubject,\n react,\n })\n .catch((err) => logger.error(err));\n\n logger.info(`Email sent ${type} to ${to}`);\n};\n"],"mappings":";;;;;;;;;;;;;;;;AAiEA,MAAM,sBAAsB,YACzB;CACC,QAAQ;EACN,UAAU,EACR;GACE,IAAI;GACJ,IAAI;GACJ,IAAI;GACL,EACD,OACD;EACD,SAAS,EACP;GACE,IAAI;GACJ,IAAI;GACJ,IAAI;GACL,EACD,OACD;EACF;CACD,UAAU;EACR,UAAU,EACR;GACE,IAAI;GACJ,IAAI;GACJ,IAAI;GACL,EACD,OACD;EACD,SAAS,EACP;GACE,IAAI;GACJ,IAAI;GACJ,IAAI;GACL,EACD,OACD;EACF;CACD,eAAe;EACb,UAAU,EACR;GACE,IAAI;GACJ,IAAI;GACJ,IAAI;GACL,EACD,OACD;EACD,SAAS,EACP;GACE,IAAI;GACJ,IAAI;GACJ,IAAI;GACL,EACD,OACD;EACF;CACD,SAAS;EACP,UAAU,EACR;GACE,IAAI;GACJ,IAAI;GACJ,IAAI;GACL,EACD,OACD;EACD,SAAS,EACP;GACE,IAAI;GACJ,IAAI;GACJ,IAAI;GACL,EACD,OACD;EACF;CACD,WAAW;EACT,UAAU,EACR;GACE,IAAI;GACJ,IAAI;GACJ,IAAI;GACL,EACD,OACD;EACD,SAAS,EACP;GACE,IAAI;GACJ,IAAI;GACJ,IAAI;GACL,EACD,OACD;EACF;CACD,4BAA4B;EAC1B,UAAU,EACR;GACE,IAAI;GACJ,IAAI;GACJ,IAAI;GACL,EACD,OACD;EACD,SAAS,EACP;GACE,IAAI;GACJ,IAAI;GACJ,IAAI;GACL,EACD,OACD;EACF;CACD,4BAA4B;EAC1B,UAAU,EAAE;GACV,IAAI;GACJ,IAAI;GACJ,IAAI;GACL,CAAC;EACF,SAAS,EAAE;GACT,IAAI;GACJ,IAAI;GACJ,IAAI;GACL,CAAC;EACH;CACD,iCAAiC;EAC/B,UAAU,EAAE;GACV,IAAI;GACJ,IAAI;GACJ,IAAI;GACL,CAAC;EACF,SAAS,EAAE;GACT,IAAI;GACJ,IAAI;GACJ,IAAI;GACL,CAAC;EACH;CACD,0BAA0B;EACxB,UAAU,EAAE;GACV,IAAI;GACJ,IAAI;GACJ,IAAI;GACL,CAAC;EACF,SAAS,EAAE;GACT,IAAI;GACJ,IAAI;GACJ,IAAI;GACL,CAAC;EACH;CACD,mBAAmB;EACjB,UAAU,EAAE;GACV,IAAI;GACJ,IAAI;GACJ,IAAI;GACL,CAAC;EACF,SAAS,EAAE;GACT,IAAI;GACJ,IAAI;GACJ,IAAI;GACL,CAAC;EACH;CACF;AAWH,MAAa,YAAY,OAA4B,EACnD,MACA,IACA,SACA,QACA,GAAG,YACoB;CACvB,MAAM,SAAS,IAAI,OAAO,QAAQ,IAAI,eAAe;CAIrD,MAAM,EAAE,UAAU,SAAS,gBAFH,mBAAmB,OAAO,CAES;CAM3D,MAAM,QAAQ,oBAF6B,YAEb,GAAK,QAAiB;AAEpD,OAAM,OAAO,OACV,KAAK;EACJ,MAAM;EACN;EACA,SAAS,WAAW;EACpB;EACD,CAAC,CACD,OAAO,QAAQ,OAAO,MAAM,IAAI,CAAC;AAEpC,QAAO,KAAK,cAAc,KAAK,MAAM,KAAK"}
@@ -72,7 +72,7 @@ const getClient = async (clientId, clientSecret) => {
72
72
  * @returns The formatted token
73
73
  */
74
74
  const formatOAuth2Token = (token, client, user, project, organization, grants) => {
75
- const { clientId, userId,...restToken } = token;
75
+ const { clientId, userId, ...restToken } = token;
76
76
  if (String(userId) !== String(user.id)) throw new GenericError("USER_ID_MISMATCH");
77
77
  return {
78
78
  ...restToken,
@@ -1 +1 @@
1
- {"version":3,"file":"oAuth2.service.mjs","names":["formattedAccessToken: Token"],"sources":["../../../src/services/oAuth2.service.ts"],"sourcesContent":["import { randomBytes } from 'node:crypto';\nimport { OAuth2AccessTokenModel } from '@models/oAuth2.model';\nimport { ProjectModel } from '@models/project.model';\nimport { ensureMongoDocumentToObject } from '@utils/ensureMongoDocumentToObject';\nimport { GenericError } from '@utils/errors';\nimport { mapOrganizationToAPI } from '@utils/mapper/organization';\nimport { mapProjectToAPI } from '@utils/mapper/project';\nimport { mapUserToAPI } from '@utils/mapper/user';\nimport { getTokenExpireAt } from '@utils/oAuth2';\nimport type { Types } from 'mongoose';\nimport type { Callback, Client } from 'oauth2-server';\nimport type { OAuth2Token } from '@/types/oAuth2.types';\nimport type { Organization } from '@/types/organization.types';\nimport type {\n OAuth2Access,\n OAuth2AccessContext,\n Project,\n ProjectDocument,\n} from '@/types/project.types';\nimport type { User, UserAPI, UserDocument } from '@/types/user.types';\nimport type { Token } from '../schemas/oAuth2.schema';\nimport { getOrganizationById } from './organization.service';\nimport { getUserById } from './user.service';\n\n/**\n * Function to generate client credentials\n *\n * @returns The client id and client secret\n */\nexport const generateClientCredentials = (): {\n clientId: string;\n clientSecret: string;\n} => {\n const clientId = randomBytes(16).toString('hex'); // Generate a 16 character hexadecimal string\n const clientSecret = randomBytes(32).toString('hex'); // Generate a 32 character hexadecimal string\n\n return { clientId, clientSecret };\n};\n\n/**\n * Method to get the client and the project\n *\n * @param clientId - The client id\n * @param clientSecret - The client secret\n * @returns The an object containing the client, the rights and the project or false if not found\n */\nexport const getClientAndProjectByClientId = async (\n clientId: string\n): Promise<\n | {\n client: Client;\n oAuth2Access: OAuth2Access;\n project: ProjectDocument;\n grants: Token['grants'];\n }\n | false\n> => {\n const project = await ProjectModel.findOne({\n 'oAuth2Access.clientId': clientId,\n });\n\n if (!project) {\n return false;\n }\n\n const oAuth2Access = project.oAuth2Access.find(\n (access) => access.clientId === clientId\n );\n\n if (!oAuth2Access) {\n return false;\n }\n\n const formattedClient: Client = {\n id: oAuth2Access.clientId,\n clientId,\n clientSecret: oAuth2Access.clientSecret,\n grants: ['client_credentials'],\n };\n\n return {\n client: formattedClient,\n oAuth2Access,\n grants: oAuth2Access.grants,\n project,\n };\n};\n\n/**\n * Get the client and verify that the client secret is correct\n *\n * @param clientId - The client id\n * @param clientSecret - The client secret\n * @returns The client or false if not found\n */\nexport const getClient = async (\n clientId: string,\n clientSecret: string\n): Promise<Client | false> => {\n const result = await getClientAndProjectByClientId(clientId);\n\n if (!result) {\n return false;\n }\n\n const { client } = result;\n\n if (!client || client.clientSecret !== clientSecret) {\n return false;\n }\n\n return client;\n};\n\n/**\n * Format an OAuth2Token\n *\n * @param token - The token to format\n * @param client - The client\n * @param user - The user\n * @param project - The project\n * @param organization - The organization\n * @param grants - The grants\n * @returns The formatted token\n */\nexport const formatOAuth2Token = (\n token: Token,\n client: Client,\n user: UserAPI,\n project: Project,\n organization: Organization,\n grants: Token['grants']\n): OAuth2Token => {\n // biome-ignore lint/correctness/noUnusedVariables: Just filter out clientId\n const { clientId, userId, ...restToken } = token;\n\n if (String(userId) !== String(user.id)) {\n throw new GenericError('USER_ID_MISMATCH');\n }\n\n const formattedToken: OAuth2Token = {\n ...restToken,\n client,\n user: mapUserToAPI(user),\n organization: mapOrganizationToAPI(organization),\n project: mapProjectToAPI(project),\n accessToken: token.accessToken,\n accessTokenExpiresAt: token.accessTokenExpiresAt ?? new Date('999-99-99'),\n grants,\n };\n\n return formattedToken;\n};\n\n/**\n * Format a auth token for the database\n *\n * @param token - The oAuth2 token to format\n * @param clientId - The client ID\n * @param userId - The user ID\n * @returns\n */\nexport const formatDBToken = (\n token: OAuth2Token,\n clientId: Client['id'],\n userId: User['id'] | string\n): Token => {\n const formattedToken: Token = {\n id: token.id,\n clientId: clientId,\n userId: userId as Types.ObjectId,\n accessToken: token.accessToken,\n expiresIn: token.accessTokenExpiresAt ?? getTokenExpireAt(),\n };\n\n return formattedToken;\n};\n\n/**\n * Method to save the token\n *\n * @param token - The token\n * @param client - The client\n * @param user - The user\n * @returns The saved token or false if not saved\n */\nexport const saveToken = async (\n token: OAuth2Token,\n client: Client,\n user: UserAPI\n): Promise<OAuth2Token | false> => {\n const formattedAccessToken: Token = formatDBToken(token, client.id, user.id);\n\n const result = await OAuth2AccessTokenModel.create(formattedAccessToken);\n\n if (!result) {\n return false;\n }\n\n const result2 = await getClientAndProjectByClientId(result.clientId);\n\n if (!result2) {\n return false;\n }\n\n const { project } = result2;\n\n const organization = await getOrganizationById(project.organizationId);\n\n if (!organization) {\n return false;\n }\n\n const formattedResult = formatOAuth2Token(\n formattedAccessToken,\n client,\n user,\n project,\n organization,\n token.rights\n );\n return formattedResult;\n};\n\n/**\n * Method to get the access token\n *\n * @param accessToken - The access token\n * @returns The access token or false if not found\n */\nexport const getAccessToken = async (\n accessToken: string\n): Promise<OAuth2Token | false> => {\n const token = await OAuth2AccessTokenModel.findOne({\n accessToken,\n });\n\n if (!token) {\n return false;\n }\n\n const { userId, clientId } = token;\n\n const user = await getUserById(userId);\n\n if (!user) {\n return false;\n }\n\n const result = await getClientAndProjectByClientId(clientId);\n\n if (!result) {\n return false;\n }\n\n const { client, project, grants } = result;\n\n const organization = await getOrganizationById(project.organizationId);\n\n if (!organization) {\n return false;\n }\n\n const formattedAccessToken = formatOAuth2Token(\n token,\n client,\n user,\n project,\n organization,\n grants\n );\n\n return formattedAccessToken;\n};\n\n/**\n * Method to get the user from the client\n *\n * @param client - The client\n * @returns The user or false if not found\n */\nexport const getUserFromClient = async (\n client: Client\n): Promise<UserDocument | false> => {\n const response = await getClientAndProjectByClientId(client.id);\n\n if (!response) {\n return false;\n }\n\n const { userId } = response.oAuth2Access;\n\n if (!userId) {\n return false;\n }\n\n const user = await getUserById(userId);\n\n return user ?? false;\n};\n\n/**\n * Method to verify the permissions (grants)\n *\n * @param token - The token\n * @param scope - The scope\n * @returns True if the token has the required scope, false otherwise\n */\nexport const verifyScope = async (\n _token: OAuth2Token,\n _scope: string,\n _callback?: Callback<boolean> | undefined\n): Promise<boolean> => {\n // Implement the verification of scopes if necessary\n return true;\n};\n\n/**\n * Validate OAuth2 access token and return user context\n */\nexport const validateOAuth2AccessToken = async (\n accessToken: string\n): Promise<Token> => {\n try {\n const token = await OAuth2AccessTokenModel.findOne({\n accessToken,\n });\n\n if (!token) {\n throw new GenericError('INVALID_ACCESS_TOKEN');\n }\n\n // Check if token is expired\n if (new Date() > new Date(token.expiresIn)) {\n throw new GenericError('EXPIRED_ACCESS_TOKEN');\n }\n\n return ensureMongoDocumentToObject(token);\n } catch (_error) {\n throw new GenericError('INVALID_ACCESS_TOKEN');\n }\n};\n\n/**\n * Validate OAuth2 access token and return user context\n */\nexport const getOAuth2AccessTokenContext = async (\n token: Token\n): Promise<OAuth2AccessContext> => {\n const { userId, clientId } = token;\n\n const user = await getUserById(String(userId));\n\n const result = await getClientAndProjectByClientId(clientId);\n\n if (!result) {\n throw new GenericError('INVALID_ACCESS_TOKEN');\n }\n\n const { project, grants } = result;\n\n const organization = await getOrganizationById(project.organizationId);\n\n return {\n accessToken: token.accessToken,\n user: user ? mapUserToAPI(user) : undefined,\n project: project ? mapProjectToAPI(project) : undefined,\n organization: organization ? mapOrganizationToAPI(organization) : undefined,\n grants,\n };\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"oAuth2.service.mjs","names":["formattedAccessToken: Token"],"sources":["../../../src/services/oAuth2.service.ts"],"sourcesContent":["import { randomBytes } from 'node:crypto';\nimport { OAuth2AccessTokenModel } from '@models/oAuth2.model';\nimport { ProjectModel } from '@models/project.model';\nimport { ensureMongoDocumentToObject } from '@utils/ensureMongoDocumentToObject';\nimport { GenericError } from '@utils/errors';\nimport { mapOrganizationToAPI } from '@utils/mapper/organization';\nimport { mapProjectToAPI } from '@utils/mapper/project';\nimport { mapUserToAPI } from '@utils/mapper/user';\nimport { getTokenExpireAt } from '@utils/oAuth2';\nimport type { Types } from 'mongoose';\nimport type { Callback, Client } from 'oauth2-server';\nimport type { OAuth2Token } from '@/types/oAuth2.types';\nimport type { Organization } from '@/types/organization.types';\nimport type {\n OAuth2Access,\n OAuth2AccessContext,\n Project,\n ProjectDocument,\n} from '@/types/project.types';\nimport type { User, UserAPI, UserDocument } from '@/types/user.types';\nimport type { Token } from '../schemas/oAuth2.schema';\nimport { getOrganizationById } from './organization.service';\nimport { getUserById } from './user.service';\n\n/**\n * Function to generate client credentials\n *\n * @returns The client id and client secret\n */\nexport const generateClientCredentials = (): {\n clientId: string;\n clientSecret: string;\n} => {\n const clientId = randomBytes(16).toString('hex'); // Generate a 16 character hexadecimal string\n const clientSecret = randomBytes(32).toString('hex'); // Generate a 32 character hexadecimal string\n\n return { clientId, clientSecret };\n};\n\n/**\n * Method to get the client and the project\n *\n * @param clientId - The client id\n * @param clientSecret - The client secret\n * @returns The an object containing the client, the rights and the project or false if not found\n */\nexport const getClientAndProjectByClientId = async (\n clientId: string\n): Promise<\n | {\n client: Client;\n oAuth2Access: OAuth2Access;\n project: ProjectDocument;\n grants: Token['grants'];\n }\n | false\n> => {\n const project = await ProjectModel.findOne({\n 'oAuth2Access.clientId': clientId,\n });\n\n if (!project) {\n return false;\n }\n\n const oAuth2Access = project.oAuth2Access.find(\n (access) => access.clientId === clientId\n );\n\n if (!oAuth2Access) {\n return false;\n }\n\n const formattedClient: Client = {\n id: oAuth2Access.clientId,\n clientId,\n clientSecret: oAuth2Access.clientSecret,\n grants: ['client_credentials'],\n };\n\n return {\n client: formattedClient,\n oAuth2Access,\n grants: oAuth2Access.grants,\n project,\n };\n};\n\n/**\n * Get the client and verify that the client secret is correct\n *\n * @param clientId - The client id\n * @param clientSecret - The client secret\n * @returns The client or false if not found\n */\nexport const getClient = async (\n clientId: string,\n clientSecret: string\n): Promise<Client | false> => {\n const result = await getClientAndProjectByClientId(clientId);\n\n if (!result) {\n return false;\n }\n\n const { client } = result;\n\n if (!client || client.clientSecret !== clientSecret) {\n return false;\n }\n\n return client;\n};\n\n/**\n * Format an OAuth2Token\n *\n * @param token - The token to format\n * @param client - The client\n * @param user - The user\n * @param project - The project\n * @param organization - The organization\n * @param grants - The grants\n * @returns The formatted token\n */\nexport const formatOAuth2Token = (\n token: Token,\n client: Client,\n user: UserAPI,\n project: Project,\n organization: Organization,\n grants: Token['grants']\n): OAuth2Token => {\n // biome-ignore lint/correctness/noUnusedVariables: Just filter out clientId\n const { clientId, userId, ...restToken } = token;\n\n if (String(userId) !== String(user.id)) {\n throw new GenericError('USER_ID_MISMATCH');\n }\n\n const formattedToken: OAuth2Token = {\n ...restToken,\n client,\n user: mapUserToAPI(user),\n organization: mapOrganizationToAPI(organization),\n project: mapProjectToAPI(project),\n accessToken: token.accessToken,\n accessTokenExpiresAt: token.accessTokenExpiresAt ?? new Date('999-99-99'),\n grants,\n };\n\n return formattedToken;\n};\n\n/**\n * Format a auth token for the database\n *\n * @param token - The oAuth2 token to format\n * @param clientId - The client ID\n * @param userId - The user ID\n * @returns\n */\nexport const formatDBToken = (\n token: OAuth2Token,\n clientId: Client['id'],\n userId: User['id'] | string\n): Token => {\n const formattedToken: Token = {\n id: token.id,\n clientId: clientId,\n userId: userId as Types.ObjectId,\n accessToken: token.accessToken,\n expiresIn: token.accessTokenExpiresAt ?? getTokenExpireAt(),\n };\n\n return formattedToken;\n};\n\n/**\n * Method to save the token\n *\n * @param token - The token\n * @param client - The client\n * @param user - The user\n * @returns The saved token or false if not saved\n */\nexport const saveToken = async (\n token: OAuth2Token,\n client: Client,\n user: UserAPI\n): Promise<OAuth2Token | false> => {\n const formattedAccessToken: Token = formatDBToken(token, client.id, user.id);\n\n const result = await OAuth2AccessTokenModel.create(formattedAccessToken);\n\n if (!result) {\n return false;\n }\n\n const result2 = await getClientAndProjectByClientId(result.clientId);\n\n if (!result2) {\n return false;\n }\n\n const { project } = result2;\n\n const organization = await getOrganizationById(project.organizationId);\n\n if (!organization) {\n return false;\n }\n\n const formattedResult = formatOAuth2Token(\n formattedAccessToken,\n client,\n user,\n project,\n organization,\n token.rights\n );\n return formattedResult;\n};\n\n/**\n * Method to get the access token\n *\n * @param accessToken - The access token\n * @returns The access token or false if not found\n */\nexport const getAccessToken = async (\n accessToken: string\n): Promise<OAuth2Token | false> => {\n const token = await OAuth2AccessTokenModel.findOne({\n accessToken,\n });\n\n if (!token) {\n return false;\n }\n\n const { userId, clientId } = token;\n\n const user = await getUserById(userId);\n\n if (!user) {\n return false;\n }\n\n const result = await getClientAndProjectByClientId(clientId);\n\n if (!result) {\n return false;\n }\n\n const { client, project, grants } = result;\n\n const organization = await getOrganizationById(project.organizationId);\n\n if (!organization) {\n return false;\n }\n\n const formattedAccessToken = formatOAuth2Token(\n token,\n client,\n user,\n project,\n organization,\n grants\n );\n\n return formattedAccessToken;\n};\n\n/**\n * Method to get the user from the client\n *\n * @param client - The client\n * @returns The user or false if not found\n */\nexport const getUserFromClient = async (\n client: Client\n): Promise<UserDocument | false> => {\n const response = await getClientAndProjectByClientId(client.id);\n\n if (!response) {\n return false;\n }\n\n const { userId } = response.oAuth2Access;\n\n if (!userId) {\n return false;\n }\n\n const user = await getUserById(userId);\n\n return user ?? false;\n};\n\n/**\n * Method to verify the permissions (grants)\n *\n * @param token - The token\n * @param scope - The scope\n * @returns True if the token has the required scope, false otherwise\n */\nexport const verifyScope = async (\n _token: OAuth2Token,\n _scope: string,\n _callback?: Callback<boolean> | undefined\n): Promise<boolean> => {\n // Implement the verification of scopes if necessary\n return true;\n};\n\n/**\n * Validate OAuth2 access token and return user context\n */\nexport const validateOAuth2AccessToken = async (\n accessToken: string\n): Promise<Token> => {\n try {\n const token = await OAuth2AccessTokenModel.findOne({\n accessToken,\n });\n\n if (!token) {\n throw new GenericError('INVALID_ACCESS_TOKEN');\n }\n\n // Check if token is expired\n if (new Date() > new Date(token.expiresIn)) {\n throw new GenericError('EXPIRED_ACCESS_TOKEN');\n }\n\n return ensureMongoDocumentToObject(token);\n } catch (_error) {\n throw new GenericError('INVALID_ACCESS_TOKEN');\n }\n};\n\n/**\n * Validate OAuth2 access token and return user context\n */\nexport const getOAuth2AccessTokenContext = async (\n token: Token\n): Promise<OAuth2AccessContext> => {\n const { userId, clientId } = token;\n\n const user = await getUserById(String(userId));\n\n const result = await getClientAndProjectByClientId(clientId);\n\n if (!result) {\n throw new GenericError('INVALID_ACCESS_TOKEN');\n }\n\n const { project, grants } = result;\n\n const organization = await getOrganizationById(project.organizationId);\n\n return {\n accessToken: token.accessToken,\n user: user ? mapUserToAPI(user) : undefined,\n project: project ? mapProjectToAPI(project) : undefined,\n organization: organization ? mapOrganizationToAPI(organization) : undefined,\n grants,\n };\n};\n"],"mappings":"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"}
@@ -8,7 +8,7 @@ import { getFiltersAndPaginationFromBody } from "./getFiltersAndPaginationFromBo
8
8
  * @returns Object containing filters, page, pageSize, and getNumberOfPages functions.
9
9
  */
10
10
  const getDictionaryFiltersAndPagination = (req, res) => {
11
- const { filters: filtersRequest,...pagination } = getFiltersAndPaginationFromBody(req);
11
+ const { filters: filtersRequest, ...pagination } = getFiltersAndPaginationFromBody(req);
12
12
  const { roles, project } = res.locals;
13
13
  let filters = {};
14
14
  let sortOptions = { updatedAt: -1 };
@@ -1 +1 @@
1
- {"version":3,"file":"getDictionaryFiltersAndPagination.mjs","names":["filters: DictionaryFilters","sortOptions: Record<string, 1 | -1>"],"sources":["../../../../src/utils/filtersAndPagination/getDictionaryFiltersAndPagination.ts"],"sourcesContent":["import type { ResponseWithSession } from '@middlewares/sessionAuth.middleware';\nimport { ensureArrayQueryFilter } from '@utils/ensureArrayQueryFilter';\nimport type { Request } from 'express';\nimport type { RootFilterQuery } from 'mongoose';\nimport type { Dictionary } from '@/types/dictionary.types';\nimport {\n type FiltersAndPagination,\n getFiltersAndPaginationFromBody,\n} from './getFiltersAndPaginationFromBody';\n\nexport type DictionaryFiltersParams = {\n ids?: string | string[];\n projectId?: string;\n projectIds?: string[];\n organizationId?: string;\n organizationIds?: string[];\n userId?: string;\n userIds?: string[];\n creatorId?: string;\n creatorIds?: string[];\n title?: string;\n description?: string;\n key?: string;\n keys?: string[];\n tags?: string | string[];\n version?: string;\n search?: string;\n sortBy?: string;\n sortOrder?: string;\n /**\n * For admin users, if true, will fetch all users without filtering by organization\n */\n fetchAll?: 'true' | 'false';\n};\nexport type DictionaryFilters = RootFilterQuery<Dictionary>;\n\n/**\n * Extracts filters and pagination information from the request body.\n * @param req - Express request object.\n * @returns Object containing filters, page, pageSize, and getNumberOfPages functions.\n */\nexport const getDictionaryFiltersAndPagination = (\n req: Request<FiltersAndPagination<DictionaryFiltersParams>>,\n res: ResponseWithSession\n) => {\n const { filters: filtersRequest, ...pagination } =\n getFiltersAndPaginationFromBody<DictionaryFiltersParams>(req);\n const { roles, project } = res.locals;\n\n let filters: DictionaryFilters = {};\n let sortOptions: Record<string, 1 | -1> = { updatedAt: -1 };\n\n const {\n key,\n search,\n keys,\n tags,\n ids,\n projectId,\n projectIds,\n userId,\n userIds,\n creatorId,\n creatorIds,\n title,\n description,\n version,\n sortBy,\n sortOrder,\n fetchAll,\n } = filtersRequest ?? {};\n\n if (ids) {\n filters = { ...filters, _id: { $in: ensureArrayQueryFilter(ids) } };\n }\n\n if (projectId) {\n filters = { ...filters, projectIds: projectId };\n }\n\n if (projectIds) {\n filters = {\n ...filters,\n projectIds: { $in: ensureArrayQueryFilter(projectIds) },\n };\n }\n\n if (!(roles.includes('admin') && fetchAll === 'true')) {\n filters = { ...filters, projectIds: { $in: project?.id } };\n }\n\n if (userId) {\n filters = { ...filters, creatorId: userId };\n }\n\n if (userIds) {\n filters = {\n ...filters,\n creatorId: { $in: ensureArrayQueryFilter(userIds) },\n };\n }\n\n if (creatorId) {\n filters = { ...filters, creatorId: creatorId };\n }\n\n if (creatorIds) {\n filters = {\n ...filters,\n creatorId: { $in: ensureArrayQueryFilter(creatorIds) },\n };\n }\n\n if (title) {\n filters = { ...filters, title: new RegExp(title, 'i') };\n }\n\n if (description) {\n filters = { ...filters, description: new RegExp(description, 'i') };\n }\n\n if (key) {\n filters = { ...filters, key: new RegExp(key, 'i') };\n }\n\n if (search) {\n const searchRegex = new RegExp(search, 'i');\n filters = {\n ...filters,\n $or: [\n { key: searchRegex },\n { title: searchRegex },\n { description: searchRegex },\n { tags: { $in: [searchRegex] } },\n ],\n };\n }\n\n if (keys) {\n filters = { ...filters, key: { $in: ensureArrayQueryFilter(keys) } };\n }\n\n if (tags) {\n filters = { ...filters, tags: { $in: ensureArrayQueryFilter(tags) } };\n }\n\n if (version) {\n filters = { ...filters, content: { [version]: `$content.${version}` } };\n }\n\n if (sortBy && sortOrder && (sortOrder === 'asc' || sortOrder === 'desc')) {\n sortOptions = { [sortBy]: sortOrder === 'asc' ? 1 : -1 };\n }\n\n return { filters, sortOptions, ...pagination };\n};\n"],"mappings":";;;;;;;;;AAyCA,MAAa,qCACX,KACA,QACG;CACH,MAAM,EAAE,SAAS,eAAgB,GAAG,eAClC,gCAAyD,IAAI;CAC/D,MAAM,EAAE,OAAO,YAAY,IAAI;CAE/B,IAAIA,UAA6B,EAAE;CACnC,IAAIC,cAAsC,EAAE,WAAW,IAAI;CAE3D,MAAM,EACJ,KACA,QACA,MACA,MACA,KACA,WACA,YACA,QACA,SACA,WACA,YACA,OACA,aACA,SACA,QACA,WACA,aACE,kBAAkB,EAAE;AAExB,KAAI,IACF,WAAU;EAAE,GAAG;EAAS,KAAK,EAAE,KAAK,uBAAuB,IAAI,EAAE;EAAE;AAGrE,KAAI,UACF,WAAU;EAAE,GAAG;EAAS,YAAY;EAAW;AAGjD,KAAI,WACF,WAAU;EACR,GAAG;EACH,YAAY,EAAE,KAAK,uBAAuB,WAAW,EAAE;EACxD;AAGH,KAAI,EAAE,MAAM,SAAS,QAAQ,IAAI,aAAa,QAC5C,WAAU;EAAE,GAAG;EAAS,YAAY,EAAE,KAAK,SAAS,IAAI;EAAE;AAG5D,KAAI,OACF,WAAU;EAAE,GAAG;EAAS,WAAW;EAAQ;AAG7C,KAAI,QACF,WAAU;EACR,GAAG;EACH,WAAW,EAAE,KAAK,uBAAuB,QAAQ,EAAE;EACpD;AAGH,KAAI,UACF,WAAU;EAAE,GAAG;EAAoB;EAAW;AAGhD,KAAI,WACF,WAAU;EACR,GAAG;EACH,WAAW,EAAE,KAAK,uBAAuB,WAAW,EAAE;EACvD;AAGH,KAAI,MACF,WAAU;EAAE,GAAG;EAAS,OAAO,IAAI,OAAO,OAAO,IAAI;EAAE;AAGzD,KAAI,YACF,WAAU;EAAE,GAAG;EAAS,aAAa,IAAI,OAAO,aAAa,IAAI;EAAE;AAGrE,KAAI,IACF,WAAU;EAAE,GAAG;EAAS,KAAK,IAAI,OAAO,KAAK,IAAI;EAAE;AAGrD,KAAI,QAAQ;EACV,MAAM,cAAc,IAAI,OAAO,QAAQ,IAAI;AAC3C,YAAU;GACR,GAAG;GACH,KAAK;IACH,EAAE,KAAK,aAAa;IACpB,EAAE,OAAO,aAAa;IACtB,EAAE,aAAa,aAAa;IAC5B,EAAE,MAAM,EAAE,KAAK,CAAC,YAAY,EAAE,EAAE;IACjC;GACF;;AAGH,KAAI,KACF,WAAU;EAAE,GAAG;EAAS,KAAK,EAAE,KAAK,uBAAuB,KAAK,EAAE;EAAE;AAGtE,KAAI,KACF,WAAU;EAAE,GAAG;EAAS,MAAM,EAAE,KAAK,uBAAuB,KAAK,EAAE;EAAE;AAGvE,KAAI,QACF,WAAU;EAAE,GAAG;EAAS,SAAS,GAAG,UAAU,YAAY,WAAW;EAAE;AAGzE,KAAI,UAAU,cAAc,cAAc,SAAS,cAAc,QAC/D,eAAc,GAAG,SAAS,cAAc,QAAQ,IAAI,IAAI;AAG1D,QAAO;EAAE;EAAS;EAAa,GAAG;EAAY"}
1
+ {"version":3,"file":"getDictionaryFiltersAndPagination.mjs","names":["filters: DictionaryFilters","sortOptions: Record<string, 1 | -1>"],"sources":["../../../../src/utils/filtersAndPagination/getDictionaryFiltersAndPagination.ts"],"sourcesContent":["import type { ResponseWithSession } from '@middlewares/sessionAuth.middleware';\nimport { ensureArrayQueryFilter } from '@utils/ensureArrayQueryFilter';\nimport type { Request } from 'express';\nimport type { RootFilterQuery } from 'mongoose';\nimport type { Dictionary } from '@/types/dictionary.types';\nimport {\n type FiltersAndPagination,\n getFiltersAndPaginationFromBody,\n} from './getFiltersAndPaginationFromBody';\n\nexport type DictionaryFiltersParams = {\n ids?: string | string[];\n projectId?: string;\n projectIds?: string[];\n organizationId?: string;\n organizationIds?: string[];\n userId?: string;\n userIds?: string[];\n creatorId?: string;\n creatorIds?: string[];\n title?: string;\n description?: string;\n key?: string;\n keys?: string[];\n tags?: string | string[];\n version?: string;\n search?: string;\n sortBy?: string;\n sortOrder?: string;\n /**\n * For admin users, if true, will fetch all users without filtering by organization\n */\n fetchAll?: 'true' | 'false';\n};\nexport type DictionaryFilters = RootFilterQuery<Dictionary>;\n\n/**\n * Extracts filters and pagination information from the request body.\n * @param req - Express request object.\n * @returns Object containing filters, page, pageSize, and getNumberOfPages functions.\n */\nexport const getDictionaryFiltersAndPagination = (\n req: Request<FiltersAndPagination<DictionaryFiltersParams>>,\n res: ResponseWithSession\n) => {\n const { filters: filtersRequest, ...pagination } =\n getFiltersAndPaginationFromBody<DictionaryFiltersParams>(req);\n const { roles, project } = res.locals;\n\n let filters: DictionaryFilters = {};\n let sortOptions: Record<string, 1 | -1> = { updatedAt: -1 };\n\n const {\n key,\n search,\n keys,\n tags,\n ids,\n projectId,\n projectIds,\n userId,\n userIds,\n creatorId,\n creatorIds,\n title,\n description,\n version,\n sortBy,\n sortOrder,\n fetchAll,\n } = filtersRequest ?? {};\n\n if (ids) {\n filters = { ...filters, _id: { $in: ensureArrayQueryFilter(ids) } };\n }\n\n if (projectId) {\n filters = { ...filters, projectIds: projectId };\n }\n\n if (projectIds) {\n filters = {\n ...filters,\n projectIds: { $in: ensureArrayQueryFilter(projectIds) },\n };\n }\n\n if (!(roles.includes('admin') && fetchAll === 'true')) {\n filters = { ...filters, projectIds: { $in: project?.id } };\n }\n\n if (userId) {\n filters = { ...filters, creatorId: userId };\n }\n\n if (userIds) {\n filters = {\n ...filters,\n creatorId: { $in: ensureArrayQueryFilter(userIds) },\n };\n }\n\n if (creatorId) {\n filters = { ...filters, creatorId: creatorId };\n }\n\n if (creatorIds) {\n filters = {\n ...filters,\n creatorId: { $in: ensureArrayQueryFilter(creatorIds) },\n };\n }\n\n if (title) {\n filters = { ...filters, title: new RegExp(title, 'i') };\n }\n\n if (description) {\n filters = { ...filters, description: new RegExp(description, 'i') };\n }\n\n if (key) {\n filters = { ...filters, key: new RegExp(key, 'i') };\n }\n\n if (search) {\n const searchRegex = new RegExp(search, 'i');\n filters = {\n ...filters,\n $or: [\n { key: searchRegex },\n { title: searchRegex },\n { description: searchRegex },\n { tags: { $in: [searchRegex] } },\n ],\n };\n }\n\n if (keys) {\n filters = { ...filters, key: { $in: ensureArrayQueryFilter(keys) } };\n }\n\n if (tags) {\n filters = { ...filters, tags: { $in: ensureArrayQueryFilter(tags) } };\n }\n\n if (version) {\n filters = { ...filters, content: { [version]: `$content.${version}` } };\n }\n\n if (sortBy && sortOrder && (sortOrder === 'asc' || sortOrder === 'desc')) {\n sortOptions = { [sortBy]: sortOrder === 'asc' ? 1 : -1 };\n }\n\n return { filters, sortOptions, ...pagination };\n};\n"],"mappings":";;;;;;;;;AAyCA,MAAa,qCACX,KACA,QACG;CACH,MAAM,EAAE,SAAS,gBAAgB,GAAG,eAClC,gCAAyD,IAAI;CAC/D,MAAM,EAAE,OAAO,YAAY,IAAI;CAE/B,IAAIA,UAA6B,EAAE;CACnC,IAAIC,cAAsC,EAAE,WAAW,IAAI;CAE3D,MAAM,EACJ,KACA,QACA,MACA,MACA,KACA,WACA,YACA,QACA,SACA,WACA,YACA,OACA,aACA,SACA,QACA,WACA,aACE,kBAAkB,EAAE;AAExB,KAAI,IACF,WAAU;EAAE,GAAG;EAAS,KAAK,EAAE,KAAK,uBAAuB,IAAI,EAAE;EAAE;AAGrE,KAAI,UACF,WAAU;EAAE,GAAG;EAAS,YAAY;EAAW;AAGjD,KAAI,WACF,WAAU;EACR,GAAG;EACH,YAAY,EAAE,KAAK,uBAAuB,WAAW,EAAE;EACxD;AAGH,KAAI,EAAE,MAAM,SAAS,QAAQ,IAAI,aAAa,QAC5C,WAAU;EAAE,GAAG;EAAS,YAAY,EAAE,KAAK,SAAS,IAAI;EAAE;AAG5D,KAAI,OACF,WAAU;EAAE,GAAG;EAAS,WAAW;EAAQ;AAG7C,KAAI,QACF,WAAU;EACR,GAAG;EACH,WAAW,EAAE,KAAK,uBAAuB,QAAQ,EAAE;EACpD;AAGH,KAAI,UACF,WAAU;EAAE,GAAG;EAAoB;EAAW;AAGhD,KAAI,WACF,WAAU;EACR,GAAG;EACH,WAAW,EAAE,KAAK,uBAAuB,WAAW,EAAE;EACvD;AAGH,KAAI,MACF,WAAU;EAAE,GAAG;EAAS,OAAO,IAAI,OAAO,OAAO,IAAI;EAAE;AAGzD,KAAI,YACF,WAAU;EAAE,GAAG;EAAS,aAAa,IAAI,OAAO,aAAa,IAAI;EAAE;AAGrE,KAAI,IACF,WAAU;EAAE,GAAG;EAAS,KAAK,IAAI,OAAO,KAAK,IAAI;EAAE;AAGrD,KAAI,QAAQ;EACV,MAAM,cAAc,IAAI,OAAO,QAAQ,IAAI;AAC3C,YAAU;GACR,GAAG;GACH,KAAK;IACH,EAAE,KAAK,aAAa;IACpB,EAAE,OAAO,aAAa;IACtB,EAAE,aAAa,aAAa;IAC5B,EAAE,MAAM,EAAE,KAAK,CAAC,YAAY,EAAE,EAAE;IACjC;GACF;;AAGH,KAAI,KACF,WAAU;EAAE,GAAG;EAAS,KAAK,EAAE,KAAK,uBAAuB,KAAK,EAAE;EAAE;AAGtE,KAAI,KACF,WAAU;EAAE,GAAG;EAAS,MAAM,EAAE,KAAK,uBAAuB,KAAK,EAAE;EAAE;AAGvE,KAAI,QACF,WAAU;EAAE,GAAG;EAAS,SAAS,GAAG,UAAU,YAAY,WAAW;EAAE;AAGzE,KAAI,UAAU,cAAc,cAAc,SAAS,cAAc,QAC/D,eAAc,GAAG,SAAS,cAAc,QAAQ,IAAI,IAAI;AAG1D,QAAO;EAAE;EAAS;EAAa,GAAG;EAAY"}
@@ -7,7 +7,7 @@ import { getFiltersAndPaginationFromBody } from "./getFiltersAndPaginationFromBo
7
7
  * Enforces that non-admin users can only see their own discussions.
8
8
  */
9
9
  const getDiscussionFiltersAndPagination = (req, res) => {
10
- const { filters: filtersRequest,...pagination } = getFiltersAndPaginationFromBody(req);
10
+ const { filters: filtersRequest, ...pagination } = getFiltersAndPaginationFromBody(req);
11
11
  const { roles, user } = res.locals;
12
12
  let filters = {};
13
13
  let sortOptions = { updatedAt: -1 };
@@ -1 +1 @@
1
- {"version":3,"file":"getDiscussionFiltersAndPagination.mjs","names":["filters: DiscussionFilters","sortOptions: Record<string, 1 | -1>"],"sources":["../../../../src/utils/filtersAndPagination/getDiscussionFiltersAndPagination.ts"],"sourcesContent":["import type { ResponseWithSession } from '@middlewares/sessionAuth.middleware';\nimport { ensureArrayQueryFilter } from '@utils/ensureArrayQueryFilter';\nimport type { Request } from 'express';\nimport type { RootFilterQuery } from 'mongoose';\nimport type { Discussion } from '@/types/discussion.types';\nimport {\n type FiltersAndPagination,\n getFiltersAndPaginationFromBody,\n} from './getFiltersAndPaginationFromBody';\n\nexport type DiscussionFiltersParams = {\n ids?: string | string[];\n userId?: string;\n userIds?: string[];\n discussionId?: string;\n search?: string;\n isArchived?: 'true' | 'false';\n sortBy?: string;\n sortOrder?: string;\n /**\n * For admin users only: if true, will not restrict to current user\n */\n fetchAll?: 'true' | 'false';\n};\nexport type DiscussionFilters = RootFilterQuery<Discussion>;\n\n/**\n * Extracts filters and pagination information for discussions.\n * Enforces that non-admin users can only see their own discussions.\n */\nexport const getDiscussionFiltersAndPagination = (\n req: Request<FiltersAndPagination<DiscussionFiltersParams>>,\n res: ResponseWithSession\n) => {\n const { filters: filtersRequest, ...pagination } =\n getFiltersAndPaginationFromBody<DiscussionFiltersParams>(req);\n const { roles, user } = res.locals;\n\n let filters: DiscussionFilters = {};\n let sortOptions: Record<string, 1 | -1> = { updatedAt: -1 };\n\n const {\n ids,\n userId,\n userIds,\n discussionId,\n search,\n isArchived,\n sortBy,\n sortOrder,\n fetchAll,\n } = filtersRequest ?? {};\n\n if (ids) {\n filters = { ...filters, _id: { $in: ensureArrayQueryFilter(ids) } };\n }\n\n if (discussionId) {\n filters = { ...filters, discussionId };\n }\n\n if (typeof isArchived !== 'undefined') {\n filters = { ...filters, isArchived: isArchived === 'true' };\n }\n\n if (userId) {\n filters = { ...filters, userId: userId };\n }\n\n if (userIds) {\n filters = { ...filters, userId: { $in: ensureArrayQueryFilter(userIds) } };\n }\n\n if (search) {\n const searchRegex = new RegExp(search, 'i');\n filters = {\n ...filters,\n $or: [\n { discussionId: searchRegex },\n { title: searchRegex },\n // search within messages content\n { 'messages.content': searchRegex },\n ],\n } as DiscussionFilters;\n }\n\n if (sortBy && sortOrder && (sortOrder === 'asc' || sortOrder === 'desc')) {\n sortOptions = { [sortBy]: sortOrder === 'asc' ? 1 : -1 };\n }\n\n // Enforce user scope for non-admins\n const isAdmin = roles.includes('admin');\n if (!isAdmin && user?.id) {\n filters = { ...filters, userId: user.id };\n } else if (isAdmin && fetchAll !== 'true' && user?.id) {\n // by default, even admins see their own discussions unless fetchAll=true\n filters = { ...filters, userId: user.id };\n }\n\n return { filters, sortOptions, ...pagination };\n};\n"],"mappings":";;;;;;;;AA8BA,MAAa,qCACX,KACA,QACG;CACH,MAAM,EAAE,SAAS,eAAgB,GAAG,eAClC,gCAAyD,IAAI;CAC/D,MAAM,EAAE,OAAO,SAAS,IAAI;CAE5B,IAAIA,UAA6B,EAAE;CACnC,IAAIC,cAAsC,EAAE,WAAW,IAAI;CAE3D,MAAM,EACJ,KACA,QACA,SACA,cACA,QACA,YACA,QACA,WACA,aACE,kBAAkB,EAAE;AAExB,KAAI,IACF,WAAU;EAAE,GAAG;EAAS,KAAK,EAAE,KAAK,uBAAuB,IAAI,EAAE;EAAE;AAGrE,KAAI,aACF,WAAU;EAAE,GAAG;EAAS;EAAc;AAGxC,KAAI,OAAO,eAAe,YACxB,WAAU;EAAE,GAAG;EAAS,YAAY,eAAe;EAAQ;AAG7D,KAAI,OACF,WAAU;EAAE,GAAG;EAAiB;EAAQ;AAG1C,KAAI,QACF,WAAU;EAAE,GAAG;EAAS,QAAQ,EAAE,KAAK,uBAAuB,QAAQ,EAAE;EAAE;AAG5E,KAAI,QAAQ;EACV,MAAM,cAAc,IAAI,OAAO,QAAQ,IAAI;AAC3C,YAAU;GACR,GAAG;GACH,KAAK;IACH,EAAE,cAAc,aAAa;IAC7B,EAAE,OAAO,aAAa;IAEtB,EAAE,oBAAoB,aAAa;IACpC;GACF;;AAGH,KAAI,UAAU,cAAc,cAAc,SAAS,cAAc,QAC/D,eAAc,GAAG,SAAS,cAAc,QAAQ,IAAI,IAAI;CAI1D,MAAM,UAAU,MAAM,SAAS,QAAQ;AACvC,KAAI,CAAC,WAAW,MAAM,GACpB,WAAU;EAAE,GAAG;EAAS,QAAQ,KAAK;EAAI;UAChC,WAAW,aAAa,UAAU,MAAM,GAEjD,WAAU;EAAE,GAAG;EAAS,QAAQ,KAAK;EAAI;AAG3C,QAAO;EAAE;EAAS;EAAa,GAAG;EAAY"}
1
+ {"version":3,"file":"getDiscussionFiltersAndPagination.mjs","names":["filters: DiscussionFilters","sortOptions: Record<string, 1 | -1>"],"sources":["../../../../src/utils/filtersAndPagination/getDiscussionFiltersAndPagination.ts"],"sourcesContent":["import type { ResponseWithSession } from '@middlewares/sessionAuth.middleware';\nimport { ensureArrayQueryFilter } from '@utils/ensureArrayQueryFilter';\nimport type { Request } from 'express';\nimport type { RootFilterQuery } from 'mongoose';\nimport type { Discussion } from '@/types/discussion.types';\nimport {\n type FiltersAndPagination,\n getFiltersAndPaginationFromBody,\n} from './getFiltersAndPaginationFromBody';\n\nexport type DiscussionFiltersParams = {\n ids?: string | string[];\n userId?: string;\n userIds?: string[];\n discussionId?: string;\n search?: string;\n isArchived?: 'true' | 'false';\n sortBy?: string;\n sortOrder?: string;\n /**\n * For admin users only: if true, will not restrict to current user\n */\n fetchAll?: 'true' | 'false';\n};\nexport type DiscussionFilters = RootFilterQuery<Discussion>;\n\n/**\n * Extracts filters and pagination information for discussions.\n * Enforces that non-admin users can only see their own discussions.\n */\nexport const getDiscussionFiltersAndPagination = (\n req: Request<FiltersAndPagination<DiscussionFiltersParams>>,\n res: ResponseWithSession\n) => {\n const { filters: filtersRequest, ...pagination } =\n getFiltersAndPaginationFromBody<DiscussionFiltersParams>(req);\n const { roles, user } = res.locals;\n\n let filters: DiscussionFilters = {};\n let sortOptions: Record<string, 1 | -1> = { updatedAt: -1 };\n\n const {\n ids,\n userId,\n userIds,\n discussionId,\n search,\n isArchived,\n sortBy,\n sortOrder,\n fetchAll,\n } = filtersRequest ?? {};\n\n if (ids) {\n filters = { ...filters, _id: { $in: ensureArrayQueryFilter(ids) } };\n }\n\n if (discussionId) {\n filters = { ...filters, discussionId };\n }\n\n if (typeof isArchived !== 'undefined') {\n filters = { ...filters, isArchived: isArchived === 'true' };\n }\n\n if (userId) {\n filters = { ...filters, userId: userId };\n }\n\n if (userIds) {\n filters = { ...filters, userId: { $in: ensureArrayQueryFilter(userIds) } };\n }\n\n if (search) {\n const searchRegex = new RegExp(search, 'i');\n filters = {\n ...filters,\n $or: [\n { discussionId: searchRegex },\n { title: searchRegex },\n // search within messages content\n { 'messages.content': searchRegex },\n ],\n } as DiscussionFilters;\n }\n\n if (sortBy && sortOrder && (sortOrder === 'asc' || sortOrder === 'desc')) {\n sortOptions = { [sortBy]: sortOrder === 'asc' ? 1 : -1 };\n }\n\n // Enforce user scope for non-admins\n const isAdmin = roles.includes('admin');\n if (!isAdmin && user?.id) {\n filters = { ...filters, userId: user.id };\n } else if (isAdmin && fetchAll !== 'true' && user?.id) {\n // by default, even admins see their own discussions unless fetchAll=true\n filters = { ...filters, userId: user.id };\n }\n\n return { filters, sortOptions, ...pagination };\n};\n"],"mappings":";;;;;;;;AA8BA,MAAa,qCACX,KACA,QACG;CACH,MAAM,EAAE,SAAS,gBAAgB,GAAG,eAClC,gCAAyD,IAAI;CAC/D,MAAM,EAAE,OAAO,SAAS,IAAI;CAE5B,IAAIA,UAA6B,EAAE;CACnC,IAAIC,cAAsC,EAAE,WAAW,IAAI;CAE3D,MAAM,EACJ,KACA,QACA,SACA,cACA,QACA,YACA,QACA,WACA,aACE,kBAAkB,EAAE;AAExB,KAAI,IACF,WAAU;EAAE,GAAG;EAAS,KAAK,EAAE,KAAK,uBAAuB,IAAI,EAAE;EAAE;AAGrE,KAAI,aACF,WAAU;EAAE,GAAG;EAAS;EAAc;AAGxC,KAAI,OAAO,eAAe,YACxB,WAAU;EAAE,GAAG;EAAS,YAAY,eAAe;EAAQ;AAG7D,KAAI,OACF,WAAU;EAAE,GAAG;EAAiB;EAAQ;AAG1C,KAAI,QACF,WAAU;EAAE,GAAG;EAAS,QAAQ,EAAE,KAAK,uBAAuB,QAAQ,EAAE;EAAE;AAG5E,KAAI,QAAQ;EACV,MAAM,cAAc,IAAI,OAAO,QAAQ,IAAI;AAC3C,YAAU;GACR,GAAG;GACH,KAAK;IACH,EAAE,cAAc,aAAa;IAC7B,EAAE,OAAO,aAAa;IAEtB,EAAE,oBAAoB,aAAa;IACpC;GACF;;AAGH,KAAI,UAAU,cAAc,cAAc,SAAS,cAAc,QAC/D,eAAc,GAAG,SAAS,cAAc,QAAQ,IAAI,IAAI;CAI1D,MAAM,UAAU,MAAM,SAAS,QAAQ;AACvC,KAAI,CAAC,WAAW,MAAM,GACpB,WAAU;EAAE,GAAG;EAAS,QAAQ,KAAK;EAAI;UAChC,WAAW,aAAa,UAAU,MAAM,GAEjD,WAAU;EAAE,GAAG;EAAS,QAAQ,KAAK;EAAI;AAG3C,QAAO;EAAE;EAAS;EAAa,GAAG;EAAY"}
@@ -12,7 +12,7 @@ const getFiltersAndPaginationFromBody = (req) => {
12
12
  let page = DEFAULT_PAGE;
13
13
  const query = req.query;
14
14
  if (typeof query === "object") {
15
- const { pageSize: pageSizeRequest, page: pageRequest,...filtersRequest } = query;
15
+ const { pageSize: pageSizeRequest, page: pageRequest, ...filtersRequest } = query;
16
16
  if (typeof pageSizeRequest === "string") pageSize = parseInt(pageSizeRequest, 10);
17
17
  else if (typeof pageSizeRequest === "number") pageSize = pageSizeRequest;
18
18
  if (typeof pageRequest === "string") page = parseInt(pageRequest, 10);
@@ -1 +1 @@
1
- {"version":3,"file":"getFiltersAndPaginationFromBody.mjs","names":[],"sources":["../../../../src/utils/filtersAndPagination/getFiltersAndPaginationFromBody.ts"],"sourcesContent":["import type { Request } from 'express';\nimport type { ObjectId } from 'mongoose';\n\nconst DEFAULT_PAGE_SIZE = 1000;\nconst DEFAULT_PAGE = 1;\n\ntype Filters = Record<string, string | string[] | ObjectId | ObjectId[]>;\n\nexport type FiltersAndPagination<T extends Filters> =\n | ({\n page?: string | number;\n pageSize?: string | number;\n } & T)\n | undefined;\n\nexport type FiltersAndPaginationResult<T extends Filters> = {\n filters: T;\n page: number;\n skip: number;\n pageSize: number;\n getNumberOfPages: (totalItems: number) => number;\n};\n\n/**\n * Extracts filters and pagination information from the request body.\n * @param req - Express request object.\n * @returns Object containing filters, page, pageSize, and getNumberOfPages functions.\n */\nexport const getFiltersAndPaginationFromBody = <T extends Filters>(\n req: Request<FiltersAndPagination<T>>\n): FiltersAndPaginationResult<T> => {\n let filters = {} as T;\n let pageSize = DEFAULT_PAGE_SIZE;\n let page = DEFAULT_PAGE;\n\n const query = req.query as unknown as FiltersAndPagination<T>;\n\n if (typeof query === 'object') {\n const {\n pageSize: pageSizeRequest,\n page: pageRequest,\n ...filtersRequest\n } = query;\n\n if (typeof pageSizeRequest === 'string') {\n pageSize = parseInt(pageSizeRequest, 10);\n } else if (typeof pageSizeRequest === 'number') {\n pageSize = pageSizeRequest;\n }\n\n if (typeof pageRequest === 'string') {\n page = parseInt(pageRequest, 10);\n } else if (typeof pageRequest === 'number') {\n page = pageRequest;\n }\n\n if (filtersRequest && Object.keys(filtersRequest).length > 0) {\n filters = filtersRequest as T;\n }\n }\n\n const skip = (page - 1) * pageSize;\n\n const getNumberOfPages = (totalItems: number) =>\n Math.ceil(totalItems / pageSize);\n\n return {\n filters,\n skip,\n page,\n pageSize,\n getNumberOfPages,\n };\n};\n"],"mappings":";AAGA,MAAM,oBAAoB;AAC1B,MAAM,eAAe;;;;;;AAwBrB,MAAa,mCACX,QACkC;CAClC,IAAI,UAAU,EAAE;CAChB,IAAI,WAAW;CACf,IAAI,OAAO;CAEX,MAAM,QAAQ,IAAI;AAElB,KAAI,OAAO,UAAU,UAAU;EAC7B,MAAM,EACJ,UAAU,iBACV,MAAM,YACN,GAAG,mBACD;AAEJ,MAAI,OAAO,oBAAoB,SAC7B,YAAW,SAAS,iBAAiB,GAAG;WAC/B,OAAO,oBAAoB,SACpC,YAAW;AAGb,MAAI,OAAO,gBAAgB,SACzB,QAAO,SAAS,aAAa,GAAG;WACvB,OAAO,gBAAgB,SAChC,QAAO;AAGT,MAAI,kBAAkB,OAAO,KAAK,eAAe,CAAC,SAAS,EACzD,WAAU;;CAId,MAAM,QAAQ,OAAO,KAAK;CAE1B,MAAM,oBAAoB,eACxB,KAAK,KAAK,aAAa,SAAS;AAElC,QAAO;EACL;EACA;EACA;EACA;EACA;EACD"}
1
+ {"version":3,"file":"getFiltersAndPaginationFromBody.mjs","names":[],"sources":["../../../../src/utils/filtersAndPagination/getFiltersAndPaginationFromBody.ts"],"sourcesContent":["import type { Request } from 'express';\nimport type { ObjectId } from 'mongoose';\n\nconst DEFAULT_PAGE_SIZE = 1000;\nconst DEFAULT_PAGE = 1;\n\ntype Filters = Record<string, string | string[] | ObjectId | ObjectId[]>;\n\nexport type FiltersAndPagination<T extends Filters> =\n | ({\n page?: string | number;\n pageSize?: string | number;\n } & T)\n | undefined;\n\nexport type FiltersAndPaginationResult<T extends Filters> = {\n filters: T;\n page: number;\n skip: number;\n pageSize: number;\n getNumberOfPages: (totalItems: number) => number;\n};\n\n/**\n * Extracts filters and pagination information from the request body.\n * @param req - Express request object.\n * @returns Object containing filters, page, pageSize, and getNumberOfPages functions.\n */\nexport const getFiltersAndPaginationFromBody = <T extends Filters>(\n req: Request<FiltersAndPagination<T>>\n): FiltersAndPaginationResult<T> => {\n let filters = {} as T;\n let pageSize = DEFAULT_PAGE_SIZE;\n let page = DEFAULT_PAGE;\n\n const query = req.query as unknown as FiltersAndPagination<T>;\n\n if (typeof query === 'object') {\n const {\n pageSize: pageSizeRequest,\n page: pageRequest,\n ...filtersRequest\n } = query;\n\n if (typeof pageSizeRequest === 'string') {\n pageSize = parseInt(pageSizeRequest, 10);\n } else if (typeof pageSizeRequest === 'number') {\n pageSize = pageSizeRequest;\n }\n\n if (typeof pageRequest === 'string') {\n page = parseInt(pageRequest, 10);\n } else if (typeof pageRequest === 'number') {\n page = pageRequest;\n }\n\n if (filtersRequest && Object.keys(filtersRequest).length > 0) {\n filters = filtersRequest as T;\n }\n }\n\n const skip = (page - 1) * pageSize;\n\n const getNumberOfPages = (totalItems: number) =>\n Math.ceil(totalItems / pageSize);\n\n return {\n filters,\n skip,\n page,\n pageSize,\n getNumberOfPages,\n };\n};\n"],"mappings":";AAGA,MAAM,oBAAoB;AAC1B,MAAM,eAAe;;;;;;AAwBrB,MAAa,mCACX,QACkC;CAClC,IAAI,UAAU,EAAE;CAChB,IAAI,WAAW;CACf,IAAI,OAAO;CAEX,MAAM,QAAQ,IAAI;AAElB,KAAI,OAAO,UAAU,UAAU;EAC7B,MAAM,EACJ,UAAU,iBACV,MAAM,aACN,GAAG,mBACD;AAEJ,MAAI,OAAO,oBAAoB,SAC7B,YAAW,SAAS,iBAAiB,GAAG;WAC/B,OAAO,oBAAoB,SACpC,YAAW;AAGb,MAAI,OAAO,gBAAgB,SACzB,QAAO,SAAS,aAAa,GAAG;WACvB,OAAO,gBAAgB,SAChC,QAAO;AAGT,MAAI,kBAAkB,OAAO,KAAK,eAAe,CAAC,SAAS,EACzD,WAAU;;CAId,MAAM,QAAQ,OAAO,KAAK;CAE1B,MAAM,oBAAoB,eACxB,KAAK,KAAK,aAAa,SAAS;AAElC,QAAO;EACL;EACA;EACA;EACA;EACA;EACD"}
@@ -8,7 +8,7 @@ import { getFiltersAndPaginationFromBody } from "./getFiltersAndPaginationFromBo
8
8
  * @returns Object containing filters, page, pageSize, and getNumberOfPages functions.
9
9
  */
10
10
  const getOrganizationFiltersAndPagination = (req, res) => {
11
- const { filters: filtersRequest,...pagination } = getFiltersAndPaginationFromBody(req);
11
+ const { filters: filtersRequest, ...pagination } = getFiltersAndPaginationFromBody(req);
12
12
  const { roles, user } = res.locals;
13
13
  let filters = {};
14
14
  let sortOptions = { updatedAt: -1 };
@@ -1 +1 @@
1
- {"version":3,"file":"getOrganizationFiltersAndPagination.mjs","names":["filters: OrganizationFilters","sortOptions: Record<string, 1 | -1>"],"sources":["../../../../src/utils/filtersAndPagination/getOrganizationFiltersAndPagination.ts"],"sourcesContent":["import type { ResponseWithSession } from '@middlewares/sessionAuth.middleware';\nimport { ensureArrayQueryFilter } from '@utils/ensureArrayQueryFilter';\nimport type { Request } from 'express';\nimport type { RootFilterQuery } from 'mongoose';\nimport type { Organization } from '@/types/organization.types';\nimport {\n type FiltersAndPagination,\n getFiltersAndPaginationFromBody,\n} from './getFiltersAndPaginationFromBody';\n\nexport type OrganizationFiltersParams = {\n /**\n * Comma separated list of ids\n *\n * ```\n * GET /organizations?ids=5f8d9f1d8a1e4f0e8c0c,5f8d9f1d8a1e4f0e8d1\n * -> ids: \"5f8d9f1d8a1e4f0e8c0c,5f8d9f1d8a1e4f0e8d1\"\n * ```\n */\n ids?: string | string[];\n name?: string;\n search?: string;\n membersIds?: string[];\n sortBy?: string;\n sortOrder?: string;\n /**\n * For admin users, if true, will fetch all organizations without filtering by members\n */\n fetchAll?: 'true' | 'false';\n};\nexport type OrganizationFilters = RootFilterQuery<Organization>;\n\n/**\n * Extracts filters and pagination information from the request body.\n * @param req - Express request object.\n * @returns Object containing filters, page, pageSize, and getNumberOfPages functions.\n */\nexport const getOrganizationFiltersAndPagination = (\n req: Request<FiltersAndPagination<OrganizationFiltersParams>>,\n res: ResponseWithSession\n) => {\n const { filters: filtersRequest, ...pagination } =\n getFiltersAndPaginationFromBody<OrganizationFiltersParams>(req);\n const { roles, user } = res.locals;\n\n let filters: OrganizationFilters = {};\n let sortOptions: Record<string, 1 | -1> = { updatedAt: -1 };\n\n const { name, search, ids, membersIds, fetchAll, sortBy, sortOrder } =\n filtersRequest ?? {};\n\n if (ids) {\n filters = { ...filters, _id: { $in: ensureArrayQueryFilter(ids) } };\n }\n\n // Non-admins can only see organizations they are members of\n if (!(roles.includes('admin') && fetchAll === 'true')) {\n filters = { ...filters, membersIds: { $in: [user?.id] } };\n }\n\n if (name) {\n filters = { ...filters, name: new RegExp(name, 'i') };\n }\n\n if (search) {\n const searchRegex = new RegExp(search, 'i');\n filters = { ...filters, $or: [{ name: searchRegex }] };\n }\n\n if (membersIds) {\n filters = {\n ...filters,\n membersIds: { $in: ensureArrayQueryFilter(membersIds) },\n };\n }\n\n if (sortBy && sortOrder && (sortOrder === 'asc' || sortOrder === 'desc')) {\n sortOptions = { [sortBy]: sortOrder === 'asc' ? 1 : -1 };\n }\n\n return { filters, sortOptions, ...pagination };\n};\n"],"mappings":";;;;;;;;;AAqCA,MAAa,uCACX,KACA,QACG;CACH,MAAM,EAAE,SAAS,eAAgB,GAAG,eAClC,gCAA2D,IAAI;CACjE,MAAM,EAAE,OAAO,SAAS,IAAI;CAE5B,IAAIA,UAA+B,EAAE;CACrC,IAAIC,cAAsC,EAAE,WAAW,IAAI;CAE3D,MAAM,EAAE,MAAM,QAAQ,KAAK,YAAY,UAAU,QAAQ,cACvD,kBAAkB,EAAE;AAEtB,KAAI,IACF,WAAU;EAAE,GAAG;EAAS,KAAK,EAAE,KAAK,uBAAuB,IAAI,EAAE;EAAE;AAIrE,KAAI,EAAE,MAAM,SAAS,QAAQ,IAAI,aAAa,QAC5C,WAAU;EAAE,GAAG;EAAS,YAAY,EAAE,KAAK,CAAC,MAAM,GAAG,EAAE;EAAE;AAG3D,KAAI,KACF,WAAU;EAAE,GAAG;EAAS,MAAM,IAAI,OAAO,MAAM,IAAI;EAAE;AAGvD,KAAI,QAAQ;EACV,MAAM,cAAc,IAAI,OAAO,QAAQ,IAAI;AAC3C,YAAU;GAAE,GAAG;GAAS,KAAK,CAAC,EAAE,MAAM,aAAa,CAAC;GAAE;;AAGxD,KAAI,WACF,WAAU;EACR,GAAG;EACH,YAAY,EAAE,KAAK,uBAAuB,WAAW,EAAE;EACxD;AAGH,KAAI,UAAU,cAAc,cAAc,SAAS,cAAc,QAC/D,eAAc,GAAG,SAAS,cAAc,QAAQ,IAAI,IAAI;AAG1D,QAAO;EAAE;EAAS;EAAa,GAAG;EAAY"}
1
+ {"version":3,"file":"getOrganizationFiltersAndPagination.mjs","names":["filters: OrganizationFilters","sortOptions: Record<string, 1 | -1>"],"sources":["../../../../src/utils/filtersAndPagination/getOrganizationFiltersAndPagination.ts"],"sourcesContent":["import type { ResponseWithSession } from '@middlewares/sessionAuth.middleware';\nimport { ensureArrayQueryFilter } from '@utils/ensureArrayQueryFilter';\nimport type { Request } from 'express';\nimport type { RootFilterQuery } from 'mongoose';\nimport type { Organization } from '@/types/organization.types';\nimport {\n type FiltersAndPagination,\n getFiltersAndPaginationFromBody,\n} from './getFiltersAndPaginationFromBody';\n\nexport type OrganizationFiltersParams = {\n /**\n * Comma separated list of ids\n *\n * ```\n * GET /organizations?ids=5f8d9f1d8a1e4f0e8c0c,5f8d9f1d8a1e4f0e8d1\n * -> ids: \"5f8d9f1d8a1e4f0e8c0c,5f8d9f1d8a1e4f0e8d1\"\n * ```\n */\n ids?: string | string[];\n name?: string;\n search?: string;\n membersIds?: string[];\n sortBy?: string;\n sortOrder?: string;\n /**\n * For admin users, if true, will fetch all organizations without filtering by members\n */\n fetchAll?: 'true' | 'false';\n};\nexport type OrganizationFilters = RootFilterQuery<Organization>;\n\n/**\n * Extracts filters and pagination information from the request body.\n * @param req - Express request object.\n * @returns Object containing filters, page, pageSize, and getNumberOfPages functions.\n */\nexport const getOrganizationFiltersAndPagination = (\n req: Request<FiltersAndPagination<OrganizationFiltersParams>>,\n res: ResponseWithSession\n) => {\n const { filters: filtersRequest, ...pagination } =\n getFiltersAndPaginationFromBody<OrganizationFiltersParams>(req);\n const { roles, user } = res.locals;\n\n let filters: OrganizationFilters = {};\n let sortOptions: Record<string, 1 | -1> = { updatedAt: -1 };\n\n const { name, search, ids, membersIds, fetchAll, sortBy, sortOrder } =\n filtersRequest ?? {};\n\n if (ids) {\n filters = { ...filters, _id: { $in: ensureArrayQueryFilter(ids) } };\n }\n\n // Non-admins can only see organizations they are members of\n if (!(roles.includes('admin') && fetchAll === 'true')) {\n filters = { ...filters, membersIds: { $in: [user?.id] } };\n }\n\n if (name) {\n filters = { ...filters, name: new RegExp(name, 'i') };\n }\n\n if (search) {\n const searchRegex = new RegExp(search, 'i');\n filters = { ...filters, $or: [{ name: searchRegex }] };\n }\n\n if (membersIds) {\n filters = {\n ...filters,\n membersIds: { $in: ensureArrayQueryFilter(membersIds) },\n };\n }\n\n if (sortBy && sortOrder && (sortOrder === 'asc' || sortOrder === 'desc')) {\n sortOptions = { [sortBy]: sortOrder === 'asc' ? 1 : -1 };\n }\n\n return { filters, sortOptions, ...pagination };\n};\n"],"mappings":";;;;;;;;;AAqCA,MAAa,uCACX,KACA,QACG;CACH,MAAM,EAAE,SAAS,gBAAgB,GAAG,eAClC,gCAA2D,IAAI;CACjE,MAAM,EAAE,OAAO,SAAS,IAAI;CAE5B,IAAIA,UAA+B,EAAE;CACrC,IAAIC,cAAsC,EAAE,WAAW,IAAI;CAE3D,MAAM,EAAE,MAAM,QAAQ,KAAK,YAAY,UAAU,QAAQ,cACvD,kBAAkB,EAAE;AAEtB,KAAI,IACF,WAAU;EAAE,GAAG;EAAS,KAAK,EAAE,KAAK,uBAAuB,IAAI,EAAE;EAAE;AAIrE,KAAI,EAAE,MAAM,SAAS,QAAQ,IAAI,aAAa,QAC5C,WAAU;EAAE,GAAG;EAAS,YAAY,EAAE,KAAK,CAAC,MAAM,GAAG,EAAE;EAAE;AAG3D,KAAI,KACF,WAAU;EAAE,GAAG;EAAS,MAAM,IAAI,OAAO,MAAM,IAAI;EAAE;AAGvD,KAAI,QAAQ;EACV,MAAM,cAAc,IAAI,OAAO,QAAQ,IAAI;AAC3C,YAAU;GAAE,GAAG;GAAS,KAAK,CAAC,EAAE,MAAM,aAAa,CAAC;GAAE;;AAGxD,KAAI,WACF,WAAU;EACR,GAAG;EACH,YAAY,EAAE,KAAK,uBAAuB,WAAW,EAAE;EACxD;AAGH,KAAI,UAAU,cAAc,cAAc,SAAS,cAAc,QAC/D,eAAc,GAAG,SAAS,cAAc,QAAQ,IAAI,IAAI;AAG1D,QAAO;EAAE;EAAS;EAAa,GAAG;EAAY"}
@@ -8,7 +8,7 @@ import { getFiltersAndPaginationFromBody } from "./getFiltersAndPaginationFromBo
8
8
  * @returns Object containing filters, page, pageSize, and getNumberOfPages functions.
9
9
  */
10
10
  const getProjectFiltersAndPagination = (req, res) => {
11
- const { filters: filtersRequest,...pagination } = getFiltersAndPaginationFromBody(req);
11
+ const { filters: filtersRequest, ...pagination } = getFiltersAndPaginationFromBody(req);
12
12
  const { roles, organization } = res.locals;
13
13
  let filters = {};
14
14
  let sortOptions = { updatedAt: -1 };
@@ -1 +1 @@
1
- {"version":3,"file":"getProjectFiltersAndPagination.mjs","names":["filters: ProjectFilters","sortOptions: Record<string, 1 | -1>"],"sources":["../../../../src/utils/filtersAndPagination/getProjectFiltersAndPagination.ts"],"sourcesContent":["import type { ResponseWithSession } from '@middlewares/sessionAuth.middleware';\nimport { ensureArrayQueryFilter } from '@utils/ensureArrayQueryFilter';\nimport type { Request } from 'express';\nimport type { RootFilterQuery } from 'mongoose';\nimport type { Project } from '@/types/project.types';\nimport {\n type FiltersAndPagination,\n getFiltersAndPaginationFromBody,\n} from './getFiltersAndPaginationFromBody';\n\nexport type ProjectFiltersParams = {\n ids?: string | string[];\n name?: string;\n search?: string;\n organizationId?: string;\n membersIds?: string[];\n sortBy?: string;\n sortOrder?: string;\n /**\n * For admin users, if true, will fetch all projects without filtering by organization\n */\n fetchAll?: 'true' | 'false';\n};\nexport type ProjectFilters = RootFilterQuery<Project>;\n\n/**\n * Extracts filters and pagination information from the request body.\n * @param req - Express request object.\n * @returns Object containing filters, page, pageSize, and getNumberOfPages functions.\n */\nexport const getProjectFiltersAndPagination = (\n req: Request<FiltersAndPagination<ProjectFiltersParams>>,\n res: ResponseWithSession\n) => {\n const { filters: filtersRequest, ...pagination } =\n getFiltersAndPaginationFromBody<ProjectFiltersParams>(req);\n const { roles, organization } = res.locals;\n\n let filters: ProjectFilters = {};\n let sortOptions: Record<string, 1 | -1> = { updatedAt: -1 };\n\n const {\n name,\n search,\n ids,\n organizationId,\n membersIds,\n sortBy,\n sortOrder,\n fetchAll,\n } = filtersRequest ?? {};\n\n if (ids) {\n filters = { ...filters, _id: { $in: ensureArrayQueryFilter(ids) } };\n }\n\n if (name) {\n filters = { ...filters, name: new RegExp(name, 'i') };\n }\n\n if (search) {\n const searchRegex = new RegExp(search, 'i');\n filters = {\n ...filters,\n $or: [{ name: searchRegex }],\n };\n }\n\n if (organizationId) {\n filters = { ...filters, organizationId };\n }\n\n if (membersIds) {\n filters = {\n ...filters,\n membersIds: { $in: ensureArrayQueryFilter(membersIds) },\n };\n }\n\n if (sortBy && sortOrder && (sortOrder === 'asc' || sortOrder === 'desc')) {\n sortOptions = { [sortBy]: sortOrder === 'asc' ? 1 : -1 };\n }\n\n if (!(roles.includes('admin') && fetchAll === 'true')) {\n filters = { ...filters, organizationId: organization?.id };\n }\n\n return { filters, sortOptions, ...pagination };\n};\n"],"mappings":";;;;;;;;;AA8BA,MAAa,kCACX,KACA,QACG;CACH,MAAM,EAAE,SAAS,eAAgB,GAAG,eAClC,gCAAsD,IAAI;CAC5D,MAAM,EAAE,OAAO,iBAAiB,IAAI;CAEpC,IAAIA,UAA0B,EAAE;CAChC,IAAIC,cAAsC,EAAE,WAAW,IAAI;CAE3D,MAAM,EACJ,MACA,QACA,KACA,gBACA,YACA,QACA,WACA,aACE,kBAAkB,EAAE;AAExB,KAAI,IACF,WAAU;EAAE,GAAG;EAAS,KAAK,EAAE,KAAK,uBAAuB,IAAI,EAAE;EAAE;AAGrE,KAAI,KACF,WAAU;EAAE,GAAG;EAAS,MAAM,IAAI,OAAO,MAAM,IAAI;EAAE;AAGvD,KAAI,QAAQ;EACV,MAAM,cAAc,IAAI,OAAO,QAAQ,IAAI;AAC3C,YAAU;GACR,GAAG;GACH,KAAK,CAAC,EAAE,MAAM,aAAa,CAAC;GAC7B;;AAGH,KAAI,eACF,WAAU;EAAE,GAAG;EAAS;EAAgB;AAG1C,KAAI,WACF,WAAU;EACR,GAAG;EACH,YAAY,EAAE,KAAK,uBAAuB,WAAW,EAAE;EACxD;AAGH,KAAI,UAAU,cAAc,cAAc,SAAS,cAAc,QAC/D,eAAc,GAAG,SAAS,cAAc,QAAQ,IAAI,IAAI;AAG1D,KAAI,EAAE,MAAM,SAAS,QAAQ,IAAI,aAAa,QAC5C,WAAU;EAAE,GAAG;EAAS,gBAAgB,cAAc;EAAI;AAG5D,QAAO;EAAE;EAAS;EAAa,GAAG;EAAY"}
1
+ {"version":3,"file":"getProjectFiltersAndPagination.mjs","names":["filters: ProjectFilters","sortOptions: Record<string, 1 | -1>"],"sources":["../../../../src/utils/filtersAndPagination/getProjectFiltersAndPagination.ts"],"sourcesContent":["import type { ResponseWithSession } from '@middlewares/sessionAuth.middleware';\nimport { ensureArrayQueryFilter } from '@utils/ensureArrayQueryFilter';\nimport type { Request } from 'express';\nimport type { RootFilterQuery } from 'mongoose';\nimport type { Project } from '@/types/project.types';\nimport {\n type FiltersAndPagination,\n getFiltersAndPaginationFromBody,\n} from './getFiltersAndPaginationFromBody';\n\nexport type ProjectFiltersParams = {\n ids?: string | string[];\n name?: string;\n search?: string;\n organizationId?: string;\n membersIds?: string[];\n sortBy?: string;\n sortOrder?: string;\n /**\n * For admin users, if true, will fetch all projects without filtering by organization\n */\n fetchAll?: 'true' | 'false';\n};\nexport type ProjectFilters = RootFilterQuery<Project>;\n\n/**\n * Extracts filters and pagination information from the request body.\n * @param req - Express request object.\n * @returns Object containing filters, page, pageSize, and getNumberOfPages functions.\n */\nexport const getProjectFiltersAndPagination = (\n req: Request<FiltersAndPagination<ProjectFiltersParams>>,\n res: ResponseWithSession\n) => {\n const { filters: filtersRequest, ...pagination } =\n getFiltersAndPaginationFromBody<ProjectFiltersParams>(req);\n const { roles, organization } = res.locals;\n\n let filters: ProjectFilters = {};\n let sortOptions: Record<string, 1 | -1> = { updatedAt: -1 };\n\n const {\n name,\n search,\n ids,\n organizationId,\n membersIds,\n sortBy,\n sortOrder,\n fetchAll,\n } = filtersRequest ?? {};\n\n if (ids) {\n filters = { ...filters, _id: { $in: ensureArrayQueryFilter(ids) } };\n }\n\n if (name) {\n filters = { ...filters, name: new RegExp(name, 'i') };\n }\n\n if (search) {\n const searchRegex = new RegExp(search, 'i');\n filters = {\n ...filters,\n $or: [{ name: searchRegex }],\n };\n }\n\n if (organizationId) {\n filters = { ...filters, organizationId };\n }\n\n if (membersIds) {\n filters = {\n ...filters,\n membersIds: { $in: ensureArrayQueryFilter(membersIds) },\n };\n }\n\n if (sortBy && sortOrder && (sortOrder === 'asc' || sortOrder === 'desc')) {\n sortOptions = { [sortBy]: sortOrder === 'asc' ? 1 : -1 };\n }\n\n if (!(roles.includes('admin') && fetchAll === 'true')) {\n filters = { ...filters, organizationId: organization?.id };\n }\n\n return { filters, sortOptions, ...pagination };\n};\n"],"mappings":";;;;;;;;;AA8BA,MAAa,kCACX,KACA,QACG;CACH,MAAM,EAAE,SAAS,gBAAgB,GAAG,eAClC,gCAAsD,IAAI;CAC5D,MAAM,EAAE,OAAO,iBAAiB,IAAI;CAEpC,IAAIA,UAA0B,EAAE;CAChC,IAAIC,cAAsC,EAAE,WAAW,IAAI;CAE3D,MAAM,EACJ,MACA,QACA,KACA,gBACA,YACA,QACA,WACA,aACE,kBAAkB,EAAE;AAExB,KAAI,IACF,WAAU;EAAE,GAAG;EAAS,KAAK,EAAE,KAAK,uBAAuB,IAAI,EAAE;EAAE;AAGrE,KAAI,KACF,WAAU;EAAE,GAAG;EAAS,MAAM,IAAI,OAAO,MAAM,IAAI;EAAE;AAGvD,KAAI,QAAQ;EACV,MAAM,cAAc,IAAI,OAAO,QAAQ,IAAI;AAC3C,YAAU;GACR,GAAG;GACH,KAAK,CAAC,EAAE,MAAM,aAAa,CAAC;GAC7B;;AAGH,KAAI,eACF,WAAU;EAAE,GAAG;EAAS;EAAgB;AAG1C,KAAI,WACF,WAAU;EACR,GAAG;EACH,YAAY,EAAE,KAAK,uBAAuB,WAAW,EAAE;EACxD;AAGH,KAAI,UAAU,cAAc,cAAc,SAAS,cAAc,QAC/D,eAAc,GAAG,SAAS,cAAc,QAAQ,IAAI,IAAI;AAG1D,KAAI,EAAE,MAAM,SAAS,QAAQ,IAAI,aAAa,QAC5C,WAAU;EAAE,GAAG;EAAS,gBAAgB,cAAc;EAAI;AAG5D,QAAO;EAAE;EAAS;EAAa,GAAG;EAAY"}
@@ -8,7 +8,7 @@ import { getFiltersAndPaginationFromBody } from "./getFiltersAndPaginationFromBo
8
8
  * @returns Object containing filters, page, pageSize, and getNumberOfPages functions.
9
9
  */
10
10
  const getTagFiltersAndPagination = (req, res) => {
11
- const { filters: filtersRequest,...pagination } = getFiltersAndPaginationFromBody(req);
11
+ const { filters: filtersRequest, ...pagination } = getFiltersAndPaginationFromBody(req);
12
12
  const { roles, organization } = res.locals;
13
13
  let filters = {};
14
14
  const sortOptions = { updatedAt: -1 };
@@ -1 +1 @@
1
- {"version":3,"file":"getTagFiltersAndPagination.mjs","names":["filters: TagFilters","sortOptions: Record<string, 1 | -1>"],"sources":["../../../../src/utils/filtersAndPagination/getTagFiltersAndPagination.ts"],"sourcesContent":["import type { ResponseWithSession } from '@middlewares/sessionAuth.middleware';\nimport { ensureArrayQueryFilter } from '@utils/ensureArrayQueryFilter';\nimport type { Request } from 'express';\nimport type { RootFilterQuery } from 'mongoose';\nimport type { Tag } from '@/types/tag.types';\nimport {\n type FiltersAndPagination,\n getFiltersAndPaginationFromBody,\n} from './getFiltersAndPaginationFromBody';\n\nexport type TagFiltersParams = {\n ids?: string | string[];\n keys?: string | string[];\n name?: string;\n search?: string;\n organizationId?: string;\n /**\n * For admin users, if true, will fetch all tags without filtering by organization\n */\n fetchAll?: 'true' | 'false';\n};\nexport type TagFilters = RootFilterQuery<Tag>;\n\n/**\n * Extracts filters and pagination information from the request body.\n * @param req - Express request object.\n * @returns Object containing filters, page, pageSize, and getNumberOfPages functions.\n */\nexport const getTagFiltersAndPagination = (\n req: Request<FiltersAndPagination<TagFiltersParams>>,\n res: ResponseWithSession\n) => {\n const { filters: filtersRequest, ...pagination } =\n getFiltersAndPaginationFromBody<TagFiltersParams>(req);\n const { roles, organization } = res.locals;\n\n let filters: TagFilters = {};\n const sortOptions: Record<string, 1 | -1> = { updatedAt: -1 };\n\n const { name, search, ids, keys, organizationId, fetchAll } =\n filtersRequest ?? {};\n\n if (ids) {\n filters = { ...filters, _id: { $in: ensureArrayQueryFilter(ids) } };\n }\n\n if (keys) {\n filters = { ...filters, key: { $in: ensureArrayQueryFilter(keys) } };\n }\n\n if (name) {\n filters = { ...filters, name: new RegExp(name, 'i') };\n }\n\n if (search) {\n const searchRegex = new RegExp(search, 'i');\n filters = {\n ...filters,\n $or: [\n { name: searchRegex },\n { key: searchRegex },\n { description: searchRegex },\n { instructions: searchRegex },\n ],\n };\n }\n\n if (organizationId) {\n filters = { ...filters, organizationId };\n }\n\n if (!(roles.includes('admin') && fetchAll === 'true')) {\n filters = { ...filters, organizationId: organization?.id };\n }\n\n return { filters, sortOptions, ...pagination };\n};\n"],"mappings":";;;;;;;;;AA4BA,MAAa,8BACX,KACA,QACG;CACH,MAAM,EAAE,SAAS,eAAgB,GAAG,eAClC,gCAAkD,IAAI;CACxD,MAAM,EAAE,OAAO,iBAAiB,IAAI;CAEpC,IAAIA,UAAsB,EAAE;CAC5B,MAAMC,cAAsC,EAAE,WAAW,IAAI;CAE7D,MAAM,EAAE,MAAM,QAAQ,KAAK,MAAM,gBAAgB,aAC/C,kBAAkB,EAAE;AAEtB,KAAI,IACF,WAAU;EAAE,GAAG;EAAS,KAAK,EAAE,KAAK,uBAAuB,IAAI,EAAE;EAAE;AAGrE,KAAI,KACF,WAAU;EAAE,GAAG;EAAS,KAAK,EAAE,KAAK,uBAAuB,KAAK,EAAE;EAAE;AAGtE,KAAI,KACF,WAAU;EAAE,GAAG;EAAS,MAAM,IAAI,OAAO,MAAM,IAAI;EAAE;AAGvD,KAAI,QAAQ;EACV,MAAM,cAAc,IAAI,OAAO,QAAQ,IAAI;AAC3C,YAAU;GACR,GAAG;GACH,KAAK;IACH,EAAE,MAAM,aAAa;IACrB,EAAE,KAAK,aAAa;IACpB,EAAE,aAAa,aAAa;IAC5B,EAAE,cAAc,aAAa;IAC9B;GACF;;AAGH,KAAI,eACF,WAAU;EAAE,GAAG;EAAS;EAAgB;AAG1C,KAAI,EAAE,MAAM,SAAS,QAAQ,IAAI,aAAa,QAC5C,WAAU;EAAE,GAAG;EAAS,gBAAgB,cAAc;EAAI;AAG5D,QAAO;EAAE;EAAS;EAAa,GAAG;EAAY"}
1
+ {"version":3,"file":"getTagFiltersAndPagination.mjs","names":["filters: TagFilters","sortOptions: Record<string, 1 | -1>"],"sources":["../../../../src/utils/filtersAndPagination/getTagFiltersAndPagination.ts"],"sourcesContent":["import type { ResponseWithSession } from '@middlewares/sessionAuth.middleware';\nimport { ensureArrayQueryFilter } from '@utils/ensureArrayQueryFilter';\nimport type { Request } from 'express';\nimport type { RootFilterQuery } from 'mongoose';\nimport type { Tag } from '@/types/tag.types';\nimport {\n type FiltersAndPagination,\n getFiltersAndPaginationFromBody,\n} from './getFiltersAndPaginationFromBody';\n\nexport type TagFiltersParams = {\n ids?: string | string[];\n keys?: string | string[];\n name?: string;\n search?: string;\n organizationId?: string;\n /**\n * For admin users, if true, will fetch all tags without filtering by organization\n */\n fetchAll?: 'true' | 'false';\n};\nexport type TagFilters = RootFilterQuery<Tag>;\n\n/**\n * Extracts filters and pagination information from the request body.\n * @param req - Express request object.\n * @returns Object containing filters, page, pageSize, and getNumberOfPages functions.\n */\nexport const getTagFiltersAndPagination = (\n req: Request<FiltersAndPagination<TagFiltersParams>>,\n res: ResponseWithSession\n) => {\n const { filters: filtersRequest, ...pagination } =\n getFiltersAndPaginationFromBody<TagFiltersParams>(req);\n const { roles, organization } = res.locals;\n\n let filters: TagFilters = {};\n const sortOptions: Record<string, 1 | -1> = { updatedAt: -1 };\n\n const { name, search, ids, keys, organizationId, fetchAll } =\n filtersRequest ?? {};\n\n if (ids) {\n filters = { ...filters, _id: { $in: ensureArrayQueryFilter(ids) } };\n }\n\n if (keys) {\n filters = { ...filters, key: { $in: ensureArrayQueryFilter(keys) } };\n }\n\n if (name) {\n filters = { ...filters, name: new RegExp(name, 'i') };\n }\n\n if (search) {\n const searchRegex = new RegExp(search, 'i');\n filters = {\n ...filters,\n $or: [\n { name: searchRegex },\n { key: searchRegex },\n { description: searchRegex },\n { instructions: searchRegex },\n ],\n };\n }\n\n if (organizationId) {\n filters = { ...filters, organizationId };\n }\n\n if (!(roles.includes('admin') && fetchAll === 'true')) {\n filters = { ...filters, organizationId: organization?.id };\n }\n\n return { filters, sortOptions, ...pagination };\n};\n"],"mappings":";;;;;;;;;AA4BA,MAAa,8BACX,KACA,QACG;CACH,MAAM,EAAE,SAAS,gBAAgB,GAAG,eAClC,gCAAkD,IAAI;CACxD,MAAM,EAAE,OAAO,iBAAiB,IAAI;CAEpC,IAAIA,UAAsB,EAAE;CAC5B,MAAMC,cAAsC,EAAE,WAAW,IAAI;CAE7D,MAAM,EAAE,MAAM,QAAQ,KAAK,MAAM,gBAAgB,aAC/C,kBAAkB,EAAE;AAEtB,KAAI,IACF,WAAU;EAAE,GAAG;EAAS,KAAK,EAAE,KAAK,uBAAuB,IAAI,EAAE;EAAE;AAGrE,KAAI,KACF,WAAU;EAAE,GAAG;EAAS,KAAK,EAAE,KAAK,uBAAuB,KAAK,EAAE;EAAE;AAGtE,KAAI,KACF,WAAU;EAAE,GAAG;EAAS,MAAM,IAAI,OAAO,MAAM,IAAI;EAAE;AAGvD,KAAI,QAAQ;EACV,MAAM,cAAc,IAAI,OAAO,QAAQ,IAAI;AAC3C,YAAU;GACR,GAAG;GACH,KAAK;IACH,EAAE,MAAM,aAAa;IACrB,EAAE,KAAK,aAAa;IACpB,EAAE,aAAa,aAAa;IAC5B,EAAE,cAAc,aAAa;IAC9B;GACF;;AAGH,KAAI,eACF,WAAU;EAAE,GAAG;EAAS;EAAgB;AAG1C,KAAI,EAAE,MAAM,SAAS,QAAQ,IAAI,aAAa,QAC5C,WAAU;EAAE,GAAG;EAAS,gBAAgB,cAAc;EAAI;AAG5D,QAAO;EAAE;EAAS;EAAa,GAAG;EAAY"}
@@ -8,7 +8,7 @@ import { getFiltersAndPaginationFromBody } from "./getFiltersAndPaginationFromBo
8
8
  * @returns Object containing filters, page, pageSize, and getNumberOfPages functions.
9
9
  */
10
10
  const getUserFiltersAndPagination = (req, res) => {
11
- const { filters: filtersRequest,...pagination } = getFiltersAndPaginationFromBody(req);
11
+ const { filters: filtersRequest, ...pagination } = getFiltersAndPaginationFromBody(req);
12
12
  const { roles, organization } = res.locals;
13
13
  let filters = {};
14
14
  let sortOptions = { updatedAt: -1 };
@@ -1 +1 @@
1
- {"version":3,"file":"getUserFiltersAndPagination.mjs","names":["sortOptions: Record<string, 1 | -1>","secureMembersIds: string[]"],"sources":["../../../../src/utils/filtersAndPagination/getUserFiltersAndPagination.ts"],"sourcesContent":["import type { GetUsersResult } from '@controllers/user.controller';\nimport type { ResponseWithSession } from '@middlewares/sessionAuth.middleware';\nimport { ensureArrayQueryFilter } from '@utils/ensureArrayQueryFilter';\nimport type { Request } from 'express';\nimport type { RootFilterQuery } from 'mongoose';\nimport type { User } from '@/types/user.types';\nimport {\n type FiltersAndPagination,\n getFiltersAndPaginationFromBody,\n} from './getFiltersAndPaginationFromBody';\n\nexport type UserFiltersParam = {\n ids?: string | string[];\n firstName?: string;\n lastName?: string;\n email?: string;\n emailVerified?: string;\n role?: string;\n search?: string;\n sortBy?: string;\n sortOrder?: string;\n /**\n * For admin users, if true, will fetch all users without filtering by organization\n */\n fetchAll?: 'true' | 'false';\n};\nexport type UserFilters = RootFilterQuery<User>;\n\n/**\n * Extracts filters and pagination information from the request body.\n * @param req - Express request object.\n * @returns Object containing filters, page, pageSize, and getNumberOfPages functions.\n */\nexport const getUserFiltersAndPagination = (\n req: Request<FiltersAndPagination<UserFiltersParam>>,\n res: ResponseWithSession<GetUsersResult>\n) => {\n const { filters: filtersRequest, ...pagination } =\n getFiltersAndPaginationFromBody<UserFiltersParam>(req);\n const { roles, organization } = res.locals;\n\n let filters = {};\n let sortOptions: Record<string, 1 | -1> = { updatedAt: -1 };\n\n const {\n firstName,\n lastName,\n email,\n emailVerified,\n role,\n search,\n sortBy,\n sortOrder,\n ids,\n fetchAll,\n } = filtersRequest ?? {};\n\n if (ids) {\n filters = { ...filters, _id: { $in: ensureArrayQueryFilter(ids) } };\n\n if (!(roles.includes('admin') && fetchAll === 'true')) {\n const secureMembersIds: string[] =\n ensureArrayQueryFilter(ids)?.filter((id) =>\n organization?.membersIds?.map(String).includes(id)\n ) ?? [];\n\n filters = {\n ...filters,\n _id: {\n $in: secureMembersIds,\n },\n };\n }\n }\n\n if (firstName) {\n filters = { ...filters, firstName: new RegExp(firstName, 'i') };\n }\n\n if (lastName) {\n filters = { ...filters, lastName: new RegExp(lastName, 'i') };\n }\n\n if (email) {\n filters = { ...filters, email: new RegExp(email, 'i') };\n }\n\n if (emailVerified !== undefined) {\n const isVerified = emailVerified === 'true';\n filters = { ...filters, emailVerified: isVerified };\n }\n\n if (role) {\n filters = { ...filters, role };\n }\n\n if (search) {\n const searchRegex = new RegExp(search, 'i');\n filters = {\n ...filters,\n $or: [\n { firstName: searchRegex },\n { lastName: searchRegex },\n { email: searchRegex },\n { name: searchRegex },\n ],\n };\n }\n\n if (sortBy && sortOrder && (sortOrder === 'asc' || sortOrder === 'desc')) {\n sortOptions = { [sortBy]: sortOrder === 'asc' ? 1 : -1 };\n }\n\n return { filters, sortOptions, ...pagination };\n};\n"],"mappings":";;;;;;;;;AAiCA,MAAa,+BACX,KACA,QACG;CACH,MAAM,EAAE,SAAS,eAAgB,GAAG,eAClC,gCAAkD,IAAI;CACxD,MAAM,EAAE,OAAO,iBAAiB,IAAI;CAEpC,IAAI,UAAU,EAAE;CAChB,IAAIA,cAAsC,EAAE,WAAW,IAAI;CAE3D,MAAM,EACJ,WACA,UACA,OACA,eACA,MACA,QACA,QACA,WACA,KACA,aACE,kBAAkB,EAAE;AAExB,KAAI,KAAK;AACP,YAAU;GAAE,GAAG;GAAS,KAAK,EAAE,KAAK,uBAAuB,IAAI,EAAE;GAAE;AAEnE,MAAI,EAAE,MAAM,SAAS,QAAQ,IAAI,aAAa,SAAS;GACrD,MAAMC,mBACJ,uBAAuB,IAAI,EAAE,QAAQ,OACnC,cAAc,YAAY,IAAI,OAAO,CAAC,SAAS,GAAG,CACnD,IAAI,EAAE;AAET,aAAU;IACR,GAAG;IACH,KAAK,EACH,KAAK,kBACN;IACF;;;AAIL,KAAI,UACF,WAAU;EAAE,GAAG;EAAS,WAAW,IAAI,OAAO,WAAW,IAAI;EAAE;AAGjE,KAAI,SACF,WAAU;EAAE,GAAG;EAAS,UAAU,IAAI,OAAO,UAAU,IAAI;EAAE;AAG/D,KAAI,MACF,WAAU;EAAE,GAAG;EAAS,OAAO,IAAI,OAAO,OAAO,IAAI;EAAE;AAGzD,KAAI,kBAAkB,QAAW;EAC/B,MAAM,aAAa,kBAAkB;AACrC,YAAU;GAAE,GAAG;GAAS,eAAe;GAAY;;AAGrD,KAAI,KACF,WAAU;EAAE,GAAG;EAAS;EAAM;AAGhC,KAAI,QAAQ;EACV,MAAM,cAAc,IAAI,OAAO,QAAQ,IAAI;AAC3C,YAAU;GACR,GAAG;GACH,KAAK;IACH,EAAE,WAAW,aAAa;IAC1B,EAAE,UAAU,aAAa;IACzB,EAAE,OAAO,aAAa;IACtB,EAAE,MAAM,aAAa;IACtB;GACF;;AAGH,KAAI,UAAU,cAAc,cAAc,SAAS,cAAc,QAC/D,eAAc,GAAG,SAAS,cAAc,QAAQ,IAAI,IAAI;AAG1D,QAAO;EAAE;EAAS;EAAa,GAAG;EAAY"}
1
+ {"version":3,"file":"getUserFiltersAndPagination.mjs","names":["sortOptions: Record<string, 1 | -1>","secureMembersIds: string[]"],"sources":["../../../../src/utils/filtersAndPagination/getUserFiltersAndPagination.ts"],"sourcesContent":["import type { GetUsersResult } from '@controllers/user.controller';\nimport type { ResponseWithSession } from '@middlewares/sessionAuth.middleware';\nimport { ensureArrayQueryFilter } from '@utils/ensureArrayQueryFilter';\nimport type { Request } from 'express';\nimport type { RootFilterQuery } from 'mongoose';\nimport type { User } from '@/types/user.types';\nimport {\n type FiltersAndPagination,\n getFiltersAndPaginationFromBody,\n} from './getFiltersAndPaginationFromBody';\n\nexport type UserFiltersParam = {\n ids?: string | string[];\n firstName?: string;\n lastName?: string;\n email?: string;\n emailVerified?: string;\n role?: string;\n search?: string;\n sortBy?: string;\n sortOrder?: string;\n /**\n * For admin users, if true, will fetch all users without filtering by organization\n */\n fetchAll?: 'true' | 'false';\n};\nexport type UserFilters = RootFilterQuery<User>;\n\n/**\n * Extracts filters and pagination information from the request body.\n * @param req - Express request object.\n * @returns Object containing filters, page, pageSize, and getNumberOfPages functions.\n */\nexport const getUserFiltersAndPagination = (\n req: Request<FiltersAndPagination<UserFiltersParam>>,\n res: ResponseWithSession<GetUsersResult>\n) => {\n const { filters: filtersRequest, ...pagination } =\n getFiltersAndPaginationFromBody<UserFiltersParam>(req);\n const { roles, organization } = res.locals;\n\n let filters = {};\n let sortOptions: Record<string, 1 | -1> = { updatedAt: -1 };\n\n const {\n firstName,\n lastName,\n email,\n emailVerified,\n role,\n search,\n sortBy,\n sortOrder,\n ids,\n fetchAll,\n } = filtersRequest ?? {};\n\n if (ids) {\n filters = { ...filters, _id: { $in: ensureArrayQueryFilter(ids) } };\n\n if (!(roles.includes('admin') && fetchAll === 'true')) {\n const secureMembersIds: string[] =\n ensureArrayQueryFilter(ids)?.filter((id) =>\n organization?.membersIds?.map(String).includes(id)\n ) ?? [];\n\n filters = {\n ...filters,\n _id: {\n $in: secureMembersIds,\n },\n };\n }\n }\n\n if (firstName) {\n filters = { ...filters, firstName: new RegExp(firstName, 'i') };\n }\n\n if (lastName) {\n filters = { ...filters, lastName: new RegExp(lastName, 'i') };\n }\n\n if (email) {\n filters = { ...filters, email: new RegExp(email, 'i') };\n }\n\n if (emailVerified !== undefined) {\n const isVerified = emailVerified === 'true';\n filters = { ...filters, emailVerified: isVerified };\n }\n\n if (role) {\n filters = { ...filters, role };\n }\n\n if (search) {\n const searchRegex = new RegExp(search, 'i');\n filters = {\n ...filters,\n $or: [\n { firstName: searchRegex },\n { lastName: searchRegex },\n { email: searchRegex },\n { name: searchRegex },\n ],\n };\n }\n\n if (sortBy && sortOrder && (sortOrder === 'asc' || sortOrder === 'desc')) {\n sortOptions = { [sortBy]: sortOrder === 'asc' ? 1 : -1 };\n }\n\n return { filters, sortOptions, ...pagination };\n};\n"],"mappings":";;;;;;;;;AAiCA,MAAa,+BACX,KACA,QACG;CACH,MAAM,EAAE,SAAS,gBAAgB,GAAG,eAClC,gCAAkD,IAAI;CACxD,MAAM,EAAE,OAAO,iBAAiB,IAAI;CAEpC,IAAI,UAAU,EAAE;CAChB,IAAIA,cAAsC,EAAE,WAAW,IAAI;CAE3D,MAAM,EACJ,WACA,UACA,OACA,eACA,MACA,QACA,QACA,WACA,KACA,aACE,kBAAkB,EAAE;AAExB,KAAI,KAAK;AACP,YAAU;GAAE,GAAG;GAAS,KAAK,EAAE,KAAK,uBAAuB,IAAI,EAAE;GAAE;AAEnE,MAAI,EAAE,MAAM,SAAS,QAAQ,IAAI,aAAa,SAAS;GACrD,MAAMC,mBACJ,uBAAuB,IAAI,EAAE,QAAQ,OACnC,cAAc,YAAY,IAAI,OAAO,CAAC,SAAS,GAAG,CACnD,IAAI,EAAE;AAET,aAAU;IACR,GAAG;IACH,KAAK,EACH,KAAK,kBACN;IACF;;;AAIL,KAAI,UACF,WAAU;EAAE,GAAG;EAAS,WAAW,IAAI,OAAO,WAAW,IAAI;EAAE;AAGjE,KAAI,SACF,WAAU;EAAE,GAAG;EAAS,UAAU,IAAI,OAAO,UAAU,IAAI;EAAE;AAG/D,KAAI,MACF,WAAU;EAAE,GAAG;EAAS,OAAO,IAAI,OAAO,OAAO,IAAI;EAAE;AAGzD,KAAI,kBAAkB,QAAW;EAC/B,MAAM,aAAa,kBAAkB;AACrC,YAAU;GAAE,GAAG;GAAS,eAAe;GAAY;;AAGrD,KAAI,KACF,WAAU;EAAE,GAAG;EAAS;EAAM;AAGhC,KAAI,QAAQ;EACV,MAAM,cAAc,IAAI,OAAO,QAAQ,IAAI;AAC3C,YAAU;GACR,GAAG;GACH,KAAK;IACH,EAAE,WAAW,aAAa;IAC1B,EAAE,UAAU,aAAa;IACzB,EAAE,OAAO,aAAa;IACtB,EAAE,MAAM,aAAa;IACtB;GACF;;AAGH,KAAI,UAAU,cAAc,cAAc,SAAS,cAAc,QAC/D,eAAc,GAAG,SAAS,cAAc,QAAQ,IAAI,IAAI;AAG1D,QAAO;EAAE;EAAS;EAAa,GAAG;EAAY"}
@@ -8,7 +8,7 @@ import { ensureMongoDocumentToObject } from "../ensureMongoDocumentToObject.mjs"
8
8
  */
9
9
  const mapUserToAPI = (user) => {
10
10
  if (!user) return null;
11
- const { provider, session,...userAPI } = ensureMongoDocumentToObject(user);
11
+ const { provider, session, ...userAPI } = ensureMongoDocumentToObject(user);
12
12
  return userAPI;
13
13
  };
14
14
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"user.mjs","names":[],"sources":["../../../../src/utils/mapper/user.ts"],"sourcesContent":["import { ensureMongoDocumentToObject } from '@utils/ensureMongoDocumentToObject';\nimport type { User, UserAPI } from '@/types/user.types';\n\n/**\n * Formats a user for API response. Removes sensitive information and adds role.\n * @param user - The user object to format.\n * @returns The formatted user object.\n */\nexport const mapUserToAPI = <T extends User | UserAPI | null>(\n user?: T\n): T extends null ? null : UserAPI => {\n if (!user) {\n return null as any;\n }\n\n const userObject = ensureMongoDocumentToObject(user);\n\n // biome-ignore lint/correctness/noUnusedVariables: Just filter out provider and session\n const { provider, session, ...userAPI } = userObject as any;\n\n return userAPI as any;\n};\n\n/**\n * Formats an array of users for API response. Removes sensitive information and adds role.\n * @param users - The array of user objects to format.\n * @returns The formatted array of user objects.\n */\nexport const mapUsersToAPI = (users: (User | UserAPI)[]): UserAPI[] =>\n users.map(mapUserToAPI).filter(Boolean) as UserAPI[];\n"],"mappings":";;;;;;;;AAQA,MAAa,gBACX,SACoC;AACpC,KAAI,CAAC,KACH,QAAO;CAMT,MAAM,EAAE,UAAU,QAAS,GAAG,YAHX,4BAA4B,KAAK;AAKpD,QAAO;;;;;;;AAQT,MAAa,iBAAiB,UAC5B,MAAM,IAAI,aAAa,CAAC,OAAO,QAAQ"}
1
+ {"version":3,"file":"user.mjs","names":[],"sources":["../../../../src/utils/mapper/user.ts"],"sourcesContent":["import { ensureMongoDocumentToObject } from '@utils/ensureMongoDocumentToObject';\nimport type { User, UserAPI } from '@/types/user.types';\n\n/**\n * Formats a user for API response. Removes sensitive information and adds role.\n * @param user - The user object to format.\n * @returns The formatted user object.\n */\nexport const mapUserToAPI = <T extends User | UserAPI | null>(\n user?: T\n): T extends null ? null : UserAPI => {\n if (!user) {\n return null as any;\n }\n\n const userObject = ensureMongoDocumentToObject(user);\n\n // biome-ignore lint/correctness/noUnusedVariables: Just filter out provider and session\n const { provider, session, ...userAPI } = userObject as any;\n\n return userAPI as any;\n};\n\n/**\n * Formats an array of users for API response. Removes sensitive information and adds role.\n * @param users - The array of user objects to format.\n * @returns The formatted array of user objects.\n */\nexport const mapUsersToAPI = (users: (User | UserAPI)[]): UserAPI[] =>\n users.map(mapUserToAPI).filter(Boolean) as UserAPI[];\n"],"mappings":";;;;;;;;AAQA,MAAa,gBACX,SACoC;AACpC,KAAI,CAAC,KACH,QAAO;CAMT,MAAM,EAAE,UAAU,SAAS,GAAG,YAHX,4BAA4B,KAAK;AAKpD,QAAO;;;;;;;AAQT,MAAa,iBAAiB,UAC5B,MAAM,IAAI,aAAa,CAAC,OAAO,QAAQ"}
@@ -1 +1 @@
1
- {"version":3,"file":"ai.controller.d.ts","names":[],"sources":["../../../src/controllers/ai.controller.ts"],"sourcesContent":[],"mappings":"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"}
1
+ {"version":3,"file":"ai.controller.d.ts","names":[],"sources":["../../../src/controllers/ai.controller.ts"],"sourcesContent":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"project.controller.d.ts","names":[],"sources":["../../../src/controllers/project.controller.ts"],"sourcesContent":[],"mappings":"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"}
1
+ {"version":3,"file":"project.controller.d.ts","names":[],"sources":["../../../src/controllers/project.controller.ts"],"sourcesContent":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"projectAccessKey.controller.d.ts","names":[],"sources":["../../../src/controllers/projectAccessKey.controller.ts"],"sourcesContent":[],"mappings":";;;;;;KAUY,mBAAA,GAAsB;KACtB,uBAAA,GAA0B,aAAa;AADnD;AACA;AAKA;AACe,cADF,eACE,EAAA,CAAA,GAAA,EAAR,OAAQ,CAAA,mBAAA,CAAA,EAAA,GAAA,EACR,mBADQ,CACY,uBADZ,CAAA,EAAA,KAAA,EAEN,YAFM,EAAA,GAGZ,OAHY,CAAA,IAAA,CAAA;AAAR,KA6EK,mBAAA,GA7EL;EACoB,QAAA,EAAA,MAAA;CAApB;AACE,KA4EG,uBAAA,GAA0B,YA5E7B,CAAA,IAAA,CAAA;;;AA2ET;AACY,cAKC,eALsB,EAAA,CAAA,GAAG,EAM/B,OAN+B,EAAA,GAAY,EAO3C,mBAP2C,CAOvB,uBAPuB,CAAA,EAAA,KAAA,EAQzC,YARyC,EAAA,GAS/C,OAT+C,CAAA,IAAA,CAAA;AAKrC,KAwED,oBAAA,GAFX;EArEM,QAAA,EAAA,MAAA;CACoB;AAApB,KAuEK,wBAAA,GAA2B,YAvEhC,CAuE6C,YAvE7C,CAAA;;;;AAsEK,cAMC,gBANmB,EAAA,CAAA,GAAA,EAOzB,OAPyB,CAOjB,oBAPiB,CAAA,EAAA,GAAA,EAQzB,mBARyB,CAQL,wBARK,CAAA,EAAA,KAAA,EASvB,YATuB,EAAA,GAU7B,OAV6B,CAAA,IAAA,CAAA"}
1
+ {"version":3,"file":"projectAccessKey.controller.d.ts","names":[],"sources":["../../../src/controllers/projectAccessKey.controller.ts"],"sourcesContent":[],"mappings":";;;;;;KAUY,mBAAA,GAAsB;KACtB,uBAAA,GAA0B,aAAa;AADnD;AACA;AAKA;AACe,cADF,eACE,EAAA,CAAA,GAAA,EAAR,OAAQ,CAAA,mBAAA,CAAA,EAAA,GAAA,EACR,mBADQ,CACY,uBADZ,CAAA,EAAA,KAAA,EAEN,YAFM,EAAA,GAGZ,OAHY,CAAA,IAAA,CAAA;AAAR,KA6EK,mBAAA,GA7EL;EACoB,QAAA,EAAA,MAAA;CAApB;AACE,KA4EG,uBAAA,GAA0B,YA5E7B,CAAA,IAAA,CAAA;;;AA2ET;AACY,cAKC,eALsB,EAAA,CAAA,GAAA,EAM5B,OAN+B,EAAA,GAAY,EAO3C,mBAP2C,CAOvB,uBAPuB,CAAA,EAAA,KAAA,EAQzC,YARyC,EAAA,GAS/C,OAT+C,CAAA,IAAA,CAAA;AAKrC,KAwED,oBAAA,GAFX;EArEM,QAAA,EAAA,MAAA;CACoB;AAApB,KAuEK,wBAAA,GAA2B,YAvEhC,CAuE6C,YAvE7C,CAAA;;;;AAsEK,cAMC,gBANmB,EAAA,CAAA,GAAA,EAOzB,OAPyB,CAOjB,oBAPiB,CAAA,EAAA,GAAA,EAQzB,mBARyB,CAQL,wBARK,CAAA,EAAA,KAAA,EASvB,YATuB,EAAA,GAU7B,OAV6B,CAAA,IAAA,CAAA"}