rez_core 6.5.32 → 6.5.33

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 (400) 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 +3 -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 +60 -38
  20. package/dist/core.module.js.map +1 -1
  21. package/dist/module/auth/strategies/jwt.strategy.d.ts +2 -1
  22. package/dist/module/auth/strategies/jwt.strategy.js +3 -2
  23. package/dist/module/auth/strategies/jwt.strategy.js.map +1 -1
  24. package/dist/module/dashboard/dashboard.module.js +1 -1
  25. package/dist/module/dashboard/dashboard.module.js.map +1 -1
  26. package/dist/module/dashboard/service/dashboard.service.js +2 -3
  27. package/dist/module/dashboard/service/dashboard.service.js.map +1 -1
  28. package/dist/module/enterprise/controller/enterprise.controller.d.ts +12 -0
  29. package/dist/module/enterprise/controller/enterprise.controller.js +57 -0
  30. package/dist/module/enterprise/controller/enterprise.controller.js.map +1 -0
  31. package/dist/module/enterprise/controller/meta.controller.d.ts +9 -0
  32. package/dist/module/enterprise/controller/meta.controller.js +43 -0
  33. package/dist/module/enterprise/controller/meta.controller.js.map +1 -0
  34. package/dist/module/enterprise/controller/organization.controller.d.ts +12 -4
  35. package/dist/module/enterprise/controller/organization.controller.js +64 -8
  36. package/dist/module/enterprise/controller/organization.controller.js.map +1 -1
  37. package/dist/module/enterprise/enterprise.module.js +10 -15
  38. package/dist/module/enterprise/enterprise.module.js.map +1 -1
  39. package/dist/module/enterprise/entity/enterprise.entity.d.ts +1 -3
  40. package/dist/module/enterprise/entity/enterprise.entity.js +4 -12
  41. package/dist/module/enterprise/entity/enterprise.entity.js.map +1 -1
  42. package/dist/module/enterprise/entity/organization-app-mapping.entity.d.ts +6 -1
  43. package/dist/module/enterprise/entity/organization-app-mapping.entity.js +21 -4
  44. package/dist/module/enterprise/entity/organization-app-mapping.entity.js.map +1 -1
  45. package/dist/module/enterprise/entity/organization.entity.d.ts +3 -18
  46. package/dist/module/enterprise/entity/organization.entity.js +8 -74
  47. package/dist/module/enterprise/entity/organization.entity.js.map +1 -1
  48. package/dist/module/enterprise/repository/enterprise.repository.d.ts +4 -2
  49. package/dist/module/enterprise/repository/enterprise.repository.js +19 -4
  50. package/dist/module/enterprise/repository/enterprise.repository.js.map +1 -1
  51. package/dist/module/enterprise/service/brand-profile.service.d.ts +0 -0
  52. package/dist/module/enterprise/service/brand-profile.service.js +1 -0
  53. package/dist/module/enterprise/service/brand-profile.service.js.map +1 -0
  54. package/dist/module/enterprise/service/brand.service.d.ts +0 -3
  55. package/dist/module/enterprise/service/brand.service.js +0 -17
  56. package/dist/module/enterprise/service/brand.service.js.map +1 -1
  57. package/dist/module/enterprise/service/enterprise.service.d.ts +2 -2
  58. package/dist/module/enterprise/service/enterprise.service.js +4 -4
  59. package/dist/module/enterprise/service/enterprise.service.js.map +1 -1
  60. package/dist/module/enterprise/service/organization.service.d.ts +4 -4
  61. package/dist/module/enterprise/service/organization.service.js +101 -24
  62. package/dist/module/enterprise/service/organization.service.js.map +1 -1
  63. package/dist/module/enterprise/service/populate-meta.service.d.ts +9 -0
  64. package/dist/module/{meta → enterprise}/service/populate-meta.service.js +2 -8
  65. package/dist/module/enterprise/service/populate-meta.service.js.map +1 -0
  66. package/dist/module/enterprise/service/school.service.d.ts +0 -0
  67. package/dist/module/enterprise/service/school.service.js +1 -0
  68. package/dist/module/enterprise/service/school.service.js.map +1 -0
  69. package/dist/module/entity_json/controller/entity_json.controller.d.ts +9 -2
  70. package/dist/module/entity_json/controller/entity_json.controller.js.map +1 -1
  71. package/dist/module/entity_json/entity/entityJson.entity.d.ts +1 -2
  72. package/dist/module/entity_json/entity/entityJson.entity.js +1 -5
  73. package/dist/module/entity_json/entity/entityJson.entity.js.map +1 -1
  74. package/dist/module/entity_json/entity_json.module.js +2 -7
  75. package/dist/module/entity_json/entity_json.module.js.map +1 -1
  76. package/dist/module/entity_json/service/entity_json.service.d.ts +10 -2
  77. package/dist/module/entity_json/service/entity_json.service.js +23 -98
  78. package/dist/module/entity_json/service/entity_json.service.js.map +1 -1
  79. package/dist/module/filter/controller/filter.controller.d.ts +0 -12
  80. package/dist/module/filter/controller/filter.controller.js +1 -1
  81. package/dist/module/filter/controller/filter.controller.js.map +1 -1
  82. package/dist/module/filter/filter.module.js +2 -11
  83. package/dist/module/filter/filter.module.js.map +1 -1
  84. package/dist/module/filter/service/filter.service.d.ts +2 -38
  85. package/dist/module/filter/service/filter.service.js +50 -43
  86. package/dist/module/filter/service/filter.service.js.map +1 -1
  87. package/dist/module/filter/service/saved-filter.service.d.ts +2 -3
  88. package/dist/module/filter/service/saved-filter.service.js +18 -14
  89. package/dist/module/filter/service/saved-filter.service.js.map +1 -1
  90. package/dist/module/integration/service/integration.service.d.ts +0 -1
  91. package/dist/module/integration/service/integration.service.js +1 -2
  92. package/dist/module/integration/service/integration.service.js.map +1 -1
  93. package/dist/module/integration/service/wrapper.service.js +0 -1
  94. package/dist/module/integration/service/wrapper.service.js.map +1 -1
  95. package/dist/module/layout/controller/layout.controller.d.ts +1 -3
  96. package/dist/module/layout/controller/layout.controller.js +3 -7
  97. package/dist/module/layout/controller/layout.controller.js.map +1 -1
  98. package/dist/module/layout/entity/header-section.entity.d.ts +0 -2
  99. package/dist/module/layout/entity/header-section.entity.js +0 -8
  100. package/dist/module/layout/entity/header-section.entity.js.map +1 -1
  101. package/dist/module/layout/layout.module.js +1 -2
  102. package/dist/module/layout/layout.module.js.map +1 -1
  103. package/dist/module/layout/repository/header-section.repository.d.ts +0 -1
  104. package/dist/module/layout/repository/header-section.repository.js +0 -5
  105. package/dist/module/layout/repository/header-section.repository.js.map +1 -1
  106. package/dist/module/layout/service/header-section.service.d.ts +1 -1
  107. package/dist/module/layout/service/header-section.service.js +1 -1
  108. package/dist/module/layout/service/header-section.service.js.map +1 -1
  109. package/dist/module/linked_attributes/controller/linked_attributes.controller.d.ts +0 -41
  110. package/dist/module/linked_attributes/controller/linked_attributes.controller.js +0 -90
  111. package/dist/module/linked_attributes/controller/linked_attributes.controller.js.map +1 -1
  112. package/dist/module/linked_attributes/linked_attributes.module.js +1 -8
  113. package/dist/module/linked_attributes/linked_attributes.module.js.map +1 -1
  114. package/dist/module/linked_attributes/service/linked_attributes.service.d.ts +1 -65
  115. package/dist/module/linked_attributes/service/linked_attributes.service.js +2 -287
  116. package/dist/module/linked_attributes/service/linked_attributes.service.js.map +1 -1
  117. package/dist/module/listmaster/service/list-master.service.js +1 -8
  118. package/dist/module/listmaster/service/list-master.service.js.map +1 -1
  119. package/dist/module/meta/controller/meta.controller.d.ts +1 -6
  120. package/dist/module/meta/controller/meta.controller.js +1 -19
  121. package/dist/module/meta/controller/meta.controller.js.map +1 -1
  122. package/dist/module/meta/entity/app-master.entity.d.ts +8 -4
  123. package/dist/module/meta/entity/app-master.entity.js +30 -12
  124. package/dist/module/meta/entity/app-master.entity.js.map +1 -1
  125. package/dist/module/meta/entity/entity-master.entity.d.ts +0 -1
  126. package/dist/module/meta/entity/entity-master.entity.js +1 -8
  127. package/dist/module/meta/entity/entity-master.entity.js.map +1 -1
  128. package/dist/module/meta/entity.module.js +2 -5
  129. package/dist/module/meta/entity.module.js.map +1 -1
  130. package/dist/module/meta/repository/app-master.repository.js +1 -1
  131. package/dist/module/meta/repository/app-master.repository.js.map +1 -1
  132. package/dist/module/meta/service/attribute-master.service.d.ts +1 -6
  133. package/dist/module/meta/service/attribute-master.service.js +2 -22
  134. package/dist/module/meta/service/attribute-master.service.js.map +1 -1
  135. package/dist/module/meta/service/entity-master.service.js +0 -1
  136. package/dist/module/meta/service/entity-master.service.js.map +1 -1
  137. package/dist/module/meta/service/entity-relation.service.d.ts +3 -4
  138. package/dist/module/meta/service/entity-relation.service.js +4 -10
  139. package/dist/module/meta/service/entity-relation.service.js.map +1 -1
  140. package/dist/module/meta/service/entity-service-impl.service.d.ts +1 -1
  141. package/dist/module/meta/service/entity-service-impl.service.js +10 -14
  142. package/dist/module/meta/service/entity-service-impl.service.js.map +1 -1
  143. package/dist/module/meta/service/entity-table.service.d.ts +4 -5
  144. package/dist/module/meta/service/entity-table.service.js +25 -25
  145. package/dist/module/meta/service/entity-table.service.js.map +1 -1
  146. package/dist/module/meta/service/resolver.service.d.ts +1 -1
  147. package/dist/module/meta/service/resolver.service.js +3 -6
  148. package/dist/module/meta/service/resolver.service.js.map +1 -1
  149. package/dist/module/module/controller/menu.controller.js +2 -2
  150. package/dist/module/module/controller/menu.controller.js.map +1 -1
  151. package/dist/module/module/controller/module-access.controller.d.ts +3 -4
  152. package/dist/module/module/controller/module-access.controller.js +15 -10
  153. package/dist/module/module/controller/module-access.controller.js.map +1 -1
  154. package/dist/module/module/entity/menu.entity.d.ts +6 -4
  155. package/dist/module/module/entity/menu.entity.js +16 -12
  156. package/dist/module/module/entity/menu.entity.js.map +1 -1
  157. package/dist/module/module/entity/module-access.entity.d.ts +15 -0
  158. package/dist/module/module/entity/module-access.entity.js +50 -0
  159. package/dist/module/module/entity/module-access.entity.js.map +1 -1
  160. package/dist/module/module/entity/module-action.entity.d.ts +4 -2
  161. package/dist/module/module/entity/module-action.entity.js +11 -6
  162. package/dist/module/module/entity/module-action.entity.js.map +1 -1
  163. package/dist/module/module/entity/module.entity.d.ts +3 -5
  164. package/dist/module/module/entity/module.entity.js +8 -18
  165. package/dist/module/module/entity/module.entity.js.map +1 -1
  166. package/dist/module/module/module.module.d.ts +1 -1
  167. package/dist/module/module/module.module.js +5 -7
  168. package/dist/module/module/module.module.js.map +1 -1
  169. package/dist/module/module/repository/menu.repository.d.ts +4 -4
  170. package/dist/module/module/repository/menu.repository.js +17 -27
  171. package/dist/module/module/repository/menu.repository.js.map +1 -1
  172. package/dist/module/module/repository/module-access.repository.d.ts +7 -7
  173. package/dist/module/module/repository/module-access.repository.js +86 -48
  174. package/dist/module/module/repository/module-access.repository.js.map +1 -1
  175. package/dist/module/module/service/menu.service.d.ts +3 -5
  176. package/dist/module/module/service/menu.service.js +9 -12
  177. package/dist/module/module/service/menu.service.js.map +1 -1
  178. package/dist/module/module/service/module-access.service.d.ts +8 -11
  179. package/dist/module/module/service/module-access.service.js +24 -26
  180. package/dist/module/module/service/module-access.service.js.map +1 -1
  181. package/dist/module/notification/entity/notification.entity.d.ts +17 -2
  182. package/dist/module/notification/entity/notification.entity.js +68 -2
  183. package/dist/module/notification/entity/notification.entity.js.map +1 -1
  184. package/dist/module/notification/notification.module.js +0 -2
  185. package/dist/module/notification/notification.module.js.map +1 -1
  186. package/dist/module/notification/service/notification.service.d.ts +1 -3
  187. package/dist/module/notification/service/notification.service.js +2 -5
  188. package/dist/module/notification/service/notification.service.js.map +1 -1
  189. package/dist/module/notification/service/otp.service.js +0 -1
  190. package/dist/module/notification/service/otp.service.js.map +1 -1
  191. package/dist/module/user/controller/login.controller.d.ts +1 -3
  192. package/dist/module/user/controller/login.controller.js +2 -6
  193. package/dist/module/user/controller/login.controller.js.map +1 -1
  194. package/dist/module/user/controller/user.controller.d.ts +0 -2
  195. package/dist/module/user/controller/user.controller.js +0 -13
  196. package/dist/module/user/controller/user.controller.js.map +1 -1
  197. package/dist/module/user/dto/create-user.dto.d.ts +6 -3
  198. package/dist/module/user/dto/create-user.dto.js +17 -11
  199. package/dist/module/user/dto/create-user.dto.js.map +1 -1
  200. package/dist/module/user/entity/role.entity.d.ts +18 -6
  201. package/dist/module/user/entity/role.entity.js +64 -19
  202. package/dist/module/user/entity/role.entity.js.map +1 -1
  203. package/dist/module/user/entity/user-role-mapping.entity.d.ts +10 -0
  204. package/dist/module/user/entity/user-role-mapping.entity.js +33 -1
  205. package/dist/module/user/entity/user-role-mapping.entity.js.map +1 -1
  206. package/dist/module/user/entity/user-session.entity.d.ts +0 -2
  207. package/dist/module/user/entity/user-session.entity.js +2 -20
  208. package/dist/module/user/entity/user-session.entity.js.map +1 -1
  209. package/dist/module/user/entity/user.entity.d.ts +17 -5
  210. package/dist/module/user/entity/user.entity.js +61 -15
  211. package/dist/module/user/entity/user.entity.js.map +1 -1
  212. package/dist/module/user/repository/role.repository.d.ts +6 -2
  213. package/dist/module/user/repository/role.repository.js +16 -8
  214. package/dist/module/user/repository/role.repository.js.map +1 -1
  215. package/dist/module/user/repository/user-role-mapping.repository.d.ts +1 -0
  216. package/dist/module/user/repository/user-role-mapping.repository.js +3 -0
  217. package/dist/module/user/repository/user-role-mapping.repository.js.map +1 -1
  218. package/dist/module/user/repository/user.repository.d.ts +4 -2
  219. package/dist/module/user/repository/user.repository.js +19 -7
  220. package/dist/module/user/repository/user.repository.js.map +1 -1
  221. package/dist/module/user/repository/userSession.repository.d.ts +1 -0
  222. package/dist/module/user/repository/userSession.repository.js +3 -0
  223. package/dist/module/user/repository/userSession.repository.js.map +1 -1
  224. package/dist/module/user/service/login.service.d.ts +3 -5
  225. package/dist/module/user/service/login.service.js +43 -42
  226. package/dist/module/user/service/login.service.js.map +1 -1
  227. package/dist/module/user/service/role.service.d.ts +24 -11
  228. package/dist/module/user/service/role.service.js +42 -38
  229. package/dist/module/user/service/role.service.js.map +1 -1
  230. package/dist/module/user/service/user-role-mapping.service.d.ts +2 -0
  231. package/dist/module/user/service/user-role-mapping.service.js +6 -0
  232. package/dist/module/user/service/user-role-mapping.service.js.map +1 -1
  233. package/dist/module/user/service/user-session.service.d.ts +3 -4
  234. package/dist/module/user/service/user-session.service.js +10 -11
  235. package/dist/module/user/service/user-session.service.js.map +1 -1
  236. package/dist/module/user/service/user.service.d.ts +29 -22
  237. package/dist/module/user/service/user.service.js +44 -59
  238. package/dist/module/user/service/user.service.js.map +1 -1
  239. package/dist/module/user/user.module.js +1 -7
  240. package/dist/module/user/user.module.js.map +1 -1
  241. package/dist/module/workflow/repository/action-data.repository.d.ts +1 -1
  242. package/dist/module/workflow/repository/action-data.repository.js +6 -8
  243. package/dist/module/workflow/repository/action-data.repository.js.map +1 -1
  244. package/dist/module/workflow/repository/action.repository.d.ts +1 -1
  245. package/dist/module/workflow/repository/action.repository.js +10 -10
  246. package/dist/module/workflow/repository/action.repository.js.map +1 -1
  247. package/dist/module/workflow/repository/form-master.repository.d.ts +1 -1
  248. package/dist/module/workflow/repository/form-master.repository.js +2 -2
  249. package/dist/module/workflow/repository/form-master.repository.js.map +1 -1
  250. package/dist/module/workflow/service/action-data.service.js +1 -2
  251. package/dist/module/workflow/service/action-data.service.js.map +1 -1
  252. package/dist/module/workflow/service/action.service.js +2 -2
  253. package/dist/module/workflow/service/action.service.js.map +1 -1
  254. package/dist/module/workflow/service/comm-template.service.js +0 -2
  255. package/dist/module/workflow/service/comm-template.service.js.map +1 -1
  256. package/dist/module/workflow/service/entity-modification.service.js +0 -1
  257. package/dist/module/workflow/service/entity-modification.service.js.map +1 -1
  258. package/dist/module/workflow/service/form-master.service.js +2 -2
  259. package/dist/module/workflow/service/form-master.service.js.map +1 -1
  260. package/dist/module/workflow/service/populate-workflow.service.d.ts +1 -1
  261. package/dist/module/workflow/service/populate-workflow.service.js +1 -1
  262. package/dist/module/workflow/service/populate-workflow.service.js.map +1 -1
  263. package/dist/module/workflow/service/task.service.js +0 -3
  264. package/dist/module/workflow/service/task.service.js.map +1 -1
  265. package/dist/module/workflow/service/workflow-meta.service.js +2 -7
  266. package/dist/module/workflow/service/workflow-meta.service.js.map +1 -1
  267. package/dist/module/workflow/service/workflow.service.js +2 -2
  268. package/dist/module/workflow/service/workflow.service.js.map +1 -1
  269. package/dist/module/workflow/workflow.module.js +2 -0
  270. package/dist/module/workflow/workflow.module.js.map +1 -1
  271. package/dist/module/workflow-automation/service/workflow-automation.service.js +11 -6
  272. package/dist/module/workflow-automation/service/workflow-automation.service.js.map +1 -1
  273. package/dist/module/workflow-automation/workflow-automation.module.js +3 -1
  274. package/dist/module/workflow-automation/workflow-automation.module.js.map +1 -1
  275. package/dist/module/workflow-schedule/service/workflow-schedule.service.js +0 -2
  276. package/dist/module/workflow-schedule/service/workflow-schedule.service.js.map +1 -1
  277. package/dist/table.config.d.ts +2 -4
  278. package/dist/table.config.js +0 -2
  279. package/dist/table.config.js.map +1 -1
  280. package/dist/tsconfig.build.tsbuildinfo +1 -1
  281. package/package.json +2 -2
  282. package/server.log +850 -0
  283. package/src/app.module.ts +5 -5
  284. package/src/constant/status.constant.ts +4 -0
  285. package/src/core.module.ts +55 -44
  286. package/src/module/auth/strategies/jwt.strategy.ts +4 -2
  287. package/src/module/dashboard/dashboard.module.ts +3 -3
  288. package/src/module/dashboard/service/dashboard.service.ts +2 -3
  289. package/src/module/enterprise/controller/enterprise.controller.ts +40 -0
  290. package/src/module/enterprise/controller/meta.controller.ts +23 -0
  291. package/src/module/enterprise/controller/organization.controller.ts +60 -4
  292. package/src/module/enterprise/enterprise.module.ts +16 -18
  293. package/src/module/enterprise/entity/enterprise.entity.ts +5 -11
  294. package/src/module/enterprise/entity/organization-app-mapping.entity.ts +18 -4
  295. package/src/module/enterprise/entity/organization.entity.ts +9 -59
  296. package/src/module/enterprise/repository/enterprise.repository.ts +26 -4
  297. package/src/module/enterprise/service/brand-profile.service.ts +10 -0
  298. package/src/module/enterprise/service/brand.service.ts +75 -5
  299. package/src/module/enterprise/service/enterprise.service.ts +10 -4
  300. package/src/module/enterprise/service/organization.service.ts +140 -23
  301. package/src/module/{meta → enterprise}/service/populate-meta.service.ts +2 -5
  302. package/src/module/enterprise/service/school.service.ts +5 -0
  303. package/src/module/entity_json/controller/entity_json.controller.ts +0 -13
  304. package/src/module/entity_json/entity/entityJson.entity.ts +1 -4
  305. package/src/module/entity_json/entity_json.module.ts +5 -9
  306. package/src/module/entity_json/service/entity_json.service.ts +49 -233
  307. package/src/module/filter/controller/filter.controller.ts +3 -1
  308. package/src/module/filter/filter.module.ts +3 -12
  309. package/src/module/filter/service/filter.service.ts +73 -130
  310. package/src/module/filter/service/saved-filter.service.ts +26 -16
  311. package/src/module/integration/service/integration.service.ts +2 -6
  312. package/src/module/integration/service/wrapper.service.ts +0 -1
  313. package/src/module/layout/controller/layout.controller.ts +1 -8
  314. package/src/module/layout/entity/header-section.entity.ts +0 -6
  315. package/src/module/layout/layout.module.ts +1 -1
  316. package/src/module/layout/repository/header-section.repository.ts +0 -6
  317. package/src/module/layout/service/header-section.service.ts +1 -1
  318. package/src/module/linked_attributes/controller/linked_attributes.controller.ts +0 -100
  319. package/src/module/linked_attributes/linked_attributes.module.ts +2 -9
  320. package/src/module/linked_attributes/service/linked_attributes.service.ts +3 -578
  321. package/src/module/listmaster/service/list-master.service.ts +1 -9
  322. package/src/module/meta/controller/meta.controller.ts +3 -25
  323. package/src/module/meta/entity/app-master.entity.ts +22 -9
  324. package/src/module/meta/entity/entity-master.entity.ts +3 -9
  325. package/src/module/meta/entity.module.ts +5 -6
  326. package/src/module/meta/repository/app-master.repository.ts +1 -1
  327. package/src/module/meta/service/attribute-master.service.ts +1 -31
  328. package/src/module/meta/service/entity-master.service.ts +0 -1
  329. package/src/module/meta/service/entity-relation.service.ts +6 -10
  330. package/src/module/meta/service/entity-service-impl.service.ts +19 -14
  331. package/src/module/meta/service/entity-table.service.ts +20 -15
  332. package/src/module/meta/service/entity.service.ts +1 -0
  333. package/src/module/meta/service/resolver.service.ts +0 -4
  334. package/src/module/module/controller/menu.controller.ts +2 -2
  335. package/src/module/module/controller/module-access.controller.ts +16 -11
  336. package/src/module/module/entity/menu.entity.ts +14 -10
  337. package/src/module/module/entity/module-access.entity.ts +41 -1
  338. package/src/module/module/entity/module-action.entity.ts +10 -6
  339. package/src/module/module/entity/module.entity.ts +7 -14
  340. package/src/module/module/module.module.ts +2 -3
  341. package/src/module/module/repository/menu.repository.ts +19 -31
  342. package/src/module/module/repository/module-access.repository.ts +100 -63
  343. package/src/module/module/service/menu.service.ts +11 -13
  344. package/src/module/module/service/module-access.service.ts +26 -38
  345. package/src/module/notification/entity/notification.entity.ts +53 -3
  346. package/src/module/notification/notification.module.ts +0 -2
  347. package/src/module/notification/service/notification.service.ts +0 -1
  348. package/src/module/notification/service/otp.service.ts +4 -3
  349. package/src/module/user/controller/login.controller.ts +7 -8
  350. package/src/module/user/controller/user.controller.ts +0 -9
  351. package/src/module/user/dto/create-user.dto.ts +19 -6
  352. package/src/module/user/entity/role.entity.ts +59 -16
  353. package/src/module/user/entity/user-role-mapping.entity.ts +29 -3
  354. package/src/module/user/entity/user-session.entity.ts +3 -19
  355. package/src/module/user/entity/user.entity.ts +48 -13
  356. package/src/module/user/repository/role.repository.ts +24 -12
  357. package/src/module/user/repository/user-role-mapping.repository.ts +5 -1
  358. package/src/module/user/repository/user.repository.ts +28 -8
  359. package/src/module/user/repository/userSession.repository.ts +5 -1
  360. package/src/module/user/service/login.service.ts +47 -51
  361. package/src/module/user/service/role.service.ts +53 -60
  362. package/src/module/user/service/user-role-mapping.service.ts +23 -1
  363. package/src/module/user/service/user-session.service.ts +14 -11
  364. package/src/module/user/service/user.service.ts +63 -95
  365. package/src/module/user/user.module.ts +3 -5
  366. package/src/module/workflow/repository/action-data.repository.ts +6 -8
  367. package/src/module/workflow/repository/action.repository.ts +11 -11
  368. package/src/module/workflow/repository/form-master.repository.ts +2 -2
  369. package/src/module/workflow/service/action-data.service.ts +3 -2
  370. package/src/module/workflow/service/action.service.ts +2 -2
  371. package/src/module/workflow/service/comm-template.service.ts +0 -2
  372. package/src/module/workflow/service/entity-modification.service.ts +0 -1
  373. package/src/module/workflow/service/form-master.service.ts +2 -2
  374. package/src/module/workflow/service/populate-workflow.service.ts +1 -1
  375. package/src/module/workflow/service/task.service.ts +0 -3
  376. package/src/module/workflow/service/workflow-meta.service.ts +2 -7
  377. package/src/module/workflow/service/workflow.service.ts +2 -2
  378. package/src/module/workflow/workflow.module.ts +2 -0
  379. package/src/module/workflow-automation/service/workflow-automation.service.ts +19 -7
  380. package/src/module/workflow-automation/workflow-automation.module.ts +4 -3
  381. package/src/module/workflow-schedule/service/workflow-schedule.service.ts +0 -2
  382. package/src/resources/dev.properties.yaml +2 -2
  383. package/src/table.config.ts +0 -2
  384. package/dist/migrations/1732612800000-AddEntityJsonGinIndex.d.ts +0 -6
  385. package/dist/migrations/1732612800000-AddEntityJsonGinIndex.js +0 -32
  386. package/dist/migrations/1732612800000-AddEntityJsonGinIndex.js.map +0 -1
  387. package/dist/module/filter/service/flatjson-filter.service.d.ts +0 -32
  388. package/dist/module/filter/service/flatjson-filter.service.js +0 -632
  389. package/dist/module/filter/service/flatjson-filter.service.js.map +0 -1
  390. package/dist/module/linked_attributes/dto/create-linked-attribute-smart.dto.d.ts +0 -13
  391. package/dist/module/linked_attributes/dto/create-linked-attribute-smart.dto.js +0 -64
  392. package/dist/module/linked_attributes/dto/create-linked-attribute-smart.dto.js.map +0 -1
  393. package/dist/module/meta/service/populate-meta.service.d.ts +0 -13
  394. package/dist/module/meta/service/populate-meta.service.js.map +0 -1
  395. package/src/migrations/1732612800000-AddEntityJsonGinIndex.ts +0 -41
  396. package/src/module/entity_json/docs/FlatJson_Filterin_System.md +0 -2804
  397. package/src/module/filter/service/flatjson-filter.service.ts +0 -903
  398. package/src/module/filter/test/flatjson-filter.service.spec.ts +0 -415
  399. package/src/module/linked_attributes/dto/create-linked-attribute-smart.dto.ts +0 -54
  400. package/src/module/linked_attributes/test/linked-attributes.service.spec.ts +0 -244
