rez_core 6.5.50 → 6.5.51

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 (415) hide show
  1. package/.claude/settings.local.json +26 -0
  2. package/.idea/250218_nodejs_core.iml +9 -0
  3. package/.idea/codeStyles/Project.xml +59 -0
  4. package/.idea/codeStyles/codeStyleConfig.xml +5 -0
  5. package/.idea/copilot.data.migration.agent.xml +6 -0
  6. package/.idea/copilot.data.migration.ask.xml +6 -0
  7. package/.idea/copilot.data.migration.ask2agent.xml +6 -0
  8. package/.idea/copilot.data.migration.edit.xml +6 -0
  9. package/.idea/inspectionProfiles/Project_Default.xml +6 -0
  10. package/.idea/misc.xml +6 -0
  11. package/.idea/modules.xml +8 -0
  12. package/.idea/prettier.xml +6 -0
  13. package/.idea/vcs.xml +6 -0
  14. package/dist/app.module.js +5 -3
  15. package/dist/app.module.js.map +1 -1
  16. package/dist/constant/status.constant.d.ts +4 -0
  17. package/dist/constant/status.constant.js +9 -0
  18. package/dist/constant/status.constant.js.map +1 -0
  19. package/dist/core.module.js +63 -38
  20. package/dist/core.module.js.map +1 -1
  21. package/dist/module/app_master/app-master.module.d.ts +2 -0
  22. package/dist/module/app_master/app-master.module.js +28 -0
  23. package/dist/module/app_master/app-master.module.js.map +1 -0
  24. package/dist/module/app_master/controller/app-master.controller.js.map +1 -0
  25. package/dist/module/app_master/entity/app-master.entity.d.ts +17 -0
  26. package/dist/module/{meta → app_master}/entity/app-master.entity.js +30 -12
  27. package/dist/module/app_master/entity/app-master.entity.js.map +1 -0
  28. package/dist/module/{meta → app_master}/repository/app-master.repository.d.ts +2 -2
  29. package/dist/module/{meta → app_master}/repository/app-master.repository.js +4 -4
  30. package/dist/module/app_master/repository/app-master.repository.js.map +1 -0
  31. package/dist/module/app_master/service/app-master.service.js.map +1 -0
  32. package/dist/module/auth/strategies/jwt.strategy.d.ts +2 -1
  33. package/dist/module/auth/strategies/jwt.strategy.js +3 -2
  34. package/dist/module/auth/strategies/jwt.strategy.js.map +1 -1
  35. package/dist/module/dashboard/dashboard.module.js +1 -1
  36. package/dist/module/dashboard/dashboard.module.js.map +1 -1
  37. package/dist/module/dashboard/service/dashboard.service.js +1 -2
  38. package/dist/module/dashboard/service/dashboard.service.js.map +1 -1
  39. package/dist/module/enterprise/controller/enterprise.controller.d.ts +12 -0
  40. package/dist/module/enterprise/controller/enterprise.controller.js +57 -0
  41. package/dist/module/enterprise/controller/enterprise.controller.js.map +1 -0
  42. package/dist/module/enterprise/controller/meta.controller.d.ts +9 -0
  43. package/dist/module/enterprise/controller/meta.controller.js +43 -0
  44. package/dist/module/enterprise/controller/meta.controller.js.map +1 -0
  45. package/dist/module/enterprise/controller/organization.controller.d.ts +12 -4
  46. package/dist/module/enterprise/controller/organization.controller.js +64 -8
  47. package/dist/module/enterprise/controller/organization.controller.js.map +1 -1
  48. package/dist/module/enterprise/enterprise.module.js +10 -15
  49. package/dist/module/enterprise/enterprise.module.js.map +1 -1
  50. package/dist/module/enterprise/entity/enterprise.entity.d.ts +1 -3
  51. package/dist/module/enterprise/entity/enterprise.entity.js +4 -12
  52. package/dist/module/enterprise/entity/enterprise.entity.js.map +1 -1
  53. package/dist/module/enterprise/entity/organization-app-mapping.entity.d.ts +6 -1
  54. package/dist/module/enterprise/entity/organization-app-mapping.entity.js +21 -4
  55. package/dist/module/enterprise/entity/organization-app-mapping.entity.js.map +1 -1
  56. package/dist/module/enterprise/entity/organization.entity.d.ts +3 -18
  57. package/dist/module/enterprise/entity/organization.entity.js +8 -74
  58. package/dist/module/enterprise/entity/organization.entity.js.map +1 -1
  59. package/dist/module/enterprise/repository/enterprise.repository.d.ts +4 -2
  60. package/dist/module/enterprise/repository/enterprise.repository.js +19 -4
  61. package/dist/module/enterprise/repository/enterprise.repository.js.map +1 -1
  62. package/dist/module/enterprise/service/brand-profile.service.d.ts +0 -0
  63. package/dist/module/enterprise/service/brand-profile.service.js +1 -0
  64. package/dist/module/enterprise/service/brand-profile.service.js.map +1 -0
  65. package/dist/module/enterprise/service/brand.service.d.ts +0 -3
  66. package/dist/module/enterprise/service/brand.service.js +0 -17
  67. package/dist/module/enterprise/service/brand.service.js.map +1 -1
  68. package/dist/module/enterprise/service/enterprise.service.d.ts +2 -2
  69. package/dist/module/enterprise/service/enterprise.service.js +4 -4
  70. package/dist/module/enterprise/service/enterprise.service.js.map +1 -1
  71. package/dist/module/enterprise/service/organization.service.d.ts +4 -4
  72. package/dist/module/enterprise/service/organization.service.js +101 -24
  73. package/dist/module/enterprise/service/organization.service.js.map +1 -1
  74. package/dist/module/enterprise/service/populate-meta.service.d.ts +9 -0
  75. package/dist/module/{meta → enterprise}/service/populate-meta.service.js +2 -8
  76. package/dist/module/enterprise/service/populate-meta.service.js.map +1 -0
  77. package/dist/module/enterprise/service/school.service.d.ts +0 -0
  78. package/dist/module/enterprise/service/school.service.js +1 -0
  79. package/dist/module/enterprise/service/school.service.js.map +1 -0
  80. package/dist/module/entity_json/controller/entity_json.controller.d.ts +9 -2
  81. package/dist/module/entity_json/controller/entity_json.controller.js.map +1 -1
  82. package/dist/module/entity_json/entity/entityJson.entity.d.ts +1 -2
  83. package/dist/module/entity_json/entity/entityJson.entity.js +1 -5
  84. package/dist/module/entity_json/entity/entityJson.entity.js.map +1 -1
  85. package/dist/module/entity_json/entity_json.module.js +2 -7
  86. package/dist/module/entity_json/entity_json.module.js.map +1 -1
  87. package/dist/module/entity_json/service/entity_json.service.d.ts +10 -2
  88. package/dist/module/entity_json/service/entity_json.service.js +25 -101
  89. package/dist/module/entity_json/service/entity_json.service.js.map +1 -1
  90. package/dist/module/filter/controller/filter.controller.d.ts +0 -12
  91. package/dist/module/filter/controller/filter.controller.js +1 -1
  92. package/dist/module/filter/controller/filter.controller.js.map +1 -1
  93. package/dist/module/filter/filter.module.js +2 -11
  94. package/dist/module/filter/filter.module.js.map +1 -1
  95. package/dist/module/filter/service/filter.service.d.ts +2 -38
  96. package/dist/module/filter/service/filter.service.js +50 -43
  97. package/dist/module/filter/service/filter.service.js.map +1 -1
  98. package/dist/module/filter/service/saved-filter.service.d.ts +2 -3
  99. package/dist/module/filter/service/saved-filter.service.js +18 -14
  100. package/dist/module/filter/service/saved-filter.service.js.map +1 -1
  101. package/dist/module/integration/service/integration.service.d.ts +0 -1
  102. package/dist/module/integration/service/integration.service.js +1 -2
  103. package/dist/module/integration/service/integration.service.js.map +1 -1
  104. package/dist/module/integration/service/wrapper.service.js +0 -1
  105. package/dist/module/integration/service/wrapper.service.js.map +1 -1
  106. package/dist/module/layout/controller/layout.controller.d.ts +1 -3
  107. package/dist/module/layout/controller/layout.controller.js +3 -7
  108. package/dist/module/layout/controller/layout.controller.js.map +1 -1
  109. package/dist/module/layout/entity/header-section.entity.d.ts +0 -2
  110. package/dist/module/layout/entity/header-section.entity.js +0 -8
  111. package/dist/module/layout/entity/header-section.entity.js.map +1 -1
  112. package/dist/module/layout/layout.module.js +1 -2
  113. package/dist/module/layout/layout.module.js.map +1 -1
  114. package/dist/module/layout/repository/header-section.repository.d.ts +0 -1
  115. package/dist/module/layout/repository/header-section.repository.js +0 -5
  116. package/dist/module/layout/repository/header-section.repository.js.map +1 -1
  117. package/dist/module/layout/service/header-section.service.d.ts +1 -1
  118. package/dist/module/layout/service/header-section.service.js +1 -1
  119. package/dist/module/layout/service/header-section.service.js.map +1 -1
  120. package/dist/module/linked_attributes/controller/linked_attributes.controller.d.ts +0 -41
  121. package/dist/module/linked_attributes/controller/linked_attributes.controller.js +0 -90
  122. package/dist/module/linked_attributes/controller/linked_attributes.controller.js.map +1 -1
  123. package/dist/module/linked_attributes/linked_attributes.module.js +1 -8
  124. package/dist/module/linked_attributes/linked_attributes.module.js.map +1 -1
  125. package/dist/module/linked_attributes/service/linked_attributes.service.d.ts +1 -65
  126. package/dist/module/linked_attributes/service/linked_attributes.service.js +2 -287
  127. package/dist/module/linked_attributes/service/linked_attributes.service.js.map +1 -1
  128. package/dist/module/listmaster/service/list-master.service.js +1 -8
  129. package/dist/module/listmaster/service/list-master.service.js.map +1 -1
  130. package/dist/module/meta/controller/meta.controller.d.ts +1 -6
  131. package/dist/module/meta/controller/meta.controller.js +1 -19
  132. package/dist/module/meta/controller/meta.controller.js.map +1 -1
  133. package/dist/module/meta/entity/entity-master.entity.d.ts +0 -1
  134. package/dist/module/meta/entity/entity-master.entity.js +1 -8
  135. package/dist/module/meta/entity/entity-master.entity.js.map +1 -1
  136. package/dist/module/meta/entity.module.js +3 -14
  137. package/dist/module/meta/entity.module.js.map +1 -1
  138. package/dist/module/meta/service/attribute-master.service.d.ts +1 -6
  139. package/dist/module/meta/service/attribute-master.service.js +2 -22
  140. package/dist/module/meta/service/attribute-master.service.js.map +1 -1
  141. package/dist/module/meta/service/entity-master.service.js +0 -1
  142. package/dist/module/meta/service/entity-master.service.js.map +1 -1
  143. package/dist/module/meta/service/entity-relation.service.d.ts +3 -4
  144. package/dist/module/meta/service/entity-relation.service.js +4 -10
  145. package/dist/module/meta/service/entity-relation.service.js.map +1 -1
  146. package/dist/module/meta/service/entity-service-impl.service.d.ts +1 -1
  147. package/dist/module/meta/service/entity-service-impl.service.js +10 -14
  148. package/dist/module/meta/service/entity-service-impl.service.js.map +1 -1
  149. package/dist/module/meta/service/entity-table.service.d.ts +4 -5
  150. package/dist/module/meta/service/entity-table.service.js +24 -45
  151. package/dist/module/meta/service/entity-table.service.js.map +1 -1
  152. package/dist/module/meta/service/resolver.service.d.ts +1 -1
  153. package/dist/module/meta/service/resolver.service.js +3 -6
  154. package/dist/module/meta/service/resolver.service.js.map +1 -1
  155. package/dist/module/module/controller/module-access.controller.d.ts +3 -4
  156. package/dist/module/module/controller/module-access.controller.js +13 -8
  157. package/dist/module/module/controller/module-access.controller.js.map +1 -1
  158. package/dist/module/module/entity/menu.entity.d.ts +6 -3
  159. package/dist/module/module/entity/menu.entity.js +19 -10
  160. package/dist/module/module/entity/menu.entity.js.map +1 -1
  161. package/dist/module/module/entity/module-access.entity.d.ts +15 -1
  162. package/dist/module/module/entity/module-access.entity.js +49 -3
  163. package/dist/module/module/entity/module-access.entity.js.map +1 -1
  164. package/dist/module/module/entity/module-action.entity.d.ts +4 -2
  165. package/dist/module/module/entity/module-action.entity.js +11 -6
  166. package/dist/module/module/entity/module-action.entity.js.map +1 -1
  167. package/dist/module/module/entity/module.entity.d.ts +3 -5
  168. package/dist/module/module/entity/module.entity.js +8 -18
  169. package/dist/module/module/entity/module.entity.js.map +1 -1
  170. package/dist/module/module/module.module.d.ts +1 -1
  171. package/dist/module/module/module.module.js +5 -7
  172. package/dist/module/module/module.module.js.map +1 -1
  173. package/dist/module/module/repository/menu.repository.d.ts +3 -3
  174. package/dist/module/module/repository/menu.repository.js +38 -27
  175. package/dist/module/module/repository/menu.repository.js.map +1 -1
  176. package/dist/module/module/repository/module-access.repository.d.ts +6 -6
  177. package/dist/module/module/repository/module-access.repository.js +96 -48
  178. package/dist/module/module/repository/module-access.repository.js.map +1 -1
  179. package/dist/module/module/service/menu.service.d.ts +2 -4
  180. package/dist/module/module/service/menu.service.js +7 -10
  181. package/dist/module/module/service/menu.service.js.map +1 -1
  182. package/dist/module/module/service/module-access.service.d.ts +7 -10
  183. package/dist/module/module/service/module-access.service.js +22 -24
  184. package/dist/module/module/service/module-access.service.js.map +1 -1
  185. package/dist/module/notification/entity/notification.entity.d.ts +17 -2
  186. package/dist/module/notification/entity/notification.entity.js +68 -2
  187. package/dist/module/notification/entity/notification.entity.js.map +1 -1
  188. package/dist/module/notification/notification.module.js +0 -2
  189. package/dist/module/notification/notification.module.js.map +1 -1
  190. package/dist/module/notification/service/notification.service.d.ts +1 -3
  191. package/dist/module/notification/service/notification.service.js +2 -5
  192. package/dist/module/notification/service/notification.service.js.map +1 -1
  193. package/dist/module/notification/service/otp.service.js +0 -1
  194. package/dist/module/notification/service/otp.service.js.map +1 -1
  195. package/dist/module/user/controller/login.controller.d.ts +1 -3
  196. package/dist/module/user/controller/login.controller.js +2 -6
  197. package/dist/module/user/controller/login.controller.js.map +1 -1
  198. package/dist/module/user/controller/user.controller.d.ts +0 -2
  199. package/dist/module/user/controller/user.controller.js +0 -13
  200. package/dist/module/user/controller/user.controller.js.map +1 -1
  201. package/dist/module/user/dto/create-user.dto.d.ts +6 -3
  202. package/dist/module/user/dto/create-user.dto.js +17 -11
  203. package/dist/module/user/dto/create-user.dto.js.map +1 -1
  204. package/dist/module/user/entity/role.entity.d.ts +18 -6
  205. package/dist/module/user/entity/role.entity.js +64 -19
  206. package/dist/module/user/entity/role.entity.js.map +1 -1
  207. package/dist/module/user/entity/user-role-mapping.entity.d.ts +10 -0
  208. package/dist/module/user/entity/user-role-mapping.entity.js +33 -1
  209. package/dist/module/user/entity/user-role-mapping.entity.js.map +1 -1
  210. package/dist/module/user/entity/user-session.entity.d.ts +0 -2
  211. package/dist/module/user/entity/user-session.entity.js +2 -20
  212. package/dist/module/user/entity/user-session.entity.js.map +1 -1
  213. package/dist/module/user/entity/user.entity.d.ts +17 -5
  214. package/dist/module/user/entity/user.entity.js +61 -15
  215. package/dist/module/user/entity/user.entity.js.map +1 -1
  216. package/dist/module/user/repository/role.repository.d.ts +7 -2
  217. package/dist/module/user/repository/role.repository.js +23 -8
  218. package/dist/module/user/repository/role.repository.js.map +1 -1
  219. package/dist/module/user/repository/user-role-mapping.repository.d.ts +1 -0
  220. package/dist/module/user/repository/user-role-mapping.repository.js +3 -0
  221. package/dist/module/user/repository/user-role-mapping.repository.js.map +1 -1
  222. package/dist/module/user/repository/user.repository.d.ts +5 -2
  223. package/dist/module/user/repository/user.repository.js +26 -7
  224. package/dist/module/user/repository/user.repository.js.map +1 -1
  225. package/dist/module/user/repository/userSession.repository.d.ts +1 -0
  226. package/dist/module/user/repository/userSession.repository.js +3 -0
  227. package/dist/module/user/repository/userSession.repository.js.map +1 -1
  228. package/dist/module/user/service/login.service.d.ts +3 -5
  229. package/dist/module/user/service/login.service.js +43 -42
  230. package/dist/module/user/service/login.service.js.map +1 -1
  231. package/dist/module/user/service/role.service.d.ts +24 -11
  232. package/dist/module/user/service/role.service.js +54 -40
  233. package/dist/module/user/service/role.service.js.map +1 -1
  234. package/dist/module/user/service/user-role-mapping.service.d.ts +2 -0
  235. package/dist/module/user/service/user-role-mapping.service.js +6 -0
  236. package/dist/module/user/service/user-role-mapping.service.js.map +1 -1
  237. package/dist/module/user/service/user-session.service.d.ts +3 -4
  238. package/dist/module/user/service/user-session.service.js +10 -11
  239. package/dist/module/user/service/user-session.service.js.map +1 -1
  240. package/dist/module/user/service/user.service.d.ts +33 -22
  241. package/dist/module/user/service/user.service.js +66 -58
  242. package/dist/module/user/service/user.service.js.map +1 -1
  243. package/dist/module/user/user.module.js +2 -7
  244. package/dist/module/user/user.module.js.map +1 -1
  245. package/dist/module/workflow/repository/action-data.repository.d.ts +1 -1
  246. package/dist/module/workflow/repository/action-data.repository.js +6 -8
  247. package/dist/module/workflow/repository/action-data.repository.js.map +1 -1
  248. package/dist/module/workflow/repository/action.repository.d.ts +1 -1
  249. package/dist/module/workflow/repository/action.repository.js +10 -10
  250. package/dist/module/workflow/repository/action.repository.js.map +1 -1
  251. package/dist/module/workflow/repository/form-master.repository.d.ts +1 -1
  252. package/dist/module/workflow/repository/form-master.repository.js +2 -2
  253. package/dist/module/workflow/repository/form-master.repository.js.map +1 -1
  254. package/dist/module/workflow/service/action-data.service.js +1 -2
  255. package/dist/module/workflow/service/action-data.service.js.map +1 -1
  256. package/dist/module/workflow/service/action.service.js +2 -2
  257. package/dist/module/workflow/service/action.service.js.map +1 -1
  258. package/dist/module/workflow/service/comm-template.service.js +0 -2
  259. package/dist/module/workflow/service/comm-template.service.js.map +1 -1
  260. package/dist/module/workflow/service/entity-modification.service.js +0 -1
  261. package/dist/module/workflow/service/entity-modification.service.js.map +1 -1
  262. package/dist/module/workflow/service/form-master.service.js +2 -2
  263. package/dist/module/workflow/service/form-master.service.js.map +1 -1
  264. package/dist/module/workflow/service/populate-workflow.service.d.ts +1 -1
  265. package/dist/module/workflow/service/populate-workflow.service.js +1 -1
  266. package/dist/module/workflow/service/populate-workflow.service.js.map +1 -1
  267. package/dist/module/workflow/service/task.service.js +0 -3
  268. package/dist/module/workflow/service/task.service.js.map +1 -1
  269. package/dist/module/workflow/service/workflow-meta.service.js +2 -7
  270. package/dist/module/workflow/service/workflow-meta.service.js.map +1 -1
  271. package/dist/module/workflow/service/workflow.service.js +2 -2
  272. package/dist/module/workflow/service/workflow.service.js.map +1 -1
  273. package/dist/module/workflow/workflow.module.js +2 -0
  274. package/dist/module/workflow/workflow.module.js.map +1 -1
  275. package/dist/module/workflow-automation/service/workflow-automation.service.js +11 -6
  276. package/dist/module/workflow-automation/service/workflow-automation.service.js.map +1 -1
  277. package/dist/module/workflow-automation/workflow-automation.module.js +3 -1
  278. package/dist/module/workflow-automation/workflow-automation.module.js.map +1 -1
  279. package/dist/module/workflow-schedule/service/workflow-schedule.service.js +0 -2
  280. package/dist/module/workflow-schedule/service/workflow-schedule.service.js.map +1 -1
  281. package/dist/table.config.d.ts +3 -5
  282. package/dist/table.config.js +3 -3
  283. package/dist/table.config.js.map +1 -1
  284. package/dist/tsconfig.build.tsbuildinfo +1 -1
  285. package/package.json +2 -2
  286. package/server.log +850 -0
  287. package/src/app.module.ts +7 -5
  288. package/src/constant/status.constant.ts +4 -0
  289. package/src/core.module.ts +58 -44
  290. package/src/module/app_master/app-master.module.ts +15 -0
  291. package/src/module/{meta → app_master}/entity/app-master.entity.ts +22 -9
  292. package/src/module/{meta → app_master}/repository/app-master.repository.ts +3 -3
  293. package/src/module/auth/strategies/jwt.strategy.ts +4 -2
  294. package/src/module/dashboard/dashboard.module.ts +3 -3
  295. package/src/module/dashboard/service/dashboard.service.ts +1 -2
  296. package/src/module/enterprise/controller/enterprise.controller.ts +40 -0
  297. package/src/module/enterprise/controller/meta.controller.ts +23 -0
  298. package/src/module/enterprise/controller/organization.controller.ts +60 -4
  299. package/src/module/enterprise/enterprise.module.ts +16 -18
  300. package/src/module/enterprise/entity/enterprise.entity.ts +5 -11
  301. package/src/module/enterprise/entity/organization-app-mapping.entity.ts +18 -4
  302. package/src/module/enterprise/entity/organization.entity.ts +9 -59
  303. package/src/module/enterprise/repository/enterprise.repository.ts +26 -4
  304. package/src/module/enterprise/service/brand-profile.service.ts +10 -0
  305. package/src/module/enterprise/service/brand.service.ts +75 -5
  306. package/src/module/enterprise/service/enterprise.service.ts +10 -4
  307. package/src/module/enterprise/service/organization.service.ts +140 -23
  308. package/src/module/{meta → enterprise}/service/populate-meta.service.ts +2 -5
  309. package/src/module/enterprise/service/school.service.ts +5 -0
  310. package/src/module/entity_json/controller/entity_json.controller.ts +0 -13
  311. package/src/module/entity_json/entity/entityJson.entity.ts +1 -4
  312. package/src/module/entity_json/entity_json.module.ts +5 -9
  313. package/src/module/entity_json/service/entity_json.service.ts +51 -237
  314. package/src/module/filter/controller/filter.controller.ts +3 -1
  315. package/src/module/filter/filter.module.ts +3 -12
  316. package/src/module/filter/service/filter.service.ts +73 -130
  317. package/src/module/filter/service/saved-filter.service.ts +26 -16
  318. package/src/module/integration/service/integration.service.ts +2 -6
  319. package/src/module/integration/service/wrapper.service.ts +0 -1
  320. package/src/module/layout/controller/layout.controller.ts +1 -8
  321. package/src/module/layout/entity/header-section.entity.ts +0 -6
  322. package/src/module/layout/layout.module.ts +1 -1
  323. package/src/module/layout/repository/header-section.repository.ts +0 -6
  324. package/src/module/layout/service/header-section.service.ts +1 -1
  325. package/src/module/linked_attributes/controller/linked_attributes.controller.ts +0 -100
  326. package/src/module/linked_attributes/linked_attributes.module.ts +2 -9
  327. package/src/module/linked_attributes/service/linked_attributes.service.ts +3 -578
  328. package/src/module/listmaster/service/list-master.service.ts +1 -9
  329. package/src/module/meta/controller/meta.controller.ts +3 -25
  330. package/src/module/meta/entity/entity-master.entity.ts +3 -9
  331. package/src/module/meta/entity.module.ts +6 -20
  332. package/src/module/meta/service/attribute-master.service.ts +1 -31
  333. package/src/module/meta/service/entity-master.service.ts +0 -1
  334. package/src/module/meta/service/entity-relation.service.ts +6 -10
  335. package/src/module/meta/service/entity-service-impl.service.ts +19 -14
  336. package/src/module/meta/service/entity-table.service.ts +68 -82
  337. package/src/module/meta/service/entity.service.ts +1 -0
  338. package/src/module/meta/service/resolver.service.ts +0 -4
  339. package/src/module/module/controller/module-access.controller.ts +14 -9
  340. package/src/module/module/entity/menu.entity.ts +18 -10
  341. package/src/module/module/entity/module-access.entity.ts +40 -3
  342. package/src/module/module/entity/module-action.entity.ts +10 -6
  343. package/src/module/module/entity/module.entity.ts +7 -14
  344. package/src/module/module/module.module.ts +2 -3
  345. package/src/module/module/repository/menu.repository.ts +43 -29
  346. package/src/module/module/repository/module-access.repository.ts +111 -63
  347. package/src/module/module/service/menu.service.ts +7 -9
  348. package/src/module/module/service/module-access.service.ts +22 -34
  349. package/src/module/notification/entity/notification.entity.ts +53 -3
  350. package/src/module/notification/notification.module.ts +0 -2
  351. package/src/module/notification/service/notification.service.ts +0 -1
  352. package/src/module/notification/service/otp.service.ts +4 -3
  353. package/src/module/user/controller/login.controller.ts +7 -8
  354. package/src/module/user/controller/user.controller.ts +0 -9
  355. package/src/module/user/dto/create-user.dto.ts +19 -6
  356. package/src/module/user/entity/role.entity.ts +59 -16
  357. package/src/module/user/entity/user-role-mapping.entity.ts +29 -3
  358. package/src/module/user/entity/user-session.entity.ts +3 -19
  359. package/src/module/user/entity/user.entity.ts +48 -13
  360. package/src/module/user/repository/role.repository.ts +32 -12
  361. package/src/module/user/repository/user-role-mapping.repository.ts +5 -1
  362. package/src/module/user/repository/user.repository.ts +36 -9
  363. package/src/module/user/repository/userSession.repository.ts +5 -1
  364. package/src/module/user/service/login.service.ts +47 -51
  365. package/src/module/user/service/role.service.ts +64 -63
  366. package/src/module/user/service/user-role-mapping.service.ts +23 -1
  367. package/src/module/user/service/user-session.service.ts +14 -11
  368. package/src/module/user/service/user.service.ts +76 -95
  369. package/src/module/user/user.module.ts +4 -5
  370. package/src/module/workflow/repository/action-data.repository.ts +6 -8
  371. package/src/module/workflow/repository/action.repository.ts +11 -11
  372. package/src/module/workflow/repository/form-master.repository.ts +2 -2
  373. package/src/module/workflow/service/action-data.service.ts +3 -2
  374. package/src/module/workflow/service/action.service.ts +2 -2
  375. package/src/module/workflow/service/comm-template.service.ts +0 -2
  376. package/src/module/workflow/service/entity-modification.service.ts +0 -1
  377. package/src/module/workflow/service/form-master.service.ts +2 -2
  378. package/src/module/workflow/service/populate-workflow.service.ts +1 -1
  379. package/src/module/workflow/service/task.service.ts +0 -3
  380. package/src/module/workflow/service/workflow-meta.service.ts +2 -7
  381. package/src/module/workflow/service/workflow.service.ts +2 -2
  382. package/src/module/workflow/workflow.module.ts +2 -0
  383. package/src/module/workflow-automation/service/workflow-automation.service.ts +19 -7
  384. package/src/module/workflow-automation/workflow-automation.module.ts +4 -3
  385. package/src/module/workflow-schedule/service/workflow-schedule.service.ts +0 -2
  386. package/src/resources/dev.properties.yaml +2 -2
  387. package/src/table.config.ts +3 -3
  388. package/dist/migrations/1732612800000-AddEntityJsonGinIndex.d.ts +0 -6
  389. package/dist/migrations/1732612800000-AddEntityJsonGinIndex.js +0 -32
  390. package/dist/migrations/1732612800000-AddEntityJsonGinIndex.js.map +0 -1
  391. package/dist/module/filter/service/flatjson-filter.service.d.ts +0 -32
  392. package/dist/module/filter/service/flatjson-filter.service.js +0 -632
  393. package/dist/module/filter/service/flatjson-filter.service.js.map +0 -1
  394. package/dist/module/linked_attributes/dto/create-linked-attribute-smart.dto.d.ts +0 -13
  395. package/dist/module/linked_attributes/dto/create-linked-attribute-smart.dto.js +0 -64
  396. package/dist/module/linked_attributes/dto/create-linked-attribute-smart.dto.js.map +0 -1
  397. package/dist/module/meta/controller/app-master.controller.js.map +0 -1
  398. package/dist/module/meta/entity/app-master.entity.d.ts +0 -13
  399. package/dist/module/meta/entity/app-master.entity.js.map +0 -1
  400. package/dist/module/meta/repository/app-master.repository.js.map +0 -1
  401. package/dist/module/meta/service/app-master.service.js.map +0 -1
  402. package/dist/module/meta/service/populate-meta.service.d.ts +0 -13
  403. package/dist/module/meta/service/populate-meta.service.js.map +0 -1
  404. package/src/migrations/1732612800000-AddEntityJsonGinIndex.ts +0 -41
  405. package/src/module/entity_json/docs/FlatJson_Filterin_System.md +0 -2804
  406. package/src/module/filter/service/flatjson-filter.service.ts +0 -903
  407. package/src/module/filter/test/flatjson-filter.service.spec.ts +0 -415
  408. package/src/module/linked_attributes/dto/create-linked-attribute-smart.dto.ts +0 -54
  409. package/src/module/linked_attributes/test/linked-attributes.service.spec.ts +0 -244
  410. /package/dist/module/{meta → app_master}/controller/app-master.controller.d.ts +0 -0
  411. /package/dist/module/{meta → app_master}/controller/app-master.controller.js +0 -0
  412. /package/dist/module/{meta → app_master}/service/app-master.service.d.ts +0 -0
  413. /package/dist/module/{meta → app_master}/service/app-master.service.js +0 -0
  414. /package/src/module/{meta → app_master}/controller/app-master.controller.ts +0 -0
  415. /package/src/module/{meta → app_master}/service/app-master.service.ts +0 -0
