@neohm/nestend 8.0.0 → 8.1.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 (517) hide show
  1. package/README.md +111 -4
  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.d.ts +5 -1
  13. package/dist/admin/controllers/admin.tenant.controller.d.ts.map +1 -1
  14. package/dist/admin/controllers/admin.tenant.controller.js +27 -3
  15. package/dist/admin/controllers/admin.tenant.controller.js.map +1 -1
  16. package/dist/admin/controllers/admin.tenant.user.controller.d.ts.map +1 -1
  17. package/dist/admin/controllers/admin.tenant.user.controller.js +1 -1
  18. package/dist/admin/controllers/admin.tenant.user.controller.js.map +1 -1
  19. package/dist/admin/dtos/add.constant.dto.d.ts +10 -0
  20. package/dist/admin/dtos/add.constant.dto.d.ts.map +1 -0
  21. package/dist/admin/dtos/add.constant.dto.js +70 -0
  22. package/dist/admin/dtos/add.constant.dto.js.map +1 -0
  23. package/dist/admin/dtos/add.constant.type.dto.d.ts +8 -0
  24. package/dist/admin/dtos/add.constant.type.dto.d.ts.map +1 -0
  25. package/dist/admin/dtos/add.constant.type.dto.js +56 -0
  26. package/dist/admin/dtos/add.constant.type.dto.js.map +1 -0
  27. package/dist/admin/dtos/add.plan.dto.d.ts +2 -2
  28. package/dist/admin/dtos/add.plan.dto.d.ts.map +1 -1
  29. package/dist/admin/dtos/add.plan.dto.js +2 -2
  30. package/dist/admin/dtos/add.plan.dto.js.map +1 -1
  31. package/dist/admin/dtos/add.scheduled.task.dto.d.ts +3 -3
  32. package/dist/admin/dtos/add.scheduled.task.dto.d.ts.map +1 -1
  33. package/dist/admin/dtos/add.scheduled.task.dto.js +8 -5
  34. package/dist/admin/dtos/add.scheduled.task.dto.js.map +1 -1
  35. package/dist/admin/dtos/add.tenant.dto.d.ts +2 -2
  36. package/dist/admin/dtos/add.tenant.dto.d.ts.map +1 -1
  37. package/dist/admin/dtos/add.tenant.dto.js +8 -2
  38. package/dist/admin/dtos/add.tenant.dto.js.map +1 -1
  39. package/dist/admin/dtos/assign.tenant.plan.dto.d.ts +2 -2
  40. package/dist/admin/dtos/assign.tenant.plan.dto.d.ts.map +1 -1
  41. package/dist/admin/dtos/assign.tenant.plan.dto.js +9 -3
  42. package/dist/admin/dtos/assign.tenant.plan.dto.js.map +1 -1
  43. package/dist/admin/dtos/change.tenant.poc.dto.d.ts +7 -0
  44. package/dist/admin/dtos/change.tenant.poc.dto.d.ts.map +1 -0
  45. package/dist/admin/dtos/change.tenant.poc.dto.js +47 -0
  46. package/dist/admin/dtos/change.tenant.poc.dto.js.map +1 -0
  47. package/dist/admin/dtos/constant.type.list.dto.d.ts +4 -0
  48. package/dist/admin/dtos/constant.type.list.dto.d.ts.map +1 -0
  49. package/dist/admin/dtos/constant.type.list.dto.js +8 -0
  50. package/dist/admin/dtos/constant.type.list.dto.js.map +1 -0
  51. package/dist/admin/enums/constant.enum.d.ts +18 -0
  52. package/dist/admin/enums/constant.enum.d.ts.map +1 -0
  53. package/dist/admin/enums/constant.enum.js +23 -0
  54. package/dist/admin/enums/constant.enum.js.map +1 -0
  55. package/dist/admin/libraries/bulk.user.data.processor.js +1 -1
  56. package/dist/admin/libraries/bulk.user.data.processor.js.map +1 -1
  57. package/dist/admin/libraries/client.membership.data.processor.js +1 -1
  58. package/dist/admin/libraries/client.membership.data.processor.js.map +1 -1
  59. package/dist/admin/libraries/client.user.data.processor.js +2 -2
  60. package/dist/admin/libraries/client.user.data.processor.js.map +1 -1
  61. package/dist/admin/libraries/client.user.delete.processor.js +1 -1
  62. package/dist/admin/libraries/client.user.delete.processor.js.map +1 -1
  63. package/dist/admin/libraries/client.user.filter.processor.js +1 -1
  64. package/dist/admin/libraries/client.user.filter.processor.js.map +1 -1
  65. package/dist/admin/libraries/constant.data.processor.d.ts +22 -0
  66. package/dist/admin/libraries/constant.data.processor.d.ts.map +1 -0
  67. package/dist/admin/libraries/constant.data.processor.js +102 -0
  68. package/dist/admin/libraries/constant.data.processor.js.map +1 -0
  69. package/dist/admin/libraries/constant.type.data.processor.d.ts +20 -0
  70. package/dist/admin/libraries/constant.type.data.processor.d.ts.map +1 -0
  71. package/dist/admin/libraries/constant.type.data.processor.js +75 -0
  72. package/dist/admin/libraries/constant.type.data.processor.js.map +1 -0
  73. package/dist/admin/libraries/constant.type.filter.processor.d.ts +11 -0
  74. package/dist/admin/libraries/constant.type.filter.processor.d.ts.map +1 -0
  75. package/dist/admin/libraries/constant.type.filter.processor.js +47 -0
  76. package/dist/admin/libraries/constant.type.filter.processor.js.map +1 -0
  77. package/dist/admin/libraries/payment.filter.processor.d.ts.map +1 -1
  78. package/dist/admin/libraries/payment.filter.processor.js +3 -2
  79. package/dist/admin/libraries/payment.filter.processor.js.map +1 -1
  80. package/dist/admin/libraries/plan.data.processor.d.ts +1 -0
  81. package/dist/admin/libraries/plan.data.processor.d.ts.map +1 -1
  82. package/dist/admin/libraries/plan.data.processor.js +12 -3
  83. package/dist/admin/libraries/plan.data.processor.js.map +1 -1
  84. package/dist/admin/libraries/plan.filter.processor.d.ts.map +1 -1
  85. package/dist/admin/libraries/plan.filter.processor.js +3 -2
  86. package/dist/admin/libraries/plan.filter.processor.js.map +1 -1
  87. package/dist/admin/libraries/scheduled.task.data.processor.d.ts.map +1 -1
  88. package/dist/admin/libraries/scheduled.task.data.processor.js +12 -9
  89. package/dist/admin/libraries/scheduled.task.data.processor.js.map +1 -1
  90. package/dist/admin/libraries/scheduled.task.delete.processor.d.ts.map +1 -1
  91. package/dist/admin/libraries/scheduled.task.delete.processor.js +3 -3
  92. package/dist/admin/libraries/scheduled.task.delete.processor.js.map +1 -1
  93. package/dist/admin/libraries/scheduled.task.filter.processor.d.ts.map +1 -1
  94. package/dist/admin/libraries/scheduled.task.filter.processor.js +5 -3
  95. package/dist/admin/libraries/scheduled.task.filter.processor.js.map +1 -1
  96. package/dist/admin/libraries/system.user.data.processor.js +2 -2
  97. package/dist/admin/libraries/system.user.data.processor.js.map +1 -1
  98. package/dist/admin/libraries/system.user.filter.processor.d.ts.map +1 -1
  99. package/dist/admin/libraries/system.user.filter.processor.js +4 -3
  100. package/dist/admin/libraries/system.user.filter.processor.js.map +1 -1
  101. package/dist/admin/libraries/tenant.plan.data.processor.d.ts.map +1 -1
  102. package/dist/admin/libraries/tenant.plan.data.processor.js +8 -5
  103. package/dist/admin/libraries/tenant.plan.data.processor.js.map +1 -1
  104. package/dist/admin/libraries/tenant.poc.data.processor.d.ts +11 -0
  105. package/dist/admin/libraries/tenant.poc.data.processor.d.ts.map +1 -0
  106. package/dist/admin/libraries/tenant.poc.data.processor.js +49 -0
  107. package/dist/admin/libraries/tenant.poc.data.processor.js.map +1 -0
  108. package/dist/admin/libraries/webhook.event.filter.processor.d.ts.map +1 -1
  109. package/dist/admin/libraries/webhook.event.filter.processor.js +3 -2
  110. package/dist/admin/libraries/webhook.event.filter.processor.js.map +1 -1
  111. package/dist/admin/module.registry.d.ts +10 -4
  112. package/dist/admin/module.registry.d.ts.map +1 -1
  113. package/dist/admin/module.registry.js +16 -0
  114. package/dist/admin/module.registry.js.map +1 -1
  115. package/dist/admin/services/admin.constant.service.d.ts +13 -0
  116. package/dist/admin/services/admin.constant.service.d.ts.map +1 -0
  117. package/dist/admin/services/admin.constant.service.js +116 -0
  118. package/dist/admin/services/admin.constant.service.js.map +1 -0
  119. package/dist/admin/services/system.user.service.js +1 -1
  120. package/dist/admin/services/system.user.service.js.map +1 -1
  121. package/dist/admin/types/admin.types.d.ts +1 -1
  122. package/dist/admin/types/admin.types.d.ts.map +1 -1
  123. package/dist/admin/utilities/admin.audit.d.ts.map +1 -1
  124. package/dist/admin/utilities/admin.audit.js +3 -1
  125. package/dist/admin/utilities/admin.audit.js.map +1 -1
  126. package/dist/admin/utilities/scheduled.event.discard.d.ts +4 -0
  127. package/dist/admin/utilities/scheduled.event.discard.d.ts.map +1 -0
  128. package/dist/admin/utilities/scheduled.event.discard.js +16 -0
  129. package/dist/admin/utilities/scheduled.event.discard.js.map +1 -0
  130. package/dist/auth/entities/payment.entity.d.ts +4 -2
  131. package/dist/auth/entities/payment.entity.d.ts.map +1 -1
  132. package/dist/auth/entities/payment.entity.js +7 -1
  133. package/dist/auth/entities/payment.entity.js.map +1 -1
  134. package/dist/auth/entities/plan.entity.d.ts +4 -2
  135. package/dist/auth/entities/plan.entity.d.ts.map +1 -1
  136. package/dist/auth/entities/plan.entity.js +7 -1
  137. package/dist/auth/entities/plan.entity.js.map +1 -1
  138. package/dist/auth/entities/tenant.invitation.entity.d.ts +4 -2
  139. package/dist/auth/entities/tenant.invitation.entity.d.ts.map +1 -1
  140. package/dist/auth/entities/tenant.invitation.entity.js +7 -1
  141. package/dist/auth/entities/tenant.invitation.entity.js.map +1 -1
  142. package/dist/auth/entities/tenant.plan.entity.d.ts +6 -3
  143. package/dist/auth/entities/tenant.plan.entity.d.ts.map +1 -1
  144. package/dist/auth/entities/tenant.plan.entity.js +15 -4
  145. package/dist/auth/entities/tenant.plan.entity.js.map +1 -1
  146. package/dist/auth/entities/user.entity.d.ts +2 -2
  147. package/dist/auth/entities/user.entity.d.ts.map +1 -1
  148. package/dist/auth/entities/user.entity.js +2 -2
  149. package/dist/auth/entities/user.entity.js.map +1 -1
  150. package/dist/auth/enums/payment.enum.d.ts +8 -1
  151. package/dist/auth/enums/payment.enum.d.ts.map +1 -1
  152. package/dist/auth/enums/payment.enum.js +17 -9
  153. package/dist/auth/enums/payment.enum.js.map +1 -1
  154. package/dist/auth/enums/tenant.invitation.status.enum.d.ts +7 -1
  155. package/dist/auth/enums/tenant.invitation.status.enum.d.ts.map +1 -1
  156. package/dist/auth/enums/tenant.invitation.status.enum.js +15 -8
  157. package/dist/auth/enums/tenant.invitation.status.enum.js.map +1 -1
  158. package/dist/auth/enums/tenant.plan.enum.d.ts +17 -3
  159. package/dist/auth/enums/tenant.plan.enum.d.ts.map +1 -1
  160. package/dist/auth/enums/tenant.plan.enum.js +35 -18
  161. package/dist/auth/enums/tenant.plan.enum.js.map +1 -1
  162. package/dist/auth/enums/user.type.enum.d.ts +5 -1
  163. package/dist/auth/enums/user.type.enum.d.ts.map +1 -1
  164. package/dist/auth/enums/user.type.enum.js +11 -6
  165. package/dist/auth/enums/user.type.enum.js.map +1 -1
  166. package/dist/auth/helpers/admin.auth.d.ts +1 -0
  167. package/dist/auth/helpers/admin.auth.d.ts.map +1 -1
  168. package/dist/auth/helpers/admin.auth.js +3 -0
  169. package/dist/auth/helpers/admin.auth.js.map +1 -1
  170. package/dist/auth/helpers/api.key.context.d.ts +1 -0
  171. package/dist/auth/helpers/api.key.context.d.ts.map +1 -1
  172. package/dist/auth/helpers/api.key.context.js +3 -0
  173. package/dist/auth/helpers/api.key.context.js.map +1 -1
  174. package/dist/auth/helpers/auth.d.ts +1 -0
  175. package/dist/auth/helpers/auth.d.ts.map +1 -1
  176. package/dist/auth/helpers/auth.js +6 -1
  177. package/dist/auth/helpers/auth.js.map +1 -1
  178. package/dist/auth/middlewares/admin.jwt.middleware.d.ts.map +1 -1
  179. package/dist/auth/middlewares/admin.jwt.middleware.js +5 -1
  180. package/dist/auth/middlewares/admin.jwt.middleware.js.map +1 -1
  181. package/dist/auth/middlewares/api.key.middleware.d.ts.map +1 -1
  182. package/dist/auth/middlewares/api.key.middleware.js +5 -1
  183. package/dist/auth/middlewares/api.key.middleware.js.map +1 -1
  184. package/dist/auth/middlewares/jwt.middleware.d.ts.map +1 -1
  185. package/dist/auth/middlewares/jwt.middleware.js +5 -1
  186. package/dist/auth/middlewares/jwt.middleware.js.map +1 -1
  187. package/dist/auth/processors/google.user.data.processor.d.ts.map +1 -1
  188. package/dist/auth/processors/google.user.data.processor.js +6 -3
  189. package/dist/auth/processors/google.user.data.processor.js.map +1 -1
  190. package/dist/auth/processors/register.user.data.processor.d.ts.map +1 -1
  191. package/dist/auth/processors/register.user.data.processor.js +1 -1
  192. package/dist/auth/processors/register.user.data.processor.js.map +1 -1
  193. package/dist/auth/processors/tenant.invitation.data.processor.js +6 -6
  194. package/dist/auth/processors/tenant.invitation.data.processor.js.map +1 -1
  195. package/dist/auth/processors/tenant.invitation.filter.processor.d.ts.map +1 -1
  196. package/dist/auth/processors/tenant.invitation.filter.processor.js +2 -1
  197. package/dist/auth/processors/tenant.invitation.filter.processor.js.map +1 -1
  198. package/dist/auth/services/auth.service.js +2 -2
  199. package/dist/auth/services/auth.service.js.map +1 -1
  200. package/dist/auth/services/impersonation.service.js +1 -1
  201. package/dist/auth/services/impersonation.service.js.map +1 -1
  202. package/dist/auth/services/payment.service.d.ts +5 -2
  203. package/dist/auth/services/payment.service.d.ts.map +1 -1
  204. package/dist/auth/services/payment.service.js +54 -35
  205. package/dist/auth/services/payment.service.js.map +1 -1
  206. package/dist/auth/services/tenant.invitation.service.d.ts +1 -1
  207. package/dist/auth/services/tenant.invitation.service.d.ts.map +1 -1
  208. package/dist/auth/services/tenant.invitation.service.js +20 -12
  209. package/dist/auth/services/tenant.invitation.service.js.map +1 -1
  210. package/dist/auth/services/tenant.membership.service.js +2 -2
  211. package/dist/auth/services/tenant.membership.service.js.map +1 -1
  212. package/dist/auth/services/tenant.plan.service.d.ts.map +1 -1
  213. package/dist/auth/services/tenant.plan.service.js +7 -3
  214. package/dist/auth/services/tenant.plan.service.js.map +1 -1
  215. package/dist/auth/services/tenant.provisioning.service.d.ts.map +1 -1
  216. package/dist/auth/services/tenant.provisioning.service.js +9 -5
  217. package/dist/auth/services/tenant.provisioning.service.js.map +1 -1
  218. package/dist/auth/types/api.key.types.d.ts +1 -0
  219. package/dist/auth/types/api.key.types.d.ts.map +1 -1
  220. package/dist/auth/types/auth.types.d.ts +2 -0
  221. package/dist/auth/types/auth.types.d.ts.map +1 -1
  222. package/dist/auth/types/google.auth.types.d.ts +1 -1
  223. package/dist/auth/types/google.auth.types.d.ts.map +1 -1
  224. package/dist/auth/types/payment.types.d.ts +4 -1
  225. package/dist/auth/types/payment.types.d.ts.map +1 -1
  226. package/dist/auth/types/tenant.plan.types.d.ts +6 -6
  227. package/dist/auth/types/tenant.plan.types.d.ts.map +1 -1
  228. package/dist/auth/types/tenant.provisioning.types.d.ts +2 -2
  229. package/dist/auth/types/tenant.provisioning.types.d.ts.map +1 -1
  230. package/dist/auth/utilities/tenant.access.js +2 -2
  231. package/dist/auth/utilities/tenant.access.js.map +1 -1
  232. package/dist/auth/utilities/tenant.limits.js +2 -2
  233. package/dist/auth/utilities/tenant.limits.js.map +1 -1
  234. package/dist/auth/utilities/tenant.plans.js +8 -8
  235. package/dist/auth/utilities/tenant.plans.js.map +1 -1
  236. package/dist/common/common.module.d.ts.map +1 -1
  237. package/dist/common/common.module.js +6 -0
  238. package/dist/common/common.module.js.map +1 -1
  239. package/dist/common/entities/activity.log.entity.d.ts +3 -1
  240. package/dist/common/entities/activity.log.entity.d.ts.map +1 -1
  241. package/dist/common/entities/activity.log.entity.js +7 -1
  242. package/dist/common/entities/activity.log.entity.js.map +1 -1
  243. package/dist/common/entities/idempotency.key.entity.d.ts +11 -0
  244. package/dist/common/entities/idempotency.key.entity.d.ts.map +1 -0
  245. package/dist/common/entities/idempotency.key.entity.js +49 -0
  246. package/dist/common/entities/idempotency.key.entity.js.map +1 -0
  247. package/dist/common/entities/scheduled.event.entity.d.ts +2 -2
  248. package/dist/common/entities/scheduled.event.entity.d.ts.map +1 -1
  249. package/dist/common/entities/scheduled.event.entity.js +2 -2
  250. package/dist/common/entities/scheduled.event.entity.js.map +1 -1
  251. package/dist/common/entities/system.audit.log.entity.d.ts +4 -1
  252. package/dist/common/entities/system.audit.log.entity.d.ts.map +1 -1
  253. package/dist/common/entities/system.audit.log.entity.js +8 -1
  254. package/dist/common/entities/system.audit.log.entity.js.map +1 -1
  255. package/dist/common/entities/system.constant.entity.d.ts +2 -0
  256. package/dist/common/entities/system.constant.entity.d.ts.map +1 -1
  257. package/dist/common/entities/system.constant.entity.js +11 -3
  258. package/dist/common/entities/system.constant.entity.js.map +1 -1
  259. package/dist/common/entities/system.constant.type.entity.d.ts +1 -0
  260. package/dist/common/entities/system.constant.type.entity.d.ts.map +1 -1
  261. package/dist/common/entities/system.constant.type.entity.js +6 -2
  262. package/dist/common/entities/system.constant.type.entity.js.map +1 -1
  263. package/dist/common/entities/system.notification.entity.d.ts +3 -1
  264. package/dist/common/entities/system.notification.entity.d.ts.map +1 -1
  265. package/dist/common/entities/system.notification.entity.js +7 -1
  266. package/dist/common/entities/system.notification.entity.js.map +1 -1
  267. package/dist/common/entities/system.scheduled.task.entity.d.ts +3 -3
  268. package/dist/common/entities/system.scheduled.task.entity.d.ts.map +1 -1
  269. package/dist/common/entities/system.scheduled.task.entity.js +4 -4
  270. package/dist/common/entities/system.scheduled.task.entity.js.map +1 -1
  271. package/dist/common/enums/audit.action.enum.d.ts +28 -11
  272. package/dist/common/enums/audit.action.enum.d.ts.map +1 -1
  273. package/dist/common/enums/audit.action.enum.js +30 -12
  274. package/dist/common/enums/audit.action.enum.js.map +1 -1
  275. package/dist/common/enums/idempotency.enum.d.ts +42 -0
  276. package/dist/common/enums/idempotency.enum.d.ts.map +1 -0
  277. package/dist/common/enums/idempotency.enum.js +50 -0
  278. package/dist/common/enums/idempotency.enum.js.map +1 -0
  279. package/dist/common/enums/notification.type.enum.d.ts +12 -5
  280. package/dist/common/enums/notification.type.enum.d.ts.map +1 -1
  281. package/dist/common/enums/notification.type.enum.js +14 -6
  282. package/dist/common/enums/notification.type.enum.js.map +1 -1
  283. package/dist/common/enums/otp.enum.d.ts +3 -5
  284. package/dist/common/enums/otp.enum.d.ts.map +1 -1
  285. package/dist/common/enums/otp.enum.js +8 -9
  286. package/dist/common/enums/otp.enum.js.map +1 -1
  287. package/dist/common/enums/record.history.enum.d.ts +2 -0
  288. package/dist/common/enums/record.history.enum.d.ts.map +1 -0
  289. package/dist/common/enums/record.history.enum.js +12 -0
  290. package/dist/common/enums/record.history.enum.js.map +1 -0
  291. package/dist/common/enums/schedule.enum.d.ts +20 -3
  292. package/dist/common/enums/schedule.enum.d.ts.map +1 -1
  293. package/dist/common/enums/schedule.enum.js +40 -20
  294. package/dist/common/enums/schedule.enum.js.map +1 -1
  295. package/dist/common/enums/storage.driver.enum.d.ts +8 -1
  296. package/dist/common/enums/storage.driver.enum.d.ts.map +1 -1
  297. package/dist/common/enums/storage.driver.enum.js +17 -9
  298. package/dist/common/enums/storage.driver.enum.js.map +1 -1
  299. package/dist/common/enums/system.constant.enum.d.ts +55 -0
  300. package/dist/common/enums/system.constant.enum.d.ts.map +1 -0
  301. package/dist/common/enums/system.constant.enum.js +63 -0
  302. package/dist/common/enums/system.constant.enum.js.map +1 -0
  303. package/dist/common/helpers/canonical.json.d.ts +2 -0
  304. package/dist/common/helpers/canonical.json.d.ts.map +1 -0
  305. package/dist/common/helpers/canonical.json.js +23 -0
  306. package/dist/common/helpers/canonical.json.js.map +1 -0
  307. package/dist/common/helpers/constant.pair.d.ts +5 -0
  308. package/dist/common/helpers/constant.pair.d.ts.map +1 -0
  309. package/dist/common/helpers/constant.pair.js +19 -0
  310. package/dist/common/helpers/constant.pair.js.map +1 -0
  311. package/dist/common/helpers/request.idempotency.d.ts +9 -0
  312. package/dist/common/helpers/request.idempotency.d.ts.map +1 -0
  313. package/dist/common/helpers/request.idempotency.js +40 -0
  314. package/dist/common/helpers/request.idempotency.js.map +1 -0
  315. package/dist/common/jobs/dispatch.scheduled.event.job.d.ts +1 -0
  316. package/dist/common/jobs/dispatch.scheduled.event.job.d.ts.map +1 -1
  317. package/dist/common/jobs/dispatch.scheduled.event.job.js +45 -19
  318. package/dist/common/jobs/dispatch.scheduled.event.job.js.map +1 -1
  319. package/dist/common/jobs/purge.idempotency.keys.job.d.ts +11 -0
  320. package/dist/common/jobs/purge.idempotency.keys.job.d.ts.map +1 -0
  321. package/dist/common/jobs/purge.idempotency.keys.job.js +37 -0
  322. package/dist/common/jobs/purge.idempotency.keys.job.js.map +1 -0
  323. package/dist/common/jobs/set.scheduled.event.job.d.ts.map +1 -1
  324. package/dist/common/jobs/set.scheduled.event.job.js +11 -10
  325. package/dist/common/jobs/set.scheduled.event.job.js.map +1 -1
  326. package/dist/common/libraries/base.data.processor.d.ts +9 -0
  327. package/dist/common/libraries/base.data.processor.d.ts.map +1 -1
  328. package/dist/common/libraries/base.data.processor.js +46 -1
  329. package/dist/common/libraries/base.data.processor.js.map +1 -1
  330. package/dist/common/module.registry.d.ts +6 -2
  331. package/dist/common/module.registry.d.ts.map +1 -1
  332. package/dist/common/module.registry.js +8 -0
  333. package/dist/common/module.registry.js.map +1 -1
  334. package/dist/common/queue.module.d.ts.map +1 -1
  335. package/dist/common/queue.module.js +4 -0
  336. package/dist/common/queue.module.js.map +1 -1
  337. package/dist/common/services/audit.service.d.ts.map +1 -1
  338. package/dist/common/services/audit.service.js +7 -2
  339. package/dist/common/services/audit.service.js.map +1 -1
  340. package/dist/common/services/idempotency.service.d.ts +25 -0
  341. package/dist/common/services/idempotency.service.d.ts.map +1 -0
  342. package/dist/common/services/idempotency.service.js +181 -0
  343. package/dist/common/services/idempotency.service.js.map +1 -0
  344. package/dist/common/services/record.history.service.d.ts +16 -0
  345. package/dist/common/services/record.history.service.d.ts.map +1 -0
  346. package/dist/common/services/record.history.service.js +153 -0
  347. package/dist/common/services/record.history.service.js.map +1 -0
  348. package/dist/common/services/system.constant.service.d.ts +24 -0
  349. package/dist/common/services/system.constant.service.d.ts.map +1 -0
  350. package/dist/common/services/system.constant.service.js +151 -0
  351. package/dist/common/services/system.constant.service.js.map +1 -0
  352. package/dist/common/system.property.module.d.ts.map +1 -1
  353. package/dist/common/system.property.module.js +11 -2
  354. package/dist/common/system.property.module.js.map +1 -1
  355. package/dist/common/types/audit.types.d.ts +3 -2
  356. package/dist/common/types/audit.types.d.ts.map +1 -1
  357. package/dist/common/types/idempotency.types.d.ts +29 -0
  358. package/dist/common/types/idempotency.types.d.ts.map +1 -0
  359. package/dist/common/types/idempotency.types.js +3 -0
  360. package/dist/common/types/idempotency.types.js.map +1 -0
  361. package/dist/common/types/record.history.types.d.ts +40 -0
  362. package/dist/common/types/record.history.types.d.ts.map +1 -0
  363. package/dist/common/types/record.history.types.js +3 -0
  364. package/dist/common/types/record.history.types.js.map +1 -0
  365. package/dist/common/types/system.constant.types.d.ts +16 -0
  366. package/dist/common/types/system.constant.types.d.ts.map +1 -0
  367. package/dist/common/types/system.constant.types.js +3 -0
  368. package/dist/common/types/system.constant.types.js.map +1 -0
  369. package/dist/common/validators/idempotency.patterns.d.ts +2 -0
  370. package/dist/common/validators/idempotency.patterns.d.ts.map +1 -0
  371. package/dist/common/validators/idempotency.patterns.js +5 -0
  372. package/dist/common/validators/idempotency.patterns.js.map +1 -0
  373. package/dist/constants/entity.constants.d.ts +1 -0
  374. package/dist/constants/entity.constants.d.ts.map +1 -1
  375. package/dist/constants/entity.constants.js +1 -0
  376. package/dist/constants/entity.constants.js.map +1 -1
  377. package/dist/constants/entity.maps.d.ts +2 -0
  378. package/dist/constants/entity.maps.d.ts.map +1 -1
  379. package/dist/constants/entity.maps.js +2 -0
  380. package/dist/constants/entity.maps.js.map +1 -1
  381. package/dist/constants/job.constants.d.ts +2 -0
  382. package/dist/constants/job.constants.d.ts.map +1 -1
  383. package/dist/constants/job.constants.js +2 -0
  384. package/dist/constants/job.constants.js.map +1 -1
  385. package/dist/constants/job.maps.d.ts +2 -0
  386. package/dist/constants/job.maps.d.ts.map +1 -1
  387. package/dist/constants/job.maps.js +2 -0
  388. package/dist/constants/job.maps.js.map +1 -1
  389. package/dist/document/entities/document.upload.entity.d.ts +2 -1
  390. package/dist/document/entities/document.upload.entity.d.ts.map +1 -1
  391. package/dist/document/entities/document.upload.entity.js +3 -2
  392. package/dist/document/entities/document.upload.entity.js.map +1 -1
  393. package/dist/document/services/document.service.d.ts +1 -0
  394. package/dist/document/services/document.service.d.ts.map +1 -1
  395. package/dist/document/services/document.service.js +14 -10
  396. package/dist/document/services/document.service.js.map +1 -1
  397. package/dist/document/services/minio.bucket.document.service.d.ts +2 -2
  398. package/dist/document/services/minio.bucket.document.service.d.ts.map +1 -1
  399. package/dist/document/services/minio.bucket.document.service.js +1 -1
  400. package/dist/document/services/minio.bucket.document.service.js.map +1 -1
  401. package/dist/document/services/s3.bucket.document.service.d.ts +2 -2
  402. package/dist/document/services/s3.bucket.document.service.d.ts.map +1 -1
  403. package/dist/document/services/s3.bucket.document.service.js +1 -1
  404. package/dist/document/services/s3.bucket.document.service.js.map +1 -1
  405. package/dist/global/exceptions/idempotency.exception.d.ts +8 -0
  406. package/dist/global/exceptions/idempotency.exception.d.ts.map +1 -0
  407. package/dist/global/exceptions/idempotency.exception.js +18 -0
  408. package/dist/global/exceptions/idempotency.exception.js.map +1 -0
  409. package/dist/global/utilities/seeder.utility.d.ts +1 -1
  410. package/dist/global/utilities/seeder.utility.d.ts.map +1 -1
  411. package/dist/global/utilities/seeder.utility.js +2 -2
  412. package/dist/global/utilities/seeder.utility.js.map +1 -1
  413. package/dist/global/utilities/table.builder.d.ts.map +1 -1
  414. package/dist/global/utilities/table.builder.js +1 -0
  415. package/dist/global/utilities/table.builder.js.map +1 -1
  416. package/dist/index.d.ts +22 -8
  417. package/dist/index.d.ts.map +1 -1
  418. package/dist/index.js +53 -17
  419. package/dist/index.js.map +1 -1
  420. package/dist/migrations/1749600000003.CreateSysUsersTable.d.ts.map +1 -1
  421. package/dist/migrations/1749600000003.CreateSysUsersTable.js +3 -3
  422. package/dist/migrations/1749600000003.CreateSysUsersTable.js.map +1 -1
  423. package/dist/migrations/1749600000007.CreateSysConstantTypesTable.d.ts.map +1 -1
  424. package/dist/migrations/1749600000007.CreateSysConstantTypesTable.js +5 -4
  425. package/dist/migrations/1749600000007.CreateSysConstantTypesTable.js.map +1 -1
  426. package/dist/migrations/1749600000008.CreateSysConstantsTable.d.ts +3 -0
  427. package/dist/migrations/1749600000008.CreateSysConstantsTable.d.ts.map +1 -1
  428. package/dist/migrations/1749600000008.CreateSysConstantsTable.js +26 -4
  429. package/dist/migrations/1749600000008.CreateSysConstantsTable.js.map +1 -1
  430. package/dist/migrations/1749600000011.CreateSysNotificationsTable.d.ts.map +1 -1
  431. package/dist/migrations/1749600000011.CreateSysNotificationsTable.js +8 -2
  432. package/dist/migrations/1749600000011.CreateSysNotificationsTable.js.map +1 -1
  433. package/dist/migrations/1749600000012.CreateSysAuditLogsTable.d.ts.map +1 -1
  434. package/dist/migrations/1749600000012.CreateSysAuditLogsTable.js +5 -1
  435. package/dist/migrations/1749600000012.CreateSysAuditLogsTable.js.map +1 -1
  436. package/dist/migrations/1749600000013.CreateSysDocumentUploadsTable.d.ts.map +1 -1
  437. package/dist/migrations/1749600000013.CreateSysDocumentUploadsTable.js +5 -1
  438. package/dist/migrations/1749600000013.CreateSysDocumentUploadsTable.js.map +1 -1
  439. package/dist/migrations/1749600000015.CreateSysActivityLogsTable.d.ts.map +1 -1
  440. package/dist/migrations/1749600000015.CreateSysActivityLogsTable.js +5 -1
  441. package/dist/migrations/1749600000015.CreateSysActivityLogsTable.js.map +1 -1
  442. package/dist/migrations/1749600000018.CreateSysScheduledTasksTable.d.ts.map +1 -1
  443. package/dist/migrations/1749600000018.CreateSysScheduledTasksTable.js +12 -6
  444. package/dist/migrations/1749600000018.CreateSysScheduledTasksTable.js.map +1 -1
  445. package/dist/migrations/1749600000019.CreateSysScheduledEventsTable.d.ts.map +1 -1
  446. package/dist/migrations/1749600000019.CreateSysScheduledEventsTable.js +7 -4
  447. package/dist/migrations/1749600000019.CreateSysScheduledEventsTable.js.map +1 -1
  448. package/dist/migrations/1749600000031.CreateSysTenantInvitationsTable.d.ts.map +1 -1
  449. package/dist/migrations/1749600000031.CreateSysTenantInvitationsTable.js +12 -7
  450. package/dist/migrations/1749600000031.CreateSysTenantInvitationsTable.js.map +1 -1
  451. package/dist/migrations/1749600000036.SeedGlobalAdminRole.d.ts +1 -1
  452. package/dist/migrations/1749600000036.SeedGlobalAdminRole.d.ts.map +1 -1
  453. package/dist/migrations/1749600000036.SeedGlobalAdminRole.js +2 -2
  454. package/dist/migrations/1749600000036.SeedGlobalAdminRole.js.map +1 -1
  455. package/dist/migrations/1749600000040.SeedTenantLimits.d.ts +1 -1
  456. package/dist/migrations/1749600000040.SeedTenantLimits.d.ts.map +1 -1
  457. package/dist/migrations/1749600000040.SeedTenantLimits.js +2 -2
  458. package/dist/migrations/1749600000040.SeedTenantLimits.js.map +1 -1
  459. package/dist/migrations/1749600000041.CreateSysPlansTable.d.ts.map +1 -1
  460. package/dist/migrations/1749600000041.CreateSysPlansTable.js +6 -3
  461. package/dist/migrations/1749600000041.CreateSysPlansTable.js.map +1 -1
  462. package/dist/migrations/1749600000044.CreateSysTenantPlansTable.d.ts.map +1 -1
  463. package/dist/migrations/1749600000044.CreateSysTenantPlansTable.js +14 -7
  464. package/dist/migrations/1749600000044.CreateSysTenantPlansTable.js.map +1 -1
  465. package/dist/migrations/1749600000045.CreateSysPaymentsTable.d.ts.map +1 -1
  466. package/dist/migrations/1749600000045.CreateSysPaymentsTable.js +6 -5
  467. package/dist/migrations/1749600000045.CreateSysPaymentsTable.js.map +1 -1
  468. package/dist/migrations/1749600000046.CreateSysWebhookEventsTable.d.ts.map +1 -1
  469. package/dist/migrations/1749600000046.CreateSysWebhookEventsTable.js +5 -4
  470. package/dist/migrations/1749600000046.CreateSysWebhookEventsTable.js.map +1 -1
  471. package/dist/migrations/1749600000048.SeedOtpActivityConstants.d.ts +1 -1
  472. package/dist/migrations/1749600000048.SeedOtpActivityConstants.d.ts.map +1 -1
  473. package/dist/migrations/1749600000048.SeedOtpActivityConstants.js +6 -3
  474. package/dist/migrations/1749600000048.SeedOtpActivityConstants.js.map +1 -1
  475. package/dist/migrations/1749600000054.SeedCoreConstants.d.ts +101 -0
  476. package/dist/migrations/1749600000054.SeedCoreConstants.d.ts.map +1 -0
  477. package/dist/migrations/1749600000054.SeedCoreConstants.js +146 -0
  478. package/dist/migrations/1749600000054.SeedCoreConstants.js.map +1 -0
  479. package/dist/migrations/1749600000055.CreateSysIdempotencyKeysTable.d.ts +6 -0
  480. package/dist/migrations/1749600000055.CreateSysIdempotencyKeysTable.d.ts.map +1 -0
  481. package/dist/migrations/1749600000055.CreateSysIdempotencyKeysTable.js +38 -0
  482. package/dist/migrations/1749600000055.CreateSysIdempotencyKeysTable.js.map +1 -0
  483. package/dist/notification/enums/email.template.identifier.enum.d.ts +2 -1
  484. package/dist/notification/enums/email.template.identifier.enum.d.ts.map +1 -1
  485. package/dist/notification/enums/email.template.identifier.enum.js +1 -0
  486. package/dist/notification/enums/email.template.identifier.enum.js.map +1 -1
  487. package/dist/notification/jobs/tenant.poc.changed.mail.job.d.ts +11 -0
  488. package/dist/notification/jobs/tenant.poc.changed.mail.job.d.ts.map +1 -0
  489. package/dist/notification/jobs/tenant.poc.changed.mail.job.js +55 -0
  490. package/dist/notification/jobs/tenant.poc.changed.mail.job.js.map +1 -0
  491. package/dist/notification/module.registry.d.ts +2 -1
  492. package/dist/notification/module.registry.d.ts.map +1 -1
  493. package/dist/notification/module.registry.js +2 -0
  494. package/dist/notification/module.registry.js.map +1 -1
  495. package/dist/notification/notification.module.d.ts.map +1 -1
  496. package/dist/notification/notification.module.js +6 -2
  497. package/dist/notification/notification.module.js.map +1 -1
  498. package/dist/notification/services/notification.service.d.ts +4 -1
  499. package/dist/notification/services/notification.service.d.ts.map +1 -1
  500. package/dist/notification/services/notification.service.js +21 -3
  501. package/dist/notification/services/notification.service.js.map +1 -1
  502. package/dist/notification/types/email.notification.types.d.ts +3 -0
  503. package/dist/notification/types/email.notification.types.d.ts.map +1 -1
  504. package/dist/tenant/utilities/tenant.revocation.js +1 -1
  505. package/dist/tenant/utilities/tenant.revocation.js.map +1 -1
  506. package/dist/webhook/entities/webhook.event.entity.d.ts +4 -2
  507. package/dist/webhook/entities/webhook.event.entity.d.ts.map +1 -1
  508. package/dist/webhook/entities/webhook.event.entity.js +7 -1
  509. package/dist/webhook/entities/webhook.event.entity.js.map +1 -1
  510. package/dist/webhook/enums/webhook.enum.d.ts +8 -1
  511. package/dist/webhook/enums/webhook.enum.d.ts.map +1 -1
  512. package/dist/webhook/enums/webhook.enum.js +17 -9
  513. package/dist/webhook/enums/webhook.enum.js.map +1 -1
  514. package/dist/webhook/services/webhook.service.d.ts.map +1 -1
  515. package/dist/webhook/services/webhook.service.js +22 -15
  516. package/dist/webhook/services/webhook.service.js.map +1 -1
  517. package/package.json +1 -1