@@ -9,7 +9,7 @@ export class UserRoleMappingRepository {
9
9
  constructor(
10
10
  @InjectRepository(UserRoleMapping)
11
11
  private readonly userRoleMappingRepository: Repository<UserRoleMapping>,
12
- ) {}
12
+ ) { }
13
13
 
14
14
  async save(
15
15
  userRoleMapping: UserRoleMapping,
@@ -123,4 +123,8 @@ export class UserRoleMappingRepository {
123
123
  },
124
124
  });
125
125
  }
126
+
127
+ async find(options: any): Promise<UserRoleMapping[]> {
128
+ return await this.userRoleMappingRepository.find(options);
129
+ }
126
130
  }
@@ -8,34 +8,46 @@ import { InjectRepository } from '@nestjs/typeorm';
8
8
  export class UserRepository {
9
9
  constructor(
10
10
  @InjectRepository(UserData) private userRepository: Repository<UserData>,
11
- ) {}
11
+ ) { }
12
12
 
13
13
  async findById(userId: number): Promise<UserData | null> {
14
14
  return this.userRepository.findOne({ where: { id: userId } });
15
15
  }
16
+
16
17
  async findByEmailId(
17
18
  email: string,
18
- organization_id?: number,
19
+ enterprise_id?: number,
20
+ getLastApp?: boolean,
19
21
  ): Promise<UserData | null> {
20
22
  if (!email) return null;
21
23
 
22
24
  const where: any = { email_id: email };
23
- if (organization_id !== undefined) {
24
- where.organization_id = organization_id;
25
+
26
+ if (enterprise_id !== undefined) {
27
+ where.enterprise_id = enterprise_id;
25
28
  }
26
- return this.userRepository.findOne({ where });
29
+
30
+ const options: any = { where };
31
+
32
+ if (getLastApp) {
33
+ options.relations = {
34
+ last_app: true,
35
+ };
36
+ }
37
+
38
+ return this.userRepository.findOne(options);
27
39
  }
28
40
 
29
41
  async findByMobile(
30
42
  mobile: string,
31
- organization_id?: number,
43
+ enterprise_id?: number,
32
44
  appCode?: string,
33
45
  ): Promise<UserData | null> {
34
46
  if (!mobile) return null;
35
47
 
36
48
  const where: any = { mobile };
37
- if (organization_id !== undefined) {
38
- where.organization_id = organization_id;
49
+ if (enterprise_id !== undefined) {
50
+ where.enterprise_id = enterprise_id;
39
51
  }
40
52
  if (appCode !== undefined) {
41
53
  where.appcode = appCode;
@@ -47,4 +59,12 @@ export class UserRepository {
47
59
  async saveUser(user: UserData): Promise<UserData> {
48
60
  return this.userRepository.save(user);
49
61
  }
62
+
63
+ async updateUser(id: number, user: UserData) {
64
+ return await this.userRepository.update(id, user);
65
+ }
66
+
67
+ async find(options: any): Promise<UserData[]> {
68
+ return await this.userRepository.find(options);
69
+ }
50
70
  }
@@ -8,7 +8,7 @@ export class UserSessionRepository {
8
8
  constructor(
9
9
  @InjectRepository(UserSession)
10
10
  private userSessionRepo: Repository<UserSession>,
11
- ) {}
11
+ ) { }
12
12
 
13
13
  async findBySessionKey(sessionKey: string): Promise<UserSession | null> {
14
14
  return this.userSessionRepo.findOne({ where: { session_key: sessionKey } });
@@ -24,6 +24,10 @@ export class UserSessionRepository {
24
24
  return this.userSessionRepo.save(session);
25
25
  }
26
26
 
27
+ async fetchUserFcmToken(user_id: number) {
28
+ return await this.userSessionRepo.findOne({ where: { user_id }, select: ['fcm_token'], order: { login_time: 'DESC' } });
29
+ }
30
+
27
31
  async logoutSession(sessionKey: string): Promise<void> {
28
32
  await this.userSessionRepo.update(
29
33
  { session_key: sessionKey },
@@ -2,8 +2,6 @@ import { BadRequestException, Inject, Injectable } from '@nestjs/common';
2
2
  import { ConfigService } from '@nestjs/config';
3
3
  import { InjectRepository } from '@nestjs/typeorm';
4
4
  import { INVITATION_STATUS_ACCEPTED, STATUS_ACTIVE } from 'src/constant/global.constant';
5
- import { OrganizationRepository } from 'src/module/enterprise/repository/organization.repository';
6
- import { ListMasterService } from 'src/module/listmaster/service/list-master.service';
7
5
  import { Repository } from 'typeorm';
8
6
  import { EncryptUtilService } from '../../../utils/service/encryptUtil.service';
9
7
  import { UserRoleMapping } from '../entity/user-role-mapping.entity';
@@ -11,6 +9,8 @@ import { UserSessionService } from './user-session.service';
11
9
  import { UserService } from './user.service';
12
10
  import { JwtAuthService } from 'src/module/auth/services/jwt.service';
13
11
  import { ReflectionHelper } from '../../../utils/service/reflection-helper.service';
12
+ import { EnterpriseRepository } from 'src/module/enterprise/repository/enterprise.repository';
13
+ import { StatusConstant } from '../../../constant/status.constant';
14
14
 
15
15
  @Injectable()
16
16
  export class LoginService {
@@ -20,9 +20,7 @@ export class LoginService {
20
20
  private configService: ConfigService,
21
21
  @InjectRepository(UserRoleMapping)
22
22
  private readonly userRoleMappingRepository: Repository<UserRoleMapping>,
23
- private readonly organizationRepository: OrganizationRepository,
24
- @Inject('ListMasterService')
25
- private readonly listMasterService: ListMasterService,
23
+ private readonly enterpriseRepository: EnterpriseRepository,
26
24
  private readonly jwtAuthService: JwtAuthService,
27
25
  private readonly reflectionHelper: ReflectionHelper,
28
26
  ) {
@@ -39,53 +37,49 @@ export class LoginService {
39
37
  }): Promise<any> {
40
38
  const { email_id, password, is_otp = false, subdomain } = data;
41
39
 
42
- let organization;
40
+ let enterprise;
43
41
 
44
42
  if (subdomain) {
45
- organization =
46
- await this.organizationRepository.findOrganizationBySubdomain(
43
+ enterprise =
44
+ await this.enterpriseRepository.findEnterpriseBySubdomain(
47
45
  subdomain,
48
46
  );
49
47
 
50
- if (!organization) {
48
+ if (!enterprise) {
51
49
  return {
52
50
  success: false,
53
- message: 'Organization not found.',
51
+ message: 'Enterprise not found.',
54
52
  };
55
53
  }
56
54
  }
57
55
 
58
- // 🔹 Step 2: Find the user by email + organization check
56
+ // 🔹 Step 2: Find the user by email + enterprise check
59
57
  const user = await this.userService.findByEmailId(
60
58
  email_id,
61
- organization?.id,
59
+ enterprise?.id,
60
+ true
62
61
  );
63
62
 
64
- if (!user || (organization && user.organization_id !== organization.id)) {
63
+ if (!user || (enterprise && user.enterprise_id !== enterprise.id)) {
65
64
  return {
66
65
  success: false,
67
- message: 'User not found in organization.',
66
+ message: 'User not found in Enterprise.',
68
67
  };
69
68
  }
70
69
 
71
70
  // 🔹 Step 3: Verify org status
72
- const userOrgData = await this.organizationRepository.findOrganizationById(
73
- user.organization_id,
74
- );
75
-
76
- const resolveStatus = await this.listMasterService.getResolvedListCode(
77
- STATUS_ACTIVE,
78
- user?.organization_id || 0,
71
+ const userOrgData = await this.enterpriseRepository.findById(
72
+ user.enterprise_id,
79
73
  );
80
74
 
81
75
  if (
82
- user.status != resolveStatus.id ||
83
- userOrgData?.status != resolveStatus.id
76
+ user.status != StatusConstant.ACTIVE ||
77
+ userOrgData?.status != StatusConstant.ACTIVE
84
78
  ) {
85
79
  return {
86
80
  success: false,
87
81
  message:
88
- 'Your account or organization is inactive. Please contact admin.',
82
+ 'Your account or Enterprise is inactive. Please contact admin.',
89
83
  };
90
84
  }
91
85
 
@@ -107,20 +101,23 @@ export class LoginService {
107
101
  }
108
102
 
109
103
  // 🔹 Step 5: App access check
110
- let appcode = user.last_app_access;
104
+ let app_id = user.last_app_access_id;
111
105
 
112
- if (!user.last_app_access || user.last_app_access == '') {
113
- await this.userService.setDefaultLastAccess(user.id, appcode);
106
+ if (!user.last_app_access_id) {
107
+ await this.userService.setDefaultLastAccess(user.id, app_id);
114
108
  }
115
109
 
116
110
  const whereCondition: any = { user_id: user.id };
117
111
 
118
- if (appcode && appcode !== '') {
119
- whereCondition.appcode = appcode;
112
+ if (app_id) {
113
+ whereCondition.app_id = app_id;
120
114
  }
121
115
 
122
116
  const roleMappings = await this.userRoleMappingRepository.find({
123
117
  where: whereCondition,
118
+ relations: {
119
+ app: true
120
+ }
124
121
  });
125
122
 
126
123
  if (!roleMappings.length) {
@@ -137,33 +134,29 @@ export class LoginService {
137
134
  user.id,
138
135
  defaultAccess.level_type,
139
136
  defaultAccess.level_id,
140
- defaultAccess.appcode,
137
+ defaultAccess.app_id,
141
138
  );
142
139
 
143
140
  const token = await this.userSessionService.createSession(
144
141
  user,
145
- defaultAccess.appcode,
142
+ defaultAccess.app_id,
146
143
  defaultAccess,
144
+ defaultAccess.appcode
147
145
  );
148
146
 
149
147
  // 🔹 Step 7: Update first login + invitation status
150
- const resolvedInvitationStatus =
151
- await this.listMasterService.getResolvedListCode(
152
- INVITATION_STATUS_ACCEPTED,
153
- user?.organization_id || 0,
154
- );
155
148
 
156
149
  if (user.is_firstlogin === 1) {
157
- user.invitation_status = resolvedInvitationStatus.id;
150
+ user.invitation_status = INVITATION_STATUS_ACCEPTED;
158
151
  user.is_firstlogin = 0;
159
152
  const { password, ...userWithoutPassword } = user;
160
- await this.userService.updateEntity(userWithoutPassword, user);
153
+ await this.userService.updateUser(user.id, userWithoutPassword, user);
161
154
  }
162
155
 
163
156
  // 🔹 Step 8: Return response
164
157
 
165
- const org = await this.organizationRepository.findOrganizationById(
166
- user.organization_id,
158
+ const org = await this.enterpriseRepository.findById(
159
+ user.enterprise_id,
167
160
  );
168
161
  let slug: string;
169
162
  if (org) {
@@ -171,23 +164,24 @@ export class LoginService {
171
164
  } else {
172
165
  return {
173
166
  success: false,
174
- message: 'Organization not found for the user.',
167
+ message: 'Enterprise not found for the user.',
175
168
  };
176
169
  }
177
170
 
178
171
  return {
179
172
  success: true,
180
173
  accessToken: token,
181
- appcode: defaultAccess.appcode,
174
+ app_id: defaultAccess.app_id,
182
175
  level_type: defaultAccess.level_type,
183
176
  level_id: defaultAccess.level_id,
184
177
  slug: slug,
178
+ appcode: defaultAccess.appcode
185
179
  };
186
180
  }
187
181
 
188
182
  async formLogin(body: any): Promise<any> {
189
183
  if (body) {
190
- const { entity_type, entity_id } = body;
184
+ const { entity_id } = body;
191
185
 
192
186
  const leadRepo = this.reflectionHelper.getRepoService('CRMLead');
193
187
  const entityData = await leadRepo.findOne({
@@ -197,12 +191,12 @@ export class LoginService {
197
191
  if (entityData) {
198
192
  const level_id = entityData.level_id;
199
193
  const level_type = entityData.level_type;
200
- const organization_id = entityData.organization_id;
194
+ const enterprise_id = entityData.enterprise_id;
201
195
 
202
196
  const token = this.jwtAuthService.generateJwt({
203
197
  level_id: level_id,
204
198
  level_type: level_type,
205
- organization_id: organization_id,
199
+ enterprise_id: enterprise_id,
206
200
  });
207
201
 
208
202
  return {
@@ -216,7 +210,7 @@ export class LoginService {
216
210
  private async getDefaultAccess(
217
211
  user: any,
218
212
  roleMappings: any[],
219
- ): Promise<{ level_type: string; level_id: string; appcode: string }> {
213
+ ): Promise<{ level_type: string; level_id: string; app_id: number; appcode?:string }> {
220
214
  const orgAccess = roleMappings.find((r) => r.level_type === 'ORG');
221
215
  const brnAccesses = roleMappings.filter((r) => r.level_type === 'BRN');
222
216
  const schAccesses = roleMappings.filter((r) => r.level_type === 'SCH');
@@ -224,7 +218,7 @@ export class LoginService {
224
218
  let validURM;
225
219
 
226
220
  validURM = roleMappings.some(
227
- (r) => r.level_type == 'ORG' && r.level_id == user.organization_id,
221
+ (r) => r.level_type == 'ORG' && r.level_id == user.enterprise_id,
228
222
  );
229
223
 
230
224
  if (!validURM) {
@@ -239,7 +233,8 @@ export class LoginService {
239
233
  return {
240
234
  level_type: user.last_level_type,
241
235
  level_id: user.last_level_id,
242
- appcode: user.last_app_access,
236
+ app_id: user.last_app_access_id,
237
+ appcode: user.last_app.code
243
238
  };
244
239
  }
245
240
 
@@ -247,7 +242,8 @@ export class LoginService {
247
242
  return {
248
243
  level_type: 'ORG',
249
244
  level_id: orgAccess.level_id,
250
- appcode: orgAccess.appcode,
245
+ app_id: orgAccess.app_id,
246
+ appcode: orgAccess.app.code
251
247
  };
252
248
  }
253
249
 
@@ -269,7 +265,7 @@ export class LoginService {
269
265
  return {
270
266
  level_type: 'SCH',
271
267
  level_id: rows.id,
272
- appcode: brnAccesses[0].appcode,
268
+ app_id: brnAccesses[0].app_id,
273
269
  };
274
270
  } else {
275
271
  throw new BadRequestException(
@@ -282,7 +278,7 @@ export class LoginService {
282
278
  return {
283
279
  level_type: 'SCH',
284
280
  level_id: schAccesses[0].level_id,
285
- appcode: schAccesses[0].appcode,
281
+ app_id: schAccesses[0].app_id,
286
282
  };
287
283
  }
288
284
 
@@ -1,69 +1,60 @@
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_ACTIVE, 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,
24
+ async createRole(
25
+ role: Role,
33
26
  loggedInUser: UserData,
34
- ): Promise<ServiceResult<BaseEntity>> {
35
- const role = entityData as Role;
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.appcode = role.appcode || loggedInUser.appcode;
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
+
54
49
  const sourceRole = role.copy_from_role_id
55
- ? await this.getEntityData(
56
- ENTITYTYPE_ROLE,
57
- role.copy_from_role_id,
58
- loggedInUser,
59
- )
50
+ ? await this.roleRepository.findById(role.copy_from_role_id)
60
51
  : null;
61
52
 
62
53
  if (role.copy_from_role_id && !sourceRole) {
63
54
  return { success: false, error: 'Source role not found.' };
64
55
  }
65
-
66
- const savedRole = await super.createEntity(role, loggedInUser);
56
+ role.status = StatusConstant.ACTIVE;
57
+ const savedRole = await this.roleRepository.saveRole(role);
67
58
  if (sourceRole) {
68
59
  const sourcePermissions = await this.moduleAccessRepo.find({
69
60
  where: { role_code: sourceRole.code },
@@ -85,40 +76,31 @@ export class RoleService extends EntityServiceImpl {
85
76
  return { success: true, data: savedRole };
86
77
  }
87
78
 
88
- async updateEntity(
89
- entityData: BaseEntity,
79
+ async updateRole(
80
+ id: number,
81
+ role: Role,
90
82
  loggedInUser: UserData,
91
- ): Promise<ServiceResult<BaseEntity>> {
92
- if (!entityData.name) {
83
+ ) {
84
+ if (!role.name) {
93
85
  return { success: false, error: 'Role name is required' };
94
86
  }
95
- const role = entityData as Role;
96
87
 
97
- const resolveStatus = await this.listMasterService.getResolvedListCode(
98
- STATUS_INACTIVE,
99
- loggedInUser?.organization_id || 0,
100
- );
101
-
102
- if (entityData.status == resolveStatus.id) {
88
+ if (role.status == STATUS_INACTIVE) {
103
89
  //get role by id
104
- const existingRole = await this.getEntityData(
105
- ENTITYTYPE_ROLE,
106
- entityData.id,
107
- loggedInUser,
108
- );
90
+ const existingRole = await this.roleRepository.findById(id);
109
91
 
110
92
  if (!existingRole) {
111
93
  return { success: false, error: 'Role not found' };
112
94
  }
113
95
 
114
96
  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", {
97
+ .createQueryBuilder('map')
98
+ .innerJoin('sso_user', 'usr', 'map.user_id = usr.id')
99
+ .where('usr.status::text = :status', { status: StatusConstant.INACTIVE })
100
+ .andWhere('map.role_id::text = :roleId', {
119
101
  roleId: String(existingRole?.id),
120
102
  })
121
- .select("map") // same as SELECT map.*
103
+ .select('map') // same as SELECT map.*
122
104
  .getRawMany();
123
105
 
124
106
  if (associatedUsers.length > 0) {
@@ -137,9 +119,9 @@ export class RoleService extends EntityServiceImpl {
137
119
  }
138
120
 
139
121
  if (
140
- await this.roleRepository.isRoleNameExists(entityData.name, {
141
- excludeRoleId: entityData.id,
142
- organization_id: loggedInUser?.organization_id,
122
+ await this.roleRepository.isRoleNameExists(role.name, {
123
+ excludeRoleId: role.id,
124
+ enterprise_id: loggedInUser?.enterprise_id,
143
125
  })
144
126
  ) {
145
127
  return {
@@ -149,14 +131,13 @@ export class RoleService extends EntityServiceImpl {
149
131
  }
150
132
 
151
133
  const { copy_from_role_id, ...persistableData } = role;
152
- const updatedRole = await super.updateEntity(persistableData, loggedInUser);
134
+
135
+ const entity = plainToInstance(Role, persistableData);
136
+ const updatedRole = await this.roleRepository.updateRole(id, entity);
153
137
 
154
138
  if (role.copy_from_role_id) {
155
- const sourceRole = await this.getEntityData(
156
- ENTITYTYPE_ROLE,
157
- role.copy_from_role_id,
158
- loggedInUser,
159
- );
139
+
140
+ const sourceRole = await this.roleRepository.findById(role.copy_from_role_id);
160
141
 
161
142
  if (!sourceRole) {
162
143
  return {
@@ -194,4 +175,16 @@ export class RoleService extends EntityServiceImpl {
194
175
  }): Promise<Role[] | null> {
195
176
  return await this.roleRepository.find(data);
196
177
  }
178
+
179
+ async findByCode(code: string) {
180
+ return await this.roleRepository.findByCode(code);
181
+ }
182
+
183
+ async findById(id: number) {
184
+ return await this.roleRepository.findById(id);
185
+ }
186
+
187
+ async find(options: any): Promise<Role[]> {
188
+ return await this.roleRepository.findRoles(options);
189
+ }
197
190
  }
@@ -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
  });