@neohm/nestend 4.1.0 → 5.0.0

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 (1029) hide show
  1. package/README.md +78 -22
  2. package/dist/admin/admin.module.d.ts.map +1 -1
  3. package/dist/admin/admin.module.js +9 -1
  4. package/dist/admin/admin.module.js.map +1 -1
  5. package/dist/admin/controllers/admin.api.key.controller.d.ts +13 -5
  6. package/dist/admin/controllers/admin.api.key.controller.d.ts.map +1 -1
  7. package/dist/admin/controllers/admin.api.key.controller.js +71 -23
  8. package/dist/admin/controllers/admin.api.key.controller.js.map +1 -1
  9. package/dist/admin/controllers/admin.email.template.controller.d.ts +2 -3
  10. package/dist/admin/controllers/admin.email.template.controller.d.ts.map +1 -1
  11. package/dist/admin/controllers/admin.email.template.controller.js +13 -11
  12. package/dist/admin/controllers/admin.email.template.controller.js.map +1 -1
  13. package/dist/admin/controllers/admin.pdf.template.controller.d.ts +2 -3
  14. package/dist/admin/controllers/admin.pdf.template.controller.d.ts.map +1 -1
  15. package/dist/admin/controllers/admin.pdf.template.controller.js +13 -11
  16. package/dist/admin/controllers/admin.pdf.template.controller.js.map +1 -1
  17. package/dist/admin/controllers/admin.role.controller.d.ts.map +1 -1
  18. package/dist/admin/controllers/admin.role.controller.js +2 -0
  19. package/dist/admin/controllers/admin.role.controller.js.map +1 -1
  20. package/dist/admin/controllers/admin.scheduled.task.controller.d.ts +5 -4
  21. package/dist/admin/controllers/admin.scheduled.task.controller.d.ts.map +1 -1
  22. package/dist/admin/controllers/admin.scheduled.task.controller.js +19 -14
  23. package/dist/admin/controllers/admin.scheduled.task.controller.js.map +1 -1
  24. package/dist/admin/controllers/admin.scope.controller.d.ts +4 -5
  25. package/dist/admin/controllers/admin.scope.controller.d.ts.map +1 -1
  26. package/dist/admin/controllers/admin.scope.controller.js +45 -27
  27. package/dist/admin/controllers/admin.scope.controller.js.map +1 -1
  28. package/dist/admin/controllers/admin.system.user.controller.d.ts +1 -2
  29. package/dist/admin/controllers/admin.system.user.controller.d.ts.map +1 -1
  30. package/dist/admin/controllers/admin.system.user.controller.js +12 -8
  31. package/dist/admin/controllers/admin.system.user.controller.js.map +1 -1
  32. package/dist/admin/controllers/admin.tenant.controller.d.ts +2 -3
  33. package/dist/admin/controllers/admin.tenant.controller.d.ts.map +1 -1
  34. package/dist/admin/controllers/admin.tenant.controller.js +12 -10
  35. package/dist/admin/controllers/admin.tenant.controller.js.map +1 -1
  36. package/dist/admin/controllers/admin.tenant.user.controller.d.ts +12 -6
  37. package/dist/admin/controllers/admin.tenant.user.controller.d.ts.map +1 -1
  38. package/dist/admin/controllers/admin.tenant.user.controller.js +55 -24
  39. package/dist/admin/controllers/admin.tenant.user.controller.js.map +1 -1
  40. package/dist/admin/controllers/admin.user.controller.d.ts +3 -3
  41. package/dist/admin/controllers/admin.user.controller.d.ts.map +1 -1
  42. package/dist/admin/controllers/admin.user.controller.js +22 -8
  43. package/dist/admin/controllers/admin.user.controller.js.map +1 -1
  44. package/dist/admin/controllers/system.role.controller.d.ts +2 -3
  45. package/dist/admin/controllers/system.role.controller.d.ts.map +1 -1
  46. package/dist/admin/controllers/system.role.controller.js +34 -14
  47. package/dist/admin/controllers/system.role.controller.js.map +1 -1
  48. package/dist/admin/dtos/add.admin.user.dto.d.ts +1 -0
  49. package/dist/admin/dtos/add.admin.user.dto.d.ts.map +1 -1
  50. package/dist/admin/dtos/add.admin.user.dto.js +27 -4
  51. package/dist/admin/dtos/add.admin.user.dto.js.map +1 -1
  52. package/dist/admin/dtos/add.api.key.dto.d.ts +1 -1
  53. package/dist/admin/dtos/add.api.key.dto.d.ts.map +1 -1
  54. package/dist/admin/dtos/add.api.key.dto.js +5 -1
  55. package/dist/admin/dtos/add.api.key.dto.js.map +1 -1
  56. package/dist/admin/dtos/add.bulk.users.dto.d.ts.map +1 -1
  57. package/dist/admin/dtos/add.bulk.users.dto.js +6 -2
  58. package/dist/admin/dtos/add.bulk.users.dto.js.map +1 -1
  59. package/dist/admin/dtos/add.client.membership.dto.d.ts.map +1 -1
  60. package/dist/admin/dtos/add.client.membership.dto.js +4 -1
  61. package/dist/admin/dtos/add.client.membership.dto.js.map +1 -1
  62. package/dist/admin/dtos/add.client.user.dto.d.ts +1 -1
  63. package/dist/admin/dtos/add.client.user.dto.d.ts.map +1 -1
  64. package/dist/admin/dtos/add.client.user.dto.js +5 -2
  65. package/dist/admin/dtos/add.client.user.dto.js.map +1 -1
  66. package/dist/admin/dtos/add.email.template.dto.d.ts.map +1 -1
  67. package/dist/admin/dtos/add.email.template.dto.js +9 -6
  68. package/dist/admin/dtos/add.email.template.dto.js.map +1 -1
  69. package/dist/admin/dtos/add.pdf.template.dto.d.ts.map +1 -1
  70. package/dist/admin/dtos/add.pdf.template.dto.js +9 -6
  71. package/dist/admin/dtos/add.pdf.template.dto.js.map +1 -1
  72. package/dist/admin/dtos/add.scheduled.task.dto.d.ts.map +1 -1
  73. package/dist/admin/dtos/add.scheduled.task.dto.js +16 -3
  74. package/dist/admin/dtos/add.scheduled.task.dto.js.map +1 -1
  75. package/dist/admin/dtos/add.scope.dto.d.ts +1 -1
  76. package/dist/admin/dtos/add.scope.dto.d.ts.map +1 -1
  77. package/dist/admin/dtos/add.scope.dto.js +7 -4
  78. package/dist/admin/dtos/add.scope.dto.js.map +1 -1
  79. package/dist/admin/dtos/add.system.role.dto.d.ts.map +1 -1
  80. package/dist/admin/dtos/add.system.role.dto.js +6 -4
  81. package/dist/admin/dtos/add.system.role.dto.js.map +1 -1
  82. package/dist/admin/dtos/add.tenant.dto.d.ts +1 -1
  83. package/dist/admin/dtos/add.tenant.dto.d.ts.map +1 -1
  84. package/dist/admin/dtos/add.tenant.dto.js +20 -5
  85. package/dist/admin/dtos/add.tenant.dto.js.map +1 -1
  86. package/dist/admin/dtos/base.user.dto.d.ts.map +1 -1
  87. package/dist/admin/dtos/base.user.dto.js +5 -1
  88. package/dist/admin/dtos/base.user.dto.js.map +1 -1
  89. package/dist/admin/enums/admin.default.enum.d.ts +17 -0
  90. package/dist/admin/enums/admin.default.enum.d.ts.map +1 -0
  91. package/dist/admin/enums/admin.default.enum.js +22 -0
  92. package/dist/admin/enums/admin.default.enum.js.map +1 -0
  93. package/dist/admin/libraries/admin.user.data.processor.d.ts +5 -7
  94. package/dist/admin/libraries/admin.user.data.processor.d.ts.map +1 -1
  95. package/dist/admin/libraries/admin.user.data.processor.js +112 -73
  96. package/dist/admin/libraries/admin.user.data.processor.js.map +1 -1
  97. package/dist/admin/libraries/admin.user.delete.processor.d.ts +0 -2
  98. package/dist/admin/libraries/admin.user.delete.processor.d.ts.map +1 -1
  99. package/dist/admin/libraries/admin.user.delete.processor.js +26 -39
  100. package/dist/admin/libraries/admin.user.delete.processor.js.map +1 -1
  101. package/dist/admin/libraries/api.key.data.processor.d.ts +1 -0
  102. package/dist/admin/libraries/api.key.data.processor.d.ts.map +1 -1
  103. package/dist/admin/libraries/api.key.data.processor.js +26 -3
  104. package/dist/admin/libraries/api.key.data.processor.js.map +1 -1
  105. package/dist/admin/libraries/bulk.user.data.processor.d.ts +4 -1
  106. package/dist/admin/libraries/bulk.user.data.processor.d.ts.map +1 -1
  107. package/dist/admin/libraries/bulk.user.data.processor.js +39 -3
  108. package/dist/admin/libraries/bulk.user.data.processor.js.map +1 -1
  109. package/dist/admin/libraries/catalogue.data.processor.d.ts +15 -0
  110. package/dist/admin/libraries/catalogue.data.processor.d.ts.map +1 -0
  111. package/dist/admin/libraries/catalogue.data.processor.js +42 -0
  112. package/dist/admin/libraries/catalogue.data.processor.js.map +1 -0
  113. package/dist/admin/libraries/client.membership.data.processor.d.ts +4 -1
  114. package/dist/admin/libraries/client.membership.data.processor.d.ts.map +1 -1
  115. package/dist/admin/libraries/client.membership.data.processor.js +33 -6
  116. package/dist/admin/libraries/client.membership.data.processor.js.map +1 -1
  117. package/dist/admin/libraries/client.user.data.processor.d.ts +7 -1
  118. package/dist/admin/libraries/client.user.data.processor.d.ts.map +1 -1
  119. package/dist/admin/libraries/client.user.data.processor.js +89 -30
  120. package/dist/admin/libraries/client.user.data.processor.js.map +1 -1
  121. package/dist/admin/libraries/client.user.delete.processor.d.ts.map +1 -1
  122. package/dist/admin/libraries/client.user.delete.processor.js +11 -0
  123. package/dist/admin/libraries/client.user.delete.processor.js.map +1 -1
  124. package/dist/admin/libraries/email.template.data.processor.d.ts +8 -5
  125. package/dist/admin/libraries/email.template.data.processor.d.ts.map +1 -1
  126. package/dist/admin/libraries/email.template.data.processor.js +49 -29
  127. package/dist/admin/libraries/email.template.data.processor.js.map +1 -1
  128. package/dist/admin/libraries/pdf.template.data.processor.d.ts +8 -5
  129. package/dist/admin/libraries/pdf.template.data.processor.d.ts.map +1 -1
  130. package/dist/admin/libraries/pdf.template.data.processor.js +47 -26
  131. package/dist/admin/libraries/pdf.template.data.processor.js.map +1 -1
  132. package/dist/admin/libraries/scheduled.task.data.processor.d.ts +11 -5
  133. package/dist/admin/libraries/scheduled.task.data.processor.d.ts.map +1 -1
  134. package/dist/admin/libraries/scheduled.task.data.processor.js +81 -38
  135. package/dist/admin/libraries/scheduled.task.data.processor.js.map +1 -1
  136. package/dist/admin/libraries/scheduled.task.delete.processor.d.ts.map +1 -1
  137. package/dist/admin/libraries/scheduled.task.delete.processor.js +14 -3
  138. package/dist/admin/libraries/scheduled.task.delete.processor.js.map +1 -1
  139. package/dist/admin/libraries/scope.data.processor.d.ts +9 -5
  140. package/dist/admin/libraries/scope.data.processor.d.ts.map +1 -1
  141. package/dist/admin/libraries/scope.data.processor.js +62 -27
  142. package/dist/admin/libraries/scope.data.processor.js.map +1 -1
  143. package/dist/admin/libraries/system.role.data.processor.d.ts +8 -2
  144. package/dist/admin/libraries/system.role.data.processor.d.ts.map +1 -1
  145. package/dist/admin/libraries/system.role.data.processor.js +47 -17
  146. package/dist/admin/libraries/system.role.data.processor.js.map +1 -1
  147. package/dist/admin/libraries/system.user.data.processor.d.ts +5 -0
  148. package/dist/admin/libraries/system.user.data.processor.d.ts.map +1 -1
  149. package/dist/admin/libraries/system.user.data.processor.js +52 -22
  150. package/dist/admin/libraries/system.user.data.processor.js.map +1 -1
  151. package/dist/admin/libraries/tenant.data.processor.d.ts +1 -1
  152. package/dist/admin/libraries/tenant.data.processor.d.ts.map +1 -1
  153. package/dist/admin/libraries/tenant.data.processor.js +91 -54
  154. package/dist/admin/libraries/tenant.data.processor.js.map +1 -1
  155. package/dist/admin/libraries/tenant.delete.processor.d.ts +1 -0
  156. package/dist/admin/libraries/tenant.delete.processor.d.ts.map +1 -1
  157. package/dist/admin/libraries/tenant.delete.processor.js +52 -24
  158. package/dist/admin/libraries/tenant.delete.processor.js.map +1 -1
  159. package/dist/admin/libraries/user.data.processor.d.ts +1 -0
  160. package/dist/admin/libraries/user.data.processor.d.ts.map +1 -1
  161. package/dist/admin/libraries/user.data.processor.js +10 -0
  162. package/dist/admin/libraries/user.data.processor.js.map +1 -1
  163. package/dist/admin/services/admin.access.service.d.ts +4 -2
  164. package/dist/admin/services/admin.access.service.d.ts.map +1 -1
  165. package/dist/admin/services/admin.access.service.js +15 -7
  166. package/dist/admin/services/admin.access.service.js.map +1 -1
  167. package/dist/admin/services/system.user.service.d.ts.map +1 -1
  168. package/dist/admin/services/system.user.service.js +11 -0
  169. package/dist/admin/services/system.user.service.js.map +1 -1
  170. package/dist/admin/services/template.service.d.ts +1 -0
  171. package/dist/admin/services/template.service.d.ts.map +1 -1
  172. package/dist/admin/services/template.service.js +24 -11
  173. package/dist/admin/services/template.service.js.map +1 -1
  174. package/dist/admin/types/admin.types.d.ts +27 -0
  175. package/dist/admin/types/admin.types.d.ts.map +1 -1
  176. package/dist/admin/utilities/admin.audit.d.ts +11 -0
  177. package/dist/admin/utilities/admin.audit.d.ts.map +1 -0
  178. package/dist/admin/utilities/admin.audit.js +51 -0
  179. package/dist/admin/utilities/admin.audit.js.map +1 -0
  180. package/dist/admin/utilities/admin.policy.d.ts +33 -0
  181. package/dist/admin/utilities/admin.policy.d.ts.map +1 -0
  182. package/dist/admin/utilities/admin.policy.js +91 -0
  183. package/dist/admin/utilities/admin.policy.js.map +1 -0
  184. package/dist/admin/utilities/bounded.concurrency.d.ts +4 -0
  185. package/dist/admin/utilities/bounded.concurrency.d.ts.map +1 -0
  186. package/dist/admin/utilities/bounded.concurrency.js +20 -0
  187. package/dist/admin/utilities/bounded.concurrency.js.map +1 -0
  188. package/dist/admin/utilities/scope.grants.d.ts +9 -0
  189. package/dist/admin/utilities/scope.grants.d.ts.map +1 -0
  190. package/dist/admin/utilities/scope.grants.js +28 -0
  191. package/dist/admin/utilities/scope.grants.js.map +1 -0
  192. package/dist/admin/utilities/super.admin.guard.d.ts +9 -0
  193. package/dist/admin/utilities/super.admin.guard.d.ts.map +1 -0
  194. package/dist/admin/utilities/super.admin.guard.js +32 -0
  195. package/dist/admin/utilities/super.admin.guard.js.map +1 -0
  196. package/dist/admin/utilities/tenant.role.policy.d.ts +16 -0
  197. package/dist/admin/utilities/tenant.role.policy.d.ts.map +1 -0
  198. package/dist/admin/utilities/tenant.role.policy.js +35 -0
  199. package/dist/admin/utilities/tenant.role.policy.js.map +1 -0
  200. package/dist/admin/validators/admin.patterns.d.ts +5 -0
  201. package/dist/admin/validators/admin.patterns.d.ts.map +1 -0
  202. package/dist/admin/validators/admin.patterns.js +8 -0
  203. package/dist/admin/validators/admin.patterns.js.map +1 -0
  204. package/dist/admin/validators/admin.validators.d.ts +5 -0
  205. package/dist/admin/validators/admin.validators.d.ts.map +1 -0
  206. package/dist/admin/validators/admin.validators.js +56 -0
  207. package/dist/admin/validators/admin.validators.js.map +1 -0
  208. package/dist/auth/auth.module.d.ts.map +1 -1
  209. package/dist/auth/auth.module.js +68 -14
  210. package/dist/auth/auth.module.js.map +1 -1
  211. package/dist/auth/controllers/admin.auth.controller.d.ts +7 -2
  212. package/dist/auth/controllers/admin.auth.controller.d.ts.map +1 -1
  213. package/dist/auth/controllers/admin.auth.controller.js +36 -11
  214. package/dist/auth/controllers/admin.auth.controller.js.map +1 -1
  215. package/dist/auth/controllers/auth.controller.d.ts +12 -2
  216. package/dist/auth/controllers/auth.controller.d.ts.map +1 -1
  217. package/dist/auth/controllers/auth.controller.js +83 -17
  218. package/dist/auth/controllers/auth.controller.js.map +1 -1
  219. package/dist/auth/controllers/impersonation.controller.d.ts +5 -4
  220. package/dist/auth/controllers/impersonation.controller.d.ts.map +1 -1
  221. package/dist/auth/controllers/impersonation.controller.js +12 -10
  222. package/dist/auth/controllers/impersonation.controller.js.map +1 -1
  223. package/dist/auth/controllers/tenant.invitation.controller.d.ts +6 -4
  224. package/dist/auth/controllers/tenant.invitation.controller.d.ts.map +1 -1
  225. package/dist/auth/controllers/tenant.invitation.controller.js +25 -15
  226. package/dist/auth/controllers/tenant.invitation.controller.js.map +1 -1
  227. package/dist/auth/controllers/tenant.member.controller.d.ts.map +1 -1
  228. package/dist/auth/controllers/tenant.member.controller.js +3 -4
  229. package/dist/auth/controllers/tenant.member.controller.js.map +1 -1
  230. package/dist/auth/controllers/user.invitation.controller.d.ts +2 -3
  231. package/dist/auth/controllers/user.invitation.controller.d.ts.map +1 -1
  232. package/dist/auth/controllers/user.invitation.controller.js +10 -9
  233. package/dist/auth/controllers/user.invitation.controller.js.map +1 -1
  234. package/dist/auth/controllers/user.organization.controller.d.ts +1 -2
  235. package/dist/auth/controllers/user.organization.controller.d.ts.map +1 -1
  236. package/dist/auth/controllers/user.organization.controller.js +6 -6
  237. package/dist/auth/controllers/user.organization.controller.js.map +1 -1
  238. package/dist/auth/decorators/allow.pending.password.change.decorator.d.ts +3 -0
  239. package/dist/auth/decorators/allow.pending.password.change.decorator.d.ts.map +1 -0
  240. package/dist/auth/decorators/allow.pending.password.change.decorator.js +8 -0
  241. package/dist/auth/decorators/allow.pending.password.change.decorator.js.map +1 -0
  242. package/dist/auth/decorators/api.key.scopes.decorator.d.ts +2 -0
  243. package/dist/auth/decorators/api.key.scopes.decorator.d.ts.map +1 -1
  244. package/dist/auth/decorators/api.key.scopes.decorator.js +4 -1
  245. package/dist/auth/decorators/api.key.scopes.decorator.js.map +1 -1
  246. package/dist/auth/decorators/max.bytes.decorator.d.ts +3 -0
  247. package/dist/auth/decorators/max.bytes.decorator.d.ts.map +1 -0
  248. package/dist/auth/decorators/max.bytes.decorator.js +15 -0
  249. package/dist/auth/decorators/max.bytes.decorator.js.map +1 -0
  250. package/dist/auth/decorators/normalize.email.decorator.d.ts +2 -0
  251. package/dist/auth/decorators/normalize.email.decorator.d.ts.map +1 -0
  252. package/dist/auth/decorators/normalize.email.decorator.js +7 -0
  253. package/dist/auth/decorators/normalize.email.decorator.js.map +1 -0
  254. package/dist/auth/dtos/admin.login.dto.d.ts.map +1 -1
  255. package/dist/auth/dtos/admin.login.dto.js +7 -1
  256. package/dist/auth/dtos/admin.login.dto.js.map +1 -1
  257. package/dist/auth/dtos/change.password.dto.d.ts.map +1 -1
  258. package/dist/auth/dtos/change.password.dto.js +9 -3
  259. package/dist/auth/dtos/change.password.dto.js.map +1 -1
  260. package/dist/auth/dtos/google.login.dto.d.ts.map +1 -1
  261. package/dist/auth/dtos/google.login.dto.js +1 -0
  262. package/dist/auth/dtos/google.login.dto.js.map +1 -1
  263. package/dist/auth/dtos/invite.tenant.user.dto.d.ts.map +1 -1
  264. package/dist/auth/dtos/invite.tenant.user.dto.js +7 -3
  265. package/dist/auth/dtos/invite.tenant.user.dto.js.map +1 -1
  266. package/dist/auth/dtos/login.dto.d.ts.map +1 -1
  267. package/dist/auth/dtos/login.dto.js +5 -0
  268. package/dist/auth/dtos/login.dto.js.map +1 -1
  269. package/dist/auth/dtos/member.roles.dto.d.ts.map +1 -1
  270. package/dist/auth/dtos/member.roles.dto.js +1 -0
  271. package/dist/auth/dtos/member.roles.dto.js.map +1 -1
  272. package/dist/auth/dtos/refresh.token.dto.d.ts.map +1 -1
  273. package/dist/auth/dtos/refresh.token.dto.js +1 -0
  274. package/dist/auth/dtos/refresh.token.dto.js.map +1 -1
  275. package/dist/auth/dtos/register.dto.d.ts.map +1 -1
  276. package/dist/auth/dtos/register.dto.js +11 -3
  277. package/dist/auth/dtos/register.dto.js.map +1 -1
  278. package/dist/auth/dtos/tenant.invitation.list.dto.d.ts +0 -1
  279. package/dist/auth/dtos/tenant.invitation.list.dto.d.ts.map +1 -1
  280. package/dist/auth/dtos/tenant.invitation.list.dto.js +0 -19
  281. package/dist/auth/dtos/tenant.invitation.list.dto.js.map +1 -1
  282. package/dist/auth/dtos/tenant.member.list.dto.d.ts +0 -1
  283. package/dist/auth/dtos/tenant.member.list.dto.d.ts.map +1 -1
  284. package/dist/auth/dtos/tenant.member.list.dto.js +0 -19
  285. package/dist/auth/dtos/tenant.member.list.dto.js.map +1 -1
  286. package/dist/auth/dtos/verify.email.dto.d.ts +4 -0
  287. package/dist/auth/dtos/verify.email.dto.d.ts.map +1 -0
  288. package/dist/auth/dtos/verify.email.dto.js +25 -0
  289. package/dist/auth/dtos/verify.email.dto.js.map +1 -0
  290. package/dist/auth/entities/admin.user.entity.d.ts +1 -0
  291. package/dist/auth/entities/admin.user.entity.d.ts.map +1 -1
  292. package/dist/auth/entities/admin.user.entity.js +4 -0
  293. package/dist/auth/entities/admin.user.entity.js.map +1 -1
  294. package/dist/auth/entities/api.key.entity.d.ts.map +1 -1
  295. package/dist/auth/entities/api.key.entity.js +2 -2
  296. package/dist/auth/entities/api.key.entity.js.map +1 -1
  297. package/dist/auth/entities/email.verification.token.entity.d.ts +11 -0
  298. package/dist/auth/entities/email.verification.token.entity.d.ts.map +1 -0
  299. package/dist/auth/entities/email.verification.token.entity.js +47 -0
  300. package/dist/auth/entities/email.verification.token.entity.js.map +1 -0
  301. package/dist/auth/entities/system.refresh.token.entity.d.ts +1 -0
  302. package/dist/auth/entities/system.refresh.token.entity.d.ts.map +1 -1
  303. package/dist/auth/entities/system.refresh.token.entity.js +4 -0
  304. package/dist/auth/entities/system.refresh.token.entity.js.map +1 -1
  305. package/dist/auth/entities/tenant.invitation.entity.d.ts +1 -0
  306. package/dist/auth/entities/tenant.invitation.entity.d.ts.map +1 -1
  307. package/dist/auth/entities/tenant.invitation.entity.js +5 -1
  308. package/dist/auth/entities/tenant.invitation.entity.js.map +1 -1
  309. package/dist/auth/entities/user.entity.d.ts +1 -0
  310. package/dist/auth/entities/user.entity.d.ts.map +1 -1
  311. package/dist/auth/entities/user.entity.js +5 -1
  312. package/dist/auth/entities/user.entity.js.map +1 -1
  313. package/dist/auth/enums/auth.default.enum.d.ts +26 -2
  314. package/dist/auth/enums/auth.default.enum.d.ts.map +1 -1
  315. package/dist/auth/enums/auth.default.enum.js +26 -2
  316. package/dist/auth/enums/auth.default.enum.js.map +1 -1
  317. package/dist/auth/enums/auth.message.enum.d.ts +8 -0
  318. package/dist/auth/enums/auth.message.enum.d.ts.map +1 -0
  319. package/dist/auth/enums/auth.message.enum.js +12 -0
  320. package/dist/auth/enums/auth.message.enum.js.map +1 -0
  321. package/dist/auth/enums/email.verification.default.enum.d.ts +6 -0
  322. package/dist/auth/enums/email.verification.default.enum.d.ts.map +1 -0
  323. package/dist/auth/enums/email.verification.default.enum.js +10 -0
  324. package/dist/auth/enums/email.verification.default.enum.js.map +1 -0
  325. package/dist/auth/enums/tenant.invitation.default.enum.d.ts +5 -1
  326. package/dist/auth/enums/tenant.invitation.default.enum.d.ts.map +1 -1
  327. package/dist/auth/enums/tenant.invitation.default.enum.js +4 -0
  328. package/dist/auth/enums/tenant.invitation.default.enum.js.map +1 -1
  329. package/dist/auth/es6.classes.d.ts +8 -3
  330. package/dist/auth/es6.classes.d.ts.map +1 -1
  331. package/dist/auth/es6.classes.js +10 -1
  332. package/dist/auth/es6.classes.js.map +1 -1
  333. package/dist/auth/guards/api.key.guard.d.ts +3 -2
  334. package/dist/auth/guards/api.key.guard.d.ts.map +1 -1
  335. package/dist/auth/guards/api.key.guard.js +19 -30
  336. package/dist/auth/guards/api.key.guard.js.map +1 -1
  337. package/dist/auth/guards/jwt.auth.guard.d.ts +1 -1
  338. package/dist/auth/guards/jwt.auth.guard.d.ts.map +1 -1
  339. package/dist/auth/guards/jwt.auth.guard.js +14 -7
  340. package/dist/auth/guards/jwt.auth.guard.js.map +1 -1
  341. package/dist/auth/helpers/admin.auth.d.ts.map +1 -1
  342. package/dist/auth/helpers/admin.auth.js +1 -1
  343. package/dist/auth/helpers/admin.auth.js.map +1 -1
  344. package/dist/auth/jobs/purge.expired.auth.records.job.d.ts +15 -0
  345. package/dist/auth/jobs/purge.expired.auth.records.job.d.ts.map +1 -0
  346. package/dist/auth/jobs/purge.expired.auth.records.job.js +72 -0
  347. package/dist/auth/jobs/purge.expired.auth.records.job.js.map +1 -0
  348. package/dist/auth/middlewares/admin.jwt.middleware.d.ts +3 -4
  349. package/dist/auth/middlewares/admin.jwt.middleware.d.ts.map +1 -1
  350. package/dist/auth/middlewares/admin.jwt.middleware.js +9 -28
  351. package/dist/auth/middlewares/admin.jwt.middleware.js.map +1 -1
  352. package/dist/auth/middlewares/api.key.middleware.d.ts +3 -2
  353. package/dist/auth/middlewares/api.key.middleware.d.ts.map +1 -1
  354. package/dist/auth/middlewares/api.key.middleware.js +18 -21
  355. package/dist/auth/middlewares/api.key.middleware.js.map +1 -1
  356. package/dist/auth/middlewares/jwt.middleware.d.ts +3 -4
  357. package/dist/auth/middlewares/jwt.middleware.d.ts.map +1 -1
  358. package/dist/auth/middlewares/jwt.middleware.js +15 -27
  359. package/dist/auth/middlewares/jwt.middleware.js.map +1 -1
  360. package/dist/auth/processors/change.admin.password.data.processor.d.ts +13 -0
  361. package/dist/auth/processors/change.admin.password.data.processor.d.ts.map +1 -0
  362. package/dist/auth/processors/change.admin.password.data.processor.js +61 -0
  363. package/dist/auth/processors/change.admin.password.data.processor.js.map +1 -0
  364. package/dist/auth/processors/change.password.data.processor.d.ts +2 -1
  365. package/dist/auth/processors/change.password.data.processor.d.ts.map +1 -1
  366. package/dist/auth/processors/change.password.data.processor.js +27 -4
  367. package/dist/auth/processors/change.password.data.processor.js.map +1 -1
  368. package/dist/auth/processors/google.user.data.processor.d.ts +3 -2
  369. package/dist/auth/processors/google.user.data.processor.d.ts.map +1 -1
  370. package/dist/auth/processors/google.user.data.processor.js +58 -10
  371. package/dist/auth/processors/google.user.data.processor.js.map +1 -1
  372. package/dist/auth/processors/register.user.data.processor.d.ts.map +1 -1
  373. package/dist/auth/processors/register.user.data.processor.js +7 -1
  374. package/dist/auth/processors/register.user.data.processor.js.map +1 -1
  375. package/dist/auth/processors/tenant.invitation.data.processor.d.ts +2 -0
  376. package/dist/auth/processors/tenant.invitation.data.processor.d.ts.map +1 -1
  377. package/dist/auth/processors/tenant.invitation.data.processor.js +59 -29
  378. package/dist/auth/processors/tenant.invitation.data.processor.js.map +1 -1
  379. package/dist/auth/processors/tenant.invitation.list.processor.d.ts +2 -1
  380. package/dist/auth/processors/tenant.invitation.list.processor.d.ts.map +1 -1
  381. package/dist/auth/processors/tenant.invitation.list.processor.js +6 -2
  382. package/dist/auth/processors/tenant.invitation.list.processor.js.map +1 -1
  383. package/dist/auth/processors/tenant.member.list.processor.d.ts +2 -1
  384. package/dist/auth/processors/tenant.member.list.processor.d.ts.map +1 -1
  385. package/dist/auth/processors/tenant.member.list.processor.js +6 -2
  386. package/dist/auth/processors/tenant.member.list.processor.js.map +1 -1
  387. package/dist/auth/services/admin.auth.service.d.ts +5 -8
  388. package/dist/auth/services/admin.auth.service.d.ts.map +1 -1
  389. package/dist/auth/services/admin.auth.service.js +49 -98
  390. package/dist/auth/services/admin.auth.service.js.map +1 -1
  391. package/dist/auth/services/api.key.service.d.ts +6 -2
  392. package/dist/auth/services/api.key.service.d.ts.map +1 -1
  393. package/dist/auth/services/api.key.service.js +39 -11
  394. package/dist/auth/services/api.key.service.js.map +1 -1
  395. package/dist/auth/services/auth.service.d.ts +12 -11
  396. package/dist/auth/services/auth.service.d.ts.map +1 -1
  397. package/dist/auth/services/auth.service.js +66 -117
  398. package/dist/auth/services/auth.service.js.map +1 -1
  399. package/dist/auth/services/email.verification.service.d.ts +16 -0
  400. package/dist/auth/services/email.verification.service.d.ts.map +1 -0
  401. package/dist/auth/services/email.verification.service.js +97 -0
  402. package/dist/auth/services/email.verification.service.js.map +1 -0
  403. package/dist/auth/services/google.auth.service.d.ts +1 -0
  404. package/dist/auth/services/google.auth.service.d.ts.map +1 -1
  405. package/dist/auth/services/google.auth.service.js +19 -6
  406. package/dist/auth/services/google.auth.service.js.map +1 -1
  407. package/dist/auth/services/impersonation.service.d.ts +2 -2
  408. package/dist/auth/services/impersonation.service.d.ts.map +1 -1
  409. package/dist/auth/services/impersonation.service.js +12 -3
  410. package/dist/auth/services/impersonation.service.js.map +1 -1
  411. package/dist/auth/services/login.throttle.service.d.ts +18 -0
  412. package/dist/auth/services/login.throttle.service.d.ts.map +1 -0
  413. package/dist/auth/services/login.throttle.service.js +98 -0
  414. package/dist/auth/services/login.throttle.service.js.map +1 -0
  415. package/dist/auth/services/role.service.d.ts +1 -0
  416. package/dist/auth/services/role.service.d.ts.map +1 -1
  417. package/dist/auth/services/role.service.js +16 -3
  418. package/dist/auth/services/role.service.js.map +1 -1
  419. package/dist/auth/services/scope.service.d.ts +3 -1
  420. package/dist/auth/services/scope.service.d.ts.map +1 -1
  421. package/dist/auth/services/scope.service.js +11 -8
  422. package/dist/auth/services/scope.service.js.map +1 -1
  423. package/dist/auth/services/tenant.invitation.service.d.ts +4 -2
  424. package/dist/auth/services/tenant.invitation.service.d.ts.map +1 -1
  425. package/dist/auth/services/tenant.invitation.service.js +40 -17
  426. package/dist/auth/services/tenant.invitation.service.js.map +1 -1
  427. package/dist/auth/services/tenant.membership.service.d.ts +2 -2
  428. package/dist/auth/services/tenant.membership.service.d.ts.map +1 -1
  429. package/dist/auth/services/tenant.membership.service.js +51 -50
  430. package/dist/auth/services/tenant.membership.service.js.map +1 -1
  431. package/dist/auth/services/token.service.d.ts +30 -0
  432. package/dist/auth/services/token.service.d.ts.map +1 -0
  433. package/dist/auth/services/token.service.js +211 -0
  434. package/dist/auth/services/token.service.js.map +1 -0
  435. package/dist/auth/strategy/jwt.refresh.strategy.d.ts +5 -6
  436. package/dist/auth/strategy/jwt.refresh.strategy.d.ts.map +1 -1
  437. package/dist/auth/strategy/jwt.refresh.strategy.js +31 -7
  438. package/dist/auth/strategy/jwt.refresh.strategy.js.map +1 -1
  439. package/dist/auth/strategy/jwt.strategy.d.ts +4 -3
  440. package/dist/auth/strategy/jwt.strategy.d.ts.map +1 -1
  441. package/dist/auth/strategy/jwt.strategy.js +27 -11
  442. package/dist/auth/strategy/jwt.strategy.js.map +1 -1
  443. package/dist/auth/types/api.key.types.d.ts +5 -1
  444. package/dist/auth/types/api.key.types.d.ts.map +1 -1
  445. package/dist/auth/types/auth.types.d.ts +65 -6
  446. package/dist/auth/types/auth.types.d.ts.map +1 -1
  447. package/dist/auth/types/google.auth.types.d.ts +4 -0
  448. package/dist/auth/types/google.auth.types.d.ts.map +1 -1
  449. package/dist/auth/utilities/access.revocation.d.ts +3 -1
  450. package/dist/auth/utilities/access.revocation.d.ts.map +1 -1
  451. package/dist/auth/utilities/access.revocation.js +19 -3
  452. package/dist/auth/utilities/access.revocation.js.map +1 -1
  453. package/dist/auth/utilities/auth.config.d.ts +23 -0
  454. package/dist/auth/utilities/auth.config.d.ts.map +1 -0
  455. package/dist/auth/utilities/auth.config.js +121 -0
  456. package/dist/auth/utilities/auth.config.js.map +1 -0
  457. package/dist/auth/utilities/auth.utilities.d.ts +4 -0
  458. package/dist/auth/utilities/auth.utilities.d.ts.map +1 -1
  459. package/dist/auth/utilities/auth.utilities.js +27 -17
  460. package/dist/auth/utilities/auth.utilities.js.map +1 -1
  461. package/dist/auth/utilities/duration.d.ts +6 -0
  462. package/dist/auth/utilities/duration.d.ts.map +1 -0
  463. package/dist/auth/utilities/duration.js +56 -0
  464. package/dist/auth/utilities/duration.js.map +1 -0
  465. package/dist/auth/utilities/request.credentials.d.ts +8 -0
  466. package/dist/auth/utilities/request.credentials.d.ts.map +1 -0
  467. package/dist/auth/utilities/request.credentials.js +33 -0
  468. package/dist/auth/utilities/request.credentials.js.map +1 -0
  469. package/dist/auth/utilities/scope.cascade.d.ts +12 -0
  470. package/dist/auth/utilities/scope.cascade.d.ts.map +1 -0
  471. package/dist/auth/utilities/scope.cascade.js +90 -0
  472. package/dist/auth/utilities/scope.cascade.js.map +1 -0
  473. package/dist/auth/utilities/tenant.access.d.ts +8 -2
  474. package/dist/auth/utilities/tenant.access.d.ts.map +1 -1
  475. package/dist/auth/utilities/tenant.access.js +86 -7
  476. package/dist/auth/utilities/tenant.access.js.map +1 -1
  477. package/dist/common/adapters/sentry.monitoring.adapter.d.ts +3 -1
  478. package/dist/common/adapters/sentry.monitoring.adapter.d.ts.map +1 -1
  479. package/dist/common/adapters/sentry.monitoring.adapter.js +41 -1
  480. package/dist/common/adapters/sentry.monitoring.adapter.js.map +1 -1
  481. package/dist/common/bootstrap/secure.bootstrap.d.ts +6 -0
  482. package/dist/common/bootstrap/secure.bootstrap.d.ts.map +1 -0
  483. package/dist/common/bootstrap/secure.bootstrap.js +69 -0
  484. package/dist/common/bootstrap/secure.bootstrap.js.map +1 -0
  485. package/dist/common/common.module.d.ts +1 -0
  486. package/dist/common/common.module.d.ts.map +1 -1
  487. package/dist/common/common.module.js +16 -2
  488. package/dist/common/common.module.js.map +1 -1
  489. package/dist/common/consumers/job.consumer.d.ts +2 -0
  490. package/dist/common/consumers/job.consumer.d.ts.map +1 -1
  491. package/dist/common/consumers/job.consumer.js +53 -19
  492. package/dist/common/consumers/job.consumer.js.map +1 -1
  493. package/dist/common/controllers/common.controller.d.ts.map +1 -1
  494. package/dist/common/controllers/common.controller.js +2 -0
  495. package/dist/common/controllers/common.controller.js.map +1 -1
  496. package/dist/common/dtos/common.list.filter.dto.d.ts.map +1 -1
  497. package/dist/common/dtos/common.list.filter.dto.js +11 -2
  498. package/dist/common/dtos/common.list.filter.dto.js.map +1 -1
  499. package/dist/common/dtos/common.params.dto.d.ts +0 -1
  500. package/dist/common/dtos/common.params.dto.d.ts.map +1 -1
  501. package/dist/common/dtos/common.params.dto.js +0 -6
  502. package/dist/common/dtos/common.params.dto.js.map +1 -1
  503. package/dist/common/dtos/filter.dto.d.ts.map +1 -1
  504. package/dist/common/dtos/filter.dto.js +4 -0
  505. package/dist/common/dtos/filter.dto.js.map +1 -1
  506. package/dist/common/dtos/sort.dto.d.ts.map +1 -1
  507. package/dist/common/dtos/sort.dto.js +2 -0
  508. package/dist/common/dtos/sort.dto.js.map +1 -1
  509. package/dist/common/entities/root.entity.d.ts.map +1 -1
  510. package/dist/common/entities/root.entity.js +1 -2
  511. package/dist/common/entities/root.entity.js.map +1 -1
  512. package/dist/common/enums/bootstrap.default.enum.d.ts +8 -0
  513. package/dist/common/enums/bootstrap.default.enum.d.ts.map +1 -0
  514. package/dist/common/enums/bootstrap.default.enum.js +13 -0
  515. package/dist/common/enums/bootstrap.default.enum.js.map +1 -0
  516. package/dist/common/enums/cache.default.enum.d.ts +4 -0
  517. package/dist/common/enums/cache.default.enum.d.ts.map +1 -0
  518. package/dist/common/enums/cache.default.enum.js +8 -0
  519. package/dist/common/enums/cache.default.enum.js.map +1 -0
  520. package/dist/common/enums/encryption.enum.d.ts +12 -1
  521. package/dist/common/enums/encryption.enum.d.ts.map +1 -1
  522. package/dist/common/enums/encryption.enum.js +14 -1
  523. package/dist/common/enums/encryption.enum.js.map +1 -1
  524. package/dist/common/enums/list.filter.default.enum.d.ts +9 -0
  525. package/dist/common/enums/list.filter.default.enum.d.ts.map +1 -0
  526. package/dist/common/enums/list.filter.default.enum.js +13 -0
  527. package/dist/common/enums/list.filter.default.enum.js.map +1 -0
  528. package/dist/common/enums/logging.default.enum.d.ts +4 -0
  529. package/dist/common/enums/logging.default.enum.d.ts.map +1 -0
  530. package/dist/common/enums/logging.default.enum.js +8 -0
  531. package/dist/common/enums/logging.default.enum.js.map +1 -0
  532. package/dist/common/enums/monitoring.default.enum.d.ts +3 -0
  533. package/dist/common/enums/monitoring.default.enum.d.ts.map +1 -1
  534. package/dist/common/enums/monitoring.default.enum.js +4 -1
  535. package/dist/common/enums/monitoring.default.enum.js.map +1 -1
  536. package/dist/common/enums/queue.enum.d.ts +5 -1
  537. package/dist/common/enums/queue.enum.d.ts.map +1 -1
  538. package/dist/common/enums/queue.enum.js +4 -0
  539. package/dist/common/enums/queue.enum.js.map +1 -1
  540. package/dist/common/enums/remote.request.default.enum.d.ts +6 -0
  541. package/dist/common/enums/remote.request.default.enum.d.ts.map +1 -0
  542. package/dist/common/enums/remote.request.default.enum.js +10 -0
  543. package/dist/common/enums/remote.request.default.enum.js.map +1 -0
  544. package/dist/common/enums/schedule.enum.d.ts +7 -1
  545. package/dist/common/enums/schedule.enum.d.ts.map +1 -1
  546. package/dist/common/enums/schedule.enum.js +6 -0
  547. package/dist/common/enums/schedule.enum.js.map +1 -1
  548. package/dist/common/enums/security.header.default.enum.d.ts +6 -0
  549. package/dist/common/enums/security.header.default.enum.d.ts.map +1 -0
  550. package/dist/common/enums/security.header.default.enum.js +10 -0
  551. package/dist/common/enums/security.header.default.enum.js.map +1 -0
  552. package/dist/common/enums/server.environment.enum.d.ts.map +1 -1
  553. package/dist/common/enums/server.environment.enum.js.map +1 -1
  554. package/dist/common/enums/sql.default.enum.d.ts +8 -0
  555. package/dist/common/enums/sql.default.enum.d.ts.map +1 -1
  556. package/dist/common/enums/sql.default.enum.js +14 -1
  557. package/dist/common/enums/sql.default.enum.js.map +1 -1
  558. package/dist/common/es6.classes.d.ts +4 -1
  559. package/dist/common/es6.classes.d.ts.map +1 -1
  560. package/dist/common/es6.classes.js +4 -0
  561. package/dist/common/es6.classes.js.map +1 -1
  562. package/dist/common/interceptors/logging.interceptor.d.ts.map +1 -1
  563. package/dist/common/interceptors/logging.interceptor.js +9 -3
  564. package/dist/common/interceptors/logging.interceptor.js.map +1 -1
  565. package/dist/common/interceptors/monitoring.interceptor.d.ts.map +1 -1
  566. package/dist/common/interceptors/monitoring.interceptor.js +10 -5
  567. package/dist/common/interceptors/monitoring.interceptor.js.map +1 -1
  568. package/dist/common/jobs/common.job.d.ts +2 -0
  569. package/dist/common/jobs/common.job.d.ts.map +1 -1
  570. package/dist/common/jobs/common.job.js +2 -0
  571. package/dist/common/jobs/common.job.js.map +1 -1
  572. package/dist/common/jobs/dispatch.scheduled.event.job.d.ts.map +1 -1
  573. package/dist/common/jobs/dispatch.scheduled.event.job.js +10 -3
  574. package/dist/common/jobs/dispatch.scheduled.event.job.js.map +1 -1
  575. package/dist/common/jobs/purge.failed.jobs.job.d.ts +9 -0
  576. package/dist/common/jobs/purge.failed.jobs.job.d.ts.map +1 -0
  577. package/dist/common/jobs/purge.failed.jobs.job.js +42 -0
  578. package/dist/common/jobs/purge.failed.jobs.job.js.map +1 -0
  579. package/dist/common/jobs/set.scheduled.event.job.d.ts.map +1 -1
  580. package/dist/common/jobs/set.scheduled.event.job.js +9 -3
  581. package/dist/common/jobs/set.scheduled.event.job.js.map +1 -1
  582. package/dist/common/libraries/cron.schedule.resolver.d.ts +5 -0
  583. package/dist/common/libraries/cron.schedule.resolver.d.ts.map +1 -1
  584. package/dist/common/libraries/cron.schedule.resolver.js +56 -0
  585. package/dist/common/libraries/cron.schedule.resolver.js.map +1 -1
  586. package/dist/common/libraries/filter.operator.registry.d.ts +1 -0
  587. package/dist/common/libraries/filter.operator.registry.d.ts.map +1 -1
  588. package/dist/common/libraries/filter.operator.registry.js +8 -4
  589. package/dist/common/libraries/filter.operator.registry.js.map +1 -1
  590. package/dist/common/libraries/interval.schedule.resolver.d.ts.map +1 -1
  591. package/dist/common/libraries/interval.schedule.resolver.js +10 -0
  592. package/dist/common/libraries/interval.schedule.resolver.js.map +1 -1
  593. package/dist/common/libraries/predicate.set.d.ts.map +1 -1
  594. package/dist/common/libraries/predicate.set.js +7 -0
  595. package/dist/common/libraries/predicate.set.js.map +1 -1
  596. package/dist/common/middlewares/security.headers.middleware.d.ts +4 -0
  597. package/dist/common/middlewares/security.headers.middleware.d.ts.map +1 -0
  598. package/dist/common/middlewares/security.headers.middleware.js +27 -0
  599. package/dist/common/middlewares/security.headers.middleware.js.map +1 -0
  600. package/dist/common/pipes/strict.validation.pipe.d.ts +6 -0
  601. package/dist/common/pipes/strict.validation.pipe.d.ts.map +1 -0
  602. package/dist/common/pipes/strict.validation.pipe.js +49 -0
  603. package/dist/common/pipes/strict.validation.pipe.js.map +1 -0
  604. package/dist/common/queue.module.d.ts.map +1 -1
  605. package/dist/common/queue.module.js +11 -3
  606. package/dist/common/queue.module.js.map +1 -1
  607. package/dist/common/services/audit.service.d.ts.map +1 -1
  608. package/dist/common/services/audit.service.js +1 -2
  609. package/dist/common/services/audit.service.js.map +1 -1
  610. package/dist/common/services/cache.service.d.ts +8 -2
  611. package/dist/common/services/cache.service.d.ts.map +1 -1
  612. package/dist/common/services/cache.service.js +54 -21
  613. package/dist/common/services/cache.service.js.map +1 -1
  614. package/dist/common/services/encryption.service.d.ts +21 -5
  615. package/dist/common/services/encryption.service.d.ts.map +1 -1
  616. package/dist/common/services/encryption.service.js +129 -37
  617. package/dist/common/services/encryption.service.js.map +1 -1
  618. package/dist/common/services/list.filter.service.d.ts +2 -0
  619. package/dist/common/services/list.filter.service.d.ts.map +1 -1
  620. package/dist/common/services/list.filter.service.js +68 -18
  621. package/dist/common/services/list.filter.service.js.map +1 -1
  622. package/dist/common/services/queue.service.d.ts +13 -1
  623. package/dist/common/services/queue.service.d.ts.map +1 -1
  624. package/dist/common/services/queue.service.js +80 -11
  625. package/dist/common/services/queue.service.js.map +1 -1
  626. package/dist/common/services/remote.request.service.d.ts +10 -0
  627. package/dist/common/services/remote.request.service.d.ts.map +1 -1
  628. package/dist/common/services/remote.request.service.js +190 -15
  629. package/dist/common/services/remote.request.service.js.map +1 -1
  630. package/dist/common/services/system.property.service.d.ts +4 -0
  631. package/dist/common/services/system.property.service.d.ts.map +1 -1
  632. package/dist/common/services/system.property.service.js +62 -21
  633. package/dist/common/services/system.property.service.js.map +1 -1
  634. package/dist/common/subscribers/common.subscriber.d.ts +11 -1
  635. package/dist/common/subscribers/common.subscriber.d.ts.map +1 -1
  636. package/dist/common/subscribers/common.subscriber.js +98 -16
  637. package/dist/common/subscribers/common.subscriber.js.map +1 -1
  638. package/dist/common/subscribers/system.scheduled.task.subscriber.d.ts +1 -0
  639. package/dist/common/subscribers/system.scheduled.task.subscriber.d.ts.map +1 -1
  640. package/dist/common/subscribers/system.scheduled.task.subscriber.js +1 -0
  641. package/dist/common/subscribers/system.scheduled.task.subscriber.js.map +1 -1
  642. package/dist/common/types/bootstrap.types.d.ts +6 -0
  643. package/dist/common/types/bootstrap.types.d.ts.map +1 -0
  644. package/dist/common/types/bootstrap.types.js +3 -0
  645. package/dist/common/types/bootstrap.types.js.map +1 -0
  646. package/dist/common/types/cache.types.d.ts +1 -0
  647. package/dist/common/types/cache.types.d.ts.map +1 -1
  648. package/dist/common/types/cache.types.js +7 -2
  649. package/dist/common/types/cache.types.js.map +1 -1
  650. package/dist/common/types/database.event.type.d.ts +5 -0
  651. package/dist/common/types/database.event.type.d.ts.map +1 -1
  652. package/dist/common/types/encryption.types.d.ts +10 -0
  653. package/dist/common/types/encryption.types.d.ts.map +1 -0
  654. package/dist/common/types/encryption.types.js +3 -0
  655. package/dist/common/types/encryption.types.js.map +1 -0
  656. package/dist/common/types/monitoring.types.d.ts +17 -0
  657. package/dist/common/types/monitoring.types.d.ts.map +1 -1
  658. package/dist/common/types/paginated.result.types.d.ts +4 -0
  659. package/dist/common/types/paginated.result.types.d.ts.map +1 -1
  660. package/dist/common/types/paginated.result.types.js +10 -0
  661. package/dist/common/types/paginated.result.types.js.map +1 -1
  662. package/dist/common/types/queue.types.d.ts +8 -0
  663. package/dist/common/types/queue.types.d.ts.map +1 -1
  664. package/dist/common/types/remote.request.options.d.ts +6 -0
  665. package/dist/common/types/remote.request.options.d.ts.map +1 -1
  666. package/dist/common/types/security.headers.types.d.ts +6 -0
  667. package/dist/common/types/security.headers.types.d.ts.map +1 -0
  668. package/dist/common/types/security.headers.types.js +3 -0
  669. package/dist/common/types/security.headers.types.js.map +1 -0
  670. package/dist/common/validators/schedule.validator.d.ts.map +1 -1
  671. package/dist/common/validators/schedule.validator.js +4 -2
  672. package/dist/common/validators/schedule.validator.js.map +1 -1
  673. package/dist/constants/job.constants.d.ts +1 -0
  674. package/dist/constants/job.constants.d.ts.map +1 -1
  675. package/dist/constants/job.constants.js +1 -0
  676. package/dist/constants/job.constants.js.map +1 -1
  677. package/dist/constants/job.maps.d.ts +2 -0
  678. package/dist/constants/job.maps.d.ts.map +1 -1
  679. package/dist/constants/job.maps.js +2 -0
  680. package/dist/constants/job.maps.js.map +1 -1
  681. package/dist/constants/schedule.maps.d.ts +1 -0
  682. package/dist/constants/schedule.maps.d.ts.map +1 -1
  683. package/dist/constants/schedule.maps.js +13 -0
  684. package/dist/constants/schedule.maps.js.map +1 -1
  685. package/dist/database/config/data.source.config.d.ts +4 -0
  686. package/dist/database/config/data.source.config.d.ts.map +1 -1
  687. package/dist/database/config/data.source.config.js +24 -2
  688. package/dist/database/config/data.source.config.js.map +1 -1
  689. package/dist/document/controllers/document.controller.d.ts.map +1 -1
  690. package/dist/document/controllers/document.controller.js +18 -8
  691. package/dist/document/controllers/document.controller.js.map +1 -1
  692. package/dist/document/document.module.d.ts.map +1 -1
  693. package/dist/document/document.module.js +33 -4
  694. package/dist/document/document.module.js.map +1 -1
  695. package/dist/document/document.tokens.d.ts +2 -0
  696. package/dist/document/document.tokens.d.ts.map +1 -0
  697. package/dist/document/document.tokens.js +5 -0
  698. package/dist/document/document.tokens.js.map +1 -0
  699. package/dist/document/dtos/pdf.document.options.dto.d.ts +6 -0
  700. package/dist/document/dtos/pdf.document.options.dto.d.ts.map +1 -1
  701. package/dist/document/dtos/pdf.document.options.dto.js +4 -1
  702. package/dist/document/dtos/pdf.document.options.dto.js.map +1 -1
  703. package/dist/document/entities/document.entity.d.ts +1 -0
  704. package/dist/document/entities/document.entity.d.ts.map +1 -1
  705. package/dist/document/entities/document.entity.js +4 -0
  706. package/dist/document/entities/document.entity.js.map +1 -1
  707. package/dist/document/entities/document.upload.entity.d.ts +2 -0
  708. package/dist/document/entities/document.upload.entity.d.ts.map +1 -1
  709. package/dist/document/entities/document.upload.entity.js +9 -1
  710. package/dist/document/entities/document.upload.entity.js.map +1 -1
  711. package/dist/document/enums/document.default.enum.d.ts +15 -3
  712. package/dist/document/enums/document.default.enum.d.ts.map +1 -1
  713. package/dist/document/enums/document.default.enum.js +14 -2
  714. package/dist/document/enums/document.default.enum.js.map +1 -1
  715. package/dist/document/enums/document.tenancy.enum.d.ts +2 -0
  716. package/dist/document/enums/document.tenancy.enum.d.ts.map +1 -0
  717. package/dist/document/enums/document.tenancy.enum.js +5 -0
  718. package/dist/document/enums/document.tenancy.enum.js.map +1 -0
  719. package/dist/document/enums/file.type.enum.d.ts +12 -0
  720. package/dist/document/enums/file.type.enum.d.ts.map +1 -0
  721. package/dist/document/enums/file.type.enum.js +34 -0
  722. package/dist/document/enums/file.type.enum.js.map +1 -0
  723. package/dist/document/enums/pdf.default.enum.d.ts +4 -2
  724. package/dist/document/enums/pdf.default.enum.d.ts.map +1 -1
  725. package/dist/document/enums/pdf.default.enum.js +2 -0
  726. package/dist/document/enums/pdf.default.enum.js.map +1 -1
  727. package/dist/document/es6.classes.d.ts +4 -0
  728. package/dist/document/es6.classes.d.ts.map +1 -1
  729. package/dist/document/es6.classes.js +5 -0
  730. package/dist/document/es6.classes.js.map +1 -1
  731. package/dist/document/guards/document.authenticated.guard.d.ts +5 -0
  732. package/dist/document/guards/document.authenticated.guard.d.ts.map +1 -0
  733. package/dist/document/guards/document.authenticated.guard.js +27 -0
  734. package/dist/document/guards/document.authenticated.guard.js.map +1 -0
  735. package/dist/document/interceptors/document.upload.interceptor.d.ts +8 -0
  736. package/dist/document/interceptors/document.upload.interceptor.d.ts.map +1 -0
  737. package/dist/document/interceptors/document.upload.interceptor.js +52 -0
  738. package/dist/document/interceptors/document.upload.interceptor.js.map +1 -0
  739. package/dist/document/jobs/clean.orphan.documents.job.d.ts +1 -0
  740. package/dist/document/jobs/clean.orphan.documents.job.d.ts.map +1 -1
  741. package/dist/document/jobs/clean.orphan.documents.job.js +27 -14
  742. package/dist/document/jobs/clean.orphan.documents.job.js.map +1 -1
  743. package/dist/document/libraries/process.pdf.document.d.ts.map +1 -1
  744. package/dist/document/libraries/process.pdf.document.js +21 -9
  745. package/dist/document/libraries/process.pdf.document.js.map +1 -1
  746. package/dist/document/services/document.service.d.ts +25 -10
  747. package/dist/document/services/document.service.d.ts.map +1 -1
  748. package/dist/document/services/document.service.js +262 -81
  749. package/dist/document/services/document.service.js.map +1 -1
  750. package/dist/document/services/minio.bucket.document.service.d.ts +2 -3
  751. package/dist/document/services/minio.bucket.document.service.d.ts.map +1 -1
  752. package/dist/document/services/minio.bucket.document.service.js +10 -7
  753. package/dist/document/services/minio.bucket.document.service.js.map +1 -1
  754. package/dist/document/services/pdf.service.d.ts +4 -0
  755. package/dist/document/services/pdf.service.d.ts.map +1 -1
  756. package/dist/document/services/pdf.service.js +37 -2
  757. package/dist/document/services/pdf.service.js.map +1 -1
  758. package/dist/document/services/pdf.template.service.d.ts +4 -1
  759. package/dist/document/services/pdf.template.service.d.ts.map +1 -1
  760. package/dist/document/services/pdf.template.service.js +32 -9
  761. package/dist/document/services/pdf.template.service.js.map +1 -1
  762. package/dist/document/services/s3.bucket.document.service.d.ts +2 -3
  763. package/dist/document/services/s3.bucket.document.service.d.ts.map +1 -1
  764. package/dist/document/services/s3.bucket.document.service.js +12 -7
  765. package/dist/document/services/s3.bucket.document.service.js.map +1 -1
  766. package/dist/document/types/document.types.d.ts +61 -4
  767. package/dist/document/types/document.types.d.ts.map +1 -1
  768. package/dist/document/types/pdf.types.d.ts +17 -0
  769. package/dist/document/types/pdf.types.d.ts.map +1 -1
  770. package/dist/document/utilities/document.config.d.ts +9 -0
  771. package/dist/document/utilities/document.config.d.ts.map +1 -0
  772. package/dist/document/utilities/document.config.js +74 -0
  773. package/dist/document/utilities/document.config.js.map +1 -0
  774. package/dist/document/utilities/document.tenancy.d.ts +6 -0
  775. package/dist/document/utilities/document.tenancy.d.ts.map +1 -0
  776. package/dist/document/utilities/document.tenancy.js +29 -0
  777. package/dist/document/utilities/document.tenancy.js.map +1 -0
  778. package/dist/document/utilities/file.type.utility.d.ts +7 -0
  779. package/dist/document/utilities/file.type.utility.d.ts.map +1 -0
  780. package/dist/document/utilities/file.type.utility.js +105 -0
  781. package/dist/document/utilities/file.type.utility.js.map +1 -0
  782. package/dist/document/utilities/pdf.request.policy.d.ts +3 -0
  783. package/dist/document/utilities/pdf.request.policy.d.ts.map +1 -0
  784. package/dist/document/utilities/pdf.request.policy.js +37 -0
  785. package/dist/document/utilities/pdf.request.policy.js.map +1 -0
  786. package/dist/global/enums/environment.enum.d.ts +6 -0
  787. package/dist/global/enums/environment.enum.d.ts.map +1 -0
  788. package/dist/global/enums/environment.enum.js +47 -0
  789. package/dist/global/enums/environment.enum.js.map +1 -0
  790. package/dist/global/enums/redaction.enum.d.ts +11 -0
  791. package/dist/global/enums/redaction.enum.d.ts.map +1 -0
  792. package/dist/global/enums/redaction.enum.js +31 -0
  793. package/dist/global/enums/redaction.enum.js.map +1 -0
  794. package/dist/global/filters/global.exception.filter.d.ts +4 -1
  795. package/dist/global/filters/global.exception.filter.d.ts.map +1 -1
  796. package/dist/global/filters/global.exception.filter.js +91 -25
  797. package/dist/global/filters/global.exception.filter.js.map +1 -1
  798. package/dist/global/types/environment.types.d.ts +15 -0
  799. package/dist/global/types/environment.types.d.ts.map +1 -0
  800. package/dist/global/types/environment.types.js +3 -0
  801. package/dist/global/types/environment.types.js.map +1 -0
  802. package/dist/global/types/exception.filter.types.d.ts +9 -0
  803. package/dist/global/types/exception.filter.types.d.ts.map +1 -1
  804. package/dist/global/types/migration.utility.types.d.ts +5 -0
  805. package/dist/global/types/migration.utility.types.d.ts.map +1 -1
  806. package/dist/global/types/redaction.types.d.ts +5 -0
  807. package/dist/global/types/redaction.types.d.ts.map +1 -0
  808. package/dist/global/types/redaction.types.js +3 -0
  809. package/dist/global/types/redaction.types.js.map +1 -0
  810. package/dist/global/types/seeder.utility.types.d.ts +3 -0
  811. package/dist/global/types/seeder.utility.types.d.ts.map +1 -1
  812. package/dist/global/utilities/environment.util.d.ts +12 -0
  813. package/dist/global/utilities/environment.util.d.ts.map +1 -0
  814. package/dist/global/utilities/environment.util.js +74 -0
  815. package/dist/global/utilities/environment.util.js.map +1 -0
  816. package/dist/global/utilities/hash.util.d.ts +2 -0
  817. package/dist/global/utilities/hash.util.d.ts.map +1 -1
  818. package/dist/global/utilities/hash.util.js +12 -0
  819. package/dist/global/utilities/hash.util.js.map +1 -1
  820. package/dist/global/utilities/migration.utility.d.ts +12 -7
  821. package/dist/global/utilities/migration.utility.d.ts.map +1 -1
  822. package/dist/global/utilities/migration.utility.js +49 -15
  823. package/dist/global/utilities/migration.utility.js.map +1 -1
  824. package/dist/global/utilities/redaction.util.d.ts +7 -0
  825. package/dist/global/utilities/redaction.util.d.ts.map +1 -0
  826. package/dist/global/utilities/redaction.util.js +64 -0
  827. package/dist/global/utilities/redaction.util.js.map +1 -0
  828. package/dist/global/utilities/schedule.utility.d.ts +3 -0
  829. package/dist/global/utilities/schedule.utility.d.ts.map +1 -1
  830. package/dist/global/utilities/schedule.utility.js +14 -0
  831. package/dist/global/utilities/schedule.utility.js.map +1 -1
  832. package/dist/global/utilities/seeder.utility.d.ts +3 -1
  833. package/dist/global/utilities/seeder.utility.d.ts.map +1 -1
  834. package/dist/global/utilities/seeder.utility.js +11 -8
  835. package/dist/global/utilities/seeder.utility.js.map +1 -1
  836. package/dist/index.d.ts +67 -1
  837. package/dist/index.d.ts.map +1 -1
  838. package/dist/index.js +126 -1
  839. package/dist/index.js.map +1 -1
  840. package/dist/main.js +7 -13
  841. package/dist/main.js.map +1 -1
  842. package/dist/migrations/1749600000001.CreateSysAdminUsersTable.d.ts.map +1 -1
  843. package/dist/migrations/1749600000001.CreateSysAdminUsersTable.js +3 -0
  844. package/dist/migrations/1749600000001.CreateSysAdminUsersTable.js.map +1 -1
  845. package/dist/migrations/1749600000002.CreateSysTenantsTable.d.ts.map +1 -1
  846. package/dist/migrations/1749600000002.CreateSysTenantsTable.js +2 -0
  847. package/dist/migrations/1749600000002.CreateSysTenantsTable.js.map +1 -1
  848. package/dist/migrations/1749600000003.CreateSysUsersTable.d.ts.map +1 -1
  849. package/dist/migrations/1749600000003.CreateSysUsersTable.js +3 -1
  850. package/dist/migrations/1749600000003.CreateSysUsersTable.js.map +1 -1
  851. package/dist/migrations/1749600000004.CreateSysRolesTable.d.ts.map +1 -1
  852. package/dist/migrations/1749600000004.CreateSysRolesTable.js +1 -0
  853. package/dist/migrations/1749600000004.CreateSysRolesTable.js.map +1 -1
  854. package/dist/migrations/1749600000006.CreateSysUserRolesJoinTable.d.ts.map +1 -1
  855. package/dist/migrations/1749600000006.CreateSysUserRolesJoinTable.js +1 -0
  856. package/dist/migrations/1749600000006.CreateSysUserRolesJoinTable.js.map +1 -1
  857. package/dist/migrations/1749600000010.CreateSysPropertiesTable.d.ts.map +1 -1
  858. package/dist/migrations/1749600000010.CreateSysPropertiesTable.js +1 -0
  859. package/dist/migrations/1749600000010.CreateSysPropertiesTable.js.map +1 -1
  860. package/dist/migrations/1749600000011.CreateSysNotificationsTable.d.ts.map +1 -1
  861. package/dist/migrations/1749600000011.CreateSysNotificationsTable.js +1 -0
  862. package/dist/migrations/1749600000011.CreateSysNotificationsTable.js.map +1 -1
  863. package/dist/migrations/1749600000013.CreateSysDocumentUploadsTable.d.ts.map +1 -1
  864. package/dist/migrations/1749600000013.CreateSysDocumentUploadsTable.js +12 -0
  865. package/dist/migrations/1749600000013.CreateSysDocumentUploadsTable.js.map +1 -1
  866. package/dist/migrations/1749600000014.CreateSysRefreshTokensTable.d.ts.map +1 -1
  867. package/dist/migrations/1749600000014.CreateSysRefreshTokensTable.js +5 -1
  868. package/dist/migrations/1749600000014.CreateSysRefreshTokensTable.js.map +1 -1
  869. package/dist/migrations/1749600000016.CreateSysUserDeviceTokensTable.d.ts.map +1 -1
  870. package/dist/migrations/1749600000016.CreateSysUserDeviceTokensTable.js +1 -0
  871. package/dist/migrations/1749600000016.CreateSysUserDeviceTokensTable.js.map +1 -1
  872. package/dist/migrations/1749600000017.CreateSysApiKeysTable.d.ts.map +1 -1
  873. package/dist/migrations/1749600000017.CreateSysApiKeysTable.js +1 -1
  874. package/dist/migrations/1749600000017.CreateSysApiKeysTable.js.map +1 -1
  875. package/dist/migrations/1749600000020.CreateSysEmailTemplatesTable.d.ts.map +1 -1
  876. package/dist/migrations/1749600000020.CreateSysEmailTemplatesTable.js +1 -0
  877. package/dist/migrations/1749600000020.CreateSysEmailTemplatesTable.js.map +1 -1
  878. package/dist/migrations/1749600000022.CreateSysAdminRolesTable.d.ts.map +1 -1
  879. package/dist/migrations/1749600000022.CreateSysAdminRolesTable.js +1 -0
  880. package/dist/migrations/1749600000022.CreateSysAdminRolesTable.js.map +1 -1
  881. package/dist/migrations/1749600000023.CreateSysAdminUserRolesJoinTable.d.ts.map +1 -1
  882. package/dist/migrations/1749600000023.CreateSysAdminUserRolesJoinTable.js +1 -0
  883. package/dist/migrations/1749600000023.CreateSysAdminUserRolesJoinTable.js.map +1 -1
  884. package/dist/migrations/1749600000024.CreateSysAuthSessionsTable.d.ts.map +1 -1
  885. package/dist/migrations/1749600000024.CreateSysAuthSessionsTable.js +1 -1
  886. package/dist/migrations/1749600000024.CreateSysAuthSessionsTable.js.map +1 -1
  887. package/dist/migrations/1749600000025.CreateSysScopesTable.d.ts.map +1 -1
  888. package/dist/migrations/1749600000025.CreateSysScopesTable.js +1 -0
  889. package/dist/migrations/1749600000025.CreateSysScopesTable.js.map +1 -1
  890. package/dist/migrations/1749600000026.CreateSysApiScopesTable.d.ts.map +1 -1
  891. package/dist/migrations/1749600000026.CreateSysApiScopesTable.js +1 -0
  892. package/dist/migrations/1749600000026.CreateSysApiScopesTable.js.map +1 -1
  893. package/dist/migrations/1749600000027.CreateSysTenantScopesTable.d.ts.map +1 -1
  894. package/dist/migrations/1749600000027.CreateSysTenantScopesTable.js +1 -0
  895. package/dist/migrations/1749600000027.CreateSysTenantScopesTable.js.map +1 -1
  896. package/dist/migrations/1749600000028.CreateSysDocumentsTable.d.ts.map +1 -1
  897. package/dist/migrations/1749600000028.CreateSysDocumentsTable.js +11 -1
  898. package/dist/migrations/1749600000028.CreateSysDocumentsTable.js.map +1 -1
  899. package/dist/migrations/1749600000029.CreateSysPdfTemplatesTable.d.ts.map +1 -1
  900. package/dist/migrations/1749600000029.CreateSysPdfTemplatesTable.js +1 -0
  901. package/dist/migrations/1749600000029.CreateSysPdfTemplatesTable.js.map +1 -1
  902. package/dist/migrations/1749600000030.CreateSysTenantUsersTable.d.ts.map +1 -1
  903. package/dist/migrations/1749600000030.CreateSysTenantUsersTable.js +1 -0
  904. package/dist/migrations/1749600000030.CreateSysTenantUsersTable.js.map +1 -1
  905. package/dist/migrations/1749600000031.CreateSysTenantInvitationsTable.d.ts.map +1 -1
  906. package/dist/migrations/1749600000031.CreateSysTenantInvitationsTable.js +10 -1
  907. package/dist/migrations/1749600000031.CreateSysTenantInvitationsTable.js.map +1 -1
  908. package/dist/migrations/1749600000032.CreateSysEmailVerificationTokensTable.d.ts +6 -0
  909. package/dist/migrations/1749600000032.CreateSysEmailVerificationTokensTable.d.ts.map +1 -0
  910. package/dist/migrations/1749600000032.CreateSysEmailVerificationTokensTable.js +30 -0
  911. package/dist/migrations/1749600000032.CreateSysEmailVerificationTokensTable.js.map +1 -0
  912. package/dist/notification/dtos/email.notification.options.dto.d.ts +2 -0
  913. package/dist/notification/dtos/email.notification.options.dto.d.ts.map +1 -1
  914. package/dist/notification/dtos/email.notification.options.dto.js.map +1 -1
  915. package/dist/notification/enums/email.notification.default.enum.d.ts +9 -1
  916. package/dist/notification/enums/email.notification.default.enum.d.ts.map +1 -1
  917. package/dist/notification/enums/email.notification.default.enum.js +10 -1
  918. package/dist/notification/enums/email.notification.default.enum.js.map +1 -1
  919. package/dist/notification/enums/notification.default.enum.d.ts +7 -0
  920. package/dist/notification/enums/notification.default.enum.d.ts.map +1 -0
  921. package/dist/notification/enums/notification.default.enum.js +11 -0
  922. package/dist/notification/enums/notification.default.enum.js.map +1 -0
  923. package/dist/notification/enums/template.pattern.enum.d.ts +4 -0
  924. package/dist/notification/enums/template.pattern.enum.d.ts.map +1 -0
  925. package/dist/notification/enums/template.pattern.enum.js +7 -0
  926. package/dist/notification/enums/template.pattern.enum.js.map +1 -0
  927. package/dist/notification/es6.classes.d.ts +3 -1
  928. package/dist/notification/es6.classes.d.ts.map +1 -1
  929. package/dist/notification/es6.classes.js +4 -0
  930. package/dist/notification/es6.classes.js.map +1 -1
  931. package/dist/notification/jobs/email.verification.mail.job.d.ts +14 -0
  932. package/dist/notification/jobs/email.verification.mail.job.d.ts.map +1 -0
  933. package/dist/notification/jobs/email.verification.mail.job.js +59 -0
  934. package/dist/notification/jobs/email.verification.mail.job.js.map +1 -0
  935. package/dist/notification/jobs/purge.email.logs.job.d.ts +11 -0
  936. package/dist/notification/jobs/purge.email.logs.job.d.ts.map +1 -0
  937. package/dist/notification/jobs/purge.email.logs.job.js +37 -0
  938. package/dist/notification/jobs/purge.email.logs.job.js.map +1 -0
  939. package/dist/notification/jobs/tenant.onboarded.mail.job.d.ts +1 -4
  940. package/dist/notification/jobs/tenant.onboarded.mail.job.d.ts.map +1 -1
  941. package/dist/notification/jobs/tenant.onboarded.mail.job.js +6 -17
  942. package/dist/notification/jobs/tenant.onboarded.mail.job.js.map +1 -1
  943. package/dist/notification/jobs/tenant.user.invited.mail.job.d.ts +8 -2
  944. package/dist/notification/jobs/tenant.user.invited.mail.job.d.ts.map +1 -1
  945. package/dist/notification/jobs/tenant.user.invited.mail.job.js +44 -5
  946. package/dist/notification/jobs/tenant.user.invited.mail.job.js.map +1 -1
  947. package/dist/notification/jobs/tenant.user.onboarded.mail.job.d.ts +1 -4
  948. package/dist/notification/jobs/tenant.user.onboarded.mail.job.d.ts.map +1 -1
  949. package/dist/notification/jobs/tenant.user.onboarded.mail.job.js +6 -17
  950. package/dist/notification/jobs/tenant.user.onboarded.mail.job.js.map +1 -1
  951. package/dist/notification/libraries/process.email.notification.d.ts.map +1 -1
  952. package/dist/notification/libraries/process.email.notification.js +1 -0
  953. package/dist/notification/libraries/process.email.notification.js.map +1 -1
  954. package/dist/notification/notification.module.d.ts.map +1 -1
  955. package/dist/notification/notification.module.js +11 -3
  956. package/dist/notification/notification.module.js.map +1 -1
  957. package/dist/notification/services/email.notification.service.d.ts +8 -1
  958. package/dist/notification/services/email.notification.service.d.ts.map +1 -1
  959. package/dist/notification/services/email.notification.service.js +58 -20
  960. package/dist/notification/services/email.notification.service.js.map +1 -1
  961. package/dist/notification/services/notification.service.d.ts +8 -2
  962. package/dist/notification/services/notification.service.d.ts.map +1 -1
  963. package/dist/notification/services/notification.service.js +53 -24
  964. package/dist/notification/services/notification.service.js.map +1 -1
  965. package/dist/notification/types/email.notification.types.d.ts +5 -1
  966. package/dist/notification/types/email.notification.types.d.ts.map +1 -1
  967. package/dist/notification/types/template.types.d.ts +9 -0
  968. package/dist/notification/types/template.types.d.ts.map +1 -0
  969. package/dist/notification/types/template.types.js +3 -0
  970. package/dist/notification/types/template.types.js.map +1 -0
  971. package/dist/notification/utilities/email.log.utility.d.ts +2 -0
  972. package/dist/notification/utilities/email.log.utility.d.ts.map +1 -0
  973. package/dist/notification/utilities/email.log.utility.js +12 -0
  974. package/dist/notification/utilities/email.log.utility.js.map +1 -0
  975. package/dist/notification/utilities/server.environment.utility.d.ts +2 -0
  976. package/dist/notification/utilities/server.environment.utility.d.ts.map +1 -0
  977. package/dist/notification/utilities/server.environment.utility.js +10 -0
  978. package/dist/notification/utilities/server.environment.utility.js.map +1 -0
  979. package/dist/notification/utilities/template.data.utility.d.ts +4 -0
  980. package/dist/notification/utilities/template.data.utility.d.ts.map +1 -0
  981. package/dist/notification/utilities/template.data.utility.js +48 -0
  982. package/dist/notification/utilities/template.data.utility.js.map +1 -0
  983. package/dist/notification/utilities/template.url.utility.d.ts +3 -0
  984. package/dist/notification/utilities/template.url.utility.d.ts.map +1 -0
  985. package/dist/notification/utilities/template.url.utility.js +36 -0
  986. package/dist/notification/utilities/template.url.utility.js.map +1 -0
  987. package/dist/tenant/es6.classes.d.ts +2 -1
  988. package/dist/tenant/es6.classes.d.ts.map +1 -1
  989. package/dist/tenant/es6.classes.js +2 -1
  990. package/dist/tenant/es6.classes.js.map +1 -1
  991. package/dist/tenant/helpers/tenant.job.context.d.ts +3 -0
  992. package/dist/tenant/helpers/tenant.job.context.d.ts.map +1 -0
  993. package/dist/tenant/helpers/tenant.job.context.js +16 -0
  994. package/dist/tenant/helpers/tenant.job.context.js.map +1 -0
  995. package/dist/tenant/middlewares/tenant.context.middleware.d.ts +2 -3
  996. package/dist/tenant/middlewares/tenant.context.middleware.d.ts.map +1 -1
  997. package/dist/tenant/middlewares/tenant.context.middleware.js +15 -22
  998. package/dist/tenant/middlewares/tenant.context.middleware.js.map +1 -1
  999. package/dist/tenant/repositories/tenant.scoped.repository.d.ts +30 -0
  1000. package/dist/tenant/repositories/tenant.scoped.repository.d.ts.map +1 -0
  1001. package/dist/tenant/repositories/tenant.scoped.repository.js +137 -0
  1002. package/dist/tenant/repositories/tenant.scoped.repository.js.map +1 -0
  1003. package/dist/tenant/services/tenant.context.service.d.ts +8 -1
  1004. package/dist/tenant/services/tenant.context.service.d.ts.map +1 -1
  1005. package/dist/tenant/services/tenant.context.service.js +31 -7
  1006. package/dist/tenant/services/tenant.context.service.js.map +1 -1
  1007. package/dist/tenant/services/tenant.service.d.ts +2 -3
  1008. package/dist/tenant/services/tenant.service.d.ts.map +1 -1
  1009. package/dist/tenant/services/tenant.service.js +13 -22
  1010. package/dist/tenant/services/tenant.service.js.map +1 -1
  1011. package/dist/tenant/subscribers/tenant.scope.subscriber.d.ts +13 -0
  1012. package/dist/tenant/subscribers/tenant.scope.subscriber.d.ts.map +1 -0
  1013. package/dist/tenant/subscribers/tenant.scope.subscriber.js +56 -0
  1014. package/dist/tenant/subscribers/tenant.scope.subscriber.js.map +1 -0
  1015. package/dist/tenant/tenant.module.d.ts +3 -2
  1016. package/dist/tenant/tenant.module.d.ts.map +1 -1
  1017. package/dist/tenant/tenant.module.js +18 -2
  1018. package/dist/tenant/tenant.module.js.map +1 -1
  1019. package/dist/tenant/types/tenant.types.d.ts +2 -5
  1020. package/dist/tenant/types/tenant.types.d.ts.map +1 -1
  1021. package/dist/tenant/utilities/tenant.revocation.d.ts +5 -0
  1022. package/dist/tenant/utilities/tenant.revocation.d.ts.map +1 -0
  1023. package/dist/tenant/utilities/tenant.revocation.js +17 -0
  1024. package/dist/tenant/utilities/tenant.revocation.js.map +1 -0
  1025. package/package.json +9 -6
  1026. package/dist/tenant/enums/tenant.default.enum.d.ts +0 -4
  1027. package/dist/tenant/enums/tenant.default.enum.d.ts.map +0 -1
  1028. package/dist/tenant/enums/tenant.default.enum.js +0 -8
  1029. package/dist/tenant/enums/tenant.default.enum.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"email.notification.service.d.ts","sourceRoot":"","sources":["../../../src/notification/services/email.notification.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAc,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAIpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,8CAA8C,CAAC;AACpF,OAAO,EAAE,qBAAqB,EAAE,MAAM,+CAA+C,CAAC;AAGtF,OAAO,EAAE,2BAA2B,EAAE,MAAM,wCAAwC,CAAC;AAIrF,OAAO,EACL,qBAAqB,EACrB,gBAAgB,EACjB,MAAM,mCAAmC,CAAC;AAQ3C,qBACa,wBAAwB;IAKjC,SAAS,CAAC,QAAQ,CAAC,qBAAqB,EAAE,qBAAqB;IAC/D,SAAS,CAAC,QAAQ,CAAC,oBAAoB,EAAE,oBAAoB;IAL/D,SAAS,CAAC,QAAQ,CAAC,MAAM,SAA6C;IACtE,OAAO,CAAC,SAAS,CAA0B;gBAGtB,qBAAqB,EAAE,qBAAqB,EAC5C,oBAAoB,EAAE,oBAAoB;IAGzD,YAAY,CAChB,OAAO,EAAE,2BAA2B,GACnC,OAAO,CAAC,qBAAqB,CAAC;IAyB3B,QAAQ,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;YAwC1C,oBAAoB;YAiBpB,kBAAkB;IAoChC,OAAO,CAAC,YAAY;CAQrB"}