@@ -1,69 +1,68 @@
1
- import { BadRequestException, Inject, Injectable } from '@nestjs/common';
2
- import { EntityServiceImpl } from '../../meta/service/entity-service-impl.service';
3
- import { BaseEntity } from '../../meta/entity/base-entity.entity';
1
+ import { Injectable } from '@nestjs/common';
4
2
  import { UserData } from '../entity/user.entity';
5
3
  import { Role } from '../entity/role.entity';
6
- import { ENTITYTYPE_ROLE, STATUS_INACTIVE } from 'src/constant/global.constant';
4
+ import { STATUS_INACTIVE } from 'src/constant/global.constant';
7
5
  import { RoleRepository } from '../repository/role.repository';
8
- import { EntityManager, Repository } from 'typeorm';
6
+ import { Repository } from 'typeorm';
9
7
  import { InjectRepository } from '@nestjs/typeorm';
10
8
  import { ModuleAccess } from '../../module/entity/module-access.entity';
11
- import { ServiceResult } from 'src/dtos/response';
12
- import { ListMasterService } from 'src/module/listmaster/service/list-master.service';
13
- import { UserRoleMappingRepository } from '../repository/user-role-mapping.repository';
14
9
  import { UserRoleMapping } from '../entity/user-role-mapping.entity';
