@neohm/nestend 8.0.1 → 8.1.1

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 (499) hide show
  1. package/README.md +115 -3
  2. package/dist/admin/controllers/admin.api.key.controller.js +2 -2
  3. package/dist/admin/controllers/admin.api.key.controller.js.map +1 -1
  4. package/dist/admin/controllers/admin.constant.controller.d.ts +23 -0
  5. package/dist/admin/controllers/admin.constant.controller.d.ts.map +1 -0
  6. package/dist/admin/controllers/admin.constant.controller.js +138 -0
  7. package/dist/admin/controllers/admin.constant.controller.js.map +1 -0
  8. package/dist/admin/controllers/admin.payment.controller.js +1 -1
  9. package/dist/admin/controllers/admin.payment.controller.js.map +1 -1
  10. package/dist/admin/controllers/admin.system.user.controller.js +1 -1
  11. package/dist/admin/controllers/admin.system.user.controller.js.map +1 -1
  12. package/dist/admin/controllers/admin.tenant.controller.js +1 -1
  13. package/dist/admin/controllers/admin.tenant.controller.js.map +1 -1
  14. package/dist/admin/controllers/admin.tenant.user.controller.d.ts.map +1 -1
  15. package/dist/admin/controllers/admin.tenant.user.controller.js +1 -1
  16. package/dist/admin/controllers/admin.tenant.user.controller.js.map +1 -1
  17. package/dist/admin/dtos/add.constant.dto.d.ts +10 -0
  18. package/dist/admin/dtos/add.constant.dto.d.ts.map +1 -0
  19. package/dist/admin/dtos/add.constant.dto.js +70 -0
  20. package/dist/admin/dtos/add.constant.dto.js.map +1 -0
  21. package/dist/admin/dtos/add.constant.type.dto.d.ts +8 -0
  22. package/dist/admin/dtos/add.constant.type.dto.d.ts.map +1 -0
  23. package/dist/admin/dtos/add.constant.type.dto.js +56 -0
  24. package/dist/admin/dtos/add.constant.type.dto.js.map +1 -0
  25. package/dist/admin/dtos/add.plan.dto.d.ts +2 -2
  26. package/dist/admin/dtos/add.plan.dto.d.ts.map +1 -1
  27. package/dist/admin/dtos/add.plan.dto.js +2 -2
  28. package/dist/admin/dtos/add.plan.dto.js.map +1 -1
  29. package/dist/admin/dtos/add.scheduled.task.dto.d.ts +3 -3
  30. package/dist/admin/dtos/add.scheduled.task.dto.d.ts.map +1 -1
  31. package/dist/admin/dtos/add.scheduled.task.dto.js +8 -5
  32. package/dist/admin/dtos/add.scheduled.task.dto.js.map +1 -1
  33. package/dist/admin/dtos/add.tenant.dto.d.ts +2 -2
  34. package/dist/admin/dtos/add.tenant.dto.d.ts.map +1 -1
  35. package/dist/admin/dtos/add.tenant.dto.js +8 -2
  36. package/dist/admin/dtos/add.tenant.dto.js.map +1 -1
  37. package/dist/admin/dtos/assign.tenant.plan.dto.d.ts +2 -2
  38. package/dist/admin/dtos/assign.tenant.plan.dto.d.ts.map +1 -1
  39. package/dist/admin/dtos/assign.tenant.plan.dto.js +9 -3
  40. package/dist/admin/dtos/assign.tenant.plan.dto.js.map +1 -1
  41. package/dist/admin/dtos/constant.type.list.dto.d.ts +4 -0
  42. package/dist/admin/dtos/constant.type.list.dto.d.ts.map +1 -0
  43. package/dist/admin/dtos/constant.type.list.dto.js +8 -0
  44. package/dist/admin/dtos/constant.type.list.dto.js.map +1 -0
  45. package/dist/admin/enums/constant.enum.d.ts +18 -0
  46. package/dist/admin/enums/constant.enum.d.ts.map +1 -0
  47. package/dist/admin/enums/constant.enum.js +23 -0
  48. package/dist/admin/enums/constant.enum.js.map +1 -0
  49. package/dist/admin/libraries/bulk.user.data.processor.js +1 -1
  50. package/dist/admin/libraries/bulk.user.data.processor.js.map +1 -1
  51. package/dist/admin/libraries/client.membership.data.processor.js +1 -1
  52. package/dist/admin/libraries/client.membership.data.processor.js.map +1 -1
  53. package/dist/admin/libraries/client.user.data.processor.js +2 -2
  54. package/dist/admin/libraries/client.user.data.processor.js.map +1 -1
  55. package/dist/admin/libraries/client.user.delete.processor.js +1 -1
  56. package/dist/admin/libraries/client.user.delete.processor.js.map +1 -1
  57. package/dist/admin/libraries/client.user.filter.processor.js +1 -1
  58. package/dist/admin/libraries/client.user.filter.processor.js.map +1 -1
  59. package/dist/admin/libraries/constant.data.processor.d.ts +22 -0
  60. package/dist/admin/libraries/constant.data.processor.d.ts.map +1 -0
  61. package/dist/admin/libraries/constant.data.processor.js +102 -0
  62. package/dist/admin/libraries/constant.data.processor.js.map +1 -0
  63. package/dist/admin/libraries/constant.type.data.processor.d.ts +20 -0
  64. package/dist/admin/libraries/constant.type.data.processor.d.ts.map +1 -0
  65. package/dist/admin/libraries/constant.type.data.processor.js +75 -0
  66. package/dist/admin/libraries/constant.type.data.processor.js.map +1 -0
  67. package/dist/admin/libraries/constant.type.filter.processor.d.ts +11 -0
  68. package/dist/admin/libraries/constant.type.filter.processor.d.ts.map +1 -0
  69. package/dist/admin/libraries/constant.type.filter.processor.js +47 -0
  70. package/dist/admin/libraries/constant.type.filter.processor.js.map +1 -0
  71. package/dist/admin/libraries/payment.filter.processor.d.ts.map +1 -1
  72. package/dist/admin/libraries/payment.filter.processor.js +3 -2
  73. package/dist/admin/libraries/payment.filter.processor.js.map +1 -1
  74. package/dist/admin/libraries/plan.data.processor.d.ts +1 -0
  75. package/dist/admin/libraries/plan.data.processor.d.ts.map +1 -1
  76. package/dist/admin/libraries/plan.data.processor.js +12 -3
  77. package/dist/admin/libraries/plan.data.processor.js.map +1 -1
  78. package/dist/admin/libraries/plan.filter.processor.d.ts.map +1 -1
  79. package/dist/admin/libraries/plan.filter.processor.js +3 -2
  80. package/dist/admin/libraries/plan.filter.processor.js.map +1 -1
  81. package/dist/admin/libraries/scheduled.task.data.processor.d.ts.map +1 -1
  82. package/dist/admin/libraries/scheduled.task.data.processor.js +12 -9
  83. package/dist/admin/libraries/scheduled.task.data.processor.js.map +1 -1
  84. package/dist/admin/libraries/scheduled.task.delete.processor.d.ts.map +1 -1
  85. package/dist/admin/libraries/scheduled.task.delete.processor.js +3 -3
  86. package/dist/admin/libraries/scheduled.task.delete.processor.js.map +1 -1
  87. package/dist/admin/libraries/scheduled.task.filter.processor.d.ts.map +1 -1
  88. package/dist/admin/libraries/scheduled.task.filter.processor.js +5 -3
  89. package/dist/admin/libraries/scheduled.task.filter.processor.js.map +1 -1
  90. package/dist/admin/libraries/system.user.data.processor.js +2 -2
  91. package/dist/admin/libraries/system.user.data.processor.js.map +1 -1
  92. package/dist/admin/libraries/system.user.filter.processor.d.ts.map +1 -1
  93. package/dist/admin/libraries/system.user.filter.processor.js +4 -3
  94. package/dist/admin/libraries/system.user.filter.processor.js.map +1 -1
  95. package/dist/admin/libraries/tenant.plan.data.processor.d.ts.map +1 -1
  96. package/dist/admin/libraries/tenant.plan.data.processor.js +8 -5
  97. package/dist/admin/libraries/tenant.plan.data.processor.js.map +1 -1
  98. package/dist/admin/libraries/webhook.event.filter.processor.d.ts.map +1 -1
  99. package/dist/admin/libraries/webhook.event.filter.processor.js +3 -2
  100. package/dist/admin/libraries/webhook.event.filter.processor.js.map +1 -1
  101. package/dist/admin/module.registry.d.ts +10 -4
  102. package/dist/admin/module.registry.d.ts.map +1 -1
  103. package/dist/admin/module.registry.js +16 -0
  104. package/dist/admin/module.registry.js.map +1 -1
  105. package/dist/admin/services/admin.constant.service.d.ts +13 -0
  106. package/dist/admin/services/admin.constant.service.d.ts.map +1 -0
  107. package/dist/admin/services/admin.constant.service.js +116 -0
  108. package/dist/admin/services/admin.constant.service.js.map +1 -0
  109. package/dist/admin/services/system.user.service.js +1 -1
  110. package/dist/admin/services/system.user.service.js.map +1 -1
  111. package/dist/admin/types/admin.types.d.ts +1 -1
  112. package/dist/admin/types/admin.types.d.ts.map +1 -1
  113. package/dist/admin/utilities/admin.audit.d.ts.map +1 -1
  114. package/dist/admin/utilities/admin.audit.js +3 -1
  115. package/dist/admin/utilities/admin.audit.js.map +1 -1
  116. package/dist/admin/utilities/scheduled.event.discard.d.ts +4 -0
  117. package/dist/admin/utilities/scheduled.event.discard.d.ts.map +1 -0
  118. package/dist/admin/utilities/scheduled.event.discard.js +16 -0
  119. package/dist/admin/utilities/scheduled.event.discard.js.map +1 -0
  120. package/dist/auth/entities/payment.entity.d.ts +4 -2
  121. package/dist/auth/entities/payment.entity.d.ts.map +1 -1
  122. package/dist/auth/entities/payment.entity.js +7 -1
  123. package/dist/auth/entities/payment.entity.js.map +1 -1
  124. package/dist/auth/entities/plan.entity.d.ts +4 -2
  125. package/dist/auth/entities/plan.entity.d.ts.map +1 -1
  126. package/dist/auth/entities/plan.entity.js +7 -1
  127. package/dist/auth/entities/plan.entity.js.map +1 -1
  128. package/dist/auth/entities/tenant.invitation.entity.d.ts +4 -2
  129. package/dist/auth/entities/tenant.invitation.entity.d.ts.map +1 -1
  130. package/dist/auth/entities/tenant.invitation.entity.js +7 -1
  131. package/dist/auth/entities/tenant.invitation.entity.js.map +1 -1
  132. package/dist/auth/entities/tenant.plan.entity.d.ts +6 -3
  133. package/dist/auth/entities/tenant.plan.entity.d.ts.map +1 -1
  134. package/dist/auth/entities/tenant.plan.entity.js +15 -4
  135. package/dist/auth/entities/tenant.plan.entity.js.map +1 -1
  136. package/dist/auth/entities/user.entity.d.ts +2 -2
  137. package/dist/auth/entities/user.entity.d.ts.map +1 -1
  138. package/dist/auth/entities/user.entity.js +2 -2
  139. package/dist/auth/entities/user.entity.js.map +1 -1
  140. package/dist/auth/enums/payment.enum.d.ts +8 -1
  141. package/dist/auth/enums/payment.enum.d.ts.map +1 -1
  142. package/dist/auth/enums/payment.enum.js +17 -9
  143. package/dist/auth/enums/payment.enum.js.map +1 -1
  144. package/dist/auth/enums/tenant.invitation.status.enum.d.ts +7 -1
  145. package/dist/auth/enums/tenant.invitation.status.enum.d.ts.map +1 -1
  146. package/dist/auth/enums/tenant.invitation.status.enum.js +15 -8
  147. package/dist/auth/enums/tenant.invitation.status.enum.js.map +1 -1
  148. package/dist/auth/enums/tenant.plan.enum.d.ts +17 -3
  149. package/dist/auth/enums/tenant.plan.enum.d.ts.map +1 -1
  150. package/dist/auth/enums/tenant.plan.enum.js +35 -18
  151. package/dist/auth/enums/tenant.plan.enum.js.map +1 -1
  152. package/dist/auth/enums/user.type.enum.d.ts +5 -1
  153. package/dist/auth/enums/user.type.enum.d.ts.map +1 -1
  154. package/dist/auth/enums/user.type.enum.js +11 -6
  155. package/dist/auth/enums/user.type.enum.js.map +1 -1
  156. package/dist/auth/helpers/admin.auth.d.ts +1 -0
  157. package/dist/auth/helpers/admin.auth.d.ts.map +1 -1
  158. package/dist/auth/helpers/admin.auth.js +3 -0
  159. package/dist/auth/helpers/admin.auth.js.map +1 -1
  160. package/dist/auth/helpers/api.key.context.d.ts +1 -0
  161. package/dist/auth/helpers/api.key.context.d.ts.map +1 -1
  162. package/dist/auth/helpers/api.key.context.js +3 -0
  163. package/dist/auth/helpers/api.key.context.js.map +1 -1
  164. package/dist/auth/helpers/auth.d.ts +1 -0
  165. package/dist/auth/helpers/auth.d.ts.map +1 -1
  166. package/dist/auth/helpers/auth.js +6 -1
  167. package/dist/auth/helpers/auth.js.map +1 -1
  168. package/dist/auth/middlewares/admin.jwt.middleware.d.ts.map +1 -1
  169. package/dist/auth/middlewares/admin.jwt.middleware.js +5 -1
  170. package/dist/auth/middlewares/admin.jwt.middleware.js.map +1 -1
  171. package/dist/auth/middlewares/api.key.middleware.d.ts.map +1 -1
  172. package/dist/auth/middlewares/api.key.middleware.js +5 -1
  173. package/dist/auth/middlewares/api.key.middleware.js.map +1 -1
  174. package/dist/auth/middlewares/jwt.middleware.d.ts.map +1 -1
  175. package/dist/auth/middlewares/jwt.middleware.js +5 -1
  176. package/dist/auth/middlewares/jwt.middleware.js.map +1 -1
  177. package/dist/auth/processors/google.user.data.processor.d.ts.map +1 -1
  178. package/dist/auth/processors/google.user.data.processor.js +6 -3
  179. package/dist/auth/processors/google.user.data.processor.js.map +1 -1
  180. package/dist/auth/processors/register.user.data.processor.d.ts.map +1 -1
  181. package/dist/auth/processors/register.user.data.processor.js +1 -1
  182. package/dist/auth/processors/register.user.data.processor.js.map +1 -1
  183. package/dist/auth/processors/tenant.invitation.data.processor.js +6 -6
  184. package/dist/auth/processors/tenant.invitation.data.processor.js.map +1 -1
  185. package/dist/auth/processors/tenant.invitation.filter.processor.d.ts.map +1 -1
  186. package/dist/auth/processors/tenant.invitation.filter.processor.js +2 -1
  187. package/dist/auth/processors/tenant.invitation.filter.processor.js.map +1 -1
  188. package/dist/auth/services/auth.service.js +2 -2
  189. package/dist/auth/services/auth.service.js.map +1 -1
  190. package/dist/auth/services/impersonation.service.js +1 -1
  191. package/dist/auth/services/impersonation.service.js.map +1 -1
  192. package/dist/auth/services/payment.service.d.ts +5 -2
  193. package/dist/auth/services/payment.service.d.ts.map +1 -1
  194. package/dist/auth/services/payment.service.js +54 -35
  195. package/dist/auth/services/payment.service.js.map +1 -1
  196. package/dist/auth/services/tenant.invitation.service.d.ts +1 -1
  197. package/dist/auth/services/tenant.invitation.service.d.ts.map +1 -1
  198. package/dist/auth/services/tenant.invitation.service.js +20 -12
  199. package/dist/auth/services/tenant.invitation.service.js.map +1 -1
  200. package/dist/auth/services/tenant.membership.service.js +2 -2
  201. package/dist/auth/services/tenant.membership.service.js.map +1 -1
  202. package/dist/auth/services/tenant.plan.service.d.ts.map +1 -1
  203. package/dist/auth/services/tenant.plan.service.js +7 -3
  204. package/dist/auth/services/tenant.plan.service.js.map +1 -1
  205. package/dist/auth/services/tenant.provisioning.service.d.ts.map +1 -1
  206. package/dist/auth/services/tenant.provisioning.service.js +9 -5
  207. package/dist/auth/services/tenant.provisioning.service.js.map +1 -1
  208. package/dist/auth/types/api.key.types.d.ts +1 -0
  209. package/dist/auth/types/api.key.types.d.ts.map +1 -1
  210. package/dist/auth/types/auth.types.d.ts +2 -0
  211. package/dist/auth/types/auth.types.d.ts.map +1 -1
  212. package/dist/auth/types/google.auth.types.d.ts +1 -1
  213. package/dist/auth/types/google.auth.types.d.ts.map +1 -1
  214. package/dist/auth/types/payment.types.d.ts +4 -1
  215. package/dist/auth/types/payment.types.d.ts.map +1 -1
  216. package/dist/auth/types/tenant.plan.types.d.ts +6 -6
  217. package/dist/auth/types/tenant.plan.types.d.ts.map +1 -1
  218. package/dist/auth/types/tenant.provisioning.types.d.ts +2 -2
  219. package/dist/auth/types/tenant.provisioning.types.d.ts.map +1 -1
  220. package/dist/auth/utilities/tenant.access.js +2 -2
  221. package/dist/auth/utilities/tenant.access.js.map +1 -1
  222. package/dist/auth/utilities/tenant.limits.js +2 -2
  223. package/dist/auth/utilities/tenant.limits.js.map +1 -1
  224. package/dist/auth/utilities/tenant.plans.js +8 -8
  225. package/dist/auth/utilities/tenant.plans.js.map +1 -1
  226. package/dist/common/common.module.d.ts.map +1 -1
  227. package/dist/common/common.module.js +6 -0
  228. package/dist/common/common.module.js.map +1 -1
  229. package/dist/common/entities/activity.log.entity.d.ts +3 -1
  230. package/dist/common/entities/activity.log.entity.d.ts.map +1 -1
  231. package/dist/common/entities/activity.log.entity.js +7 -1
  232. package/dist/common/entities/activity.log.entity.js.map +1 -1
  233. package/dist/common/entities/idempotency.key.entity.d.ts +11 -0
  234. package/dist/common/entities/idempotency.key.entity.d.ts.map +1 -0
  235. package/dist/common/entities/idempotency.key.entity.js +49 -0
  236. package/dist/common/entities/idempotency.key.entity.js.map +1 -0
  237. package/dist/common/entities/scheduled.event.entity.d.ts +2 -2
  238. package/dist/common/entities/scheduled.event.entity.d.ts.map +1 -1
  239. package/dist/common/entities/scheduled.event.entity.js +2 -2
  240. package/dist/common/entities/scheduled.event.entity.js.map +1 -1
  241. package/dist/common/entities/system.audit.log.entity.d.ts +4 -1
  242. package/dist/common/entities/system.audit.log.entity.d.ts.map +1 -1
  243. package/dist/common/entities/system.audit.log.entity.js +8 -1
  244. package/dist/common/entities/system.audit.log.entity.js.map +1 -1
  245. package/dist/common/entities/system.constant.entity.d.ts +2 -0
  246. package/dist/common/entities/system.constant.entity.d.ts.map +1 -1
  247. package/dist/common/entities/system.constant.entity.js +11 -3
  248. package/dist/common/entities/system.constant.entity.js.map +1 -1
  249. package/dist/common/entities/system.constant.type.entity.d.ts +1 -0
  250. package/dist/common/entities/system.constant.type.entity.d.ts.map +1 -1
  251. package/dist/common/entities/system.constant.type.entity.js +6 -2
  252. package/dist/common/entities/system.constant.type.entity.js.map +1 -1
  253. package/dist/common/entities/system.notification.entity.d.ts +3 -1
  254. package/dist/common/entities/system.notification.entity.d.ts.map +1 -1
  255. package/dist/common/entities/system.notification.entity.js +7 -1
  256. package/dist/common/entities/system.notification.entity.js.map +1 -1
  257. package/dist/common/entities/system.scheduled.task.entity.d.ts +3 -3
  258. package/dist/common/entities/system.scheduled.task.entity.d.ts.map +1 -1
  259. package/dist/common/entities/system.scheduled.task.entity.js +4 -4
  260. package/dist/common/entities/system.scheduled.task.entity.js.map +1 -1
  261. package/dist/common/enums/audit.action.enum.d.ts +28 -11
  262. package/dist/common/enums/audit.action.enum.d.ts.map +1 -1
  263. package/dist/common/enums/audit.action.enum.js +30 -12
  264. package/dist/common/enums/audit.action.enum.js.map +1 -1
  265. package/dist/common/enums/idempotency.enum.d.ts +42 -0
  266. package/dist/common/enums/idempotency.enum.d.ts.map +1 -0
  267. package/dist/common/enums/idempotency.enum.js +50 -0
  268. package/dist/common/enums/idempotency.enum.js.map +1 -0
  269. package/dist/common/enums/notification.type.enum.d.ts +12 -5
  270. package/dist/common/enums/notification.type.enum.d.ts.map +1 -1
  271. package/dist/common/enums/notification.type.enum.js +14 -6
  272. package/dist/common/enums/notification.type.enum.js.map +1 -1
  273. package/dist/common/enums/otp.enum.d.ts +3 -5
  274. package/dist/common/enums/otp.enum.d.ts.map +1 -1
  275. package/dist/common/enums/otp.enum.js +8 -9
  276. package/dist/common/enums/otp.enum.js.map +1 -1
  277. package/dist/common/enums/record.history.enum.d.ts +2 -0
  278. package/dist/common/enums/record.history.enum.d.ts.map +1 -0
  279. package/dist/common/enums/record.history.enum.js +12 -0
  280. package/dist/common/enums/record.history.enum.js.map +1 -0
  281. package/dist/common/enums/schedule.enum.d.ts +20 -3
  282. package/dist/common/enums/schedule.enum.d.ts.map +1 -1
  283. package/dist/common/enums/schedule.enum.js +40 -20
  284. package/dist/common/enums/schedule.enum.js.map +1 -1
  285. package/dist/common/enums/storage.driver.enum.d.ts +8 -1
  286. package/dist/common/enums/storage.driver.enum.d.ts.map +1 -1
  287. package/dist/common/enums/storage.driver.enum.js +17 -9
  288. package/dist/common/enums/storage.driver.enum.js.map +1 -1
  289. package/dist/common/enums/system.constant.enum.d.ts +55 -0
  290. package/dist/common/enums/system.constant.enum.d.ts.map +1 -0
  291. package/dist/common/enums/system.constant.enum.js +63 -0
  292. package/dist/common/enums/system.constant.enum.js.map +1 -0
  293. package/dist/common/helpers/canonical.json.d.ts +2 -0
  294. package/dist/common/helpers/canonical.json.d.ts.map +1 -0
  295. package/dist/common/helpers/canonical.json.js +23 -0
  296. package/dist/common/helpers/canonical.json.js.map +1 -0
  297. package/dist/common/helpers/constant.pair.d.ts +5 -0
  298. package/dist/common/helpers/constant.pair.d.ts.map +1 -0
  299. package/dist/common/helpers/constant.pair.js +19 -0
  300. package/dist/common/helpers/constant.pair.js.map +1 -0
  301. package/dist/common/helpers/request.idempotency.d.ts +9 -0
  302. package/dist/common/helpers/request.idempotency.d.ts.map +1 -0
  303. package/dist/common/helpers/request.idempotency.js +40 -0
  304. package/dist/common/helpers/request.idempotency.js.map +1 -0
  305. package/dist/common/jobs/dispatch.scheduled.event.job.d.ts +1 -0
  306. package/dist/common/jobs/dispatch.scheduled.event.job.d.ts.map +1 -1
  307. package/dist/common/jobs/dispatch.scheduled.event.job.js +45 -19
  308. package/dist/common/jobs/dispatch.scheduled.event.job.js.map +1 -1
  309. package/dist/common/jobs/purge.idempotency.keys.job.d.ts +11 -0
  310. package/dist/common/jobs/purge.idempotency.keys.job.d.ts.map +1 -0
  311. package/dist/common/jobs/purge.idempotency.keys.job.js +37 -0
  312. package/dist/common/jobs/purge.idempotency.keys.job.js.map +1 -0
  313. package/dist/common/jobs/set.scheduled.event.job.d.ts.map +1 -1
  314. package/dist/common/jobs/set.scheduled.event.job.js +11 -10
  315. package/dist/common/jobs/set.scheduled.event.job.js.map +1 -1
  316. package/dist/common/libraries/base.data.processor.d.ts +9 -0
  317. package/dist/common/libraries/base.data.processor.d.ts.map +1 -1
  318. package/dist/common/libraries/base.data.processor.js +46 -1
  319. package/dist/common/libraries/base.data.processor.js.map +1 -1
  320. package/dist/common/module.registry.d.ts +6 -2
  321. package/dist/common/module.registry.d.ts.map +1 -1
  322. package/dist/common/module.registry.js +8 -0
  323. package/dist/common/module.registry.js.map +1 -1
  324. package/dist/common/queue.module.d.ts.map +1 -1
  325. package/dist/common/queue.module.js +4 -0
  326. package/dist/common/queue.module.js.map +1 -1
  327. package/dist/common/services/audit.service.d.ts.map +1 -1
  328. package/dist/common/services/audit.service.js +7 -2
  329. package/dist/common/services/audit.service.js.map +1 -1
  330. package/dist/common/services/idempotency.service.d.ts +25 -0
  331. package/dist/common/services/idempotency.service.d.ts.map +1 -0
  332. package/dist/common/services/idempotency.service.js +181 -0
  333. package/dist/common/services/idempotency.service.js.map +1 -0
  334. package/dist/common/services/record.history.service.d.ts +16 -0
  335. package/dist/common/services/record.history.service.d.ts.map +1 -0
  336. package/dist/common/services/record.history.service.js +153 -0
  337. package/dist/common/services/record.history.service.js.map +1 -0
  338. package/dist/common/services/system.constant.service.d.ts +24 -0
  339. package/dist/common/services/system.constant.service.d.ts.map +1 -0
  340. package/dist/common/services/system.constant.service.js +151 -0
  341. package/dist/common/services/system.constant.service.js.map +1 -0
  342. package/dist/common/system.property.module.d.ts.map +1 -1
  343. package/dist/common/system.property.module.js +11 -2
  344. package/dist/common/system.property.module.js.map +1 -1
  345. package/dist/common/types/audit.types.d.ts +3 -2
  346. package/dist/common/types/audit.types.d.ts.map +1 -1
  347. package/dist/common/types/idempotency.types.d.ts +29 -0
  348. package/dist/common/types/idempotency.types.d.ts.map +1 -0
  349. package/dist/common/types/idempotency.types.js +3 -0
  350. package/dist/common/types/idempotency.types.js.map +1 -0
  351. package/dist/common/types/record.history.types.d.ts +40 -0
  352. package/dist/common/types/record.history.types.d.ts.map +1 -0
  353. package/dist/common/types/record.history.types.js +3 -0
  354. package/dist/common/types/record.history.types.js.map +1 -0
  355. package/dist/common/types/system.constant.types.d.ts +16 -0
  356. package/dist/common/types/system.constant.types.d.ts.map +1 -0
  357. package/dist/common/types/system.constant.types.js +3 -0
  358. package/dist/common/types/system.constant.types.js.map +1 -0
  359. package/dist/common/validators/idempotency.patterns.d.ts +2 -0
  360. package/dist/common/validators/idempotency.patterns.d.ts.map +1 -0
  361. package/dist/common/validators/idempotency.patterns.js +5 -0
  362. package/dist/common/validators/idempotency.patterns.js.map +1 -0
  363. package/dist/constants/entity.constants.d.ts +1 -0
  364. package/dist/constants/entity.constants.d.ts.map +1 -1
  365. package/dist/constants/entity.constants.js +1 -0
  366. package/dist/constants/entity.constants.js.map +1 -1
  367. package/dist/constants/entity.maps.d.ts +2 -0
  368. package/dist/constants/entity.maps.d.ts.map +1 -1
  369. package/dist/constants/entity.maps.js +2 -0
  370. package/dist/constants/entity.maps.js.map +1 -1
  371. package/dist/constants/job.constants.d.ts +1 -0
  372. package/dist/constants/job.constants.d.ts.map +1 -1
  373. package/dist/constants/job.constants.js +1 -0
  374. package/dist/constants/job.constants.js.map +1 -1
  375. package/dist/constants/job.maps.d.ts +2 -0
  376. package/dist/constants/job.maps.d.ts.map +1 -1
  377. package/dist/constants/job.maps.js +2 -0
  378. package/dist/constants/job.maps.js.map +1 -1
  379. package/dist/document/entities/document.upload.entity.d.ts +2 -1
  380. package/dist/document/entities/document.upload.entity.d.ts.map +1 -1
  381. package/dist/document/entities/document.upload.entity.js +3 -2
  382. package/dist/document/entities/document.upload.entity.js.map +1 -1
  383. package/dist/document/enums/document.default.enum.d.ts +3 -1
  384. package/dist/document/enums/document.default.enum.d.ts.map +1 -1
  385. package/dist/document/enums/document.default.enum.js +2 -0
  386. package/dist/document/enums/document.default.enum.js.map +1 -1
  387. package/dist/document/services/document.service.d.ts +6 -0
  388. package/dist/document/services/document.service.d.ts.map +1 -1
  389. package/dist/document/services/document.service.js +62 -15
  390. package/dist/document/services/document.service.js.map +1 -1
  391. package/dist/document/services/minio.bucket.document.service.d.ts +2 -2
  392. package/dist/document/services/minio.bucket.document.service.d.ts.map +1 -1
  393. package/dist/document/services/minio.bucket.document.service.js +1 -1
  394. package/dist/document/services/minio.bucket.document.service.js.map +1 -1
  395. package/dist/document/services/s3.bucket.document.service.d.ts +2 -2
  396. package/dist/document/services/s3.bucket.document.service.d.ts.map +1 -1
  397. package/dist/document/services/s3.bucket.document.service.js +1 -1
  398. package/dist/document/services/s3.bucket.document.service.js.map +1 -1
  399. package/dist/global/exceptions/idempotency.exception.d.ts +8 -0
  400. package/dist/global/exceptions/idempotency.exception.d.ts.map +1 -0
  401. package/dist/global/exceptions/idempotency.exception.js +18 -0
  402. package/dist/global/exceptions/idempotency.exception.js.map +1 -0
  403. package/dist/global/utilities/seeder.utility.d.ts +1 -1
  404. package/dist/global/utilities/seeder.utility.d.ts.map +1 -1
  405. package/dist/global/utilities/seeder.utility.js +2 -2
  406. package/dist/global/utilities/seeder.utility.js.map +1 -1
  407. package/dist/global/utilities/table.builder.d.ts.map +1 -1
  408. package/dist/global/utilities/table.builder.js +1 -0
  409. package/dist/global/utilities/table.builder.js.map +1 -1
  410. package/dist/index.d.ts +21 -8
  411. package/dist/index.d.ts.map +1 -1
  412. package/dist/index.js +51 -17
  413. package/dist/index.js.map +1 -1
  414. package/dist/migrations/1749600000003.CreateSysUsersTable.d.ts.map +1 -1
  415. package/dist/migrations/1749600000003.CreateSysUsersTable.js +3 -3
  416. package/dist/migrations/1749600000003.CreateSysUsersTable.js.map +1 -1
  417. package/dist/migrations/1749600000007.CreateSysConstantTypesTable.d.ts.map +1 -1
  418. package/dist/migrations/1749600000007.CreateSysConstantTypesTable.js +5 -4
  419. package/dist/migrations/1749600000007.CreateSysConstantTypesTable.js.map +1 -1
  420. package/dist/migrations/1749600000008.CreateSysConstantsTable.d.ts +3 -0
  421. package/dist/migrations/1749600000008.CreateSysConstantsTable.d.ts.map +1 -1
  422. package/dist/migrations/1749600000008.CreateSysConstantsTable.js +26 -4
  423. package/dist/migrations/1749600000008.CreateSysConstantsTable.js.map +1 -1
  424. package/dist/migrations/1749600000011.CreateSysNotificationsTable.d.ts.map +1 -1
  425. package/dist/migrations/1749600000011.CreateSysNotificationsTable.js +8 -2
  426. package/dist/migrations/1749600000011.CreateSysNotificationsTable.js.map +1 -1
  427. package/dist/migrations/1749600000012.CreateSysAuditLogsTable.d.ts.map +1 -1
  428. package/dist/migrations/1749600000012.CreateSysAuditLogsTable.js +5 -1
  429. package/dist/migrations/1749600000012.CreateSysAuditLogsTable.js.map +1 -1
  430. package/dist/migrations/1749600000013.CreateSysDocumentUploadsTable.d.ts.map +1 -1
  431. package/dist/migrations/1749600000013.CreateSysDocumentUploadsTable.js +5 -1
  432. package/dist/migrations/1749600000013.CreateSysDocumentUploadsTable.js.map +1 -1
  433. package/dist/migrations/1749600000015.CreateSysActivityLogsTable.d.ts.map +1 -1
  434. package/dist/migrations/1749600000015.CreateSysActivityLogsTable.js +5 -1
  435. package/dist/migrations/1749600000015.CreateSysActivityLogsTable.js.map +1 -1
  436. package/dist/migrations/1749600000018.CreateSysScheduledTasksTable.d.ts.map +1 -1
  437. package/dist/migrations/1749600000018.CreateSysScheduledTasksTable.js +12 -6
  438. package/dist/migrations/1749600000018.CreateSysScheduledTasksTable.js.map +1 -1
  439. package/dist/migrations/1749600000019.CreateSysScheduledEventsTable.d.ts.map +1 -1
  440. package/dist/migrations/1749600000019.CreateSysScheduledEventsTable.js +7 -4
  441. package/dist/migrations/1749600000019.CreateSysScheduledEventsTable.js.map +1 -1
  442. package/dist/migrations/1749600000031.CreateSysTenantInvitationsTable.d.ts.map +1 -1
  443. package/dist/migrations/1749600000031.CreateSysTenantInvitationsTable.js +12 -7
  444. package/dist/migrations/1749600000031.CreateSysTenantInvitationsTable.js.map +1 -1
  445. package/dist/migrations/1749600000036.SeedGlobalAdminRole.d.ts +1 -1
  446. package/dist/migrations/1749600000036.SeedGlobalAdminRole.d.ts.map +1 -1
  447. package/dist/migrations/1749600000036.SeedGlobalAdminRole.js +2 -2
  448. package/dist/migrations/1749600000036.SeedGlobalAdminRole.js.map +1 -1
  449. package/dist/migrations/1749600000040.SeedTenantLimits.d.ts +1 -1
  450. package/dist/migrations/1749600000040.SeedTenantLimits.d.ts.map +1 -1
  451. package/dist/migrations/1749600000040.SeedTenantLimits.js +2 -2
  452. package/dist/migrations/1749600000040.SeedTenantLimits.js.map +1 -1
  453. package/dist/migrations/1749600000041.CreateSysPlansTable.d.ts.map +1 -1
  454. package/dist/migrations/1749600000041.CreateSysPlansTable.js +6 -3
  455. package/dist/migrations/1749600000041.CreateSysPlansTable.js.map +1 -1
  456. package/dist/migrations/1749600000044.CreateSysTenantPlansTable.d.ts.map +1 -1
  457. package/dist/migrations/1749600000044.CreateSysTenantPlansTable.js +14 -7
  458. package/dist/migrations/1749600000044.CreateSysTenantPlansTable.js.map +1 -1
  459. package/dist/migrations/1749600000045.CreateSysPaymentsTable.d.ts.map +1 -1
  460. package/dist/migrations/1749600000045.CreateSysPaymentsTable.js +6 -5
  461. package/dist/migrations/1749600000045.CreateSysPaymentsTable.js.map +1 -1
  462. package/dist/migrations/1749600000046.CreateSysWebhookEventsTable.d.ts.map +1 -1
  463. package/dist/migrations/1749600000046.CreateSysWebhookEventsTable.js +5 -4
  464. package/dist/migrations/1749600000046.CreateSysWebhookEventsTable.js.map +1 -1
  465. package/dist/migrations/1749600000048.SeedOtpActivityConstants.d.ts +1 -1
  466. package/dist/migrations/1749600000048.SeedOtpActivityConstants.d.ts.map +1 -1
  467. package/dist/migrations/1749600000048.SeedOtpActivityConstants.js +6 -3
  468. package/dist/migrations/1749600000048.SeedOtpActivityConstants.js.map +1 -1
  469. package/dist/migrations/1749600000054.SeedCoreConstants.d.ts +101 -0
  470. package/dist/migrations/1749600000054.SeedCoreConstants.d.ts.map +1 -0
  471. package/dist/migrations/1749600000054.SeedCoreConstants.js +146 -0
  472. package/dist/migrations/1749600000054.SeedCoreConstants.js.map +1 -0
  473. package/dist/migrations/1749600000055.CreateSysIdempotencyKeysTable.d.ts +6 -0
  474. package/dist/migrations/1749600000055.CreateSysIdempotencyKeysTable.d.ts.map +1 -0
  475. package/dist/migrations/1749600000055.CreateSysIdempotencyKeysTable.js +38 -0
  476. package/dist/migrations/1749600000055.CreateSysIdempotencyKeysTable.js.map +1 -0
  477. package/dist/notification/notification.module.d.ts.map +1 -1
  478. package/dist/notification/notification.module.js +3 -1
  479. package/dist/notification/notification.module.js.map +1 -1
  480. package/dist/notification/services/notification.service.d.ts +4 -1
  481. package/dist/notification/services/notification.service.d.ts.map +1 -1
  482. package/dist/notification/services/notification.service.js +21 -3
  483. package/dist/notification/services/notification.service.js.map +1 -1
  484. package/dist/report/jobs/generate.tenant.report.job.js +1 -1
  485. package/dist/report/jobs/generate.tenant.report.job.js.map +1 -1
  486. package/dist/tenant/utilities/tenant.revocation.js +1 -1
  487. package/dist/tenant/utilities/tenant.revocation.js.map +1 -1
  488. package/dist/webhook/entities/webhook.event.entity.d.ts +4 -2
  489. package/dist/webhook/entities/webhook.event.entity.d.ts.map +1 -1
  490. package/dist/webhook/entities/webhook.event.entity.js +7 -1
  491. package/dist/webhook/entities/webhook.event.entity.js.map +1 -1
  492. package/dist/webhook/enums/webhook.enum.d.ts +8 -1
  493. package/dist/webhook/enums/webhook.enum.d.ts.map +1 -1
  494. package/dist/webhook/enums/webhook.enum.js +17 -9
  495. package/dist/webhook/enums/webhook.enum.js.map +1 -1
  496. package/dist/webhook/services/webhook.service.d.ts.map +1 -1
  497. package/dist/webhook/services/webhook.service.js +22 -15
  498. package/dist/webhook/services/webhook.service.js.map +1 -1
  499. package/package.json +1 -1