1
+ {"version":3,"file":"email.notification.service.d.ts","sourceRoot":"","sources":["../../../src/notification/services/email.notification.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAc,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAwB,MAAM,SAAS,CAAC;AAG3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,8CAA8C,CAAC;AACpF,OAAO,EAAE,qBAAqB,EAAE,MAAM,+CAA+C,CAAC;AAItF,OAAO,EAAE,2BAA2B,EAAE,MAAM,wCAAwC,CAAC;AAOrF,OAAO,EACL,qBAAqB,EACrB,gBAAgB,EACjB,MAAM,mCAAmC,CAAC;AAU3C,qBACa,wBAAwB;IAKjC,SAAS,CAAC,QAAQ,CAAC,qBAAqB,EAAE,qBAAqB;IAC/D,SAAS,CAAC,QAAQ,CAAC,oBAAoB,EAAE,oBAAoB;IAC7D,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,UAAU;IAN5C,SAAS,CAAC,QAAQ,CAAC,MAAM,SAA6C;IACtE,OAAO,CAAC,SAAS,CAA0B;gBAGtB,qBAAqB,EAAE,qBAAqB,EAC5C,oBAAoB,EAAE,oBAAoB,EAC1C,UAAU,CAAC,EAAE,UAAU;IAGtC,YAAY,CAChB,OAAO,EAAE,2BAA2B,GACnC,OAAO,CAAC,qBAAqB,CAAC;IA0B3B,QAAQ,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IA4CxD,MAAM,CAAC,gBAAgB,IAAI,MAAM;IAQ3B,cAAc,CAClB,IAAI,SAA8C,GACjD,OAAO,CAAC,MAAM,CAAC;IAUZ,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAkBzC,oBAAoB;YAiBpB,kBAAkB;IAwChC,OAAO,KAAK,kBAAkB,GAI7B;IAED,OAAO,KAAK,aAAa,GAIxB;IAED,OAAO,CAAC,YAAY;CAQrB"}
@@ -13,25 +13,31 @@ Object.defineProperty(exports, "__esModule", { value: true });
13
13
  exports.EmailNotificationService = void 0;
14
14
  const client_ses_1 = require("@aws-sdk/client-ses");
15
15
  const common_1 = require("@nestjs/common");
16
+ const typeorm_1 = require("typeorm");
16
17
  const api_content_type_enum_1 = require("../../common/enums/api.content.type.enum");
17
18
  const api_request_type_enum_1 = require("../../common/enums/api.request.type.enum");
18
- const server_environment_enum_1 = require("../../common/enums/server.environment.enum");
19
19
  const remote_request_service_1 = require("../../common/services/remote.request.service");
20
20
  const system_property_service_1 = require("../../common/services/system.property.service");
21
21
  const operation_exception_1 = require("../../global/exceptions/operation.exception");
22
+ const environment_util_1 = require("../../global/utilities/environment.util");
22
23
  const email_notification_log_entity_1 = require("../entities/email.notification.log.entity");
23
24
  const email_template_entity_1 = require("../entities/email.template.entity");
24
25
  const email_notification_default_enum_1 = require("../enums/email.notification.default.enum");
26
+ const email_log_utility_1 = require("../utilities/email.log.utility");
27
+ const server_environment_utility_1 = require("../utilities/server.environment.utility");
28
+ const template_data_utility_1 = require("../utilities/template.data.utility");
29
+ const template_url_utility_1 = require("../utilities/template.url.utility");
25
30
  let EmailNotificationService = EmailNotificationService_1 = class EmailNotificationService {
26
- constructor(systemPropertyService, remoteRequestService) {
31
+ constructor(systemPropertyService, remoteRequestService, dataSource) {
27
32
  this.systemPropertyService = systemPropertyService;
28
33
  this.remoteRequestService = remoteRequestService;
34
+ this.dataSource = dataSource;
29
35
  this.logger = new common_1.Logger(EmailNotificationService_1.name);
30
36
  this.sesClient = null;
31
37
  }
32
38
  async getEmailBody(options) {
33
39
  const { identifier } = options;
34
- const emailTemplate = await email_template_entity_1.EmailTemplateEntity.findOne({
40
+ const emailTemplate = await this.templateRepository.findOne({
35
41
  where: { identifier },
36
42
  });
37
43
  if (!emailTemplate)
@@ -45,11 +51,12 @@ let EmailNotificationService = EmailNotificationService_1 = class EmailNotificat
45
51
  };
46
52
  }
47
53
  async sendMail(options) {
48
- const env = process.env.SERVER_ENV;
49
- if (env !== server_environment_enum_1.ServerEnvironmentEnum.PRODUCTION)
54
+ if ((0, email_log_utility_1.shouldLogEmailBody)(options.sensitive))
50
55
  await this.logEmailNotification(options);
51
56
  const fromAddress = process.env.AWS_SES_FROM_ADDRESS;
52
57
  if (!fromAddress) {
58
+ if (!(0, server_environment_utility_1.isDevelopmentEnvironment)())
59
+ throw new operation_exception_1.OperationException('AWS_SES_FROM_ADDRESS is not set; the email cannot be sent.');
53
60
  this.logger.warn('AWS_SES_FROM_ADDRESS is not set; skipping SES dispatch.');
54
61
  return;
55
62
  }
@@ -77,19 +84,39 @@ let EmailNotificationService = EmailNotificationService_1 = class EmailNotificat
77
84
  }));
78
85
  }
79
86
  }