10
+ import { plainToInstance } from 'class-transformer';
11
+ import { StatusConstant } from '../../../constant/status.constant';
15
12
 
16
13
  @Injectable()
17
- export class RoleService extends EntityServiceImpl {
14
+ export class RoleService {
18
15
  constructor(
19
16
  private readonly roleRepository: RoleRepository,
20
- private readonly entityManager: EntityManager,
21
17
  @InjectRepository(ModuleAccess)
22
18
  private readonly moduleAccessRepo: Repository<ModuleAccess>,
23
- @Inject('ListMasterService')
24
- private readonly listMasterService: ListMasterService,
25
19
  @InjectRepository(UserRoleMapping)
26
20
  private readonly userRoleMappingRepo: Repository<UserRoleMapping>,
27
21
  ) {
28
- super();
29
22
  }
30
23
 
31
- async createEntity(
32
- entityData: BaseEntity,
33
- loggedInUser: UserData,
34
- ): Promise<ServiceResult<BaseEntity>> {
35
- const role = entityData as Role;
24
+ async createRole(
25
+ role: Role,
26
+ loggedInUser: any,
27
+ ) {
36
28
 
37
29
  // if level_type and level_id are not provided, use loggedInUser's values
38
- role.level_type = entityData.level_type || loggedInUser.level_type;
39
- role.level_id = entityData.level_id || loggedInUser.level_id;
40
- role.appcode = entityData.appcode || loggedInUser.appcode;
30
+ role.level_type = role.level_type || loggedInUser.level_type;
31
+ role.level_id = role.level_id || loggedInUser.level_id;
32
+ role.created_by = loggedInUser.id;
33
+ role.enterprise_id = loggedInUser.enterprise_id;
34
+ role.app_id = role.app_id || loggedInUser.app_id;
41
35
 
42
36
  if (
43
37
  await this.roleRepository.isRoleNameWithLevelExists(role.name, {
44
- organization_id: loggedInUser?.organization_id || undefined,
45
- level_type: entityData.level_type || loggedInUser?.level_type,
38
+ enterprise_id: loggedInUser.enterprise_id,
39
+ level_type: role.level_type || loggedInUser?.level_type,
46
40
  level_id:
47
- parseInt(entityData.level_id) ||
41
+ parseInt(role.level_id) ||
48
42
  parseInt(loggedInUser?.level_id || '', 10),
49
43
  })
50
44
  ) {
51
45
  return { success: false, error: 'Role name already exists.' };
52
46
  }
53
47
 
48
+ if(!role.code) {
49
+ const maxId = await this.roleRepository.findMaxIdRecord();
50
+ if(maxId && maxId.id) {
51
+ role.code = `ROL${maxId.id + 1}`;
52
+ } else {
53
+ role.code = `ROL1`;
54
+ }
55
+ }
56
+
54
57
  const sourceRole = role.copy_from_role_id
55
- ? await this.getEntityData(
56
- ENTITYTYPE_ROLE,
57
- role.copy_from_role_id,
58
- loggedInUser,
59
- )
58
+ ? await this.roleRepository.findById(role.copy_from_role_id)
60
59
  : null;
61
60
 
62
61
  if (role.copy_from_role_id && !sourceRole) {
63
62
  return { success: false, error: 'Source role not found.' };
64
63
  }
65
-
66
- const savedRole = await super.createEntity(role, loggedInUser);
64
+ role.status = StatusConstant.ACTIVE;
65
+ const savedRole = await this.roleRepository.saveRole(role);
67
66
  if (sourceRole) {
68
67
  const sourcePermissions = await this.moduleAccessRepo.find({
69
68
  where: { role_code: sourceRole.code },
@@ -72,11 +71,11 @@ export class RoleService extends EntityServiceImpl {
72
71
  const clonedPermissions = sourcePermissions.map((perm) =>
73
72
  this.moduleAccessRepo.create({
74
73
  role_code: savedRole.code,
75
- module_code: perm.module_code,
76
74
  action_type: perm.action_type,
77
75
  access_flag: perm.access_flag,
78
76
  level_type: perm.level_type,
79
77
  appcode: perm.appcode,
78
+ module_id: perm.module_id
80
79
  }),
81
80
  );
82
81
 
@@ -85,40 +84,31 @@ export class RoleService extends EntityServiceImpl {
85
84
  return { success: true, data: savedRole };
86
85
  }
87
86
 
88
- async updateEntity(
89
- entityData: BaseEntity,
87
+ async updateRole(
88
+ id: number,
89
+ role: Role,
90
90
  loggedInUser: UserData,
91
- ): Promise<ServiceResult<BaseEntity>> {
92
- if (!entityData.name) {
91
+ ) {
92
+ if (!role.name) {
93
93
  return { success: false, error: 'Role name is required' };
94
94
  }
95
- const role = entityData as Role;
96
95
 
97
- const resolveStatus = await this.listMasterService.getResolvedListCode(
98
- STATUS_INACTIVE,
99
- loggedInUser?.organization_id || 0,
100
- );
101
-
102
- if (entityData.status == resolveStatus.id) {
96
+ if (role.status == STATUS_INACTIVE) {
103
97
  //get role by id
104
- const existingRole = await this.getEntityData(
105
- ENTITYTYPE_ROLE,
106
- entityData.id,
107
- loggedInUser,
108
- );
98
+ const existingRole = await this.roleRepository.findById(id);
109
99
 
110
100
  if (!existingRole) {
111
101
  return { success: false, error: 'Role not found' };
112
102
  }
113
103
 
114
104
  const associatedUsers = await this.userRoleMappingRepo
115
- .createQueryBuilder("map")
116
- .innerJoin("sso_user", "usr", "map.user_id = usr.id")
117
- .where("usr.status::text = :status", { status: String(resolveStatus.id) })
118
- .andWhere("map.role_id::text = :roleId", {
105
+ .createQueryBuilder('map')
106
+ .innerJoin('sso_user', 'usr', 'map.user_id = usr.id')
107
+ .where('usr.status::text = :status', { status: StatusConstant.INACTIVE })
108
+ .andWhere('map.role_id::text = :roleId', {
119
109
  roleId: String(existingRole?.id),
120
110
  })
121
- .select("map") // same as SELECT map.*
111
+ .select('map') // same as SELECT map.*
122
112
  .getRawMany();
123
113
 
124
114
  if (associatedUsers.length > 0) {
@@ -137,9 +127,9 @@ export class RoleService extends EntityServiceImpl {
137
127
  }
138
128
 
139
129
  if (
140
- await this.roleRepository.isRoleNameExists(entityData.name, {
141
- excludeRoleId: entityData.id,
142
- organization_id: loggedInUser?.organization_id,
130
+ await this.roleRepository.isRoleNameExists(role.name, {
131
+ excludeRoleId: role.id,
132
+ enterprise_id: loggedInUser?.enterprise_id,
143
133
  })
144
134
  ) {
145
135
  return {
@@ -149,14 +139,13 @@ export class RoleService extends EntityServiceImpl {
149
139
  }
150
140
 
151
141
  const { copy_from_role_id, ...persistableData } = role;
152
- const updatedRole = await super.updateEntity(persistableData, loggedInUser);
142
+
143
+ const entity = plainToInstance(Role, persistableData);
144
+ const updatedRole = await this.roleRepository.updateRole(id, entity);
153
145
 
154
146
  if (role.copy_from_role_id) {
155
- const sourceRole = await this.getEntityData(
156
- ENTITYTYPE_ROLE,
157
- role.copy_from_role_id,
158
- loggedInUser,
159
- );
147
+
148
+ const sourceRole = await this.roleRepository.findById(role.copy_from_role_id);
160
149
 
161
150
  if (!sourceRole) {
162
151
  return {
@@ -174,7 +163,7 @@ export class RoleService extends EntityServiceImpl {
174
163
  const clonedPermissions = sourcePermissions.map((perm) =>
175
164
  this.moduleAccessRepo.create({
176
165
  role_code: role.code,
177
- module_code: perm.module_code,
166
+ module_id: perm.module_id,
178
167
  action_type: perm.action_type,
179
168
  access_flag: perm.access_flag,
180
169
  appcode: perm.appcode,
@@ -194,4 +183,16 @@ export class RoleService extends EntityServiceImpl {
194
183
  }): Promise<Role[] | null> {
195
184
  return await this.roleRepository.find(data);
196
185
  }
186
+
187
+ async findByCode(code: string) {
188
+ return await this.roleRepository.findByCode(code);
189
+ }
190
+
191
+ async findById(id: number) {
192
+ return await this.roleRepository.findById(id);
193
+ }
194
+
195
+ async find(options: any): Promise<Role[]> {
196
+ return await this.roleRepository.findRoles(options);
197
+ }
197
198
  }
@@ -7,7 +7,7 @@ import { UserRoleMapping } from '../entity/user-role-mapping.entity';
7
7
  export class UserRoleMappingService {
8
8
  constructor(
9
9
  private readonly userRoleMappingRepository: UserRoleMappingRepository,
10
- ) {}
10
+ ) { }
11
11
 
12
12
  async assignUserRole(userRoleMapping: UserRoleMapping) {
13
13
  const existing = await this.userRoleMappingRepository.findByUserIdAndRoleId(
@@ -95,4 +95,26 @@ export class UserRoleMappingService {
95
95
  levelId,
96
96
  );
97
97
  }
98
+
99
+ async find(options: any): Promise<UserRoleMapping[]> {
100
+ return await this.userRoleMappingRepository.find(options);
101
+ }
102
+
103
+ async create(data: any, loggedInUser: any) {
104
+ // Assuming data maps to UserRoleMapping or needs transformation
105
+ // Based on usage in controller: this.roleMappingService.createEntity(data.userRoleMappingData, data.loggedInUserData)
106
+
107
+ // If data is already a UserRoleMapping object or similar
108
+ // We might need to adjust this based on actual DTO structure, but for now passing it through or saving
109
+
110
+ // If it's a direct save:
111
+ // return await this.userRoleMappingRepository.save(data);
112
+
113
+ // However, assignUserRole seems to be the main method for creating/assigning.
114
+ // Let's use assignUserRole if data matches, or save if it's a raw entity.
115
+ // The controller passes `data.userRoleMappingData`.
116
+
117
+ // Let's assume it's a UserRoleMapping compatible object.
118
+ return await this.assignUserRole(data);
119
+ }
98
120
  }
@@ -4,8 +4,7 @@ import { BadRequestException, Injectable } from '@nestjs/common';
4
4
  import { UserSessionRepository } from '../repository/userSession.repository';
5
5
  import { JwtAuthService } from 'src/module/auth/services/jwt.service';
6
6
  import { ConfigService } from '@nestjs/config';
7
- import { UserRoleMappingService } from './user-role-mapping.service';
8
- import { DataSource, Repository } from 'typeorm';
7
+ import { Repository } from 'typeorm';
9
8
  import { UserRoleMapping } from '../entity/user-role-mapping.entity';
10
9
  import { UserData } from '../entity/user.entity';
11
10
  import { InjectRepository } from '@nestjs/typeorm';
@@ -20,18 +19,18 @@ export class UserSessionService {
20
19
  private configService: ConfigService,
21
20
  @InjectRepository(UserData)
22
21
  private readonly userDataRepository: Repository<UserData>,
23
- @InjectRepository(UserRoleMapping)
24
- private readonly userRoleMappingRepository: Repository<UserRoleMapping>,
25
22
  private readonly reflectionHelper: ReflectionHelper,
26
- ) {}
27
- async createSession(user, appcode?: string, accessInfo?: any) {
23
+ ) {
24
+ }
25
+
26
+ async createSession(user, app_id?: number, accessInfo?: any, appcode?: string) {
28
27
  const sessionToken = this.clockIDGenService.idGenerator('SES');
29
28
 
30
29
  const userSession: any = new UserSession();
31
30
  userSession.user_id = user.id;
32
31
  userSession.session_key = sessionToken;
33
32
  userSession.is_session_loggedout = 0;
34
- userSession.login_time = new Date();
33
+ // userSession.login_time = new Date(); -- Changed login_time to be auto generated by typeorm
35
34
 
36
35
  const expiryTokenInHours = this.configService.get('TOKEN_EXPIRY') || 1;
37
36
  userSession.expiry_date = new Date(
@@ -43,10 +42,11 @@ export class UserSessionService {
43
42
  const payload: any = {
44
43
  id: user.id,
45
44
  sessionToken,
46
- appcode,
45
+ app_id,
47
46
  email_id: user.email_id,
48
47
  organization_id: user.organization_id,
49
48
  enterprise_id: user.enterprise_id,
49
+ appcode,
50
50
  };
51
51
 
52
52
  // ✅ Add role access details
@@ -57,7 +57,6 @@ export class UserSessionService {
57
57
 
58
58
  const accessToken = this.jwtAuthService.generateJwt(payload);
59
59
 
60
- userSession.access_token = accessToken;
61
60
  await this.userSessionRepository.saveSession(userSession);
62
61
 
63
62
  return accessToken;
@@ -71,6 +70,10 @@ export class UserSessionService {
71
70
  await this.userSessionRepository.saveSession(userSession);
72
71
  }
73
72
 
73
+ async fetchUserFcmToken(user_id: number) {
74
+ return await this.userSessionRepository.fetchUserFcmToken(user_id);
75
+ };
76
+
74
77
 
75
78
  async switchCurrentLevelService(
76
79
  currentUser: any,
@@ -103,12 +106,12 @@ export class UserSessionService {
103
106
  });
104
107
  }
105
108
 
106
- if (getUserDetails?.organization_id == 1 && payload.level_type == 'ORG') {
109
+ if (getUserDetails?.enterprise_id == 1 && payload.level_type == 'ORG') {
107
110
  payload.organization_id = payload.level_id;
108
111
  }
109
112
 
110
113
  await this.userDataRepository.update(currentUser.id, {
111
- last_app_access: data.appcode,
114
+ last_app_access_id: data.app_id,
112
115
  last_level_type: data.level_type,
113
116
  last_level_id: data.level_id,
114
117
  });
@@ -1,65 +1,45 @@
1
- import { RoleService } from './role.service';
2
- import {
3
- BadRequestException,
4
- ForbiddenException,
5
- Inject,
6
- Injectable,
7
- } from '@nestjs/common';
8
- import { EntityServiceImpl } from '../../meta/service/entity-service-impl.service';
1
+ import { BadRequestException, Injectable } from '@nestjs/common';
9
2
  import { UserData } from '../entity/user.entity';
10
- import { BaseEntity } from '../../meta/entity/base-entity.entity';
11
3
  import { UserRepository } from '../repository/user.repository';
12
- import { EncryptUtilService } from '../../../utils/service/encryptUtil.service';
13
- import { ClockIDGenService } from '../../../utils/service/clockIDGenUtil.service';
14
- import {
15
- ENTITYTYPE_ROLE,
16
- STATUS_ACTIVE,
17
- INVITATION_STATUS_SENT,
18
- } from '../../../constant/global.constant';
4
+ import { INVITATION_STATUS_SENT } from '../../../constant/global.constant';
19
5
  import { CreateUserDto } from '../dto/create-user.dto';
20
6
  import { UserRoleMappingService } from './user-role-mapping.service';
21
7
  import { UserRoleMapping } from '../entity/user-role-mapping.entity';
22
- import { EntityManager, Repository } from 'typeorm';
23
- import { UpdateUserDto } from '../dto/update-user.dto';
24
8
  import { ConfigService } from '@nestjs/config';
25
- // import { UserAppMappingService } from 'src/module/meta/service/user-app-mapping.service';
26
- import { ServiceResult } from 'src/dtos/response.dto';
27
- import { ListMasterService } from 'src/module/listmaster/service/list-master.service';
28
- import { OrganizationRepository } from 'src/module/enterprise/repository/organization.repository';
29
- import { InjectRepository } from '@nestjs/typeorm';
30
- import { Action } from 'src/module/workflow-automation/interface/action.interface';
31
9
  import { ActionHandler } from 'src/module/workflow-automation/interface/action.decorator';
10
+ import { EncryptUtilService } from '../../../utils/service/encryptUtil.service';
11
+ import { plainToInstance } from 'class-transformer';
12
+ import { UpdateUserDto } from '../dto/update-user.dto';
13
+ import { EnterpriseRepository } from 'src/module/enterprise/repository/enterprise.repository';
14
+ import { StatusConstant } from '../../../constant/status.constant';
15
+ import { RoleRepository } from '../repository/role.repository';
16
+ import { ReflectionHelper } from '../../../utils/service/reflection-helper.service';
32
17
 
33
18
  @Injectable()
34
19
  @ActionHandler('User')
35
- export class UserService extends EntityServiceImpl implements Action {
20
+ export class UserService {
36
21
  constructor(
37
22
  private userRepository: UserRepository,
38
23
  private userRoleMappingService: UserRoleMappingService,
39
- private readonly clockIDGenService: ClockIDGenService,
24
+ private roleRepo: RoleRepository,
40
25
  private configService: ConfigService,
41
- private readonly organizationRepository: OrganizationRepository,
42
- // private readonly userAppMappingService: UserAppMappingService,
43
- @Inject('RoleService') private readonly roleService: RoleService,
44
- @Inject('ListMasterService')
45
- private readonly listMasterService: ListMasterService,
26
+ private readonly enterpriseRepository: EnterpriseRepository,
27
+ private readonly reflectionHelper: ReflectionHelper
46
28
  ) {
47
- super();
48
29
  }
49
30
 
50
31
  masterKey = this.configService.get('MASTER_KEY') || '';
51
32
  masterIv = this.configService.get('MASTER_IV') || '';
52
33
 
53
- async createEntity(
54
- entityData: BaseEntity,
55
- loggedInUser: UserData | null,
56
- manager?: EntityManager,
57
- ): Promise<ServiceResult<BaseEntity>> {
58
- const userData = entityData as CreateUserDto;
34
+ async createUser(
35
+ entityData: CreateUserDto,
36
+ loggedInUser: UserData,
37
+ ) {
38
+ const userData = entityData;
59
39
 
60
40
  let existingUser = await this.userRepository.findByEmailId(
61
41
  userData.email_id,
62
- loggedInUser?.organization_id,
42
+ loggedInUser?.enterprise_id,
63
43
  );
64
44
  if (existingUser) {
65
45
  return { success: false, error: 'User with this email already exists' };
@@ -67,43 +47,46 @@ export class UserService extends EntityServiceImpl implements Action {
67
47
 
68
48
  existingUser = await this.userRepository.findByMobile(
69
49
  userData.mobile,
70
- loggedInUser?.organization_id,
50
+ loggedInUser?.enterprise_id,
71
51
  );
72
52
  if (existingUser) {
73
53
  return { success: false, error: 'User with this mobile already exists' };
74
54
  }
75
55
 
76
- const resolveStatus = await this.listMasterService.getResolvedListCode(
77
- STATUS_ACTIVE,
78
- loggedInUser?.organization_id || 0,
79
- );
80
-
81
- const resolvedInvitationStatus =
82
- await this.listMasterService.getResolvedListCode(
83
- INVITATION_STATUS_SENT,
84
- loggedInUser?.organization_id || 0,
85
- );
56
+ if(!userData.code) {
57
+ const maxId = await this.userRepository.findMaxIdRecord();
58
+ if(maxId && maxId.id) {
59
+ userData.code = `USR${maxId.id + 1}`;
60
+ } else {
61
+ userData.code = `USR1`;
62
+ }
63
+ }
86
64
 
87
- userData.name =
88
- (userData.first_name || '') + ' ' + (userData.last_name || '');
89
65
  userData.password = EncryptUtilService.encryptGCM(
90
66
  userData.password || 'Admin@123',
91
67
  this.masterKey,
92
68
  this.masterIv,
93
69
  );
70
+
71
+ userData.enterprise_id = loggedInUser.enterprise_id;
72
+ userData.level_type = loggedInUser.level_type;
73
+ userData.level_id = loggedInUser.level_id;
74
+
94
75
  userData.is_firstlogin = 1;
95
76
  userData.roles = [];
96
- userData.invitation_status = resolvedInvitationStatus.id;
97
- userData.status = resolveStatus.id || 'ACTIVE';
77
+ userData.invitation_status = INVITATION_STATUS_SENT;
78
+ userData.status = StatusConstant.ACTIVE;
98
79
 
99
- const savedData = await super.createEntity(userData, loggedInUser);
80
+ const entity = plainToInstance(UserData, userData);
81
+ entity.created_by = loggedInUser.created_by;
82
+
83
+ const savedData = await this.userRepository.saveUser(entity);
100
84
 
101
85
  const insertPromises: Promise<UserRoleMapping | void | null | undefined>[] =
102
86
  [];
103
87
 
104
88
  for (const entry of userData.access || []) {
105
89
  const { level_type, level_ids, app_code, role_id } = entry;
106
-
107
90
  if (
108
91
  !level_type ||
109
92
  !Array.isArray(level_ids) ||
@@ -113,13 +96,19 @@ export class UserService extends EntityServiceImpl implements Action {
113
96
  ) {
114
97
  return { success: false, error: 'Invalid access level entry' };
115
98
  }
116
-
99
+ const appMasterRepo = this.reflectionHelper.getRepoService('AppMaster');
100
+ const appMaster = await appMasterRepo.findOne({
101
+ where: {
102
+ code: app_code
103
+ }
104
+ })
117
105
  for (const levelId of level_ids) {
118
106
  const userRoleMapping = new UserRoleMapping(savedData.id, role_id);
119
107
  userRoleMapping.level_type = level_type;
120
108
  userRoleMapping.level_id = String(levelId);
121
109
  userRoleMapping.appcode = app_code;
122
- userRoleMapping.organization_id = loggedInUser?.organization_id || 0;
110
+ userRoleMapping.app_id = appMaster.id
111
+ userRoleMapping.enterprise_id = loggedInUser?.enterprise_id || 0;
123
112
  insertPromises.push(
124
113
  this.userRoleMappingService.assignUserRole(userRoleMapping),
125
114
  );
@@ -139,15 +128,10 @@ export class UserService extends EntityServiceImpl implements Action {
139
128
  }
140
129
 
141
130
  name: string = 'UserService';
142
- async execute(payload: any): Promise<any> {
143
- console.log('payload', payload);
144
- }
145
131
 
146
- async getEntityData(
147
- entityType: string,
132
+ async getUserData(
148
133
  id: number,
149
- loggedInUser?: UserData,
150
- ): Promise<BaseEntity | null> {
134
+ ) {
151
135
  const user = await this.userRepository.findById(id);
152
136
  if (user) {
153
137
  const userRoleMappings: UserRoleMapping[] | null =
@@ -158,11 +142,7 @@ export class UserService extends EntityServiceImpl implements Action {
158
142
  for (const i in userRoleMappings) {
159
143
  const userRoleMapping = userRoleMappings[i];
160
144
  const roleId = userRoleMapping.role_id;
161
- const role = await super.getEntityData(
162
- ENTITYTYPE_ROLE,
163
- roleId,
164
- loggedInUser,
165
- );
145
+ const role = await this.roleRepo.findById(roleId);
166
146
  roles.push(role);
167
147
  }
168
148
  userDto.roles = roles;
@@ -172,13 +152,13 @@ export class UserService extends EntityServiceImpl implements Action {
172
152
  return null;
173
153
  }
174
154
 
175
- async updateEntity(
176
- entityData: BaseEntity,
155
+ async updateUser(
156
+ id: number,
157
+ userDto: UpdateUserDto,
177
158
  loggedInUserData: UserData,
178
- ): Promise<ServiceResult<BaseEntity>> {
179
- const userDto = entityData as UpdateUserDto;
159
+ ) {
180
160
 
181
- const existingUser = await this.userRepository.findById(entityData.id);
161
+ const existingUser = await this.userRepository.findById(id);
182
162
 
183
163
  if (!existingUser) {
184
164
  return { success: false, error: 'User not found' };
@@ -208,10 +188,7 @@ export class UserService extends EntityServiceImpl implements Action {
208
188
  const updatedUserData = { ...userDto } as any;
209
189
  delete updatedUserData.access;
210
190
 
211
- const savedData = await super.updateEntity(
212
- updatedUserData,
213
- loggedInUserData,
214
- );
191
+ const savedData = await this.userRepository.updateUser(id, updatedUserData);
215
192
 
216
193
  // Handle updated access levels
217
194
  if (userDto.access && userDto.access.length > 0) {
@@ -235,12 +212,11 @@ export class UserService extends EntityServiceImpl implements Action {
235
212
  }
236
213
 
237
214
  for (const levelId of level_ids) {
238
- const userRoleMapping = new UserRoleMapping(savedData.id, role_id);
215
+ const userRoleMapping = new UserRoleMapping(id, role_id);
239
216
  userRoleMapping.level_type = level_type;
240
217
  userRoleMapping.level_id = String(levelId);
241
218
  userRoleMapping.appcode = app_code;
242
- userRoleMapping.organization_id =
243
- loggedInUserData?.organization_id || 0;
219
+ userRoleMapping.enterprise_id = loggedInUserData.enterprise_id;
244
220
 
245
221
  insertPromises.push(
246
222
  this.userRoleMappingService.assignUserRole(userRoleMapping),
@@ -261,9 +237,10 @@ export class UserService extends EntityServiceImpl implements Action {
261
237
 
262
238
  async findByEmailId(
263
239
  email_id: string,
264
- organization_id?: number,
240
+ enterprise_id?: number,
241
+ getLastApp?: boolean,
265
242
  ): Promise<UserData | null> {
266
- return await this.userRepository.findByEmailId(email_id, organization_id);
243
+ return await this.userRepository.findByEmailId(email_id, enterprise_id, getLastApp);
267
244
  }
268
245
 
269
246
  async findByMobile(
@@ -278,14 +255,14 @@ export class UserService extends EntityServiceImpl implements Action {
278
255
  );
279
256
  }
280
257
 
281
- async setDefaultLastAccess(userId: number, appcode: string): Promise<void> {
258
+ async setDefaultLastAccess(userId: number, app_id: number): Promise<void> {
282
259
  const user = await this.userRepository.findById(userId);
283
260
 
284
261
  if (!user) {
285
262
  throw new BadRequestException('User not found');
286
263
  }
287
264
 
288
- user.last_app_access = appcode;
265
+ user.last_app_access_id = app_id;
289
266
 
290
267
  await this.userRepository.saveUser(user); // This persists the updated field
291
268
  }
@@ -294,7 +271,7 @@ export class UserService extends EntityServiceImpl implements Action {
294
271
  userId: number,
295
272
  levelType: string,
296
273
  levelId: string,
297
- appcode: string,
274
+ app_id: number,
298
275
  ): Promise<void> {
299
276
  const user = await this.userRepository.findById(userId);
300
277
 
@@ -304,7 +281,7 @@ export class UserService extends EntityServiceImpl implements Action {
304
281
 
305
282
  user.last_level_type = levelType;
306
283
  user.last_level_id = levelId;
307
- user.last_app_access = appcode;
284
+ user.last_app_access_id = app_id;
308
285
 
309
286
  await this.userRepository.saveUser(user); // This persists the updated field
310
287
  }
@@ -319,15 +296,15 @@ export class UserService extends EntityServiceImpl implements Action {
319
296
  return { success: false, message: 'Email and Subdomain is required' };
320
297
  }
321
298
 
322
- let organization;
299
+ let enterprise;
323
300
 
324
301
  if (subdomain) {
325
- organization =
326
- await this.organizationRepository.findOrganizationBySubdomain(
302
+ enterprise =
303
+ await this.enterpriseRepository.findEnterpriseBySubdomain(
327
304
  subdomain,
328
305
  );
329
306
 
330
- if (!organization) {
307
+ if (!enterprise) {
331
308
  // throw new BadRequestException('Organization not found.');
332
309
  return {
333
310
  success: false,
@@ -339,14 +316,14 @@ export class UserService extends EntityServiceImpl implements Action {
339
316
  // 🔹 Step 2: Find the user by email + organization check
340
317
  const user = await this.userRepository.findByEmailId(
341
318
  email_id,
342
- organization?.id,
319
+ enterprise?.id,
343
320
  );
344
321
 
345
- if (!user || (organization && user.organization_id !== organization.id)) {
322
+ if (!user || (enterprise && user.enterprise_id !== enterprise.id)) {
346
323
  // throw new BadRequestException('User not found in organization.');
347
324
  return {
348
325
  success: false,
349
- message: 'User not found in organization.',
326
+ message: 'User not found in enterprise.',
350
327
  };
351
328
  }
352
329
 
@@ -365,4 +342,8 @@ export class UserService extends EntityServiceImpl implements Action {
365
342
  };
366
343
  }
367
344
  }
345
+
346
+ async find(options: any): Promise<UserData[]> {
347
+ return await this.userRepository.find(options);
348
+ }
368
349
  }