@@ -0,0 +1,153 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.RecordHistoryService = void 0;
16
+ const common_1 = require("@nestjs/common");
17
+ const typeorm_1 = require("typeorm");
18
+ const admin_user_entity_1 = require("../../auth/entities/admin.user.entity");
19
+ const user_entity_1 = require("../../auth/entities/user.entity");
20
+ const operation_exception_1 = require("../../global/exceptions/operation.exception");
21
+ const root_entity_1 = require("../entities/root.entity");
22
+ const system_audit_log_entity_1 = require("../entities/system.audit.log.entity");
23
+ const audit_action_enum_1 = require("../enums/audit.action.enum");
24
+ const constant_pair_1 = require("../helpers/constant.pair");
25
+ const record_history_enum_1 = require("../enums/record.history.enum");
26
+ const canonical_json_1 = require("../helpers/canonical.json");
27
+ const paginated_result_types_1 = require("../types/paginated.result.types");
28
+ let RecordHistoryService = class RecordHistoryService {
29
+ constructor(dataSource) {
30
+ this.dataSource = dataSource;
31
+ }
32
+ async log(source, before, after, actorId, options = {}) {
33
+ const changes = this.diff(before, after, options);
34
+ if (!changes.length)
35
+ return;
36
+ const oldValue = {};
37
+ const newValue = {};
38
+ for (const change of changes) {
39
+ oldValue[change.field] = change.from;
40
+ newValue[change.field] = change.to;
41
+ }
42
+ const manager = options.manager ?? this.connection.manager;
43
+ await manager.insert(system_audit_log_entity_1.SystemAuditLogEntity, {
44
+ source_type: source.sourceType,
45
+ source_id: source.sourceId,
46
+ action_id: constant_pair_1.ConstantPair.id(audit_action_enum_1.AuditAction, audit_action_enum_1.AuditActionId, options.action ?? audit_action_enum_1.AuditAction.UPDATE),
47
+ user_id: actorId,
48
+ old_value: oldValue,
49
+ new_value: newValue,
50
+ });
51
+ }
52
+ async history(sourceType, sourceId, filter) {
53
+ const { page, limit } = (0, paginated_result_types_1.clampPagination)(filter);
54
+ const filtered = this.connection
55
+ .createQueryBuilder(system_audit_log_entity_1.SystemAuditLogEntity, 'log')
56
+ .where('log.source_type = :sourceType', { sourceType })
57
+ .andWhere('log.source_id = :sourceId', { sourceId })
58
+ .andWhere('log.deleted_at IS NULL');
59
+ const [rows, total] = await Promise.all([
60
+ filtered
61
+ .clone()
62
+ .leftJoin(user_entity_1.UserEntity, 'actor_user', 'actor_user.id = log.user_id')
63
+ .leftJoin(admin_user_entity_1.AdminUserEntity, 'actor_admin', 'actor_admin.id = log.user_id')
64
+ .leftJoin('log.action', 'action')
65
+ .select('log.id', 'id')
66
+ .addSelect('action.identifier', 'action')
67
+ .addSelect('log.user_id', 'user_id')
68
+ .addSelect('coalesce(actor_user.full_name, actor_admin.name)', 'user_name')
69
+ .addSelect('log.old_value', 'old_value')
70
+ .addSelect('log.new_value', 'new_value')
71
+ .addSelect('log.created_at', 'created_at')
72
+ .orderBy('log.created_at', 'DESC')
73
+ .addOrderBy('log.sn', 'DESC')
74
+ .offset((page - 1) * limit)
75
+ .limit(limit)
76
+ .getRawMany(),
77
+ filtered.getCount(),
78
+ ]);
79
+ return (0, paginated_result_types_1.buildPaginated)(rows.map((row) => this.toEntry(row)), total, page, limit);
80
+ }
81
+ diff(before, after, options = {}) {
82
+ const from = (before ?? {});
83
+ const to = (after ?? {});
84
+ const skipped = this.skippedFields(before, after, options);
85
+ const fields = new Set([...Object.keys(from), ...Object.keys(to)]);
86
+ const changes = [];
87
+ for (const field of fields) {
88
+ if (skipped.has(field))
89
+ continue;
90
+ if (this.isRelation(from[field]) || this.isRelation(to[field]))
91
+ continue;
92
+ if ((0, canonical_json_1.canonicalJson)(from[field]) === (0, canonical_json_1.canonicalJson)(to[field]))
93
+ continue;
94
+ changes.push({ field, from: from[field], to: to[field] });
95
+ }
96
+ return changes;
97
+ }
98
+ skippedFields(before, after, options) {
99
+ const skipped = new Set([
100
+ ...record_history_enum_1.RECORD_HISTORY_SKIPPED_FIELDS,
101
+ ...(options.skip ?? []),
102
+ ]);
103
+ const metadata = this.metadataOf(options, options.entity ?? after?.constructor ?? before?.constructor);
104
+ if (metadata) {
105
+ for (const column of metadata.columns)
106
+ if (column.isSelect === false)
107
+ skipped.add(column.propertyName);
108
+ for (const relation of metadata.relations)
109
+ skipped.add(relation.propertyName);
110
+ }
111
+ return skipped;
112
+ }
113
+ metadataOf(options, target) {
114
+ const connection = options.manager?.connection ?? this.dataSource;
115
+ if (!target || !connection?.hasMetadata(target))
116
+ return null;
117
+ return connection.getMetadata(target);
118
+ }
119
+ isRelation(value) {
120
+ if (Array.isArray(value))
121
+ return value.length > 0 && value.every((item) => this.isRelation(item));
122
+ return value instanceof root_entity_1.RootEntity;
123
+ }
124
+ toEntry(row) {
125
+ const from = row.old_value ?? {};
126
+ const to = row.new_value ?? {};
127
+ const fields = new Set([...Object.keys(from), ...Object.keys(to)]);
128
+ return {
129
+ id: row.id,
130
+ action: row.action,
131
+ user_id: row.user_id,
132
+ user_name: row.user_name,
133
+ changes: [...fields].map((field) => ({
134
+ field,
135
+ from: from[field] ?? null,
136
+ to: to[field] ?? null,
137
+ })),
138
+ created_at: row.created_at,
139
+ };
140
+ }
141
+ get connection() {
142
+ if (!this.dataSource)
143
+ throw new operation_exception_1.OperationException('RecordHistoryService requires TypeOrmModule to be configured with a data source');
144
+ return this.dataSource;
145
+ }
146
+ };
147
+ exports.RecordHistoryService = RecordHistoryService;
148
+ exports.RecordHistoryService = RecordHistoryService = __decorate([
149
+ (0, common_1.Injectable)(),
150
+ __param(0, (0, common_1.Optional)()),
151
+ __metadata("design:paramtypes", [typeorm_1.DataSource])
152
+ ], RecordHistoryService);
153
+ //# sourceMappingURL=record.history.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"record.history.service.js","sourceRoot":"","sources":["../../../src/common/services/record.history.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import { ModuleRef } from '@nestjs/core';
2
+ import { DataSource } from 'typeorm';
3
+ import type { SystemConstantView } from '../types/system.constant.types';
4
+ export declare class SystemConstantService {
5
+ private readonly moduleRef;
6
+ private readonly dataSource?;
7
+ private catalogue;
8
+ private loading;
9
+ private generation;
10
+ constructor(moduleRef: ModuleRef, dataSource?: DataSource);
11
+ id(typeIdentifier: string, constantIdentifier: string): Promise<string>;
12
+ resolve(id: string): Promise<SystemConstantView | null>;
13
+ list(typeIdentifier: string): Promise<SystemConstantView[]>;
14
+ assertOfType(id: string, typeIdentifier: string): Promise<void>;
15
+ invalidate(): void;
16
+ private load;
17
+ private fetch;
18
+ private compare;
19
+ private ttlMs;
20
+ private properties;
21
+ private key;
22
+ private get connection();
23
+ }
24
+ //# sourceMappingURL=system.constant.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system.constant.service.d.ts","sourceRoot":"","sources":["../../../src/common/services/system.constant.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AASrC,OAAO,KAAK,EAEV,kBAAkB,EACnB,MAAM,gCAAgC,CAAC;AAOxC,qBACa,qBAAqB;IAO9B,OAAO,CAAC,QAAQ,CAAC,SAAS;IACd,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC;IAP1C,OAAO,CAAC,SAAS,CAAwC;IACzD,OAAO,CAAC,OAAO,CAAiD;IAEhE,OAAO,CAAC,UAAU,CAAK;gBAGJ,SAAS,EAAE,SAAS,EACR,UAAU,CAAC,EAAE,UAAU;IAIhD,EAAE,CACN,cAAc,EAAE,MAAM,EACtB,kBAAkB,EAAE,MAAM,GACzB,OAAO,CAAC,MAAM,CAAC;IAYZ,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;IAKvD,IAAI,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAS3D,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAWrE,UAAU,IAAI,IAAI;YAMJ,IAAI;YAkBJ,KAAK;IAmCnB,OAAO,CAAC,OAAO;YAaD,KAAK;IAgBnB,OAAO,CAAC,UAAU;IAQlB,OAAO,CAAC,GAAG;IAIX,OAAO,KAAK,UAAU,GAIrB;CACF"}
@@ -0,0 +1,151 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.SystemConstantService = void 0;
16
+ const common_1 = require("@nestjs/common");
17
+ const core_1 = require("@nestjs/core");
18
+ const typeorm_1 = require("typeorm");
19
+ const operation_exception_1 = require("../../global/exceptions/operation.exception");
20
+ const environment_util_1 = require("../../global/utilities/environment.util");
21
+ const system_constant_entity_1 = require("../entities/system.constant.entity");
22
+ const system_constant_enum_1 = require("../enums/system.constant.enum");
23
+ const system_property_service_1 = require("./system.property.service");
24
+ let SystemConstantService = class SystemConstantService {
25
+ constructor(moduleRef, dataSource) {
26
+ this.moduleRef = moduleRef;
27
+ this.dataSource = dataSource;
28
+ this.catalogue = null;
29
+ this.loading = null;
30
+ this.generation = 0;
31
+ }
32
+ async id(typeIdentifier, constantIdentifier) {
33
+ const catalogue = await this.load();
34
+ const id = catalogue.byKey.get(this.key(typeIdentifier, constantIdentifier));
35
+ if (!id)
36
+ throw new operation_exception_1.OperationException(`${system_constant_enum_1.SystemConstantMessage.NOT_SEEDED}: ${typeIdentifier} / ${constantIdentifier}`);
37
+ return id;
38
+ }
39
+ async resolve(id) {
40
+ return (await this.load()).byId.get(id) ?? null;
41
+ }
42
+ async list(typeIdentifier) {
43
+ const catalogue = await this.load();
44
+ return (catalogue.byType.get(typeIdentifier) ?? []).flatMap((id) => {
45
+ const view = catalogue.byId.get(id);
46
+ return view ? [view] : [];
47
+ });
48
+ }
49
+ async assertOfType(id, typeIdentifier) {
50
+ const constant = await this.resolve(id);
51
+ if (constant?.type_identifier !== typeIdentifier)
52
+ throw new common_1.BadRequestException(system_constant_enum_1.SystemConstantMessage.WRONG_TYPE);
53
+ }
54
+ invalidate() {
55
+ this.generation += 1;
56
+ this.catalogue = null;
57
+ this.loading = null;
58
+ }
59
+ async load() {
60
+ const current = this.catalogue;
61
+ if (current && Date.now() - current.loadedAt < current.ttlMs)
62
+ return current;
63
+ const generation = this.generation;
64
+ let loading = this.loading;
65
+ if (loading === null) {
66
+ const started = this.fetch().finally(() => {
67
+ if (this.loading === started)
68
+ this.loading = null;
69
+ });
70
+ this.loading = started;
71
+ loading = started;
72
+ }
73
+ const catalogue = await loading;
74
+ if (generation === this.generation)
75
+ this.catalogue = catalogue;
76
+ return catalogue;
77
+ }
78
+ async fetch() {
79
+ const [rows, ttlMs] = await Promise.all([
80
+ this.connection.getRepository(system_constant_entity_1.SystemConstantEntity).find({
81
+ relations: { type: true },
82
+ }),
83
+ this.ttlMs(),
84
+ ]);
85
+ const live = rows
86
+ .filter((row) => row.type && !row.type.deleted_at)
87
+ .sort((left, right) => this.compare(left, right));
88
+ const catalogue = {
89
+ byId: new Map(),
90
+ byKey: new Map(),
91
+ byType: new Map(),
92
+ loadedAt: Date.now(),
93
+ ttlMs,
94
+ };
95
+ for (const row of live) {
96
+ const typeIdentifier = row.type.identifier;
97
+ catalogue.byId.set(row.id, {
98
+ id: row.id,
99
+ type_identifier: typeIdentifier,
100
+ identifier: row.identifier,
101
+ name: row.name,
102
+ value: row.value ?? null,
103
+ is_system: row.is_system,
104
+ });
105
+ catalogue.byKey.set(this.key(typeIdentifier, row.identifier), row.id);
106
+ const ids = catalogue.byType.get(typeIdentifier) ?? [];
107
+ ids.push(row.id);
108
+ catalogue.byType.set(typeIdentifier, ids);
109
+ }
110
+ return catalogue;
111
+ }
112
+ compare(left, right) {
113
+ const order = (row) => {
114
+ const value = Number(row.attributes?.[system_constant_enum_1.SystemConstantDefault.SORT_ORDER_ATTRIBUTE]);
115
+ return Number.isFinite(value) ? value : Number.MAX_SAFE_INTEGER;
116
+ };
117
+ return order(left) - order(right) || left.name.localeCompare(right.name);
118
+ }
119
+ async ttlMs() {
120
+ const value = await this.properties()?.get(system_constant_enum_1.SystemConstantDefault.CACHE_TTL_PROPERTY);
121
+ const seconds = (0, environment_util_1.envInt)(value ?? undefined, system_constant_enum_1.SystemConstantBound.CACHE_TTL_SECONDS, {
122
+ min: system_constant_enum_1.SystemConstantBound.CACHE_TTL_MIN_SECONDS,
123
+ max: system_constant_enum_1.SystemConstantBound.CACHE_TTL_MAX_SECONDS,
124
+ });
125
+ return seconds * system_constant_enum_1.SystemConstantBound.MS_PER_SECOND;
126
+ }
127
+ properties() {
128
+ try {
129
+ return this.moduleRef.get(system_property_service_1.SystemPropertyService, { strict: false });
130
+ }
131
+ catch {
132
+ return null;
133
+ }
134
+ }
135
+ key(typeIdentifier, constantIdentifier) {
136
+ return `${typeIdentifier}:${constantIdentifier}`;
137
+ }
138
+ get connection() {
139
+ if (!this.dataSource)
140
+ throw new operation_exception_1.OperationException(system_constant_enum_1.SystemConstantMessage.NO_DATA_SOURCE);
141
+ return this.dataSource;
142
+ }
143
+ };
144
+ exports.SystemConstantService = SystemConstantService;
145
+ exports.SystemConstantService = SystemConstantService = __decorate([
146
+ (0, common_1.Injectable)(),
147
+ __param(1, (0, common_1.Optional)()),
148
+ __metadata("design:paramtypes", [core_1.ModuleRef,
149
+ typeorm_1.DataSource])
150
+ ], SystemConstantService);
151
+ //# sourceMappingURL=system.constant.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system.constant.service.js","sourceRoot":"","sources":["../../../src/common/services/system.constant.service.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"system.property.module.d.ts","sourceRoot":"","sources":["../../src/common/system.property.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAoB,MAAM,gBAAgB,CAAC;AAOjE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AACjF,YAAY,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AA2BjF,qBAKa,oBAAoB;IAC/B,MAAM,CAAC,QAAQ,CAAC,OAAO,GAAE,2BAAgC,GAAG,aAAa;CAQ1E"}
1
+ {"version":3,"file":"system.property.module.d.ts","sourceRoot":"","sources":["../../src/common/system.property.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAoB,MAAM,gBAAgB,CAAC;AAQjE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AACjF,YAAY,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAuCjF,qBAKa,oBAAoB;IAC/B,MAAM,CAAC,QAAQ,CAAC,OAAO,GAAE,2BAAgC,GAAG,aAAa;CAQ1E"}
@@ -14,6 +14,7 @@ const common_module_1 = require("./common.module");
14
14
  const cache_service_1 = require("./services/cache.service");
15
15
  const encryption_service_1 = require("./services/encryption.service");
16
16
  const system_property_service_1 = require("./services/system.property.service");
17
+ const idempotency_service_1 = require("./services/idempotency.service");
17
18
  function createSystemPropertyProviders(options = {}) {
18
19
  return [
19
20
  {
@@ -25,6 +26,14 @@ function createSystemPropertyProviders(options = {}) {
25
26
  cache_service_1.CacheService,
26
27
  ],
27
28
  },
29
+ {
30
+ provide: idempotency_service_1.IdempotencyService,
31
+ useFactory: (systemPropertyService, dataSource) => new idempotency_service_1.IdempotencyService(systemPropertyService, dataSource),
32
+ inject: [
33
+ system_property_service_1.SystemPropertyService,
34
+ (0, typeorm_1.getDataSourceToken)(options.dataSourceName),
35
+ ],
36
+ },
28
37
  ];
29
38
  }
30
39
  let SystemPropertyModule = SystemPropertyModule_1 = class SystemPropertyModule {
@@ -33,7 +42,7 @@ let SystemPropertyModule = SystemPropertyModule_1 = class SystemPropertyModule {
33
42
  module: SystemPropertyModule_1,
34
43
  imports: [common_module_1.CommonModule],
35
44
  providers: createSystemPropertyProviders(options),
36
- exports: [system_property_service_1.SystemPropertyService],
45
+ exports: [system_property_service_1.SystemPropertyService, idempotency_service_1.IdempotencyService],
37
46
  };
38
47
  }
39
48
  };