87
+ static logRetentionDays() {
88
+ return (0, environment_util_1.envInt)(process.env.EMAIL_LOG_RETENTION_DAYS, email_notification_default_enum_1.EmailNotificationLimit.LOG_RETENTION_DAYS);
89
+ }
90
+ async purgeEmailLogs(days = EmailNotificationService_1.logRetentionDays()) {
91
+ if (!(days > 0))
92
+ return 0;
93
+ const cutoff = new Date(Date.now() - days * 86_400_000);
94
+ const { affected } = await this.logRepository.delete({
95
+ created_at: (0, typeorm_1.LessThan)(cutoff),
96
+ });
97
+ return affected ?? 0;
98
+ }
99
+ async supportContact() {
100
+ const [supportEmail, supportLink] = await Promise.all([
101
+ this.systemPropertyService.get(email_notification_default_enum_1.EmailNotificationDefault.SUPPORT_EMAIL_PROPERTY),
102
+ this.systemPropertyService.get(email_notification_default_enum_1.EmailNotificationDefault.SUPPORT_LINK_PROPERTY),
103
+ ]);
104
+ return {
105
+ support_email: supportEmail || email_notification_default_enum_1.EmailNotificationDefault.SUPPORT_EMAIL_FALLBACK,
106
+ support_link: supportLink || email_notification_default_enum_1.EmailNotificationDefault.SUPPORT_LINK_FALLBACK,
107
+ };
108
+ }
80
109
  async logEmailNotification(options) {
81
110
  const { emailRecipients, template_identifier, email_body } = options;
82
- for (const emailRecipient of emailRecipients) {
83
- const emailNotificationLog = email_notification_log_entity_1.EmailNotificationLogEntity.create();
84
- emailNotificationLog.template_identifier = template_identifier;
85
- emailNotificationLog.recipient = emailRecipient.recipient;
86
- emailNotificationLog.attributes = {
111
+ await this.logRepository.save(emailRecipients.map((emailRecipient) => this.logRepository.create({
112
+ template_identifier,
113
+ recipient: emailRecipient.recipient,
114
+ attributes: {
87
115
  cc: emailRecipient?.cc || [],
88
116
  bcc: emailRecipient?.bcc || [],
89
- };
90
- emailNotificationLog.email_body = email_body;
91
- await emailNotificationLog.save();
92
- }
117
+ },
118
+ email_body,
119
+ })));
93
120
  }