package/README.md CHANGED
@@ -16,6 +16,9 @@ import {
16
16
 
17
17
  > Full, verbose reference (every service, method, env variable, and an end-to-end
18
18
  > integration guide): see [`documentation.tex`](./documentation.tex).
19
+ >
20
+ > Setting up a project: every `sys_properties` row, seed and role it needs —
21
+ > [`docs/architecture/19-properties-and-access.md`](./docs/architecture/19-properties-and-access.md).
19
22
 
20
23
  ## Installation
21
24
 
@@ -101,7 +104,7 @@ these are free to change without a breaking release.
101
104
  | Area | Key exports | Notes |
102
105
  | ----------------- | ------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
103
106
  | Entities | `RootEntity`, `CommonEntity`, `CommonAdminEntity`, `UserEntity`, `AdminUserEntity`, `SystemRoleEntity`, `SystemAdminRoleEntity`, ... | uuid PK, soft deletes, `created_by`/`updated_by` (+ `creator`/`updater` relations), jsonb `attributes`; entity-level `findOneOrNew`, `hardDelete`, `restore`, `paginate` statics plus a row-wise `softDelete()` |
104
- | Migrations | `CreateTable`, `AlterTable`, `TableBuilder`, `SeederUtility` (the 31 table migrations ship in `dist/migrations` — glob them, they are not barrel exports) | `tableBuilder.ids().string().audit()` chains, typed partial-index `where`, `addRecord()` seeding |
107
+ | Migrations | `CreateTable`, `AlterTable`, `TableBuilder`, `SeederUtility` (override `seed()`; the 31 table migrations ship in `dist/migrations` — glob them, they are not barrel exports) | `tableBuilder.ids().string().audit()` chains, typed partial-index `where`, `addRecord()` seeding |
105
108
  | Queue | `QueueModule`, `QueueModule.withConnection()`, `QueueService`, `BaseJob` | BullMQ `@Processor`/`WorkerHost` consumer; auto-discovered jobs, duplicate prevention, recurring schedulers, completed jobs cleared from Redis on success (1-day TTL on failures), `clearQueue()`, retries, failures persisted to `sys_failed_jobs`; connection from `BULL_REDIS_*` or supplied by the app — never register `BullModule.forRoot()` yourself, two roots race over the worker's connection |
106
109
  | Scheduled events | `SystemScheduledTaskEntity`, `ScheduledEventEntity`, `ScheduleKind`, `ScheduleSpec`, `IsCronExpression` | schedule definitions in `sys_scheduled_tasks` → events in `sys_scheduled_events`; interval / cron / once specs with timezones, drift-free slots, horizon materialisation, catch-up + overlap policies, fire-once dispatch with backoff, cadence via `SCHEDULED_EVENT_MIN` |
107
110
  | Auth | `AuthModule`, `AuthService.validateRole()`/`validatePermission()`, `RoleHierarchy`, `TenantRole`, `Auth`, `JwtMiddleware` | imperative auth (open by default); scoped RBAC — roles ranked by priority within a scope (parent scopes cover children), permissions per role, scope admins granting their scope's roles, with `global.admin` overriding every check; JwtMiddleware resolves the user into `Auth`'s AsyncLocalStorage context per request; access + rotating refresh tokens; session-based logout invalidation (`sys_auth_sessions`); Google SSO via ID token at `POST /auth/google`; impersonation — a tenantless `has_global_access` user signs into one organization at `POST /auth/impersonation/login`; multi-organization membership with per-organization roles, organization switching and invitations by `global.admin` or scope admins (`TenantMembershipService`, `TenantInvitationService`) |
@@ -109,10 +112,13 @@ these are free to change without a breaking release.
109
112
  | API keys | `ApiKeyService`, `ApiKeyGuard` / `ApiKeyMiddleware`, `@ApiKeyScopes()`/`@ApiKeyRoles()`/`@ApiKeyPermissions()`, `ApiKeyContext` | hashed keys in `sys_api_keys` (admin-owned), one tenant per key, roles inside its scopes, expiry/revocation, `x-api-key` header; `validateAccess(scope, role?)`/`validatePermission()` return the tenant the key acts for |
110
113
  | Scopes | `ScopeService`, `AuthService.validateAccess()`, `ScopeEntity`, `TenantScopeEntity`, `ApiScopeEntity` | one feature named once in `sys_scopes`, optionally with child scopes under it, then granted per organization (`sys_tenant_scopes`) or per API key (`sys_api_scopes`) — never an array on the principal |
111
114
  | Multi-tenancy | `TenantModule`, `TenantEntity`, `CommonTenantEntity`, `TenantContextService`, `TenantContextMiddleware` | AsyncLocalStorage tenant context bound from the authenticated session (or API key), never a client-supplied header; tenants are onboarded by admins (`TenantEntity.creator` → `AdminUserEntity`) |
112
- | Admin | `AdminModule` (its controllers, DTOs and processors are internal — import the module and hit the endpoints), `GlobalAdminRoles` | back-office APIs: tenant onboarding, client/admin/system user registration (single + bulk), the `has_global_access` grant that enables impersonation, tenant + scheduled-task listing, the email/PDF template catalogues (read at content-reader, written at content-manager, deleted at global admin); 4-tier `GlobalAdminRoles` gate over `sys_admin_roles`; Swagger at `/docs` (hidden in production) |
115
+ | Admin | `AdminModule` (its controllers, DTOs and processors are internal — import the module and hit the endpoints), `GlobalAdminRoles` | back-office APIs: tenant onboarding, point-of-contact change (global admin, optional `notify` mail via a job), client/admin/system user registration (single + bulk), the `has_global_access` grant that enables impersonation, tenant + scheduled-task listing, the email/PDF template catalogues (read at content-reader, written at content-manager, deleted at global admin); 4-tier `GlobalAdminRoles` gate over `sys_admin_roles`; Swagger at `/docs` (hidden in production) |
113
116
  | Notifications | `NotificationModule`, `NotificationService`, `FcmPushNotificationService` | in-app rows + FCM push (optional `firebase-admin`); device token registry |
114
117
  | Email (SES) | `EmailNotificationService`, `ProcessEmailNotification`, `EmailTemplateEntity`, `EmailNotificationLogEntity` | templates in `sys_email_templates` (managed from the admin surface) rendered by a remote service, dispatched via SES per recipient (to/cc/bcc); logged to `sys_email_notification_logs` outside production; dispatch skipped when `AWS_SES_FROM_ADDRESS` unset |
115
118
  | Audit | `AuditService` | `saveAuditLog(old, new)` with changed-value diffing into `sys_audit_logs` |
119
+ | System constants | `SystemConstantService`, `SystemConstantEntity`, `SystemConstantTypeEntity`, `ConstantTypeIdentifier`, `ConstantTypeSeedId`, `ConstantPair` | `sys_constants` catalogue (`identifier`, `is_system`) behind every closed set; admin CRUD at `/api/admin/constant-types`, `/api/admin/constants` |
120
+ | Idempotency | `IdempotencyService`, `IdempotencyKeyEntity`, `BaseDataProcessor.claimIdempotency()`, `RequestIdempotency` | `Idempotency-Key` header makes a create replay-safe (`sys_idempotency_keys`); purged by `PurgeIdempotencyKeysJob` |
121
+ | Record history | `RecordHistoryService`, `RecordHistoryEntry` | transaction-aware field diffs into `sys_audit_logs`; `history()` lists them newest first |
116
122
  | Cache | `CacheService` | Redis, TTL objects (`{days, hours, min}`), transparent encryption |
117
123
  | Encryption | `EncryptionService` | AES-256-GCM, scrypt-derived keys |
118
124
  | One-time codes | `OtpService`, `OtpActivity`, `SystemOtpEntity` | 6-digit codes per activity on one row (`sys_otps`, activities are `sys_constants` rows); keyed digest only, single use, expiry, 5 guesses; always `000000` when `SERVER_ENV` is set and not `production` |
@@ -1019,10 +1025,19 @@ reach:
1019
1025
  | ----------------------- | ------------------------- | ------------------ | --------------------------------------------------------------------------- |
1020
1026
  | `tenant-onboarded` | `TenantDataProcessor` | tenant's POC email | `tenant_name`, `tenant_poc`, `tenant_email`, `onboarded_on`, support fields |
1021
1027
  | `tenant-user-onboarded` | `ClientUserDataProcessor` | the new user | `user_name`, `user_email`, `tenant_name`, `onboarded_on`, support fields |
1028
+ | `tenant-poc-changed` | `TenantPocChangedMailJob` | the new POC email | `tenant_name`, `poc_name`, `poc_email`, `poc_contact`, support fields |
1022
1029
 
1023
- Both add `support_email` and `support_link`, read from the `support_email` /
1030
+ All add `support_email` and `support_link`, read from the `support_email` /
1024
1031
  `support_link` system properties and falling back to the placeholders in
1025
- `EmailNotificationDefault`. Neither send can fail its flow: the row is committed
1032
+ `EmailNotificationDefault`.
1033
+
1034
+ **Changing a tenant's point of contact** — `POST /api/admin/tenants/:id/poc`
1035
+ (global admin and above; editing the rest of the tenant stays super admin) takes
1036
+ `{ poc_name, poc_email, poc_contact?, notify? }`, replaces only those fields (audited,
1037
+ omitted `poc_contact` keeps the stored value) and, when `notify` is true, queues
1038
+ `TenantPocChangedMailJob` after the change commits — whether or not the address
1039
+ changed. The job carries only `tenant_id` and reads the current POC when it runs; it
1040
+ retries and lands in `sys_failed_jobs` like the other mail jobs. Neither send can fail its flow: the row is committed
1026
1041
  first, so a missing template or SES error is logged as a warning and the request
1027
1042
  still succeeds.
1028
1043
 
@@ -1304,6 +1319,75 @@ Interactive docs are served at `GET /docs` (JSON at `/docs-json`) in every
1304
1319
  environment **except production** — `main.ts` only mounts Swagger when
1305
1320
  `SERVER_ENV !== 'production'`, so the schema is never exposed in prod.
1306
1321
 
1322
+ ## System Constants, Idempotency & Record History
1323
+
1324
+ ### System constants
1325
+
1326
+ Every closed set (payment/invitation/plan/event/webhook status, schedule policies, billing
1327
+ interval, user type, storage driver, audit action, activity type, notification type) is a
1328
+ `sys_constants` row under a `sys_constant_types` row, referenced by a `<name>_id` FK. Both tables
1329
+ carry `identifier` (unique among live rows; per type for constants) and `is_system`
1330
+ (package/app seeded = protected). Seeded ids are fixed: types
1331
+ `00000000-0000-4000-8000-000000000NNN` (`ConstantTypeSeedId`, 301 OTP, 302-315 core), constants
1332
+ `...NNNSSS`. Code compares ids from the `*Id` enums; the matching `*Identifier` enums hold the strings
1333
+ clients still send and receive (list filters, DTO inputs and session `user_type` keep the strings).
1334
+ `ConstantPair.id(Identifiers, Ids, value)` / `.identifier(...)` map between them without a read.
1335
+
1336
+ `SystemConstantService` (global `CommonModule`, in-memory catalogue refreshed every
1337
+ `constants.cache.ttl.seconds`, default 300, bounds 30-3600):
1338
+
1339
+ | Method | Use |
1340
+ |---|---|
1341
+ | `id(typeIdentifier, constantIdentifier)` | id of a constant; throws when not seeded |
1342
+ | `resolve(id)` | `{ id, type_identifier, identifier, name, value, is_system }` or `null` |
1343
+ | `list(typeIdentifier)` | a type's constants, ordered by `attributes.sort_order` then name |
1344
+ | `assertOfType(id, typeIdentifier)` | 400 when a client-sent id is of another type |
1345
+ | `invalidate()` | drop this node's cache (the admin write path calls it); other nodes converge within the TTL |
1346
+
1347
+ Admin endpoints (content reader reads, content manager writes, super admin deletes):
1348
+ `POST /api/admin/constant-types/list`, `GET /api/admin/constant-types/:id`,
1349
+ `POST /api/admin/constant-types`, `POST /api/admin/constants` (body `id?` edits),
1350
+ `DELETE /api/admin/constant-types/:id`, `DELETE /api/admin/constants/:id`. `is_system` is never
1351
+ accepted from the client; on a system row `identifier`, `type_id` and `value` are immutable and it
1352
+ cannot be deleted. A type with live constants, or a constant still referenced by a FK, cannot be
1353
+ deleted (400). Every write is audited.
1354
+
1355
+ Apps extend the open sets (`activity.type`, `notification.type`, `audit.action`) by seeding their own
1356
+ constants (fixed ids in their own enum, `is_system = true`) in their migrations. nestend seeds no
1357
+ `activity.type` rows.
1358
+
1359
+ ### Idempotency
1360
+
1361
+ Send `Idempotency-Key` (1-255 of `A-Za-z0-9._:-`) on a create. Same key + same payload returns the
1362
+ record the first request created; same key + different payload is 422 (`IDEMPOTENCY_KEY_REUSED`);
1363
+ same key still in flight is 409 (`IDEMPOTENCY_IN_PROGRESS`, after `idempotency.lock.timeout.ms`).
1364
+ Keys are scoped per tenant (none for admins) and entity type, stored in `sys_idempotency_keys`
1365
+ (`request_hash` = sha256 of the canonical payload, `source_id` set in the same transaction, no status
1366
+ column) and expire after `idempotency.ttl.minutes`.
1367
+
1368
+ | `sys_properties` | Default | Bounds |
1369
+ |---|---|---|
1370
+ | `idempotency.ttl.minutes` | 1440 | 1-10080 (cached 30 s per process) |
1371
+ | `idempotency.lock.timeout.ms` | 10000 | 1000-60000 (cached 30 s per process) |
1372
+ | `constants.cache.ttl.seconds` | 300 | 30-3600 |
1373
+
1374
+ Opt in per processor: pass `IdempotencyService` to `super(...)`, then inside the create transaction
1375
+ `claimIdempotency(manager, sourceType, payload, { required? })` (returns the replay id or `null`;
1376
+ edits with an `id` skip it; the header is required for user/admin callers and optional for API keys)
1377
+ and `completeIdempotency(manager, saved.id)` after `set()`. A missing/invalid header is an
1378
+ `idempotency_key` field error. A rollback releases the key. `PurgeIdempotencyKeysJob`
1379
+ (`purge.idempotency.keys.job`, schedulable) deletes expired rows in batches of 1000; schedule it from
1380
+ the admin scheduled-tasks API.
1381
+
1382
+ ### Record history
1383
+
1384
+ `RecordHistoryService.log({ sourceType, sourceId }, before, after, actorId, { manager?, action?, skip?, entity? })`
1385
+ writes one `sys_audit_logs` row holding only the changed fields (action defaults to `update`),
1386
+ skipping audit columns, `sn`, relations, `select: false` columns and `skip`; no change writes
1387
+ nothing; with `manager` it rolls back with the edit. `history(sourceType, sourceId, { page?, limit? })`
1388
+ returns `RecordHistoryEntry[]` newest first. Apps expose `GET .../:id/history` themselves, loading
1389
+ the record within the tenant first (`sys_audit_logs` has no `tenant_id`).
1390
+
1307
1391
  ## Security
1308
1392
 
1309
1393
  The library ships secure defaults; most hardening needs no code. The full audit and
@@ -1363,6 +1447,29 @@ its remediation status live outside the package (`security-audit/`).
1363
1447
  - Impersonation login returns no refresh token; OTP accounts are limited to change-password until it is replaced.
1364
1448
  - `POST /auth/change-password` needs `otp` from `POST /auth/change-password/request` (except when replacing a one-time password).
1365
1449
 
1450
+ ## Breaking changes in 8.1.0
1451
+
1452
+ - **Create migrations were edited** (new files only: `SeedCoreConstants` `...054` and
1453
+ `CreateSysIdempotencyKeysTable` `...055`): rebuild dev databases; there is no backfill path.
1454
+ - **String columns became `*_id` FKs to `sys_constants`**: `status` (payments, scheduled events,
1455
+ tenant invitations, tenant plans, webhook events), `catch_up_policy`, `overlap_policy`, `source`
1456
+ (tenant plans), `billing_interval`, `user_type`, `storage_driver`, audit `action`, `activity_type`
1457
+ and notification `type` are now `status_id`, `catch_up_policy_id`, `overlap_policy_id`, `source_id`,
1458
+ `billing_interval_id`, `user_type_id`, `storage_driver_id`, `action_id`, `activity_type_id` and
1459
+ `type_id`. Update entity property access, query builders and raw SQL, and compare with the `*Id`
1460
+ enums. List identifiers, DTO inputs and the session `user_type` are still identifier strings.
1461
+ - **`sys_constants.identifier` is required** and `type_id` is not null: constants an app seeds must
1462
+ carry an `identifier`.
1463
+ - **Apps must seed their own** `audit.action` (beyond the seeded set), `activity.type` and
1464
+ `notification.type` constants. `SaveAuditLogOptions.action`, `AuditLogFilter.action`,
1465
+ `AdminAuditEntry.action` and `RecordHistoryOptions.action` are typed `AuditAction` (was `string`);
1466
+ `REVEAL` and `DISABLE` are now enum members.
1467
+ - **Lower-case identifiers**: `AuditAction` and `NotificationType` values are lower-case (`create`,
1468
+ `info`); update FE filters and any stored-string comparisons.
1469
+ - **`SeederUtility.process()` is now `seed()`**: rename the override in app seed migrations.
1470
+ - **`TableBuilder.foreign()` honours `default`.**
1471
+ - Opt-in, non-breaking: idempotency and `RecordHistoryService`; the new `sys_properties` above.
1472
+
1366
1473
  ## License
1367
1474
 
1368
1475
  MIT
@@ -68,14 +68,14 @@ let AdminApiKeyController = AdminApiKeyController_1 = class AdminApiKeyControlle
68
68
  actor: user,
69
69
  sourceType: entity_constants_1.baseEntityConstants.apiKey,
70
70
  sourceId: id,
71
- action: 'REVEAL',
71
+ action: audit_action_enum_1.AuditAction.REVEAL,
72
72
  });