@@ -42,7 +51,7 @@ exports.SystemPropertyModule = SystemPropertyModule = SystemPropertyModule_1 = _
42
51
  (0, common_1.Module)({
43
52
  imports: [common_module_1.CommonModule],
44
53
  providers: createSystemPropertyProviders(),
45
- exports: [system_property_service_1.SystemPropertyService],
54
+ exports: [system_property_service_1.SystemPropertyService, idempotency_service_1.IdempotencyService],
46
55
  })
47
56
  ], SystemPropertyModule);
48
57
  //# sourceMappingURL=system.property.module.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"system.property.module.js","sourceRoot":"","sources":["../../src/common/system.property.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAAiE;AACjE,6CAAqD;AAErD,mDAA+C;AAC/C,4DAAwD;AACxD,sEAAkE;AAClE,gFAA2E;AAI3E,SAAS,6BAA6B,CACpC,UAAuC,EAAE;IAEzC,OAAO;QACL;YACE,OAAO,EAAE,+CAAqB;YAC9B,UAAU,EAAE,CACV,UAAsB,EACtB,iBAAoC,EACpC,YAA0B,EAC1B,EAAE,CACF,IAAI,+CAAqB,CAAC,UAAU,EAAE,iBAAiB,EAAE,YAAY,CAAC;YACxE,MAAM,EAAE;gBACN,IAAA,4BAAkB,EAAC,OAAO,CAAC,cAAc,CAAC;gBAC1C,sCAAiB;gBACjB,4BAAY;aACb;SACF;KACF,CAAC;AACJ,CAAC;AAWM,IAAM,oBAAoB,4BAA1B,MAAM,oBAAoB;IAC/B,MAAM,CAAC,QAAQ,CAAC,UAAuC,EAAE;QACvD,OAAO;YACL,MAAM,EAAE,sBAAoB;YAC5B,OAAO,EAAE,CAAC,4BAAY,CAAC;YACvB,SAAS,EAAE,6BAA6B,CAAC,OAAO,CAAC;YACjD,OAAO,EAAE,CAAC,+CAAqB,CAAC;SACjC,CAAC;IACJ,CAAC;CACF,CAAA;AATY,oDAAoB;+BAApB,oBAAoB;IALhC,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,CAAC,4BAAY,CAAC;QACvB,SAAS,EAAE,6BAA6B,EAAE;QAC1C,OAAO,EAAE,CAAC,+CAAqB,CAAC;KACjC,CAAC;GACW,oBAAoB,CAShC"}