94
121
  async getEmailApiOptions(options, emailTemplate) {
95
122
  const [baseUrl, clientKey] = await Promise.all([
@@ -98,13 +125,12 @@ let EmailNotificationService = EmailNotificationService_1 = class EmailNotificat
98
125
  ]);
99
126
  if (!baseUrl)
100
127
  throw new operation_exception_1.OperationException(`System property '${email_notification_default_enum_1.EmailNotificationDefault.TEMPLATE_BASE_URL_PROPERTY}' is not set`);
101
- const path = emailTemplate?.path ?? '';
102
- const url = baseUrl + path + emailTemplate.identifier;
103
- return {
104
- url,
128
+ const requestOptions = {
129
+ url: (0, template_url_utility_1.buildTemplateUrl)(baseUrl, emailTemplate.path, emailTemplate.identifier),
105
130
  requestType: api_request_type_enum_1.ApiRequestTypeEnum.POST,
106
131
  contentType: api_content_type_enum_1.ApiContentTypeEnum.APPLICATION_JSON,
107
- body: options.data,
132
+ body: (0, template_data_utility_1.prepareTemplateData)(options.data, { rawKeys: options.rawKeys }),
133
+ timeoutMs: email_notification_default_enum_1.EmailNotificationLimit.TEMPLATE_REQUEST_TIMEOUT_MS,
108
134
  ...(clientKey
109
135
  ? {
110
136
  headers: {
@@ -113,6 +139,17 @@ let EmailNotificationService = EmailNotificationService_1 = class EmailNotificat
113
139
  }
114
140
  : {}),
115
141
  };
142
+ return requestOptions;
143
+ }
144
+ get templateRepository() {
145
+ return this.dataSource
146
+ ? this.dataSource.getRepository(email_template_entity_1.EmailTemplateEntity)
147
+ : email_template_entity_1.EmailTemplateEntity.getRepository();
148
+ }
149
+ get logRepository() {
150
+ return this.dataSource
151
+ ? this.dataSource.getRepository(email_notification_log_entity_1.EmailNotificationLogEntity)
152
+ : email_notification_log_entity_1.EmailNotificationLogEntity.getRepository();
116
153
  }
117
154
  getSesClient() {
118
155
  if (!this.sesClient) {
@@ -127,6 +164,7 @@ exports.EmailNotificationService = EmailNotificationService;
127
164
  exports.EmailNotificationService = EmailNotificationService = EmailNotificationService_1 = __decorate([
128
165
  (0, common_1.Injectable)(),
129
166
  __metadata("design:paramtypes", [system_property_service_1.SystemPropertyService,
130
- remote_request_service_1.RemoteRequestService])
167
+ remote_request_service_1.RemoteRequestService,
168
+ typeorm_1.DataSource])
131
169
  ], EmailNotificationService);
132
170
  //# sourceMappingURL=email.notification.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"email.notification.service.js","sourceRoot":"","sources":["../../../src/notification/services/email.notification.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"email.notification.service.js","sourceRoot":"","sources":["../../../src/notification/services/email.notification.service.ts"],"names":[],"mappings":"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"}
@@ -14,12 +14,18 @@ export declare class NotificationService {
14
14
  sendPushToUser(userUuid: string, payload: PushNotificationPayload): Promise<PushSendResult>;
15
15
  sendPushToTokens(deviceTokens: string[], payload: PushNotificationPayload): Promise<PushSendResult>;
16
16
  registerDeviceToken(userUuid: string, token: string, options?: RegisterDeviceTokenOptions): Promise<UserDeviceTokenEntity>;
17
- removeDeviceToken(token: string): Promise<void>;
17
+ removeDeviceToken(userUuid: string, token: string): Promise<boolean>;
18
+ deactivateUserDeviceTokens(userUuid: string): Promise<void>;
18
19
  getActiveDeviceTokens(userUuid: string): Promise<UserDeviceTokenEntity[]>;
19
- markAsRead(notificationUuid: string): Promise<void>;
20
+ markAsRead(userUuid: string, notificationUuid: string): Promise<boolean>;
20
21
  markAllAsRead(userUuid: string): Promise<void>;
21
22
  getUserNotifications(userUuid: string, filter?: UserNotificationFilter): Promise<PaginatedResult<SystemNotificationEntity>>;
22
23
  getUnreadCount(userUuid: string): Promise<number>;
24
+ static pagination(filter?: UserNotificationFilter): {
25
+ page: number;
26
+ limit: number;
27
+ };
28
+ private evictExcessDeviceTokens;
23
29
  private deactivateDeviceTokens;
24
30
  private get notificationRepository();
25
31
  private get deviceTokenRepository();
@@ -1 +1 @@
1
- {"version":3,"file":"notification.service.d.ts","sourceRoot":"","sources":["../../../src/notification/services/notification.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAc,MAAM,SAAS,CAAC;AACjD,OAAO,EAAE,wBAAwB,EAAE,MAAM,kDAAkD,CAAC;AAE5F,OAAO,EACL,eAAe,EAEhB,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,cAAc,EACd,0BAA0B,EAC1B,sBAAsB,EACvB,MAAM,6BAA6B,CAAC;AAOrC,qBACa,mBAAmB;IAI5B,OAAO,CAAC,QAAQ,CAAC,0BAA0B;IAC3C,OAAO,CAAC,QAAQ,CAAC,UAAU;IAJ7B,SAAS,CAAC,QAAQ,CAAC,MAAM,SAAwC;gBAG9C,0BAA0B,EAAE,0BAA0B,EACtD,UAAU,EAAE,UAAU;IAInC,UAAU,CACd,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,uBAAuB,EAChC,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,wBAAwB,CAAC;IAoB9B,cAAc,CAClB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,uBAAuB,GAC/B,OAAO,CAAC,cAAc,CAAC;IAQpB,gBAAgB,CACpB,YAAY,EAAE,MAAM,EAAE,EACtB,OAAO,EAAE,uBAAuB,GAC/B,OAAO,CAAC,cAAc,CAAC;IA6BpB,mBAAmB,CACvB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,0BAA0B,GACnC,OAAO,CAAC,qBAAqB,CAAC;IAuB3B,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/C,qBAAqB,CACzB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,qBAAqB,EAAE,CAAC;IAM7B,UAAU,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOnD,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAO9C,oBAAoB,CACxB,QAAQ,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,sBAAsB,GAC9B,OAAO,CAAC,eAAe,CAAC,wBAAwB,CAAC,CAAC;IAgB/C,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YAMzC,sBAAsB;IAMpC,OAAO,KAAK,sBAAsB,GAEjC;IAED,OAAO,KAAK,qBAAqB,GAEhC;CACF"}
1
+ {"version":3,"file":"notification.service.d.ts","sourceRoot":"","sources":["../../../src/notification/services/notification.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAkB,MAAM,SAAS,CAAC;AACrD,OAAO,EAAE,wBAAwB,EAAE,MAAM,kDAAkD,CAAC;AAE5F,OAAO,EACL,eAAe,EAEhB,MAAM,2CAA2C,CAAC;AAEnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAE7E,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,cAAc,EACd,0BAA0B,EAC1B,sBAAsB,EACvB,MAAM,6BAA6B,CAAC;AAOrC,qBACa,mBAAmB;IAI5B,OAAO,CAAC,QAAQ,CAAC,0BAA0B;IAC3C,OAAO,CAAC,QAAQ,CAAC,UAAU;IAJ7B,SAAS,CAAC,QAAQ,CAAC,MAAM,SAAwC;gBAG9C,0BAA0B,EAAE,0BAA0B,EACtD,UAAU,EAAE,UAAU;IAInC,UAAU,CACd,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,uBAAuB,EAChC,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,wBAAwB,CAAC;IAoB9B,cAAc,CAClB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,uBAAuB,GAC/B,OAAO,CAAC,cAAc,CAAC;IAQpB,gBAAgB,CACpB,YAAY,EAAE,MAAM,EAAE,EACtB,OAAO,EAAE,uBAAuB,GAC/B,OAAO,CAAC,cAAc,CAAC;IAiCpB,mBAAmB,CACvB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,0BAA0B,GACnC,OAAO,CAAC,qBAAqB,CAAC;IAiC3B,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IASpE,0BAA0B,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAO3D,qBAAqB,CACzB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,qBAAqB,EAAE,CAAC;IAO7B,UAAU,CACd,QAAQ,EAAE,MAAM,EAChB,gBAAgB,EAAE,MAAM,GACvB,OAAO,CAAC,OAAO,CAAC;IAQb,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAO9C,oBAAoB,CACxB,QAAQ,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,sBAAsB,GAC9B,OAAO,CAAC,eAAe,CAAC,wBAAwB,CAAC,CAAC;IAe/C,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAOvD,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,sBAAsB,GAAG;QAClD,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;KACf;YAaa,uBAAuB;YAavB,sBAAsB;IAOpC,OAAO,KAAK,sBAAsB,GAEjC;IAED,OAAO,KAAK,qBAAqB,GAEhC;CACF"}
@@ -16,7 +16,9 @@ const typeorm_1 = require("typeorm");
16
16
  const system_notification_entity_1 = require("../../common/entities/system.notification.entity");
17
17
  const notification_type_enum_1 = require("../../common/enums/notification.type.enum");
18
18
  const paginated_result_types_1 = require("../../common/types/paginated.result.types");
19
+ const bad_request_exception_1 = require("../../global/exceptions/bad.request.exception");
19
20
  const user_device_token_entity_1 = require("../entities/user.device.token.entity");
21
+ const notification_default_enum_1 = require("../enums/notification.default.enum");
20
22
  const fcm_push_notification_service_1 = require("./fcm.push.notification.service");
21
23
  let NotificationService = NotificationService_1 = class NotificationService {
22
24
  constructor(fcmPushNotificationService, dataSource) {
@@ -65,43 +67,51 @@ let NotificationService = NotificationService_1 = class NotificationService {
65
67
  }
66
68
  }
67
69
  async registerDeviceToken(userUuid, token, options) {
68
- const existingToken = await this.deviceTokenRepository.findOne({
69
- where: { token },
70
- });
71
- if (existingToken) {
72
- existingToken.user_id = userUuid;
73
- existingToken.is_active = true;
74
- existingToken.last_used_at = new Date();
75
- if (options?.platform)
76
- existingToken.platform = options.platform;
77
- return this.deviceTokenRepository.save(existingToken);
78
- }
79
- return this.deviceTokenRepository.save(this.deviceTokenRepository.create({
70
+ if (!token?.trim() ||
71
+ token.length > notification_default_enum_1.NotificationDefault.MAX_DEVICE_TOKEN_LENGTH)
72
+ throw new bad_request_exception_1.BadRequestException('Invalid device token.');
73
+ const now = new Date();
74
+ await this.deviceTokenRepository
75
+ .createQueryBuilder()
76
+ .insert()
77
+ .into(user_device_token_entity_1.UserDeviceTokenEntity)
78
+ .values({
80
79
  user_id: userUuid,
81
80
  token,
82
81
  is_active: true,
83
- last_used_at: new Date(),
84
- ...(options?.platform ? { platform: options.platform } : {}),
82
+ last_used_at: now,
83
+ platform: options?.platform ?? null,
85
84
  ...(options?.createdBy ? { created_by: options.createdBy } : {}),
86
- }));
85
+ })
86
+ .orUpdate(['user_id', 'is_active', 'last_used_at', 'platform', 'updated_at'], ['token'], { indexPredicate: 'deleted_at IS NULL' })
87
+ .execute();
88
+ await this.evictExcessDeviceTokens(userUuid);
89
+ return this.deviceTokenRepository.findOneOrFail({ where: { token } });
90
+ }
91
+ async removeDeviceToken(userUuid, token) {
92
+ const { affected } = await this.deviceTokenRepository.softDelete({
93
+ token,
94
+ user_id: userUuid,
95
+ });
96
+ return !!affected;
87
97
  }
88
- async removeDeviceToken(token) {
89
- await this.deviceTokenRepository.softDelete({ token });
98
+ async deactivateUserDeviceTokens(userUuid) {
99
+ await this.deviceTokenRepository.update({ user_id: userUuid, is_active: true }, { is_active: false });
90
100
  }
91
101
  async getActiveDeviceTokens(userUuid) {
92
102
  return this.deviceTokenRepository.find({
93
103
  where: { user_id: userUuid, is_active: true },
94
104
  });
95
105
  }
96
- async markAsRead(notificationUuid) {
97
- await this.notificationRepository.update({ id: notificationUuid }, { is_read: true, read_at: new Date() });
106
+ async markAsRead(userUuid, notificationUuid) {
107
+ const { affected } = await this.notificationRepository.update({ id: notificationUuid, user_id: userUuid, is_read: false }, { is_read: true, read_at: new Date() });
108
+ return !!affected;
98
109
  }
99
110
  async markAllAsRead(userUuid) {
100
111
  await this.notificationRepository.update({ user_id: userUuid, is_read: false }, { is_read: true, read_at: new Date() });
101
112
  }
102
113
  async getUserNotifications(userUuid, filter) {
103
- const page = filter?.page ?? 1;
104
- const limit = filter?.limit ?? 10;
114
+ const { page, limit } = NotificationService_1.pagination(filter);
105
115
  const [notifications, total] = await this.notificationRepository.findAndCount({
106
116
  where: {
107
117
  user_id: userUuid,
@@ -118,10 +128,29 @@ let NotificationService = NotificationService_1 = class NotificationService {
118
128
  where: { user_id: userUuid, is_read: false },
119
129
  });
120
130
  }
131
+ static pagination(filter) {
132
+ const toInt = (value, fallback) => {
133
+ const parsed = Math.trunc(Number(value));
134
+ return Number.isFinite(parsed) ? parsed : fallback;
135
+ };
136
+ const page = Math.max(toInt(filter?.page, 1), 1);
137
+ const limit = Math.min(Math.max(toInt(filter?.limit, notification_default_enum_1.NotificationDefault.PAGE_SIZE), 1), notification_default_enum_1.NotificationDefault.MAX_PAGE_SIZE);
138
+ return { page, limit };
139
+ }
140
+ async evictExcessDeviceTokens(userUuid) {
141
+ const stale = await this.deviceTokenRepository.find({
142
+ select: { id: true },
143
+ where: { user_id: userUuid, is_active: true },
144
+ order: { last_used_at: 'DESC' },
145
+ skip: notification_default_enum_1.NotificationDefault.MAX_DEVICE_TOKENS_PER_USER,
146
+ });
147
+ if (stale.length)
148
+ await this.deviceTokenRepository.softDelete({
149
+ id: (0, typeorm_1.In)(stale.map((row) => row.id)),
150
+ });
151
+ }
121
152
  async deactivateDeviceTokens(tokens) {
122
- for (const token of tokens) {
123
- await this.deviceTokenRepository.update({ token }, { is_active: false });
124
- }
153
+ await this.deviceTokenRepository.update({ token: (0, typeorm_1.In)(tokens) }, { is_active: false });
125
154
  }
126
155
  get notificationRepository() {
127
156
  return this.dataSource.getRepository(system_notification_entity_1.SystemNotificationEntity);
@@ -1 +1 @@
1
- {"version":3,"file":"notification.service.js","sourceRoot":"","sources":["../../../src/notification/services/notification.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"notification.service.js","sourceRoot":"","sources":["../../../src/notification/services/notification.service.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ export interface RenderedEmailTemplate {
6
6
  }
7
7
  export interface SendEmailOptions extends RenderedEmailTemplate {
8
8
  emailRecipients: EmailRecipientDto[];
9
+ sensitive?: boolean;
9
10
  }
10
11
  export interface TenantOnboardedJobData {
11
12
  tenant_name: string;
@@ -19,7 +20,7 @@ export interface TenantUserInvitedJobData {
19
20
  tenant_name: string;
20
21
  invited_by: string;
21
22
  roles: string;
22
- one_time_password: string;
23
+ one_time_password_encrypted: string;
23
24
  expires_on: string;
24
25
  }
25
26
  export interface TenantUserOnboardedJobData {
@@ -28,4 +29,7 @@ export interface TenantUserOnboardedJobData {
28
29
  tenant_name: string;
29
30
  onboarded_on: string;
30
31
  }
32
+ export type TenantUserInvitedMail = Omit<TenantUserInvitedJobData, 'one_time_password_encrypted'> & {
33
+ one_time_password: string;
34
+ };
31
35
  //# sourceMappingURL=email.notification.types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"email.notification.types.d.ts","sourceRoot":"","sources":["../../../src/notification/types/email.notification.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAE3E,MAAM,WAAW,qBAAqB;IACpC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,gBAAiB,SAAQ,qBAAqB;IAC7D,eAAe,EAAE,iBAAiB,EAAE,CAAC;CACtC;AAMD,MAAM,WAAW,sBAAsB;IACrC,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IAEnB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB;AAMD,MAAM,WAAW,wBAAwB;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;CACpB;AAGD,MAAM,WAAW,0BAA0B;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACtB"}
1
+ {"version":3,"file":"email.notification.types.d.ts","sourceRoot":"","sources":["../../../src/notification/types/email.notification.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAE3E,MAAM,WAAW,qBAAqB;IACpC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,gBAAiB,SAAQ,qBAAqB;IAC7D,eAAe,EAAE,iBAAiB,EAAE,CAAC;IAErC,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAMD,MAAM,WAAW,sBAAsB;IACrC,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IAEnB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB;AAMD,MAAM,WAAW,wBAAwB;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,2BAA2B,EAAE,MAAM,CAAC;IACpC,UAAU,EAAE,MAAM,CAAC;CACpB;AAGD,MAAM,WAAW,0BAA0B;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACtB;AAGD,MAAM,MAAM,qBAAqB,GAAG,IAAI,CACtC,wBAAwB,EACxB,6BAA6B,CAC9B,GAAG;IAAE,iBAAiB,EAAE,MAAM,CAAA;CAAE,CAAC"}
@@ -0,0 +1,9 @@
1
+ export interface TemplateDataOptions {
2
+ rawKeys?: string[];
3
+ escape?: boolean;
4
+ maxStringLength?: number;
5
+ }
6
+ export interface TemplateUrlOptions {
7
+ allowHttp?: boolean;
8
+ }
9
+ //# sourceMappingURL=template.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"template.types.d.ts","sourceRoot":"","sources":["../../../src/notification/types/template.types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,mBAAmB;IAElC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAEnB,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,kBAAkB;IAEjC,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=template.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"template.types.js","sourceRoot":"","sources":["../../../src/notification/types/template.types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export declare function shouldLogEmailBody(sensitive: boolean | undefined, env?: NodeJS.ProcessEnv): boolean;
2
+ //# sourceMappingURL=email.log.utility.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"email.log.utility.d.ts","sourceRoot":"","sources":["../../../src/notification/utilities/email.log.utility.ts"],"names":[],"mappings":"AAGA,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,OAAO,GAAG,SAAS,EAC9B,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,OAAO,CAIT"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.shouldLogEmailBody = shouldLogEmailBody;
4
+ const server_environment_utility_1 = require("./server.environment.utility");
5
+ function shouldLogEmailBody(sensitive, env = process.env) {
6
+ if (sensitive)
7
+ return false;
8
+ if (env.EMAIL_LOG_BODIES !== 'true')
9
+ return false;
10
+ return (0, server_environment_utility_1.isDevelopmentEnvironment)(env.SERVER_ENV);
11
+ }
12
+ //# sourceMappingURL=email.log.utility.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"email.log.utility.js","sourceRoot":"","sources":["../../../src/notification/utilities/email.log.utility.ts"],"names":[],"mappings":";;AAGA,gDAOC;AAVD,6EAAwE;AAGxE,SAAgB,kBAAkB,CAChC,SAA8B,EAC9B,MAAyB,OAAO,CAAC,GAAG;IAEpC,IAAI,SAAS;QAAE,OAAO,KAAK,CAAC;IAC5B,IAAI,GAAG,CAAC,gBAAgB,KAAK,MAAM;QAAE,OAAO,KAAK,CAAC;IAClD,OAAO,IAAA,qDAAwB,EAAC,GAAG,CAAC,UAAU,CAAC,CAAC;AAClD,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function isDevelopmentEnvironment(env?: string | undefined): boolean;
2
+ //# sourceMappingURL=server.environment.utility.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.environment.utility.d.ts","sourceRoot":"","sources":["../../../src/notification/utilities/server.environment.utility.ts"],"names":[],"mappings":"AAGA,wBAAgB,wBAAwB,CACtC,GAAG,GAAE,MAAM,GAAG,SAAkC,GAC/C,OAAO,CAMT"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isDevelopmentEnvironment = isDevelopmentEnvironment;
4
+ const server_environment_enum_1 = require("../../common/enums/server.environment.enum");
5
+ function isDevelopmentEnvironment(env = process.env.SERVER_ENV) {
6
+ const value = (env ?? '').trim().toLowerCase();
7
+ return (value === server_environment_enum_1.ServerEnvironmentEnum.DEVELOPMENT ||
8
+ value === server_environment_enum_1.ServerEnvironmentEnum.TEST);
9
+ }
10
+ //# sourceMappingURL=server.environment.utility.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.environment.utility.js","sourceRoot":"","sources":["../../../src/notification/utilities/server.environment.utility.ts"],"names":[],"mappings":";;AAGA,4DAQC;AAXD,wFAAmF;AAGnF,SAAgB,wBAAwB,CACtC,MAA0B,OAAO,CAAC,GAAG,CAAC,UAAU;IAEhD,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC/C,OAAO,CACL,KAAK,KAAM,+CAAqB,CAAC,WAAsB;QACvD,KAAK,KAAM,+CAAqB,CAAC,IAAe,CACjD,CAAC;AACJ,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { TemplateDataOptions } from '../types/template.types';
2
+ export declare function escapeHtml(value: string): string;
3
+ export declare function prepareTemplateData(data: Record<string, unknown> | undefined, options?: TemplateDataOptions): Record<string, unknown>;
4
+ //# sourceMappingURL=template.data.utility.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"template.data.utility.d.ts","sourceRoot":"","sources":["../../../src/notification/utilities/template.data.utility.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAW9D,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEhD;AAGD,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EACzC,OAAO,GAAE,mBAAwB,GAChC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA+BzB"}
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.escapeHtml = escapeHtml;
4
+ exports.prepareTemplateData = prepareTemplateData;
5
+ const email_notification_default_enum_1 = require("../enums/email.notification.default.enum");
6
+ const HTML_ESCAPES = {
7
+ '&': '&amp;',
8
+ '<': '&lt;',
9
+ '>': '&gt;',
10
+ '"': '&quot;',
11
+ "'": '&#39;',
12
+ '`': '&#96;',
13
+ };
14
+ function escapeHtml(value) {
15
+ return value.replace(/[&<>"'`]/g, (char) => HTML_ESCAPES[char]);
16
+ }
17
+ function prepareTemplateData(data, options = {}) {
18
+ const escape = options.escape ?? process.env.TEMPLATE_DATA_ESCAPE !== 'false';
19
+ const maxLength = options.maxStringLength ?? templateDataMaxStringLength();
20
+ const raw = new Set(options.rawKeys ?? []);
21
+ const visit = (value, depth) => {
22
+ if (typeof value === 'string') {
23
+ const capped = value.length > maxLength ? `${value.slice(0, maxLength)}…` : value;
24
+ return escape ? escapeHtml(capped) : capped;
25
+ }
26
+ if (depth >= email_notification_default_enum_1.EmailNotificationLimit.TEMPLATE_DATA_MAX_DEPTH)
27
+ return undefined;
28
+ if (Array.isArray(value))
29
+ return value.map((item) => visit(item, depth + 1));
30
+ if (value && typeof value === 'object' && !(value instanceof Date))
31
+ return Object.fromEntries(Object.entries(value).map(([key, item]) => [
32
+ key,
33
+ visit(item, depth + 1),
34
+ ]));
35
+ return value;
36
+ };
37
+ return Object.fromEntries(Object.entries(data ?? {}).map(([key, value]) => [
38
+ key,
39
+ raw.has(key) ? value : visit(value, 0),
40
+ ]));
41
+ }
42
+ function templateDataMaxStringLength() {
43
+ const parsed = Number(process.env.TEMPLATE_DATA_MAX_STRING_LENGTH);
44
+ return Number.isInteger(parsed) && parsed > 0
45
+ ? parsed
46
+ : email_notification_default_enum_1.EmailNotificationLimit.TEMPLATE_DATA_MAX_STRING_LENGTH;
47
+ }
48
+ //# sourceMappingURL=template.data.utility.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"template.data.utility.js","sourceRoot":"","sources":["../../../src/notification/utilities/template.data.utility.ts"],"names":[],"mappings":";;AAYA,gCAEC;AAGD,kDAkCC;AAnDD,8FAAkF;AAGlF,MAAM,YAAY,GAA2B;IAC3C,GAAG,EAAE,OAAO;IACZ,GAAG,EAAE,MAAM;IACX,GAAG,EAAE,MAAM;IACX,GAAG,EAAE,QAAQ;IACb,GAAG,EAAE,OAAO;IACZ,GAAG,EAAE,OAAO;CACb,CAAC;AAEF,SAAgB,UAAU,CAAC,KAAa;IACtC,OAAO,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;AAClE,CAAC;AAGD,SAAgB,mBAAmB,CACjC,IAAyC,EACzC,UAA+B,EAAE;IAEjC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB,KAAK,OAAO,CAAC;IAC9E,MAAM,SAAS,GAAG,OAAO,CAAC,eAAe,IAAI,2BAA2B,EAAE,CAAC;IAC3E,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;IAE3C,MAAM,KAAK,GAAG,CAAC,KAAc,EAAE,KAAa,EAAW,EAAE;QACvD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,MAAM,MAAM,GACV,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;YACrE,OAAO,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QAC9C,CAAC;QACD,IAAI,KAAK,IAAI,wDAAsB,CAAC,uBAAuB;YACzD,OAAO,SAAS,CAAC;QACnB,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YACtB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;QACrD,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,CAAC,KAAK,YAAY,IAAI,CAAC;YAChE,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;gBACzC,GAAG;gBACH,KAAK,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC;aACvB,CAAC,CACH,CAAC;QACJ,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IAEF,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;QAC/C,GAAG;QACH,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;KACvC,CAAC,CACH,CAAC;AACJ,CAAC;AAED,SAAS,2BAA2B;IAClC,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;IACnE,OAAO,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC;QAC3C,CAAC,CAAC,MAAM;QACR,CAAC,CAAC,wDAAsB,CAAC,+BAA+B,CAAC;AAC7D,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { TemplateUrlOptions } from '../types/template.types';
2
+ export declare function buildTemplateUrl(baseUrl: string, path: string | null | undefined, identifier: string, options?: TemplateUrlOptions): string;
3
+ //# sourceMappingURL=template.url.utility.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"template.url.utility.d.ts","sourceRoot":"","sources":["../../../src/notification/utilities/template.url.utility.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAM7D,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAC/B,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,kBAAuB,GAC/B,MAAM,CAoCR"}
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.buildTemplateUrl = buildTemplateUrl;
4
+ const operation_exception_1 = require("../../global/exceptions/operation.exception");
5
+ const server_environment_utility_1 = require("./server.environment.utility");
6
+ const template_pattern_enum_1 = require("../enums/template.pattern.enum");
7
+ function buildTemplateUrl(baseUrl, path, identifier, options = {}) {
8
+ let base;
9
+ try {
10
+ base = new URL(baseUrl);
11
+ }
12
+ catch {
13
+ throw new operation_exception_1.OperationException('Template base url is not a valid url.');
14
+ }
15
+ const allowHttp = options.allowHttp ?? (0, server_environment_utility_1.isDevelopmentEnvironment)();
16
+ if (base.protocol !== 'https:' && !(allowHttp && base.protocol === 'http:'))
17
+ throw new operation_exception_1.OperationException('Template base url must use https.');
18
+ if (base.username || base.password)
19
+ throw new operation_exception_1.OperationException('Template base url must not carry credentials.');
20
+ const segments = [
21
+ ...(path ?? '').split('/').filter((segment) => segment !== ''),
22
+ identifier,
23
+ ];
24
+ for (const segment of segments)
25
+ if (!template_pattern_enum_1.TemplatePattern.URL_SEGMENT.test(segment) || segment.includes('..'))
26
+ throw new operation_exception_1.OperationException(`Template path segment "${segment}" is not allowed.`);
27
+ const basePath = base.pathname.endsWith('/')
28
+ ? base.pathname
29
+ : `${base.pathname}/`;
30
+ const root = new URL(`${base.origin}${basePath}`);
31
+ const url = new URL(segments.join('/'), root);
32
+ if (url.origin !== root.origin || !url.pathname.startsWith(basePath))
33
+ throw new operation_exception_1.OperationException('Template url escapes the template base url.');
34
+ return url.toString();
35
+ }
36
+ //# sourceMappingURL=template.url.utility.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"template.url.utility.js","sourceRoot":"","sources":["../../../src/notification/utilities/template.url.utility.ts"],"names":[],"mappings":";;AASA,4CAyCC;AAlDD,qFAAiF;AACjF,6EAAwE;AACxE,0EAAiE;AAOjE,SAAgB,gBAAgB,CAC9B,OAAe,EACf,IAA+B,EAC/B,UAAkB,EAClB,UAA8B,EAAE;IAEhC,IAAI,IAAS,CAAC;IACd,IAAI,CAAC;QACH,IAAI,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;IAC1B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,wCAAkB,CAAC,uCAAuC,CAAC,CAAC;IACxE,CAAC;IAED,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,IAAA,qDAAwB,GAAE,CAAC;IAClE,IAAI,IAAI,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,CAAC,SAAS,IAAI,IAAI,CAAC,QAAQ,KAAK,OAAO,CAAC;QACzE,MAAM,IAAI,wCAAkB,CAAC,mCAAmC,CAAC,CAAC;IACpE,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ;QAChC,MAAM,IAAI,wCAAkB,CAC1B,+CAA+C,CAChD,CAAC;IAEJ,MAAM,QAAQ,GAAG;QACf,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,KAAK,EAAE,CAAC;QAC9D,UAAU;KACX,CAAC;IACF,KAAK,MAAM,OAAO,IAAI,QAAQ;QAC5B,IAAI,CAAC,uCAAe,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;YACtE,MAAM,IAAI,wCAAkB,CAC1B,0BAA0B,OAAO,mBAAmB,CACrD,CAAC;IAEN,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC;QAC1C,CAAC,CAAC,IAAI,CAAC,QAAQ;QACf,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,GAAG,CAAC;IACxB,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,QAAQ,EAAE,CAAC,CAAC;IAClD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;IAE9C,IAAI,GAAG,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC;QAClE,MAAM,IAAI,wCAAkB,CAAC,6CAA6C,CAAC,CAAC;IAE9E,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;AACxB,CAAC"}
@@ -1,11 +1,12 @@
1
1
  import { TenantContextService } from './services/tenant.context.service';
2
2
  import { TenantService } from './services/tenant.service';
3
+ import { TenantScopeSubscriber } from './subscribers/tenant.scope.subscriber';
3
4
  export declare const es6Classes: {
4
5
  controllers: any[];
5
6
  services: readonly [typeof TenantContextService, typeof TenantService];
6
7
  libraries: any[];
7
8
  dtos: any[];
8
9
  jobs: any[];
9
- subscribers: any[];
10
+ subscribers: readonly [typeof TenantScopeSubscriber];
10
11
  };
11
12
  //# sourceMappingURL=es6.classes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"es6.classes.d.ts","sourceRoot":"","sources":["../../src/tenant/es6.classes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE1D,eAAO,MAAM,UAAU;;;;;;;CAOtB,CAAC"}
1
+ {"version":3,"file":"es6.classes.d.ts","sourceRoot":"","sources":["../../src/tenant/es6.classes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAE9E,eAAO,MAAM,UAAU;;;;;;;CAOtB,CAAC"}