rez_core 6.5.50 → 6.5.52

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,25 +1,62 @@
1
- import { Column, Entity, PrimaryGeneratedColumn } from 'typeorm';
1
+ import { Column, Entity, JoinColumn, ManyToOne, PrimaryGeneratedColumn } from 'typeorm';
2
+ import { ModuleData } from './module.entity';
3
+ import { Role } from 'src/module/user/entity/role.entity';
4
+ import { ModuleAction } from './module-action.entity';
5
+ import { EnterpriseData } from 'src/module/enterprise/entity/enterprise.entity';
6
+ import { AppMaster } from '../../app_master/entity/app-master.entity';
2
7
 
3
8
  @Entity({ name: 'sso_module_access' })
4
9
  export class ModuleAccess {
5
10
  @PrimaryGeneratedColumn()
6
11
  id: number;
7
12
 
8
- @Column({ type: 'varchar', length: 100, nullable: true })
9
- module_code: string;
13
+ @Column({ type: 'int', nullable: true })
14
+ module_id: number;
15
+
16
+ @ManyToOne(() => ModuleData, { nullable: true, onDelete: 'SET NULL' })
17
+ @JoinColumn({ name: 'module_id', referencedColumnName: 'id' })
18
+ module: ModuleData;
10
19
 
11
20
  @Column({ type: 'varchar', length: 100, nullable: true })
12
21
  role_code: string;
13
22
 
23
+ @Column({ type: 'int', nullable: true })
24
+ role_id: number;
25
+
26
+ @ManyToOne(() => Role, { nullable: true, onDelete: 'SET NULL' })
27
+ @JoinColumn({ name: 'role_id', referencedColumnName: 'id' })
28
+ role: Role;
29
+
14
30
  @Column({ type: 'int', nullable: true })
15
31
  access_flag: number;
16
32
 
17
33
  @Column({ type: 'varchar', length: 100, nullable: true })
18
34
  action_type: string;
19
35
 
36
+ @Column({ type: 'int', nullable: true })
37
+ action_id: number;
38
+
39
+ @ManyToOne(() => ModuleAction, { nullable: true, onDelete: 'SET NULL' })
40
+ @JoinColumn({ name: 'action_id', referencedColumnName: 'id' })
41
+ action: ModuleAction;
42
+
20
43
  @Column({ type: 'varchar', length: 100, nullable: true })
21
44
  level_type: string;
22
45
 
23
46
  @Column({ type: 'varchar', length: 100, nullable: true })
24
47
  appcode: string;
48
+
49
+ @Column({type: 'int', nullable: true })
50
+ app_id: number
51
+
52
+ @ManyToOne(() => AppMaster, { nullable: true, onDelete: 'SET NULL' })
53
+ @JoinColumn({ name: 'app_id', referencedColumnName: 'id' })
54
+ app: AppMaster;
55
+
56
+ @Column({ type: 'int', nullable: true })
57
+ enterprise_id: number;
58
+
59
+ @ManyToOne(() => EnterpriseData, { nullable: true, onDelete: 'SET NULL' })
60
+ @JoinColumn({ name: 'enterprise_id', referencedColumnName: 'id' })
61
+ enterprise: EnterpriseData;
25
62
  }
@@ -1,17 +1,21 @@
1
- import { Column, Entity, PrimaryGeneratedColumn, Unique } from 'typeorm';
1
+ import { Column, Entity, JoinColumn, ManyToOne, PrimaryGeneratedColumn } from 'typeorm';
2
+ import { ModuleData } from './module.entity';
2
3
 
3
- @Entity({ name: 'sso_module_action' }) // <- new table name
4
- @Unique(['module_code', 'action_type']) // enforce uniqueness per module + action
4
+ @Entity({ name: 'sso_module_ucp' }) // <- new table name
5
5
  export class ModuleAction {
6
6
  @PrimaryGeneratedColumn()
7
7
  id: number;
8
8
 
9
- @Column({ type: 'varchar', length: 100, nullable: true })
10
- module_code: string;
9
+ @Column({ type: 'int', nullable: true })
10
+ module_id: number;
11
+
12
+ @ManyToOne(() => ModuleData, {nullable: true, onDelete: 'SET NULL'})
13
+ @JoinColumn({ name: 'module_id', referencedColumnName: 'id' })
14
+ module: ModuleData;
11
15
 
12
16
  @Column({ type: 'varchar', length: 100, nullable: true })
13
17
  action_name: string;
14
18
 
15
19
  @Column({ type: 'varchar', length: 50, nullable: true })
16
- action_type: string;
20
+ action_code: string;
17
21
  }