1
+ {"version":3,"file":"system.property.module.js","sourceRoot":"","sources":["../../src/common/system.property.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAAiE;AACjE,6CAAqD;AAErD,mDAA+C;AAC/C,4DAAwD;AACxD,sEAAkE;AAClE,gFAA2E;AAC3E,wEAAoE;AAIpE,SAAS,6BAA6B,CACpC,UAAuC,EAAE;IAEzC,OAAO;QACL;YACE,OAAO,EAAE,+CAAqB;YAC9B,UAAU,EAAE,CACV,UAAsB,EACtB,iBAAoC,EACpC,YAA0B,EAC1B,EAAE,CACF,IAAI,+CAAqB,CAAC,UAAU,EAAE,iBAAiB,EAAE,YAAY,CAAC;YACxE,MAAM,EAAE;gBACN,IAAA,4BAAkB,EAAC,OAAO,CAAC,cAAc,CAAC;gBAC1C,sCAAiB;gBACjB,4BAAY;aACb;SACF;QAED;YACE,OAAO,EAAE,wCAAkB;YAC3B,UAAU,EAAE,CACV,qBAA4C,EAC5C,UAAsB,EACtB,EAAE,CAAC,IAAI,wCAAkB,CAAC,qBAAqB,EAAE,UAAU,CAAC;YAC9D,MAAM,EAAE;gBACN,+CAAqB;gBACrB,IAAA,4BAAkB,EAAC,OAAO,CAAC,cAAc,CAAC;aAC3C;SACF;KACF,CAAC;AACJ,CAAC;AAWM,IAAM,oBAAoB,4BAA1B,MAAM,oBAAoB;IAC/B,MAAM,CAAC,QAAQ,CAAC,UAAuC,EAAE;QACvD,OAAO;YACL,MAAM,EAAE,sBAAoB;YAC5B,OAAO,EAAE,CAAC,4BAAY,CAAC;YACvB,SAAS,EAAE,6BAA6B,CAAC,OAAO,CAAC;YACjD,OAAO,EAAE,CAAC,+CAAqB,EAAE,wCAAkB,CAAC;SACrD,CAAC;IACJ,CAAC;CACF,CAAA;AATY,oDAAoB;+BAApB,oBAAoB;IALhC,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,CAAC,4BAAY,CAAC;QACvB,SAAS,EAAE,6BAA6B,EAAE;QAC1C,OAAO,EAAE,CAAC,+CAAqB,EAAE,wCAAkB,CAAC;KACrD,CAAC;GACW,oBAAoB,CAShC"}
@@ -1,3 +1,4 @@
1
+ import type { AuditAction } from '../enums/audit.action.enum';
1
2
  export type AuditValue = Record<string, unknown> | null;
2
3
  export interface AuditLogContext {
3
4
  ipAddress?: string;
@@ -7,14 +8,14 @@ export interface AuditLogContext {
7
8
  export interface SaveAuditLogOptions extends AuditLogContext {
8
9
  sourceType: string;
9
10
  sourceId: string;
10
- action: string;
11
+ action: AuditAction;
11
12
  oldValue?: AuditValue;
12
13
  newValue?: AuditValue;
13
14
  onlyChangedValues?: boolean;
14
15
  }
15
16
  export interface AuditLogFilter {
16
17
  sourceId?: string;
17
- action?: string;
18
+ action?: AuditAction;
18
19
  page?: number;
19
20
  limit?: number;
20
21
  }
@@ -1 +1 @@
1
- {"version":3,"file":"audit.types.d.ts","sourceRoot":"","sources":["../../../src/common/types/audit.types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;AAGxD,MAAM,WAAW,eAAe;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,mBAAoB,SAAQ,eAAe;IAE1D,UAAU,EAAE,MAAM,CAAC;IAEnB,QAAQ,EAAE,MAAM,CAAC;IAEjB,MAAM,EAAE,MAAM,CAAC;IAEf,QAAQ,CAAC,EAAE,UAAU,CAAC;IAEtB,QAAQ,CAAC,EAAE,UAAU,CAAC;IAKtB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,UAAU,CAAC;IACrB,QAAQ,EAAE,UAAU,CAAC;CACtB"}
1
+ {"version":3,"file":"audit.types.d.ts","sourceRoot":"","sources":["../../../src/common/types/audit.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAE9D,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;AAGxD,MAAM,WAAW,eAAe;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,mBAAoB,SAAQ,eAAe;IAE1D,UAAU,EAAE,MAAM,CAAC;IAEnB,QAAQ,EAAE,MAAM,CAAC;IAEjB,MAAM,EAAE,WAAW,CAAC;IAEpB,QAAQ,CAAC,EAAE,UAAU,CAAC;IAEtB,QAAQ,CAAC,EAAE,UAAU,CAAC;IAKtB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,UAAU,CAAC;IACrB,QAAQ,EAAE,UAAU,CAAC;CACtB"}
@@ -0,0 +1,29 @@
1
+ import type { IdempotencyKeyEntity } from '../entities/idempotency.key.entity';
2
+ import type { IdempotencyClaimStatus } from '../enums/idempotency.enum';
3
+ export interface IdempotencyClaimInput {
4
+ tenantId: string | null;
5
+ userId: string | null;
6
+ sourceType: string;
7
+ key: string;
8
+ payload: unknown;
9
+ }
10
+ export type IdempotencyClaim = {
11
+ status: IdempotencyClaimStatus.CLAIMED;
12
+ claimId: string;
13
+ claim: IdempotencyKeyEntity;
14
+ } | {
15
+ status: IdempotencyClaimStatus.REPLAY;
16
+ sourceId: string;
17
+ };
18
+ export interface IdempotencyOptions {
19
+ required?: boolean;
20
+ }
21
+ export interface CachedProperty {
22
+ value: number;
23
+ expiresAt: number;
24
+ }
25
+ export interface IdempotencyCaller {
26
+ tenantId: string | null;
27
+ userId: string | null;
28
+ }
29
+ //# sourceMappingURL=idempotency.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"idempotency.types.d.ts","sourceRoot":"","sources":["../../../src/common/types/idempotency.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAGxE,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAEtB,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,OAAO,CAAC;CAClB;AAGD,MAAM,MAAM,gBAAgB,GACxB;IACE,MAAM,EAAE,sBAAsB,CAAC,OAAO,CAAC;IACvC,OAAO,EAAE,MAAM,CAAC;IAEhB,KAAK,EAAE,oBAAoB,CAAC;CAC7B,GACD;IAAE,MAAM,EAAE,sBAAsB,CAAC,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AAEhE,MAAM,WAAW,kBAAkB;IAEjC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAGD,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB;AAGD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=idempotency.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"idempotency.types.js","sourceRoot":"","sources":["../../../src/common/types/idempotency.types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,40 @@
1
+ import type { EntityManager, EntityTarget } from 'typeorm';
2
+ import type { AuditAction } from '../enums/audit.action.enum';
3
+ export interface RecordHistorySource {
4
+ sourceType: string;
5
+ sourceId: string;
6
+ }
7
+ export interface RecordHistoryOptions {
8
+ manager?: EntityManager;
9
+ action?: AuditAction;
10
+ skip?: string[];
11
+ entity?: EntityTarget<unknown>;
12
+ }
13
+ export type RecordHistoryValues = Record<string, unknown>;
14
+ export interface RecordHistoryChange {
15
+ field: string;
16
+ from: unknown;
17
+ to: unknown;
18
+ }
19
+ export interface RecordHistoryEntry {
20
+ id: string;
21
+ action: string;
22
+ user_id: string | null;
23
+ user_name: string | null;
24
+ changes: RecordHistoryChange[];
25
+ created_at: Date;
26
+ }
27
+ export interface RecordHistoryFilter {
28
+ page?: number;
29
+ limit?: number;
30
+ }
31
+ export interface RecordHistoryRow {
32
+ id: string;
33
+ action: string;
34
+ user_id: string | null;
35
+ user_name: string | null;
36
+ old_value: RecordHistoryValues | null;
37
+ new_value: RecordHistoryValues | null;
38
+ created_at: Date;
39
+ }
40
+ //# sourceMappingURL=record.history.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"record.history.types.d.ts","sourceRoot":"","sources":["../../../src/common/types/record.history.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAG9D,MAAM,WAAW,mBAAmB;IAElC,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,oBAAoB;IAEnC,OAAO,CAAC,EAAE,aAAa,CAAC;IAExB,MAAM,CAAC,EAAE,WAAW,CAAC;IAErB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAEhB,MAAM,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;CAChC;AAGD,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE1D,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,OAAO,CAAC;IACd,EAAE,EAAE,OAAO,CAAC;CACb;AAGD,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IAEX,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,OAAO,EAAE,mBAAmB,EAAE,CAAC;IAC/B,UAAU,EAAE,IAAI,CAAC;CAClB;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAGD,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,mBAAmB,GAAG,IAAI,CAAC;IACtC,SAAS,EAAE,mBAAmB,GAAG,IAAI,CAAC;IACtC,UAAU,EAAE,IAAI,CAAC;CAClB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=record.history.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"record.history.types.js","sourceRoot":"","sources":["../../../src/common/types/record.history.types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,16 @@
1
+ export interface SystemConstantView {
2
+ id: string;
3
+ type_identifier: string;
4
+ identifier: string;
5
+ name: string;
6
+ value: string | null;
7
+ is_system: boolean;
8
+ }
9
+ export interface SystemConstantCatalogue {
10
+ byId: Map<string, SystemConstantView>;
11
+ byKey: Map<string, string>;
12
+ byType: Map<string, string[]>;
13
+ loadedAt: number;
14
+ ttlMs: number;
15
+ }
16
+ //# sourceMappingURL=system.constant.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system.constant.types.d.ts","sourceRoot":"","sources":["../../../src/common/types/system.constant.types.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;CACpB;AAGD,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IACtC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3B,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=system.constant.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system.constant.types.js","sourceRoot":"","sources":["../../../src/common/types/system.constant.types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export declare const IDEMPOTENCY_KEY_PATTERN: RegExp;
2
+ //# sourceMappingURL=idempotency.patterns.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"idempotency.patterns.d.ts","sourceRoot":"","sources":["../../../src/common/validators/idempotency.patterns.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,uBAAuB,QAA6B,CAAC"}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IDEMPOTENCY_KEY_PATTERN = void 0;
4
+ exports.IDEMPOTENCY_KEY_PATTERN = /^[A-Za-z0-9._:-]{1,255}$/;
5
+ //# sourceMappingURL=idempotency.patterns.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"idempotency.patterns.js","sourceRoot":"","sources":["../../../src/common/validators/idempotency.patterns.ts"],"names":[],"mappings":";;;AACa,QAAA,uBAAuB,GAAG,0BAA0B,CAAC"}
@@ -48,5 +48,6 @@ export declare const baseEntityConstants: {
48
48
  readonly reportSheet: "report.sheet";
49
49
  readonly tenantReportDetail: "tenant.report.detail";
50
50
  readonly tenantReport: "tenant.report";
51
+ readonly idempotencyKey: "idempotency.key";
51
52
  };
52
53
  //# sourceMappingURL=entity.constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"entity.constants.d.ts","sourceRoot":"","sources":["../../src/constants/entity.constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkDtB,CAAC"}
1
+ {"version":3,"file":"entity.constants.d.ts","sourceRoot":"","sources":["../../src/constants/entity.constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmDtB,CAAC"}
@@ -51,5 +51,6 @@ exports.baseEntityConstants = {
51
51
  reportSheet: 'report.sheet',
52
52
  tenantReportDetail: 'tenant.report.detail',
53
53
  tenantReport: 'tenant.report',
54
+ idempotencyKey: 'idempotency.key',
54
55
  };
55
56
  //# sourceMappingURL=entity.constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"entity.constants.js","sourceRoot":"","sources":["../../src/constants/entity.constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,mBAAmB,GAAG;IACjC,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,aAAa;IAC1B,UAAU,EAAE,aAAa;IACzB,QAAQ,EAAE,WAAW;IACrB,kBAAkB,EAAE,sBAAsB;IAC1C,kBAAkB,EAAE,sBAAsB;IAC1C,cAAc,EAAE,iBAAiB;IACjC,SAAS,EAAE,YAAY;IACvB,eAAe,EAAE,mBAAmB;IACpC,cAAc,EAAE,iBAAiB;IACjC,kBAAkB,EAAE,qBAAqB;IACzC,cAAc,EAAE,kBAAkB;IAClC,QAAQ,EAAE,UAAU;IACpB,cAAc,EAAE,iBAAiB;IACjC,WAAW,EAAE,cAAc;IAC3B,MAAM,EAAE,QAAQ;IAChB,eAAe,EAAE,mBAAmB;IACpC,MAAM,EAAE,SAAS;IACjB,cAAc,EAAE,iBAAiB;IACjC,mBAAmB,EAAE,uBAAuB;IAC5C,aAAa,EAAE,gBAAgB;IAC/B,WAAW,EAAE,cAAc;IAC3B,oBAAoB,EAAE,wBAAwB;IAC9C,SAAS,EAAE,YAAY;IACvB,eAAe,EAAE,mBAAmB;IACpC,mBAAmB,EAAE,wBAAwB;IAC7C,iBAAiB,EAAE,qBAAqB;IACxC,KAAK,EAAE,OAAO;IACd,QAAQ,EAAE,WAAW;IACrB,WAAW,EAAE,cAAc;IAC3B,UAAU,EAAE,aAAa;IACzB,gBAAgB,EAAE,mBAAmB;IACrC,UAAU,EAAE,YAAY;IACxB,cAAc,EAAE,iBAAiB;IACjC,UAAU,EAAE,cAAc;IAC1B,KAAK,EAAE,OAAO;IACd,WAAW,EAAE,cAAc;IAC3B,gBAAgB,EAAE,oBAAoB;IACtC,IAAI,EAAE,MAAM;IACZ,SAAS,EAAE,YAAY;IACvB,SAAS,EAAE,YAAY;IACvB,UAAU,EAAE,aAAa;IACzB,OAAO,EAAE,SAAS;IAClB,YAAY,EAAE,eAAe;IAC7B,MAAM,EAAE,QAAQ;IAChB,YAAY,EAAE,eAAe;IAC7B,WAAW,EAAE,cAAc;IAC3B,kBAAkB,EAAE,sBAAsB;IAC1C,YAAY,EAAE,eAAe;CACrB,CAAC"}
1
+ {"version":3,"file":"entity.constants.js","sourceRoot":"","sources":["../../src/constants/entity.constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,mBAAmB,GAAG;IACjC,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,aAAa;IAC1B,UAAU,EAAE,aAAa;IACzB,QAAQ,EAAE,WAAW;IACrB,kBAAkB,EAAE,sBAAsB;IAC1C,kBAAkB,EAAE,sBAAsB;IAC1C,cAAc,EAAE,iBAAiB;IACjC,SAAS,EAAE,YAAY;IACvB,eAAe,EAAE,mBAAmB;IACpC,cAAc,EAAE,iBAAiB;IACjC,kBAAkB,EAAE,qBAAqB;IACzC,cAAc,EAAE,kBAAkB;IAClC,QAAQ,EAAE,UAAU;IACpB,cAAc,EAAE,iBAAiB;IACjC,WAAW,EAAE,cAAc;IAC3B,MAAM,EAAE,QAAQ;IAChB,eAAe,EAAE,mBAAmB;IACpC,MAAM,EAAE,SAAS;IACjB,cAAc,EAAE,iBAAiB;IACjC,mBAAmB,EAAE,uBAAuB;IAC5C,aAAa,EAAE,gBAAgB;IAC/B,WAAW,EAAE,cAAc;IAC3B,oBAAoB,EAAE,wBAAwB;IAC9C,SAAS,EAAE,YAAY;IACvB,eAAe,EAAE,mBAAmB;IACpC,mBAAmB,EAAE,wBAAwB;IAC7C,iBAAiB,EAAE,qBAAqB;IACxC,KAAK,EAAE,OAAO;IACd,QAAQ,EAAE,WAAW;IACrB,WAAW,EAAE,cAAc;IAC3B,UAAU,EAAE,aAAa;IACzB,gBAAgB,EAAE,mBAAmB;IACrC,UAAU,EAAE,YAAY;IACxB,cAAc,EAAE,iBAAiB;IACjC,UAAU,EAAE,cAAc;IAC1B,KAAK,EAAE,OAAO;IACd,WAAW,EAAE,cAAc;IAC3B,gBAAgB,EAAE,oBAAoB;IACtC,IAAI,EAAE,MAAM;IACZ,SAAS,EAAE,YAAY;IACvB,SAAS,EAAE,YAAY;IACvB,UAAU,EAAE,aAAa;IACzB,OAAO,EAAE,SAAS;IAClB,YAAY,EAAE,eAAe;IAC7B,MAAM,EAAE,QAAQ;IAChB,YAAY,EAAE,eAAe;IAC7B,WAAW,EAAE,cAAc;IAC3B,kBAAkB,EAAE,sBAAsB;IAC1C,YAAY,EAAE,eAAe;IAC7B,cAAc,EAAE,iBAAiB;CACzB,CAAC"}
@@ -47,6 +47,7 @@ import { EmailNotificationLogEntity } from '../notification/entities/email.notif
47
47
  import { EmailTemplateEntity } from '../notification/entities/email.template.entity';
48
48
  import { UserDeviceTokenEntity } from '../notification/entities/user.device.token.entity';
49
49
  import { TenantEntity } from '../tenant/entities/tenant.entity';
50
+ import { IdempotencyKeyEntity } from '../common/entities/idempotency.key.entity';
50
51
  export declare const baseEntityMaps: {
51
52
  readonly user: typeof UserEntity;
52
53
  readonly "user.detail": typeof UserDetailsEntity;
@@ -97,5 +98,6 @@ export declare const baseEntityMaps: {
97
98
  readonly "report.sheet": typeof ReportSheetEntity;
98
99
  readonly "tenant.report.detail": typeof TenantReportDetailEntity;
99
100
  readonly "tenant.report": typeof TenantReportEntity;
101
+ readonly "idempotency.key": typeof IdempotencyKeyEntity;
100
102
  };
101
103
  //# sourceMappingURL=entity.maps.d.ts.map