73
73
  return { id, key };
74
74
  }
75
75
  async disable(id) {
76
76
  const { user } = await this.adminAccessService.validateAdmin();
77
77
  const result = await this.apiKeyService.disableApiKey(id, user.id);
78
- await this.audit(user, id, 'DISABLE');
78
+ await this.audit(user, id, audit_action_enum_1.AuditAction.DISABLE);
79
79
  return result;
80
80
  }
81
81
  async remove(id) {
@@ -1 +1 @@
1
- {"version":3,"file":"admin.api.key.controller.js","sourceRoot":"","sources":["../../../src/admin/controllers/admin.api.key.controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"admin.api.key.controller.js","sourceRoot":"","sources":["../../../src/admin/controllers/admin.api.key.controller.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import { SystemConstantEntity } from '../../common/entities/system.constant.entity';
2
+ import { SystemConstantTypeEntity } from '../../common/entities/system.constant.type.entity';
3
+ import { ListFilterService } from '../../common/services/list.filter.service';
4
+ import { SystemConstantService } from '../../common/services/system.constant.service';
5
+ import { AddConstantDto } from '../dtos/add.constant.dto';
6
+ import { AddConstantTypeDto } from '../dtos/add.constant.type.dto';
7
+ import { ConstantTypeListDto } from '../dtos/constant.type.list.dto';
8
+ import { AdminAccessService } from '../services/admin.access.service';
9
+ import { AdminConstantService } from '../services/admin.constant.service';
10
+ export declare class AdminConstantController {
11
+ private readonly adminAccessService;
12
+ private readonly adminConstantService;
13
+ private readonly systemConstantService;
14
+ private readonly listFilterService;
15
+ constructor(adminAccessService: AdminAccessService, adminConstantService: AdminConstantService, systemConstantService: SystemConstantService, listFilterService: ListFilterService);
16
+ listTypes(dto: ConstantTypeListDto): Promise<import("../..").CommonListResult>;
17
+ typeDetail(id: string): Promise<SystemConstantTypeEntity>;
18
+ saveType(dto: AddConstantTypeDto): Promise<SystemConstantTypeEntity>;
19
+ saveConstant(dto: AddConstantDto): Promise<SystemConstantEntity>;
20
+ removeType(id: string): Promise<void>;
21
+ removeConstant(id: string): Promise<void>;
22
+ }
23
+ //# sourceMappingURL=admin.constant.controller.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin.constant.controller.d.ts","sourceRoot":"","sources":["../../../src/admin/controllers/admin.constant.controller.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,oBAAoB,EAAE,MAAM,8CAA8C,CAAC;AACpF,OAAO,EAAE,wBAAwB,EAAE,MAAM,mDAAmD,CAAC;AAE7F,OAAO,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AAC9E,OAAO,EAAE,qBAAqB,EAAE,MAAM,+CAA+C,CAAC;AACtF,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAIrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAG1E,qBAIa,uBAAuB;IAEhC,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IACrC,OAAO,CAAC,QAAQ,CAAC,qBAAqB;IACtC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;gBAHjB,kBAAkB,EAAE,kBAAkB,EACtC,oBAAoB,EAAE,oBAAoB,EAC1C,qBAAqB,EAAE,qBAAqB,EAC5C,iBAAiB,EAAE,iBAAiB;IAQjD,SAAS,CAAS,GAAG,EAAE,mBAAmB;IAU1C,UAAU,CACc,EAAE,EAAE,MAAM,GACrC,OAAO,CAAC,wBAAwB,CAAC;IAW9B,QAAQ,CACJ,GAAG,EAAE,kBAAkB,GAC9B,OAAO,CAAC,wBAAwB,CAAC;IAc9B,YAAY,CACR,GAAG,EAAE,cAAc,GAC1B,OAAO,CAAC,oBAAoB,CAAC;IAc1B,UAAU,CAA6B,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAWjE,cAAc,CAA6B,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAI5E"}
@@ -0,0 +1,138 @@
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.AdminConstantController = void 0;
16
+ const common_1 = require("@nestjs/common");
17
+ const swagger_1 = require("@nestjs/swagger");
18
+ const strict_validation_pipe_1 = require("../../common/pipes/strict.validation.pipe");
19
+ const list_filter_service_1 = require("../../common/services/list.filter.service");
20
+ const system_constant_service_1 = require("../../common/services/system.constant.service");
21
+ const add_constant_dto_1 = require("../dtos/add.constant.dto");
22
+ const add_constant_type_dto_1 = require("../dtos/add.constant.type.dto");
23
+ const constant_type_list_dto_1 = require("../dtos/constant.type.list.dto");
24
+ const constant_data_processor_1 = require("../libraries/constant.data.processor");
25
+ const constant_type_data_processor_1 = require("../libraries/constant.type.data.processor");
26
+ const constant_type_filter_processor_1 = require("../libraries/constant.type.filter.processor");
27
+ const admin_access_service_1 = require("../services/admin.access.service");
28
+ const admin_constant_service_1 = require("../services/admin.constant.service");
29
+ let AdminConstantController = class AdminConstantController {
30
+ constructor(adminAccessService, adminConstantService, systemConstantService, listFilterService) {
31
+ this.adminAccessService = adminAccessService;
32
+ this.adminConstantService = adminConstantService;
33
+ this.systemConstantService = systemConstantService;
34
+ this.listFilterService = listFilterService;
35
+ }
36
+ async listTypes(dto) {
37
+ await this.adminAccessService.validateContentReader();
38
+ return new constant_type_filter_processor_1.ConstantTypeFilterProcessor(this.listFilterService).process(dto);
39
+ }
40
+ async typeDetail(id) {
41
+ await this.adminAccessService.validateContentReader();
42
+ return this.adminConstantService.typeDetail(id);
43
+ }
44
+ async saveType(dto) {
45
+ const access = await this.adminAccessService.validateContentManager();
46
+ return new constant_type_data_processor_1.ConstantTypeDataProcessor(access, this.systemConstantService).process(dto);
47
+ }
48
+ async saveConstant(dto) {
49
+ const access = await this.adminAccessService.validateContentManager();
50
+ return new constant_data_processor_1.ConstantDataProcessor(access, this.systemConstantService).process(dto);
51
+ }
52
+ async removeType(id) {
53
+ const { user } = await this.adminAccessService.validateSuperAdmin();
54
+ return this.adminConstantService.deleteType(id, user);
55
+ }
56
+ async removeConstant(id) {
57
+ const { user } = await this.adminAccessService.validateSuperAdmin();
58
+ return this.adminConstantService.deleteConstant(id, user);
59
+ }
60
+ };
61
+ exports.AdminConstantController = AdminConstantController;
62
+ __decorate([
63
+ (0, common_1.Post)('constant-types/list'),
64
+ (0, swagger_1.ApiOperation)({
65
+ summary: 'List, search and filter constant types.',
66
+ description: 'Requires at least the global content reader role.',
67
+ }),
68
+ __param(0, (0, common_1.Body)()),
69
+ __metadata("design:type", Function),
70
+ __metadata("design:paramtypes", [constant_type_list_dto_1.ConstantTypeListDto]),
71
+ __metadata("design:returntype", Promise)
72
+ ], AdminConstantController.prototype, "listTypes", null);
73
+ __decorate([
74
+ (0, common_1.Get)('constant-types/:id'),
75
+ (0, swagger_1.ApiOperation)({
76
+ summary: 'One constant type with its constants.',
77
+ description: 'Requires at least the global content reader role.',
78
+ }),
79
+ __param(0, (0, common_1.Param)('id', common_1.ParseUUIDPipe)),
80
+ __metadata("design:type", Function),
81
+ __metadata("design:paramtypes", [String]),
82
+ __metadata("design:returntype", Promise)
83
+ ], AdminConstantController.prototype, "typeDetail", null);
84
+ __decorate([
85
+ (0, common_1.Post)('constant-types'),
86
+ (0, swagger_1.ApiOperation)({
87
+ summary: 'Define a constant type, or update an existing one.',
88
+ description: 'Send an `id` to edit; omit it to create. `identifier` is fixed once created; omitted optional fields keep their stored value. Requires at least the global content manager role. Other nodes pick the change up within `constants.cache.ttl.seconds` (default 300).',
89
+ }),
90
+ __param(0, (0, common_1.Body)()),
91
+ __metadata("design:type", Function),
92
+ __metadata("design:paramtypes", [add_constant_type_dto_1.AddConstantTypeDto]),
93
+ __metadata("design:returntype", Promise)
94
+ ], AdminConstantController.prototype, "saveType", null);
95
+ __decorate([
96
+ (0, common_1.Post)('constants'),
97
+ (0, swagger_1.ApiOperation)({
98
+ summary: 'Define a constant, or update an existing one.',
99
+ description: 'Send an `id` to edit; omit it to create. `identifier` is fixed once created; a system constant also keeps its type and value. Requires at least the global content manager role. Other nodes pick the change up within `constants.cache.ttl.seconds` (default 300).',
100
+ }),
101
+ __param(0, (0, common_1.Body)()),
102
+ __metadata("design:type", Function),
103
+ __metadata("design:paramtypes", [add_constant_dto_1.AddConstantDto]),
104
+ __metadata("design:returntype", Promise)
105
+ ], AdminConstantController.prototype, "saveConstant", null);
106
+ __decorate([
107
+ (0, common_1.Delete)('constant-types/:id'),
108
+ (0, swagger_1.ApiOperation)({
109
+ summary: 'Delete a constant type.',
110
+ description: 'Soft delete. Refused for system types and types that still have constants. Requires the global super admin role. Other nodes pick the change up within `constants.cache.ttl.seconds` (default 300).',
111
+ }),
112
+ __param(0, (0, common_1.Param)('id', common_1.ParseUUIDPipe)),
113
+ __metadata("design:type", Function),
114
+ __metadata("design:paramtypes", [String]),
115
+ __metadata("design:returntype", Promise)
116
+ ], AdminConstantController.prototype, "removeType", null);
117
+ __decorate([
118
+ (0, common_1.Delete)('constants/:id'),
119
+ (0, swagger_1.ApiOperation)({
120
+ summary: 'Delete a constant.',
121
+ description: 'Soft delete. Refused for system constants and constants still referenced by a record. Requires the global super admin role. Other nodes pick the change up within `constants.cache.ttl.seconds` (default 300).',
122
+ }),
123
+ __param(0, (0, common_1.Param)('id', common_1.ParseUUIDPipe)),
124
+ __metadata("design:type", Function),
125
+ __metadata("design:paramtypes", [String]),
126
+ __metadata("design:returntype", Promise)
127
+ ], AdminConstantController.prototype, "removeConstant", null);
128
+ exports.AdminConstantController = AdminConstantController = __decorate([
129
+ (0, swagger_1.ApiTags)('Admin - Constants'),
130
+ (0, swagger_1.ApiBearerAuth)(),
131
+ (0, common_1.UsePipes)(strict_validation_pipe_1.StrictValidationPipe),
132
+ (0, common_1.Controller)('api/admin'),
133
+ __metadata("design:paramtypes", [admin_access_service_1.AdminAccessService,
134
+ admin_constant_service_1.AdminConstantService,
135
+ system_constant_service_1.SystemConstantService,
136
+ list_filter_service_1.ListFilterService])
137
+ ], AdminConstantController);
138
+ //# sourceMappingURL=admin.constant.controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin.constant.controller.js","sourceRoot":"","sources":["../../../src/admin/controllers/admin.constant.controller.ts"],"names":[],"mappings":"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"}
@@ -36,7 +36,7 @@ let AdminPaymentController = class AdminPaymentController {
36
36
  await this.adminAccessService.validateContentReader();
37
37
  const payment = await payment_entity_1.PaymentEntity.findOne({
38
38
  where: { id },
39
- relations: { tenant: true },
39
+ relations: { tenant: true, status: true },
40
40
  });
41
41
  if (!payment)
42
42
  throw new not_found_exception_1.NotFoundException(payment_enum_1.PaymentMessage.ID_NOT_FOUND);
@@ -1 +1 @@
1
- {"version":3,"file":"admin.payment.controller.js","sourceRoot":"","sources":["../../../src/admin/controllers/admin.payment.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAQwB;AACxB,6CAAuE;AACvE,mFAA8E;AAC9E,sFAAiF;AACjF,qFAAgF;AAChF,uEAAmE;AACnE,gEAA+D;AAC/D,2EAAsE;AACtE,oFAA+E;AAC/E,+DAA0D;AAUnD,IAAM,sBAAsB,GAA5B,MAAM,sBAAsB;IACjC,YACmB,kBAAsC,EACtC,iBAAoC;QADpC,uBAAkB,GAAlB,kBAAkB,CAAoB;QACtC,sBAAiB,GAAjB,iBAAiB,CAAmB;IACpD,CAAC;IAQE,AAAN,KAAK,CAAC,IAAI,CAAS,GAAmB;QACpC,MAAM,IAAI,CAAC,kBAAkB,CAAC,qBAAqB,EAAE,CAAC;QACtD,OAAO,IAAI,iDAAsB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACzE,CAAC;IAQK,AAAN,KAAK,CAAC,MAAM,CAA6B,EAAU;QACjD,MAAM,IAAI,CAAC,kBAAkB,CAAC,qBAAqB,EAAE,CAAC;QACtD,MAAM,OAAO,GAAG,MAAM,8BAAa,CAAC,OAAO,CAAC;YAC1C,KAAK,EAAE,EAAE,EAAE,EAAE;YACb,SAAS,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;SAC5B,CAAC,CAAC;QACH,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,uCAAiB,CAAC,6BAAc,CAAC,YAAY,CAAC,CAAC;QACvE,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAA;AAhCY,wDAAsB;AAY3B;IANL,IAAA,aAAI,EAAC,MAAM,CAAC;IACZ,IAAA,sBAAY,EAAC;QACZ,OAAO,EAAE,mCAAmC;QAC5C,WAAW,EACT,8JAA8J;KACjK,CAAC;IACU,WAAA,IAAA,aAAI,GAAE,CAAA;;qCAAM,iCAAc;;kDAGrC;AAQK;IANL,IAAA,YAAG,EAAC,KAAK,CAAC;IACV,IAAA,sBAAY,EAAC;QACZ,OAAO,EAAE,cAAc;QACvB,WAAW,EACT,gFAAgF;KACnF,CAAC;IACY,WAAA,IAAA,cAAK,EAAC,IAAI,EAAE,sBAAa,CAAC,CAAA;;;;oDAQvC;iCA/BU,sBAAsB;IAJlC,IAAA,iBAAO,EAAC,kBAAkB,CAAC;IAC3B,IAAA,uBAAa,GAAE;IACf,IAAA,iBAAQ,EAAC,6CAAoB,CAAC;IAC9B,IAAA,mBAAU,EAAC,oBAAoB,CAAC;qCAGQ,yCAAkB;QACnB,uCAAiB;GAH5C,sBAAsB,CAgClC"}
1
+ {"version":3,"file":"admin.payment.controller.js","sourceRoot":"","sources":["../../../src/admin/controllers/admin.payment.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAQwB;AACxB,6CAAuE;AACvE,mFAA8E;AAC9E,sFAAiF;AACjF,qFAAgF;AAChF,uEAAmE;AACnE,gEAA+D;AAC/D,2EAAsE;AACtE,oFAA+E;AAC/E,+DAA0D;AAUnD,IAAM,sBAAsB,GAA5B,MAAM,sBAAsB;IACjC,YACmB,kBAAsC,EACtC,iBAAoC;QADpC,uBAAkB,GAAlB,kBAAkB,CAAoB;QACtC,sBAAiB,GAAjB,iBAAiB,CAAmB;IACpD,CAAC;IAQE,AAAN,KAAK,CAAC,IAAI,CAAS,GAAmB;QACpC,MAAM,IAAI,CAAC,kBAAkB,CAAC,qBAAqB,EAAE,CAAC;QACtD,OAAO,IAAI,iDAAsB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACzE,CAAC;IAQK,AAAN,KAAK,CAAC,MAAM,CAA6B,EAAU;QACjD,MAAM,IAAI,CAAC,kBAAkB,CAAC,qBAAqB,EAAE,CAAC;QACtD,MAAM,OAAO,GAAG,MAAM,8BAAa,CAAC,OAAO,CAAC;YAC1C,KAAK,EAAE,EAAE,EAAE,EAAE;YACb,SAAS,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;SAC1C,CAAC,CAAC;QACH,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,uCAAiB,CAAC,6BAAc,CAAC,YAAY,CAAC,CAAC;QACvE,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAA;AAhCY,wDAAsB;AAY3B;IANL,IAAA,aAAI,EAAC,MAAM,CAAC;IACZ,IAAA,sBAAY,EAAC;QACZ,OAAO,EAAE,mCAAmC;QAC5C,WAAW,EACT,8JAA8J;KACjK,CAAC;IACU,WAAA,IAAA,aAAI,GAAE,CAAA;;qCAAM,iCAAc;;kDAGrC;AAQK;IANL,IAAA,YAAG,EAAC,KAAK,CAAC;IACV,IAAA,sBAAY,EAAC;QACZ,OAAO,EAAE,cAAc;QACvB,WAAW,EACT,gFAAgF;KACnF,CAAC;IACY,WAAA,IAAA,cAAK,EAAC,IAAI,EAAE,sBAAa,CAAC,CAAA;;;;oDAQvC;iCA/BU,sBAAsB;IAJlC,IAAA,iBAAO,EAAC,kBAAkB,CAAC;IAC3B,IAAA,uBAAa,GAAE;IACf,IAAA,iBAAQ,EAAC,6CAAoB,CAAC;IAC9B,IAAA,mBAAU,EAAC,oBAAoB,CAAC;qCAGQ,yCAAkB;QACnB,uCAAiB;GAH5C,sBAAsB,CAgClC"}
@@ -35,7 +35,7 @@ let AdminSystemUserController = class AdminSystemUserController {
35
35
  async systemUserDetail(id) {
36
36
  await this.adminAccessService.validateContentReader();
37
37
  const user = await user_entity_1.UserEntity.findOne({
38
- where: { id, user_type: user_type_enum_1.UserType.SYSTEM_USER },
38
+ where: { id, user_type_id: user_type_enum_1.UserTypeId.SYSTEM_USER },
39
39
  });
40
40
  if (!user)
41
41
  throw new not_found_exception_1.NotFoundException('No system user exists for this id');
@@ -1 +1 @@
1
- {"version":3,"file":"admin.system.user.controller.js","sourceRoot":"","sources":["../../../src/admin/controllers/admin.system.user.controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"admin.system.user.controller.js","sourceRoot":"","sources":["../../../src/admin/controllers/admin.system.user.controller.ts"],"names":[],"mappings":"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"}
@@ -12,19 +12,23 @@ import { SetTenantLimitDto } from '../dtos/set.tenant.limit.dto';
12
12
  import { TenantLimitService } from '../../auth/services/tenant.limit.service';
13
13
  import { TenantLimitEntity } from '../../auth/entities/tenant.limit.entity';
14
14
  import { LimitStatus } from '../../auth/types/tenant.limit.types';
15
+ import { ChangeTenantPocDto } from '../dtos/change.tenant.poc.dto';
16
+ import { TenantPocChangedMailJob } from '../../notification/jobs/tenant.poc.changed.mail.job';
15
17
  export declare class AdminTenantController {
16
18
  private readonly adminAccessService;
17
19
  private readonly tenantProvisioningService;
18
20
  private readonly listFilterService;
19
21
  private readonly tenantLimitService;
20
22
  private readonly tenantPlanService;
21
- constructor(adminAccessService: AdminAccessService, tenantProvisioningService: TenantProvisioningService, listFilterService: ListFilterService, tenantLimitService: TenantLimitService, tenantPlanService: TenantPlanService);
23
+ private readonly tenantPocChangedMailJob;
24
+ constructor(adminAccessService: AdminAccessService, tenantProvisioningService: TenantProvisioningService, listFilterService: ListFilterService, tenantLimitService: TenantLimitService, tenantPlanService: TenantPlanService, tenantPocChangedMailJob: TenantPocChangedMailJob);
22
25
  onboard(dto: AddTenantDto): Promise<TenantEntity>;
23
26
  list(dto: TenantListDto): Promise<import("../..").CommonListResult>;
24
27
  detail(id: string): Promise<TenantDetail>;
25
28
  plan(id: string): Promise<TenantPlanView>;
26
29
  assignPlan(id: string, dto: AssignTenantPlanDto): Promise<TenantPlanSummary>;
27
30
  endPlan(id: string): Promise<TenantPlanView>;
31
+ changePoc(id: string, dto: ChangeTenantPocDto): Promise<TenantEntity>;
28
32
  limits(id: string): Promise<LimitStatus[]>;
29
33
  setLimit(id: string, dto: SetTenantLimitDto): Promise<TenantLimitEntity>;
30
34
  removeLimit(id: string, limitId: string): Promise<TenantLimitEntity>;
@@ -1 +1 @@
1
- {"version":3,"file":"admin.tenant.controller.d.ts","sourceRoot":"","sources":["../../../src/admin/controllers/admin.tenant.controller.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AAC9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAMtE,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,yBAAyB,EAAE,MAAM,iDAAiD,CAAC;AAC5F,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAEnE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAE5E,OAAO,EACL,iBAAiB,EACjB,cAAc,EACf,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,0CAA0C,CAAC;AAC9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAC5E,OAAO,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAKlE,qBAIa,qBAAqB;IAE9B,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,yBAAyB;IAC1C,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;gBAJjB,kBAAkB,EAAE,kBAAkB,EACtC,yBAAyB,EAAE,yBAAyB,EACpD,iBAAiB,EAAE,iBAAiB,EACpC,kBAAkB,EAAE,kBAAkB,EACtC,iBAAiB,EAAE,iBAAiB;IASjD,OAAO,CAAS,GAAG,EAAE,YAAY;IAcjC,IAAI,CAAS,GAAG,EAAE,aAAa;IAW/B,MAAM,CAA6B,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IA2BrE,IAAI,CAA6B,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAarE,UAAU,CACc,EAAE,EAAE,MAAM,EAC9B,GAAG,EAAE,mBAAmB,GAC/B,OAAO,CAAC,iBAAiB,CAAC;IAcvB,OAAO,CACiB,EAAE,EAAE,MAAM,GACrC,OAAO,CAAC,cAAc,CAAC;IA0BpB,MAAM,CAA6B,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAatE,QAAQ,CACgB,EAAE,EAAE,MAAM,EAC9B,GAAG,EAAE,iBAAiB,GAC7B,OAAO,CAAC,iBAAiB,CAAC;IAWvB,WAAW,CACa,EAAE,EAAE,MAAM,EACL,OAAO,EAAE,MAAM,GAC/C,OAAO,CAAC,iBAAiB,CAAC;IA6BvB,MAAM,CAA6B,EAAE,EAAE,MAAM;CAIpD"}
1
+ {"version":3,"file":"admin.tenant.controller.d.ts","sourceRoot":"","sources":["../../../src/admin/controllers/admin.tenant.controller.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AAC9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAMtE,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,yBAAyB,EAAE,MAAM,iDAAiD,CAAC;AAC5F,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAEnE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAE5E,OAAO,EACL,iBAAiB,EACjB,cAAc,EACf,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,0CAA0C,CAAC;AAC9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAC5E,OAAO,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAIlE,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAEnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,qDAAqD,CAAC;AAE9F,qBAIa,qBAAqB;IAE9B,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,yBAAyB;IAC1C,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,uBAAuB;gBALvB,kBAAkB,EAAE,kBAAkB,EACtC,yBAAyB,EAAE,yBAAyB,EACpD,iBAAiB,EAAE,iBAAiB,EACpC,kBAAkB,EAAE,kBAAkB,EACtC,iBAAiB,EAAE,iBAAiB,EACpC,uBAAuB,EAAE,uBAAuB;IAS7D,OAAO,CAAS,GAAG,EAAE,YAAY;IAcjC,IAAI,CAAS,GAAG,EAAE,aAAa;IAW/B,MAAM,CAA6B,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IA2BrE,IAAI,CAA6B,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAarE,UAAU,CACc,EAAE,EAAE,MAAM,EAC9B,GAAG,EAAE,mBAAmB,GAC/B,OAAO,CAAC,iBAAiB,CAAC;IAcvB,OAAO,CACiB,EAAE,EAAE,MAAM,GACrC,OAAO,CAAC,cAAc,CAAC;IA0BpB,SAAS,CACe,EAAE,EAAE,MAAM,EAC9B,GAAG,EAAE,kBAAkB,GAC9B,OAAO,CAAC,YAAY,CAAC;IAelB,MAAM,CAA6B,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAatE,QAAQ,CACgB,EAAE,EAAE,MAAM,EAC9B,GAAG,EAAE,iBAAiB,GAC7B,OAAO,CAAC,iBAAiB,CAAC;IAWvB,WAAW,CACa,EAAE,EAAE,MAAM,EACL,OAAO,EAAE,MAAM,GAC/C,OAAO,CAAC,iBAAiB,CAAC;IA6BvB,MAAM,CAA6B,EAAE,EAAE,MAAM;CAIpD"}
@@ -38,13 +38,17 @@ const tenant_limit_entity_1 = require("../../auth/entities/tenant.limit.entity")
38
38
  const admin_audit_1 = require("../utilities/admin.audit");
39
39
  const audit_action_enum_1 = require("../../common/enums/audit.action.enum");
40
40
  const entity_constants_1 = require("../../constants/entity.constants");
41
+ const change_tenant_poc_dto_1 = require("../dtos/change.tenant.poc.dto");
42
+ const tenant_poc_data_processor_1 = require("../libraries/tenant.poc.data.processor");
43
+ const tenant_poc_changed_mail_job_1 = require("../../notification/jobs/tenant.poc.changed.mail.job");
41
44
  let AdminTenantController = class AdminTenantController {
42
- constructor(adminAccessService, tenantProvisioningService, listFilterService, tenantLimitService, tenantPlanService) {
45
+ constructor(adminAccessService, tenantProvisioningService, listFilterService, tenantLimitService, tenantPlanService, tenantPocChangedMailJob) {
43
46
  this.adminAccessService = adminAccessService;
44
47
  this.tenantProvisioningService = tenantProvisioningService;
45
48
  this.listFilterService = listFilterService;
46
49
  this.tenantLimitService = tenantLimitService;
47
50
  this.tenantPlanService = tenantPlanService;
51
+ this.tenantPocChangedMailJob = tenantPocChangedMailJob;
48
52
  }
49
53
  async onboard(dto) {
50
54
  const { user } = await this.adminAccessService.validateSuperAdmin();
@@ -92,12 +96,19 @@ let AdminTenantController = class AdminTenantController {
92
96
  oldValue: before
93
97
  ? { plan_id: before.plan_id, status: before.status }
94
98
  : null,
95
- newValue: { status: tenant_plan_enum_1.TenantPlanStatus.ENDED },
99
+ newValue: { status: tenant_plan_enum_1.TenantPlanStatusIdentifier.ENDED },
96
100
  context: { tenant_id: id },
97
101
  });
98
102
  });
99
103
  return this.tenantPlanService.view(id);
100
104
  }
105
+ async changePoc(id, dto) {
106
+ const access = await this.adminAccessService.validateAdmin();
107
+ const tenant = await new tenant_poc_data_processor_1.TenantPocDataProcessor(access).process(id, dto);
108
+ if (dto.notify)
109
+ await this.tenantPocChangedMailJob.dispatch({ tenant_id: tenant.id });
110
+ return tenant;
111
+ }
101
112
  async limits(id) {
102
113
  await this.adminAccessService.validateContentReader();
103
114
  if (!(await tenant_entity_1.TenantEntity.existsBy({ id })))
@@ -199,6 +210,18 @@ __decorate([
199
210
  __metadata("design:paramtypes", [String]),
200
211
  __metadata("design:returntype", Promise)
201
212
  ], AdminTenantController.prototype, "endPlan", null);
213
+ __decorate([
214
+ (0, common_1.Post)(':id/poc'),
215
+ (0, swagger_1.ApiOperation)({
216
+ summary: "Change a tenant's point of contact.",
217
+ description: 'Replaces `poc_name` and `poc_email` (and `poc_contact` when sent; omitted keeps it). `notify: true` queues an email to the new point of contact after the change is saved (template `tenant-poc-changed`), whether or not the address changed. Requires at least the global admin role.',
218
+ }),
219
+ __param(0, (0, common_1.Param)('id', common_1.ParseUUIDPipe)),
220
+ __param(1, (0, common_1.Body)()),
221
+ __metadata("design:type", Function),
222
+ __metadata("design:paramtypes", [String, change_tenant_poc_dto_1.ChangeTenantPocDto]),
223
+ __metadata("design:returntype", Promise)
224
+ ], AdminTenantController.prototype, "changePoc", null);
202
225
  __decorate([
203
226
  (0, common_1.Get)(':id/limits'),
204
227
  (0, swagger_1.ApiOperation)({
@@ -254,6 +277,7 @@ exports.AdminTenantController = AdminTenantController = __decorate([
254
277
  tenant_provisioning_service_1.TenantProvisioningService,
255
278
  list_filter_service_1.ListFilterService,
256
279
  tenant_limit_service_1.TenantLimitService,
257
- tenant_plan_service_1.TenantPlanService])
280
+ tenant_plan_service_1.TenantPlanService,
281
+ tenant_poc_changed_mail_job_1.TenantPocChangedMailJob])
258
282
  ], AdminTenantController);
259
283
  //# sourceMappingURL=admin.tenant.controller.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"admin.tenant.controller.js","sourceRoot":"","sources":["../../../src/admin/controllers/admin.tenant.controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"admin.tenant.controller.js","sourceRoot":"","sources":["../../../src/admin/controllers/admin.tenant.controller.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"admin.tenant.user.controller.d.ts","sourceRoot":"","sources":["../../../src/admin/controllers/admin.tenant.user.controller.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAO7D,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAKjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,0BAA0B,EAAE,MAAM,wDAAwD,CAAC;AACpG,OAAO,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AAC9E,OAAO,EAAE,uBAAuB,EAAE,MAAM,+CAA+C,CAAC;AACxF,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAC1E,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAI3E,qBAIa,yBAAyB;IAElC,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB;IACzD,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa;IAC/C,SAAS,CAAC,QAAQ,CAAC,0BAA0B,EAAE,0BAA0B;IACzE,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,uBAAuB;gBAJrB,kBAAkB,EAAE,kBAAkB,EACtC,aAAa,EAAE,aAAa,EAC5B,0BAA0B,EAAE,0BAA0B,EACxD,iBAAiB,EAAE,iBAAiB,EACpC,uBAAuB,EAAE,uBAAuB;IAS7D,gBAAgB,CAA6B,EAAE,EAAE,MAAM;IAkBvD,aAAa,CAAS,GAAG,EAAE,gBAAgB;IAe3C,kBAAkB,CAAS,GAAG,EAAE,eAAe;IAW/C,aAAa,CAAS,GAAG,EAAE,sBAAsB;IAajD,oBAAoB,CACI,EAAE,EAAE,MAAM,EACJ,QAAQ,EAAE,MAAM;IAW9C,oBAAoB,CACI,EAAE,EAAE,MAAM,EACJ,QAAQ,EAAE,MAAM;IAY9C,gBAAgB,CACQ,EAAE,EAAE,MAAM,EACJ,QAAQ,EAAE,MAAM;;;;;IAuB9C,eAAe,CAAS,GAAG,EAAE,iBAAiB;IAW9C,gBAAgB,CAA6B,EAAE,EAAE,MAAM;YAK/C,mBAAmB;IAsBjC,OAAO,CAAC,eAAe;CAcxB"}
1
+ {"version":3,"file":"admin.tenant.user.controller.d.ts","sourceRoot":"","sources":["../../../src/admin/controllers/admin.tenant.user.controller.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAO7D,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAKjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,0BAA0B,EAAE,MAAM,wDAAwD,CAAC;AACpG,OAAO,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AAC9E,OAAO,EAAE,uBAAuB,EAAE,MAAM,+CAA+C,CAAC;AACxF,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAC1E,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAI3E,qBAIa,yBAAyB;IAElC,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB;IACzD,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa;IAC/C,SAAS,CAAC,QAAQ,CAAC,0BAA0B,EAAE,0BAA0B;IACzE,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,uBAAuB;gBAJrB,kBAAkB,EAAE,kBAAkB,EACtC,aAAa,EAAE,aAAa,EAC5B,0BAA0B,EAAE,0BAA0B,EACxD,iBAAiB,EAAE,iBAAiB,EACpC,uBAAuB,EAAE,uBAAuB;IAS7D,gBAAgB,CAA6B,EAAE,EAAE,MAAM;IAkBvD,aAAa,CAAS,GAAG,EAAE,gBAAgB;IAe3C,kBAAkB,CAAS,GAAG,EAAE,eAAe;IAW/C,aAAa,CAAS,GAAG,EAAE,sBAAsB;IAcjD,oBAAoB,CACI,EAAE,EAAE,MAAM,EACJ,QAAQ,EAAE,MAAM;IAW9C,oBAAoB,CACI,EAAE,EAAE,MAAM,EACJ,QAAQ,EAAE,MAAM;IAY9C,gBAAgB,CACQ,EAAE,EAAE,MAAM,EACJ,QAAQ,EAAE,MAAM;;;;;IAuB9C,eAAe,CAAS,GAAG,EAAE,iBAAiB;IAW9C,gBAAgB,CAA6B,EAAE,EAAE,MAAM;YAK/C,mBAAmB;IAsBjC,OAAO,CAAC,eAAe;CAcxB"}
@@ -48,7 +48,7 @@ let AdminTenantUserController = class AdminTenantUserController {
48
48
  async clientUserDetail(id) {
49
49
  await this.adminAccessService.validateContentReader();
50
50
  const user = await user_entity_1.UserEntity.findOne({
51
- where: { id, user_type: user_type_enum_1.UserType.TENANT_USER },
51
+ where: { id, user_type_id: user_type_enum_1.UserTypeId.TENANT_USER },
52
52
  relations: { memberships: { tenant: true }, userRoles: { role: true } },
53
53
  });
54
54
  if (!user)