@@ -1,4 +1,5 @@
1
- import { Column, Entity, PrimaryGeneratedColumn } from 'typeorm';
1
+ import { AppMaster } from 'src/module/app_master/entity/app-master.entity';
2
+ import { Column, Entity, JoinColumn, ManyToOne, PrimaryGeneratedColumn } from 'typeorm';
2
3
 
3
4
  @Entity({ name: 'sso_module' })
4
5
  export class ModuleData {
@@ -20,15 +21,6 @@ export class ModuleData {
20
21
  @Column({ type: 'varchar', length: 100, nullable: true })
21
22
  module_level: string;
22
23
 
23
- @Column({ type: 'int', nullable: true })
24
- parent_id: number;
25
-
26
- @Column({ type: 'varchar', length: 100, nullable: true })
27
- parent_code: string;
28
-
29
- @Column({ type: 'int', nullable: true })
30
- ui_visible: number;
31
-
32
24
  @Column({ type: 'varchar', length: 100, nullable: true })
33
25
  entity_type: string;
34
26
 
@@ -38,11 +30,12 @@ export class ModuleData {
38
30
  @Column({ type: 'varchar', length: 100, nullable: true })
39
31
  component_name: string;
40
32
 
41
- @Column({ type: 'json', nullable: true })
42
- ui_config: JSON;
33
+ @Column({type: 'int', nullable: true})
34
+ app_id: number;
43
35
 
44
- @Column({ type: 'varchar', length: 100, nullable: true })
45
- appcode: string;
36
+ @ManyToOne(() => AppMaster, {nullable: true, onDelete: 'SET NULL'})
37
+ @JoinColumn({ name: 'app_id', referencedColumnName: 'id' })
38
+ app: AppMaster;
46
39
 
47
40
  @Column({ type: 'varchar', length: 100, nullable: true })
48
41
  type: string;
@@ -14,7 +14,6 @@ import { UserRoleMapping } from '../user/entity/user-role-mapping.entity';
14
14
  import { UserModule } from '../user/user.module';
15
15
  import { Role } from '../user/entity/role.entity';
16
16
  import { ModuleAccess } from './entity/module-access.entity';
17
- import { ListMasterModule } from '../listmaster/listmaster.module';
18
17
 
19
18
  @Module({
20
19
  imports: [
@@ -28,7 +27,6 @@ import { ListMasterModule } from '../listmaster/listmaster.module';
28
27
  ]),
29
28
  UtilsModule,
30
29
  UserModule,
31
- ListMasterModule,
32
30
  ],
33
31
  controllers: [MenuController, ModuleAccessController],
34
32
  providers: [
@@ -39,4 +37,5 @@ import { ListMasterModule } from '../listmaster/listmaster.module';
39
37
  ],
40
38
  exports: [ModuleAccessService,MenuService],
41
39
  })
42
- export class ModuleModule {}
40
+ export class ModuleAccessModule {
41
+ }
@@ -17,7 +17,7 @@ export class MenuRepository extends Repository<MenuData> {
17
17
  super(MenuData, dataSource.createEntityManager());
18
18
  }
19
19
 
20
- async getUserRoles(userId: number, appcode: string): Promise<number[]> {
20
+ async getUserRoles(userId: number, app_id: number): Promise<number[]> {
21
21
  const userRoleMappingRepo =
22
22
  this.reflectionHelper.getRepoService('UserRoleMapping');
23
23
 
@@ -26,7 +26,7 @@ export class MenuRepository extends Repository<MenuData> {
26
26
  .innerJoin('sso_role', 'role', 'role.id = urm.role_id')
27
27
  .select('urm.role_id', 'role_id')
28
28
  .where('urm.user_id = :userId', { userId })
29
- .andWhere('role.appcode = :appcode', { appcode })
29
+ .andWhere('role.app_id = :app_id', { app_id })
30
30
  .getRawMany();
31
31
 
32
32
  return roles.map((r) => r.role_id);
@@ -34,61 +34,65 @@ export class MenuRepository extends Repository<MenuData> {
34
34
 
35
35
  async getAccessibleModules(
36
36
  roleIds: number[],
37
- appCode: string,
38
- ): Promise<string[]> {
39
- const roleRepo = this.reflectionHelper.getRepoService('Role');
40
-
41
- const roleCodes = await roleRepo
42
- .createQueryBuilder('role')
43
- .select('role.code', 'code')
44
- .where('role.id IN (:...roleIds)', { roleIds })
45
- .getRawMany();
46
-
47
- const codes = roleCodes.map((r) => r.code);
37
+ appcode: string,
38
+ ): Promise<number[]> {
48
39
 
49
- if (codes.length === 0) return [];
40
+ const appMasterRepo = this.reflectionHelper.getRepoService('AppMaster');
41
+ const appMaster = await appMasterRepo.findOne({
42
+ where: {
43
+ code: appcode
44
+ }
45
+ });
50
46
 
51
47
  const modules = await this.moduleAccessRepo
52
48
  .createQueryBuilder('moduleAccess')
53
- .select('moduleAccess.module_code')
54
- .where('moduleAccess.role_code IN (:...codes)', { codes })
49
+ .select('moduleAccess.module_id')
50
+ .where('moduleAccess.role_id IN (:...roleIds)', { roleIds })
55
51
  .andWhere('moduleAccess.access_flag > 0')
56
- .andWhere('LOWER(moduleAccess.appcode) = LOWER(:appCode)', { appCode })
52
+ .andWhere('moduleAccess.app_id = :app_id', { app_id: appMaster.id })
57
53
  .getMany();
58
54
 
59
- return Array.from(new Set(modules.map((module) => module.module_code)));
55
+ return Array.from(new Set(modules.map((module) => module.module_id)));
60
56
  }
61
57
 
62
58
  /**
63
59
  * ✅ FIXED: Use this.createQueryBuilder() instead of this.menuData.createQueryBuilder()
64
60
  */
65
61
  async getMenuItems(
66
- moduleCodes: string[],
62
+ modules: number[],
67
63
  appcode: string,
68
64
  levelType: string,
69
65
  ) {
66
+ const appMasterRepo = this.reflectionHelper.getRepoService('AppMaster');
67
+
68
+ const appMaster = await appMasterRepo.findOne({
69
+ where: {
70
+ code: appcode
71
+ }
72
+ })
73
+
70
74
  return await this.menuData
71
75
  .createQueryBuilder('menu')
72
76
  .leftJoin(
73
77
  'sso_module',
74
78
  'module',
75
79
  `
76
- menu.module_code = module.module_code
77
- AND LOWER(menu.appcode) = LOWER(module.appcode)
80
+ menu.module_id = module.id
81
+ AND menu.app_id = module.app_id
78
82
  AND menu.level_type = module.level_type
79
83
  `,
80
84
  )
81
- .where('menu.module_code IN (:...moduleCodes)', { moduleCodes })
82
- .andWhere('LOWER(menu.appcode) = LOWER(:appcode)', { appcode })
85
+ .where('menu.module_id IN (:...modules)', { modules: modules })
86
+ .andWhere('menu.app_id = :app_id', { app_id: appMaster.id })
83
87
  .andWhere('menu.level_type = :levelType', { levelType })
84
88
  .andWhere('menu.ui_visible = 1')
85
89
  .select([
86
90
  'menu.*',
91
+ 'module.module_code AS module_code',
87
92
  'module.component_name AS component',
88
93
  'module.title AS title',
89
94
  'module.entity_type AS entity_type',
90
- 'module.type AS type',
91
- 'module.ui_config AS ui_config',
95
+ 'module.type AS type'
92
96
  ])
93
97
  .getRawMany();
94
98
  }
@@ -99,6 +103,14 @@ export class MenuRepository extends Repository<MenuData> {
99
103
  levelType: string,
100
104
  levelId: number,
101
105
  ): Promise<number[]> {
106
+ const appMasterRepo = this.reflectionHelper.getRepoService('AppMaster');
107
+
108
+ const appMaster = await appMasterRepo.findOne({
109
+ where: {
110
+ code: appcode
111
+ }
112
+ })
113
+
102
114
  const repo = this.reflectionHelper.getRepoService('UserRoleMapping');
103
115
 
104
116
  if (userId) {
@@ -114,7 +126,9 @@ export class MenuRepository extends Repository<MenuData> {
114
126
  const getUserUrm = await repo.findOne({
115
127
  where: {
116
128
  user_id: userId,
117
- appcode: appcode,
129
+ app: {
130
+ code: appcode
131
+ },
118
132
  },
119
133
  });
120
134
 
@@ -135,7 +149,7 @@ export class MenuRepository extends Repository<MenuData> {
135
149
  .where('urm.user_id = :userId', { userId: userId })
136
150
  .andWhere('urm.level_type = :levelType', { levelType })
137
151
  .andWhere('urm.level_id = :levelId', { levelId: levelId })
138
- .andWhere('role.appcode = :appcode', { appcode })
152
+ .andWhere('role.app_id = :app_id', { app_id: appMaster.id })
139
153
  .getRawMany();
140
154
 
141
155
  if (roles.length) return roles.map((r) => r.urm_role_id);
@@ -160,7 +174,7 @@ export class MenuRepository extends Repository<MenuData> {
160
174
  .where('urm.user_id = :userId', { userId })
161
175
  .andWhere('urm.level_type = :levelType', { levelType: 'BRN' })
162
176
  .andWhere('urm.level_id = :levelId', { levelId: brandId })
163
- .andWhere('role.appcode = :appcode', { appcode })
177
+ .andWhere('role.app_id = :app_id', { app_id: appMaster.id })
164
178
  .getRawMany();
165
179
 
166
180
  if (roles.length) return roles.map((r) => r.urm_role_id);
@@ -174,7 +188,7 @@ export class MenuRepository extends Repository<MenuData> {
174
188
  .where('urm.user_id = :userId', { userId })
175
189
  .andWhere('urm.level_type = :levelType', { levelType: 'ORG' })
176
190
  .andWhere('urm.level_id = :levelId', { levelId: orgId })
177
- .andWhere('role.appcode = :appcode', { appcode })
191
+ .andWhere('role.app_id = :app_id', { app_id: appMaster.id })
178
192
  .getRawMany();
179
193
 
180
194
  if (roles.length) return roles.map((r) => r.urm_role_id);
@@ -1,56 +1,55 @@
1
1
  import { BadRequestException, Injectable } from '@nestjs/common';
2
2
  import { InjectRepository } from '@nestjs/typeorm';
3
- import { In, Not, Repository, IsNull, DataSource } from 'typeorm';
3
+ import { In, IsNull, Not, Or, Repository } from 'typeorm';
4
4
  import { Role } from 'src/module/user/entity/role.entity';
5
5
  import { ModuleAccess } from '../entity/module-access.entity';
6
6
  import { ModuleAction } from '../entity/module-action.entity';
7
7
  import { ModuleData } from '../entity/module.entity';
8
+ import { ReflectionHelper } from '../../../utils/service/reflection-helper.service';
8
9
 
9
10
  @Injectable()
10
11
  export class ModuleAccessRepository {
11
12
  constructor(
12
13
  @InjectRepository(Role)
13
14
  private readonly roleRepo: Repository<Role>,
14
-
15
15
  @InjectRepository(ModuleData)
16
16
  private readonly moduleRepo: Repository<ModuleData>,
17
-
18
17
  @InjectRepository(ModuleAccess)
19
18
  private readonly moduleAccessRepo: Repository<ModuleAccess>,
20
-
21
19
  @InjectRepository(ModuleAction)
22
20
  private readonly moduleActionRepo: Repository<ModuleAction>,
23
-
24
- private readonly dataSource: DataSource,
25
- ) {}
21
+ private readonly reflectionHelper: ReflectionHelper,
22
+ ) {
23
+ }
26
24
 
27
25
  async getRoles({
28
- appcode,
29
- level_type,
30
- level_id,
31
- }: {
26
+ appcode,
27
+ level_type,
28
+ level_id,
29
+ }: {
32
30
  appcode: string;
33
31
  level_type?: string;
34
32
  level_id?: number;
35
33
  }) {
36
- const query = this.dataSource
37
- .createQueryBuilder()
38
- .select('*')
39
- .from('sso_role', 'role')
40
- .where('role.appcode = :appcode', { appcode })
41
- .andWhere('(role.is_factory IS NULL OR role.is_factory != 1)');
34
+ const where: any = {
35
+ app: {
36
+ code: appcode,
37
+ },
38
+ is_factory: Or(IsNull(), Not(1)), // 👈 include NULL and exclude factory roles
39
+ };
42
40
 
43
41
  if (level_type) {
44
- query.andWhere('role.level_type = :level_type', { level_type });
42
+ where.level_type = level_type;
45
43
  }
46
44
 
47
45
  if (level_id !== undefined) {
48
- query.andWhere('role.level_id = :level_id', {
49
- level_id: String(level_id),
50
- });
46
+ where.level_id = String(level_id);
51
47
  }
52
48
 
53
- const roles = await query.getRawMany(); // use getRawMany since you're selecting from a raw table
49
+ const roles = await this.roleRepo.find({
50
+ where,
51
+ select: ['id', 'name'], // keep returned data same as your mapping
52
+ });
54
53
 
55
54
  return roles.map((role) => ({
56
55
  label: role.name,
@@ -59,20 +58,30 @@ export class ModuleAccessRepository {
59
58
  }
60
59
 
61
60
  async getModules({
62
- appcode,
63
- loggedInUser,
64
- }: {
61
+ appcode,
62
+ loggedInUser,
63
+ }: {
65
64
  appcode: string;
66
65
  loggedInUser: any;
67
66
  }) {
68
67
  let modules: any[];
69
68
  if (loggedInUser.level_type == 'SCH') {
70
69
  modules = await this.moduleRepo.find({
71
- where: { module_level: 'MAINMOD', appcode, level_type: 'SCH' },
70
+ where: {
71
+ module_level: 'MAINMOD',
72
+ app: {
73
+ code: appcode,
74
+ },
75
+ level_type: 'SCH',
76
+ },
72
77
  });
73
78
  } else {
74
79
  modules = await this.moduleRepo.find({
75
- where: { module_level: 'MAINMOD', appcode },
80
+ where: {
81
+ module_level: 'MAINMOD', app: {
82
+ code: appcode,
83
+ },
84
+ },
76
85
  });
77
86
  }
78
87
 
@@ -105,53 +114,76 @@ export class ModuleAccessRepository {
105
114
  roles = await this.roleRepo.find({
106
115
  where: {
107
116
  id: In(fetchedRoleIds),
108
- appcode,
117
+ app: {
118
+ code: appcode,
119
+ },
109
120
  },
110
121
  });
111
122
  } else {
112
123
  roles = await this.roleRepo.find({
113
124
  where: {
114
125
  id: In(roleIds.map((id) => Number(id))),
115
- appcode,
126
+ app: {
127
+ code: appcode,
128
+ },
116
129
  },
117
130
  });
118
131
  }
119
132
 
120
133
  if (!roles.length) return [];
121
134
 
122
- const roleCodes = roles.map((role) => role.code);
123
-
124
135
  const moduleAccesses = await this.moduleAccessRepo.find({
125
136
  where: {
126
- role_code: In(roleCodes),
127
- appcode,
137
+ role_id: In(roles.map((role) => role.id)),
138
+ app: {
139
+ code: appcode,
140
+ },
141
+ level_type: levelType,
142
+ },
143
+ relations: {
144
+ app: true,
145
+ module: true,
128
146
  },
129
147
  });
130
148
 
131
149
  return roles.map((role) => ({
132
- role_code: role.code,
150
+ role_id: role.id,
133
151
  name: role.name,
134
152
  permission: moduleAccesses
135
- .filter((access) => access.role_code === role.code)
153
+ .filter((access) => access.role_id === role.id)
136
154
  .map((access) => ({
137
155
  action: access.action_type,
138
156
  access: access.access_flag,
139
- code: access.module_code,
157
+ module_id: access.module_id,
140
158
  level_type: access.level_type,
141
- appcode: access.appcode,
159
+ app_id: access.app_id,
160
+ code: access.module.module_code,
161
+ appcode: access.app.code,
142
162
  })),
143
163
  }));
144
164
  }
145
165
 
146
166
  async getAllModulesByLevel(mainModIds: string[], appcode: string, levelType) {
167
+ const appMasterRepo = this.reflectionHelper.getRepoService('AppMaster');
168
+
169
+ const appMaster = await appMasterRepo.find({
170
+ where: {
171
+ code: appcode,
172
+ },
173
+ });
174
+
175
+ if (!appMaster) {
176
+ return {};
177
+ }
178
+
147
179
  const mainModules =
148
180
  mainModIds.length === 1 && mainModIds[0] === '-1'
149
181
  ? await this.moduleRepo.find({
150
- where: { module_level: 'MAINMOD', appcode },
151
- })
182
+ where: { module_level: 'MAINMOD', app_id: appMaster[0].id },
183
+ })
152
184
  : await this.moduleRepo.find({
153
- where: { id: In(mainModIds), module_level: 'MAINMOD', appcode },
154
- });
185
+ where: { id: In(mainModIds), module_level: 'MAINMOD', app: { code: appcode } },
186
+ });
155
187
 
156
188
  if (!mainModules.length) return {};
157
189
 
@@ -165,7 +197,7 @@ export class ModuleAccessRepository {
165
197
  .join(' OR '),
166
198
  Object.fromEntries(wbsCodes.map((code) => [`code${code}`, `${code}%`])),
167
199
  )
168
- .andWhere('module.appcode = :appcode', { appcode })
200
+ .andWhere('module.app_id = :app_id', { app_id: appMaster[0].id })
169
201
  .andWhere('module.module_code != :excludedCode', {
170
202
  excludedCode: 'all_organization_adm_org',
171
203
  })
@@ -175,26 +207,26 @@ export class ModuleAccessRepository {
175
207
  (mod) => mod.module_code != 'all_organization_adm_org',
176
208
  );
177
209
 
178
- const moduleCodes = allModules.map((m) => m.module_code);
210
+ const modules = allModules.map((m) => m.id);
179
211
 
180
212
  const allActions = await this.moduleActionRepo.find({
181
- where: { module_code: In(moduleCodes) },
213
+ where: { module_id: In(modules) },
182
214
  });
183
215
 
184
216
  // Map actions by module_code with VIEW action first
185
217
  const actionMap = allActions.reduce(
186
218
  (acc, action) => {
187
- if (!acc[action.module_code]) acc[action.module_code] = [];
219
+ if (!acc[action.module_id]) acc[action.module_id] = [];
188
220
 
189
221
  const actionItem = {
190
- action: action.action_type,
222
+ action: action.action_code,
191
223
  name: action.action_name,
192
224
  };
193
225
 
194
- if (action.action_type === 'VIEW') {
195
- acc[action.module_code].unshift(actionItem); // ➕ Add VIEW at start
226
+ if (action.action_code === 'VIEW') {
227
+ acc[action.module_id].unshift(actionItem); // ➕ Add VIEW at start
196
228
  } else {
197
- acc[action.module_code].push(actionItem); // ➕ Add others at end
229
+ acc[action.module_id].push(actionItem); // ➕ Add others at end
198
230
  }
199
231
 
200
232
  return acc;
@@ -215,10 +247,11 @@ export class ModuleAccessRepository {
215
247
  (mod) =>
216
248
  mod.wbs_code.startsWith(`${parentWbs}.`) &&
217
249
  mod.wbs_code.split('.').length ===
218
- parentWbs.split('.').length + 1,
250
+ parentWbs.split('.').length + 1,
219
251
  )
220
252
  .map((mod) => ({
221
253
  name: mod.name,
254
+ module_id: mod.id,
222
255
  code: mod.module_code,
223
256
  permission: actionMap[mod.module_code] || [],
224
257
  submod: buildHierarchy(mod.wbs_code),
@@ -228,6 +261,7 @@ export class ModuleAccessRepository {
228
261
  .filter((mod) => mod.level_type === lvl)
229
262
  .map((mod) => ({
230
263
  name: mod.name,
264
+ module_id: mod.id,
231
265
  code: mod.module_code,
232
266
  permission: actionMap[mod.module_code] || [],
233
267
  submod: buildHierarchy(mod.wbs_code),
@@ -254,10 +288,16 @@ export class ModuleAccessRepository {
254
288
  for (const access of accessList) {
255
289
  const existing = await this.moduleAccessRepo.findOne({
256
290
  where: {
257
- role_code: access.role_code,
258
- module_code: access.module_code,
291
+ role: {
292
+ code: access.role_code,
293
+ },
294
+ module: {
295
+ module_code: access.module_code,
296
+ },
259
297
  action_type: access.action_type,
260
- appcode: access.appcode,
298
+ app: {
299
+ code: access.appcode,
300
+ },
261
301
  level_type: access.level_type,
262
302
  },
263
303
  });
@@ -267,7 +307,7 @@ export class ModuleAccessRepository {
267
307
  await this.moduleAccessRepo.save(existing);
268
308
  } else {
269
309
  await this.moduleAccessRepo.save(
270
- await this.moduleAccessRepo.create(access),
310
+ this.moduleAccessRepo.create(access),
271
311
  );
272
312
  }
273
313
  }
@@ -285,13 +325,10 @@ export class ModuleAccessRepository {
285
325
 
286
326
  if (!module) throw new BadRequestException('Module not found');
287
327
 
288
- const roles = await this.roleRepo.find({ where: { id: In(roleIds) } });
289
- const roleCodes = roles.map((role) => role.code);
290
-
291
328
  const actions = await this.moduleAccessRepo.find({
292
329
  where: {
293
- module_code: moduleCode,
294
- role_code: In(roleCodes),
330
+ module_id: module.id,
331
+ role_id: In(roleIds),
295
332
  access_flag: 1,
296
333
  },
297
334
  });
@@ -301,16 +338,18 @@ export class ModuleAccessRepository {
301
338
  return {
302
339
  entity_type: module.entity_type,
303
340
  title: module.title,
304
- ui_config: module.ui_config || {},
305
341
  action: uniqueActions,
306
342
  };
307
343
  }
344
+
308
345
  async getModuleAccessByRoles(roleIds: number[], appcode: string) {
309
346
  // Step 1: Get role codes from sso_role
310
347
  const roles = await this.roleRepo.find({
311
348
  where: {
312
349
  id: In(roleIds),
313
- appcode,
350
+ app: {
351
+ code: appcode,
352
+ },
314
353
  },
315
354
  select: ['id', 'code'],
316
355
  });
@@ -318,18 +357,27 @@ export class ModuleAccessRepository {
318
357
  const roleCodes = roles.map((r) => r.code);
319
358
  if (!roleCodes.length) return [];
320
359
 
360
+ const appMasterRepo = this.reflectionHelper.getRepoService('AppMaster');
361
+ const appMaster = await appMasterRepo.findOne({
362
+ where: {
363
+ code: appcode,
364
+ },
365
+ });
366
+
321
367
  // Step 2: Fetch full access data
322
368
  const accessRecords = await this.moduleAccessRepo
323
369
  .createQueryBuilder('access')
324
370
  .select([
325
- 'access.module_code AS module_code',
371
+ 'access.module_id AS module_id',
372
+ 'm.module_code AS module_code',
326
373
  'access.action_type AS action_type',
327
374
  'access.access_flag AS access_flag',
328
375
  'access.level_type AS level_type',
329
376
  'access.appcode AS appcode',
330
377
  ])
378
+ .innerJoin('sso_module', 'm', 'm.id = access.module_id')
331
379
  .where('access.role_code IN (:...roleCodes)', { roleCodes })
332
- .andWhere('access.appcode = :appcode', { appcode })
380
+ .andWhere('access.app_id = :app_id', { app_id: appMaster.id })
333
381
  .getRawMany();
334
382
 
335
383
  // Step 3: Format output