rez_core 6.5.28 → 6.5.29

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 (396) hide show
  1. package/dist/app.module.js +3 -3
  2. package/dist/app.module.js.map +1 -1
  3. package/dist/core.module.js +38 -60
  4. package/dist/core.module.js.map +1 -1
  5. package/dist/migrations/1732612800000-AddEntityJsonGinIndex.d.ts +6 -0
  6. package/dist/migrations/1732612800000-AddEntityJsonGinIndex.js +32 -0
  7. package/dist/migrations/1732612800000-AddEntityJsonGinIndex.js.map +1 -0
  8. package/dist/module/auth/strategies/jwt.strategy.d.ts +1 -2
  9. package/dist/module/auth/strategies/jwt.strategy.js +2 -3
  10. package/dist/module/auth/strategies/jwt.strategy.js.map +1 -1
  11. package/dist/module/dashboard/dashboard.module.js +1 -1
  12. package/dist/module/dashboard/dashboard.module.js.map +1 -1
  13. package/dist/module/dashboard/service/dashboard.service.js +3 -2
  14. package/dist/module/dashboard/service/dashboard.service.js.map +1 -1
  15. package/dist/module/enterprise/controller/organization.controller.d.ts +4 -12
  16. package/dist/module/enterprise/controller/organization.controller.js +8 -64
  17. package/dist/module/enterprise/controller/organization.controller.js.map +1 -1
  18. package/dist/module/enterprise/enterprise.module.js +15 -10
  19. package/dist/module/enterprise/enterprise.module.js.map +1 -1
  20. package/dist/module/enterprise/entity/enterprise.entity.d.ts +3 -1
  21. package/dist/module/enterprise/entity/enterprise.entity.js +12 -4
  22. package/dist/module/enterprise/entity/enterprise.entity.js.map +1 -1
  23. package/dist/module/enterprise/entity/organization-app-mapping.entity.d.ts +1 -6
  24. package/dist/module/enterprise/entity/organization-app-mapping.entity.js +4 -21
  25. package/dist/module/enterprise/entity/organization-app-mapping.entity.js.map +1 -1
  26. package/dist/module/enterprise/entity/organization.entity.d.ts +18 -3
  27. package/dist/module/enterprise/entity/organization.entity.js +74 -8
  28. package/dist/module/enterprise/entity/organization.entity.js.map +1 -1
  29. package/dist/module/enterprise/repository/enterprise.repository.d.ts +2 -4
  30. package/dist/module/enterprise/repository/enterprise.repository.js +4 -19
  31. package/dist/module/enterprise/repository/enterprise.repository.js.map +1 -1
  32. package/dist/module/enterprise/service/brand.service.d.ts +3 -0
  33. package/dist/module/enterprise/service/brand.service.js +17 -0
  34. package/dist/module/enterprise/service/brand.service.js.map +1 -1
  35. package/dist/module/enterprise/service/enterprise.service.d.ts +2 -2
  36. package/dist/module/enterprise/service/enterprise.service.js +4 -4
  37. package/dist/module/enterprise/service/enterprise.service.js.map +1 -1
  38. package/dist/module/enterprise/service/organization.service.d.ts +4 -4
  39. package/dist/module/enterprise/service/organization.service.js +24 -101
  40. package/dist/module/enterprise/service/organization.service.js.map +1 -1
  41. package/dist/module/entity_json/controller/entity_json.controller.d.ts +2 -9
  42. package/dist/module/entity_json/controller/entity_json.controller.js.map +1 -1
  43. package/dist/module/entity_json/entity/entityJson.entity.d.ts +2 -1
  44. package/dist/module/entity_json/entity/entityJson.entity.js +5 -1
  45. package/dist/module/entity_json/entity/entityJson.entity.js.map +1 -1
  46. package/dist/module/entity_json/entity_json.module.js +7 -2
  47. package/dist/module/entity_json/entity_json.module.js.map +1 -1
  48. package/dist/module/entity_json/service/entity_json.service.d.ts +2 -10
  49. package/dist/module/entity_json/service/entity_json.service.js +98 -23
  50. package/dist/module/entity_json/service/entity_json.service.js.map +1 -1
  51. package/dist/module/filter/controller/filter.controller.d.ts +12 -0
  52. package/dist/module/filter/controller/filter.controller.js +1 -1
  53. package/dist/module/filter/controller/filter.controller.js.map +1 -1
  54. package/dist/module/filter/filter.module.js +11 -2
  55. package/dist/module/filter/filter.module.js.map +1 -1
  56. package/dist/module/filter/service/filter.service.d.ts +38 -2
  57. package/dist/module/filter/service/filter.service.js +43 -50
  58. package/dist/module/filter/service/filter.service.js.map +1 -1
  59. package/dist/module/filter/service/flatjson-filter.service.d.ts +32 -0
  60. package/dist/module/filter/service/flatjson-filter.service.js +632 -0
  61. package/dist/module/filter/service/flatjson-filter.service.js.map +1 -0
  62. package/dist/module/filter/service/saved-filter.service.d.ts +3 -2
  63. package/dist/module/filter/service/saved-filter.service.js +14 -18
  64. package/dist/module/filter/service/saved-filter.service.js.map +1 -1
  65. package/dist/module/integration/service/integration.service.d.ts +1 -0
  66. package/dist/module/integration/service/integration.service.js +2 -1
  67. package/dist/module/integration/service/integration.service.js.map +1 -1
  68. package/dist/module/integration/service/wrapper.service.js +1 -0
  69. package/dist/module/integration/service/wrapper.service.js.map +1 -1
  70. package/dist/module/layout/controller/layout.controller.d.ts +3 -1
  71. package/dist/module/layout/controller/layout.controller.js +7 -3
  72. package/dist/module/layout/controller/layout.controller.js.map +1 -1
  73. package/dist/module/layout/entity/header-section.entity.d.ts +2 -0
  74. package/dist/module/layout/entity/header-section.entity.js +8 -0
  75. package/dist/module/layout/entity/header-section.entity.js.map +1 -1
  76. package/dist/module/layout/layout.module.js +2 -1
  77. package/dist/module/layout/layout.module.js.map +1 -1
  78. package/dist/module/layout/repository/header-section.repository.d.ts +1 -0
  79. package/dist/module/layout/repository/header-section.repository.js +5 -0
  80. package/dist/module/layout/repository/header-section.repository.js.map +1 -1
  81. package/dist/module/layout/service/header-section.service.d.ts +1 -1
  82. package/dist/module/layout/service/header-section.service.js +1 -1
  83. package/dist/module/layout/service/header-section.service.js.map +1 -1
  84. package/dist/module/linked_attributes/controller/linked_attributes.controller.d.ts +41 -0
  85. package/dist/module/linked_attributes/controller/linked_attributes.controller.js +90 -0
  86. package/dist/module/linked_attributes/controller/linked_attributes.controller.js.map +1 -1
  87. package/dist/module/linked_attributes/dto/create-linked-attribute-smart.dto.d.ts +13 -0
  88. package/dist/module/linked_attributes/dto/create-linked-attribute-smart.dto.js +64 -0
  89. package/dist/module/linked_attributes/dto/create-linked-attribute-smart.dto.js.map +1 -0
  90. package/dist/module/linked_attributes/linked_attributes.module.js +8 -1
  91. package/dist/module/linked_attributes/linked_attributes.module.js.map +1 -1
  92. package/dist/module/linked_attributes/service/linked_attributes.service.d.ts +65 -1
  93. package/dist/module/linked_attributes/service/linked_attributes.service.js +287 -2
  94. package/dist/module/linked_attributes/service/linked_attributes.service.js.map +1 -1
  95. package/dist/module/listmaster/service/list-master.service.js +8 -1
  96. package/dist/module/listmaster/service/list-master.service.js.map +1 -1
  97. package/dist/module/meta/controller/meta.controller.d.ts +6 -1
  98. package/dist/module/meta/controller/meta.controller.js +19 -1
  99. package/dist/module/meta/controller/meta.controller.js.map +1 -1
  100. package/dist/module/meta/entity/app-master.entity.d.ts +4 -8
  101. package/dist/module/meta/entity/app-master.entity.js +12 -30
  102. package/dist/module/meta/entity/app-master.entity.js.map +1 -1
  103. package/dist/module/meta/entity/entity-master.entity.d.ts +1 -0
  104. package/dist/module/meta/entity/entity-master.entity.js +8 -1
  105. package/dist/module/meta/entity/entity-master.entity.js.map +1 -1
  106. package/dist/module/meta/entity.module.js +5 -2
  107. package/dist/module/meta/entity.module.js.map +1 -1
  108. package/dist/module/meta/repository/app-master.repository.js +1 -1
  109. package/dist/module/meta/repository/app-master.repository.js.map +1 -1
  110. package/dist/module/meta/service/attribute-master.service.d.ts +6 -1
  111. package/dist/module/meta/service/attribute-master.service.js +22 -2
  112. package/dist/module/meta/service/attribute-master.service.js.map +1 -1
  113. package/dist/module/meta/service/entity-master.service.js +1 -0
  114. package/dist/module/meta/service/entity-master.service.js.map +1 -1
  115. package/dist/module/meta/service/entity-relation.service.d.ts +4 -3
  116. package/dist/module/meta/service/entity-relation.service.js +10 -4
  117. package/dist/module/meta/service/entity-relation.service.js.map +1 -1
  118. package/dist/module/meta/service/entity-service-impl.service.d.ts +1 -1
  119. package/dist/module/meta/service/entity-service-impl.service.js +14 -10
  120. package/dist/module/meta/service/entity-service-impl.service.js.map +1 -1
  121. package/dist/module/meta/service/entity-table.service.d.ts +2 -3
  122. package/dist/module/meta/service/entity-table.service.js +19 -23
  123. package/dist/module/meta/service/entity-table.service.js.map +1 -1
  124. package/dist/module/meta/service/populate-meta.service.d.ts +13 -0
  125. package/dist/module/{enterprise → meta}/service/populate-meta.service.js +8 -2
  126. package/dist/module/meta/service/populate-meta.service.js.map +1 -0
  127. package/dist/module/meta/service/resolver.service.d.ts +1 -1
  128. package/dist/module/meta/service/resolver.service.js +6 -3
  129. package/dist/module/meta/service/resolver.service.js.map +1 -1
  130. package/dist/module/module/controller/menu.controller.js +2 -2
  131. package/dist/module/module/controller/menu.controller.js.map +1 -1
  132. package/dist/module/module/controller/module-access.controller.d.ts +4 -3
  133. package/dist/module/module/controller/module-access.controller.js +10 -15
  134. package/dist/module/module/controller/module-access.controller.js.map +1 -1
  135. package/dist/module/module/entity/menu.entity.d.ts +4 -6
  136. package/dist/module/module/entity/menu.entity.js +12 -16
  137. package/dist/module/module/entity/menu.entity.js.map +1 -1
  138. package/dist/module/module/entity/module-access.entity.d.ts +0 -15
  139. package/dist/module/module/entity/module-access.entity.js +0 -50
  140. package/dist/module/module/entity/module-access.entity.js.map +1 -1
  141. package/dist/module/module/entity/module-action.entity.d.ts +2 -4
  142. package/dist/module/module/entity/module-action.entity.js +6 -11
  143. package/dist/module/module/entity/module-action.entity.js.map +1 -1
  144. package/dist/module/module/entity/module.entity.d.ts +5 -3
  145. package/dist/module/module/entity/module.entity.js +18 -8
  146. package/dist/module/module/entity/module.entity.js.map +1 -1
  147. package/dist/module/module/module.module.d.ts +1 -1
  148. package/dist/module/module/module.module.js +7 -5
  149. package/dist/module/module/module.module.js.map +1 -1
  150. package/dist/module/module/repository/menu.repository.d.ts +4 -4
  151. package/dist/module/module/repository/menu.repository.js +27 -17
  152. package/dist/module/module/repository/menu.repository.js.map +1 -1
  153. package/dist/module/module/repository/module-access.repository.d.ts +7 -7
  154. package/dist/module/module/repository/module-access.repository.js +48 -86
  155. package/dist/module/module/repository/module-access.repository.js.map +1 -1
  156. package/dist/module/module/service/menu.service.d.ts +5 -3
  157. package/dist/module/module/service/menu.service.js +12 -9
  158. package/dist/module/module/service/menu.service.js.map +1 -1
  159. package/dist/module/module/service/module-access.service.d.ts +11 -8
  160. package/dist/module/module/service/module-access.service.js +26 -24
  161. package/dist/module/module/service/module-access.service.js.map +1 -1
  162. package/dist/module/notification/entity/notification.entity.d.ts +2 -17
  163. package/dist/module/notification/entity/notification.entity.js +2 -68
  164. package/dist/module/notification/entity/notification.entity.js.map +1 -1
  165. package/dist/module/notification/notification.module.js +2 -0
  166. package/dist/module/notification/notification.module.js.map +1 -1
  167. package/dist/module/notification/service/notification.service.d.ts +3 -1
  168. package/dist/module/notification/service/notification.service.js +5 -2
  169. package/dist/module/notification/service/notification.service.js.map +1 -1
  170. package/dist/module/notification/service/otp.service.js.map +1 -1
  171. package/dist/module/user/controller/login.controller.d.ts +3 -1
  172. package/dist/module/user/controller/login.controller.js +6 -2
  173. package/dist/module/user/controller/login.controller.js.map +1 -1
  174. package/dist/module/user/controller/user.controller.d.ts +2 -0
  175. package/dist/module/user/controller/user.controller.js +13 -0
  176. package/dist/module/user/controller/user.controller.js.map +1 -1
  177. package/dist/module/user/dto/create-user.dto.d.ts +3 -6
  178. package/dist/module/user/dto/create-user.dto.js +11 -17
  179. package/dist/module/user/dto/create-user.dto.js.map +1 -1
  180. package/dist/module/user/entity/role.entity.d.ts +6 -18
  181. package/dist/module/user/entity/role.entity.js +19 -64
  182. package/dist/module/user/entity/role.entity.js.map +1 -1
  183. package/dist/module/user/entity/user-role-mapping.entity.d.ts +0 -10
  184. package/dist/module/user/entity/user-role-mapping.entity.js +1 -33
  185. package/dist/module/user/entity/user-role-mapping.entity.js.map +1 -1
  186. package/dist/module/user/entity/user-session.entity.d.ts +2 -0
  187. package/dist/module/user/entity/user-session.entity.js +20 -2
  188. package/dist/module/user/entity/user-session.entity.js.map +1 -1
  189. package/dist/module/user/entity/user.entity.d.ts +5 -17
  190. package/dist/module/user/entity/user.entity.js +15 -61
  191. package/dist/module/user/entity/user.entity.js.map +1 -1
  192. package/dist/module/user/repository/role.repository.d.ts +2 -6
  193. package/dist/module/user/repository/role.repository.js +8 -16
  194. package/dist/module/user/repository/role.repository.js.map +1 -1
  195. package/dist/module/user/repository/user-role-mapping.repository.d.ts +0 -1
  196. package/dist/module/user/repository/user-role-mapping.repository.js +0 -3
  197. package/dist/module/user/repository/user-role-mapping.repository.js.map +1 -1
  198. package/dist/module/user/repository/user.repository.d.ts +2 -4
  199. package/dist/module/user/repository/user.repository.js +7 -19
  200. package/dist/module/user/repository/user.repository.js.map +1 -1
  201. package/dist/module/user/repository/userSession.repository.d.ts +0 -1
  202. package/dist/module/user/repository/userSession.repository.js +0 -3
  203. package/dist/module/user/repository/userSession.repository.js.map +1 -1
  204. package/dist/module/user/service/login.service.d.ts +5 -3
  205. package/dist/module/user/service/login.service.js +42 -43
  206. package/dist/module/user/service/login.service.js.map +1 -1
  207. package/dist/module/user/service/role.service.d.ts +11 -24
  208. package/dist/module/user/service/role.service.js +38 -42
  209. package/dist/module/user/service/role.service.js.map +1 -1
  210. package/dist/module/user/service/user-role-mapping.service.d.ts +0 -2
  211. package/dist/module/user/service/user-role-mapping.service.js +0 -6
  212. package/dist/module/user/service/user-role-mapping.service.js.map +1 -1
  213. package/dist/module/user/service/user-session.service.d.ts +4 -3
  214. package/dist/module/user/service/user-session.service.js +11 -10
  215. package/dist/module/user/service/user-session.service.js.map +1 -1
  216. package/dist/module/user/service/user.service.d.ts +20 -29
  217. package/dist/module/user/service/user.service.js +56 -44
  218. package/dist/module/user/service/user.service.js.map +1 -1
  219. package/dist/module/user/user.module.js +7 -1
  220. package/dist/module/user/user.module.js.map +1 -1
  221. package/dist/module/workflow/repository/action-data.repository.d.ts +1 -1
  222. package/dist/module/workflow/repository/action-data.repository.js +8 -6
  223. package/dist/module/workflow/repository/action-data.repository.js.map +1 -1
  224. package/dist/module/workflow/repository/action.repository.d.ts +1 -1
  225. package/dist/module/workflow/repository/action.repository.js +10 -10
  226. package/dist/module/workflow/repository/action.repository.js.map +1 -1
  227. package/dist/module/workflow/repository/form-master.repository.d.ts +1 -1
  228. package/dist/module/workflow/repository/form-master.repository.js +2 -2
  229. package/dist/module/workflow/repository/form-master.repository.js.map +1 -1
  230. package/dist/module/workflow/service/action-data.service.js +2 -1
  231. package/dist/module/workflow/service/action-data.service.js.map +1 -1
  232. package/dist/module/workflow/service/action.service.js +2 -2
  233. package/dist/module/workflow/service/action.service.js.map +1 -1
  234. package/dist/module/workflow/service/comm-template.service.js +2 -0
  235. package/dist/module/workflow/service/comm-template.service.js.map +1 -1
  236. package/dist/module/workflow/service/entity-modification.service.js +1 -0
  237. package/dist/module/workflow/service/entity-modification.service.js.map +1 -1
  238. package/dist/module/workflow/service/form-master.service.js +2 -2
  239. package/dist/module/workflow/service/form-master.service.js.map +1 -1
  240. package/dist/module/workflow/service/populate-workflow.service.d.ts +1 -1
  241. package/dist/module/workflow/service/populate-workflow.service.js +1 -1
  242. package/dist/module/workflow/service/populate-workflow.service.js.map +1 -1
  243. package/dist/module/workflow/service/task.service.js +3 -0
  244. package/dist/module/workflow/service/task.service.js.map +1 -1
  245. package/dist/module/workflow/service/workflow-meta.service.js +7 -2
  246. package/dist/module/workflow/service/workflow-meta.service.js.map +1 -1
  247. package/dist/module/workflow/service/workflow.service.js +2 -2
  248. package/dist/module/workflow/service/workflow.service.js.map +1 -1
  249. package/dist/module/workflow/workflow.module.js +0 -2
  250. package/dist/module/workflow/workflow.module.js.map +1 -1
  251. package/dist/module/workflow-automation/service/workflow-automation.service.js +6 -11
  252. package/dist/module/workflow-automation/service/workflow-automation.service.js.map +1 -1
  253. package/dist/module/workflow-automation/workflow-automation.module.js +1 -3
  254. package/dist/module/workflow-automation/workflow-automation.module.js.map +1 -1
  255. package/dist/module/workflow-schedule/service/workflow-schedule.service.js +2 -0
  256. package/dist/module/workflow-schedule/service/workflow-schedule.service.js.map +1 -1
  257. package/dist/table.config.d.ts +3 -2
  258. package/dist/tsconfig.build.tsbuildinfo +1 -1
  259. package/package.json +2 -2
  260. package/src/app.module.ts +5 -5
  261. package/src/core.module.ts +44 -55
  262. package/src/migrations/1732612800000-AddEntityJsonGinIndex.ts +41 -0
  263. package/src/module/auth/strategies/jwt.strategy.ts +2 -4
  264. package/src/module/dashboard/dashboard.module.ts +3 -3
  265. package/src/module/dashboard/service/dashboard.service.ts +3 -2
  266. package/src/module/enterprise/controller/organization.controller.ts +4 -60
  267. package/src/module/enterprise/enterprise.module.ts +18 -16
  268. package/src/module/enterprise/entity/enterprise.entity.ts +11 -5
  269. package/src/module/enterprise/entity/organization-app-mapping.entity.ts +4 -18
  270. package/src/module/enterprise/entity/organization.entity.ts +59 -9
  271. package/src/module/enterprise/repository/enterprise.repository.ts +4 -26
  272. package/src/module/enterprise/service/brand.service.ts +5 -75
  273. package/src/module/enterprise/service/enterprise.service.ts +4 -10
  274. package/src/module/enterprise/service/organization.service.ts +23 -140
  275. package/src/module/entity_json/controller/entity_json.controller.ts +13 -0
  276. package/src/module/entity_json/docs/FlatJson_Filterin_System.md +2804 -0
  277. package/src/module/entity_json/entity/entityJson.entity.ts +4 -1
  278. package/src/module/entity_json/entity_json.module.ts +9 -5
  279. package/src/module/entity_json/service/entity_json.service.ts +233 -49
  280. package/src/module/filter/controller/filter.controller.ts +1 -3
  281. package/src/module/filter/filter.module.ts +12 -3
  282. package/src/module/filter/service/filter.service.ts +130 -73
  283. package/src/module/filter/service/flatjson-filter.service.ts +903 -0
  284. package/src/module/filter/service/saved-filter.service.ts +16 -26
  285. package/src/module/filter/test/flatjson-filter.service.spec.ts +415 -0
  286. package/src/module/integration/service/integration.service.ts +6 -2
  287. package/src/module/integration/service/wrapper.service.ts +1 -0
  288. package/src/module/layout/controller/layout.controller.ts +8 -1
  289. package/src/module/layout/entity/header-section.entity.ts +6 -0
  290. package/src/module/layout/layout.module.ts +1 -1
  291. package/src/module/layout/repository/header-section.repository.ts +6 -0
  292. package/src/module/layout/service/header-section.service.ts +1 -1
  293. package/src/module/linked_attributes/controller/linked_attributes.controller.ts +100 -0
  294. package/src/module/linked_attributes/dto/create-linked-attribute-smart.dto.ts +54 -0
  295. package/src/module/linked_attributes/linked_attributes.module.ts +9 -2
  296. package/src/module/linked_attributes/service/linked_attributes.service.ts +578 -3
  297. package/src/module/linked_attributes/test/linked-attributes.service.spec.ts +244 -0
  298. package/src/module/listmaster/service/list-master.service.ts +9 -1
  299. package/src/module/meta/controller/meta.controller.ts +25 -3
  300. package/src/module/meta/entity/app-master.entity.ts +9 -22
  301. package/src/module/meta/entity/entity-master.entity.ts +9 -3
  302. package/src/module/meta/entity.module.ts +6 -5
  303. package/src/module/meta/repository/app-master.repository.ts +1 -1
  304. package/src/module/meta/service/attribute-master.service.ts +31 -1
  305. package/src/module/meta/service/entity-master.service.ts +1 -0
  306. package/src/module/meta/service/entity-relation.service.ts +10 -6
  307. package/src/module/meta/service/entity-service-impl.service.ts +14 -19
  308. package/src/module/meta/service/entity-table.service.ts +28 -20
  309. package/src/module/meta/service/entity.service.ts +0 -1
  310. package/src/module/{enterprise → meta}/service/populate-meta.service.ts +5 -2
  311. package/src/module/meta/service/resolver.service.ts +4 -0
  312. package/src/module/module/controller/menu.controller.ts +2 -2
  313. package/src/module/module/controller/module-access.controller.ts +11 -16
  314. package/src/module/module/entity/menu.entity.ts +10 -14
  315. package/src/module/module/entity/module-access.entity.ts +1 -41
  316. package/src/module/module/entity/module-action.entity.ts +6 -10
  317. package/src/module/module/entity/module.entity.ts +14 -7
  318. package/src/module/module/module.module.ts +3 -2
  319. package/src/module/module/repository/menu.repository.ts +31 -19
  320. package/src/module/module/repository/module-access.repository.ts +63 -100
  321. package/src/module/module/service/menu.service.ts +13 -11
  322. package/src/module/module/service/module-access.service.ts +38 -26
  323. package/src/module/notification/entity/notification.entity.ts +3 -53
  324. package/src/module/notification/notification.module.ts +2 -0
  325. package/src/module/notification/service/notification.service.ts +1 -0
  326. package/src/module/notification/service/otp.service.ts +2 -3
  327. package/src/module/user/controller/login.controller.ts +8 -7
  328. package/src/module/user/controller/user.controller.ts +9 -0
  329. package/src/module/user/dto/create-user.dto.ts +6 -19
  330. package/src/module/user/entity/role.entity.ts +16 -59
  331. package/src/module/user/entity/user-role-mapping.entity.ts +3 -29
  332. package/src/module/user/entity/user-session.entity.ts +19 -3
  333. package/src/module/user/entity/user.entity.ts +13 -48
  334. package/src/module/user/repository/role.repository.ts +12 -24
  335. package/src/module/user/repository/user-role-mapping.repository.ts +1 -5
  336. package/src/module/user/repository/user.repository.ts +8 -28
  337. package/src/module/user/repository/userSession.repository.ts +1 -5
  338. package/src/module/user/service/login.service.ts +51 -47
  339. package/src/module/user/service/role.service.ts +60 -53
  340. package/src/module/user/service/user-role-mapping.service.ts +1 -23
  341. package/src/module/user/service/user-session.service.ts +11 -14
  342. package/src/module/user/service/user.service.ts +91 -64
  343. package/src/module/user/user.module.ts +5 -3
  344. package/src/module/workflow/repository/action-data.repository.ts +8 -6
  345. package/src/module/workflow/repository/action.repository.ts +11 -11
  346. package/src/module/workflow/repository/form-master.repository.ts +2 -2
  347. package/src/module/workflow/service/action-data.service.ts +2 -3
  348. package/src/module/workflow/service/action.service.ts +2 -2
  349. package/src/module/workflow/service/comm-template.service.ts +2 -0
  350. package/src/module/workflow/service/entity-modification.service.ts +1 -0
  351. package/src/module/workflow/service/form-master.service.ts +2 -2
  352. package/src/module/workflow/service/populate-workflow.service.ts +1 -1
  353. package/src/module/workflow/service/task.service.ts +3 -0
  354. package/src/module/workflow/service/workflow-meta.service.ts +7 -2
  355. package/src/module/workflow/service/workflow.service.ts +2 -2
  356. package/src/module/workflow/workflow.module.ts +0 -2
  357. package/src/module/workflow-automation/service/workflow-automation.service.ts +7 -19
  358. package/src/module/workflow-automation/workflow-automation.module.ts +3 -4
  359. package/src/module/workflow-schedule/service/workflow-schedule.service.ts +2 -0
  360. package/src/resources/dev.properties.yaml +2 -2
  361. package/.claude/settings.local.json +0 -26
  362. package/.idea/250218_nodejs_core.iml +0 -9
  363. package/.idea/codeStyles/Project.xml +0 -59
  364. package/.idea/codeStyles/codeStyleConfig.xml +0 -5
  365. package/.idea/copilot.data.migration.agent.xml +0 -6
  366. package/.idea/copilot.data.migration.ask.xml +0 -6
  367. package/.idea/copilot.data.migration.ask2agent.xml +0 -6
  368. package/.idea/copilot.data.migration.edit.xml +0 -6
  369. package/.idea/inspectionProfiles/Project_Default.xml +0 -6
  370. package/.idea/misc.xml +0 -6
  371. package/.idea/modules.xml +0 -8
  372. package/.idea/prettier.xml +0 -6
  373. package/.idea/vcs.xml +0 -6
  374. package/dist/constant/status.constant.d.ts +0 -4
  375. package/dist/constant/status.constant.js +0 -9
  376. package/dist/constant/status.constant.js.map +0 -1
  377. package/dist/module/enterprise/controller/enterprise.controller.d.ts +0 -12
  378. package/dist/module/enterprise/controller/enterprise.controller.js +0 -57
  379. package/dist/module/enterprise/controller/enterprise.controller.js.map +0 -1
  380. package/dist/module/enterprise/controller/meta.controller.d.ts +0 -9
  381. package/dist/module/enterprise/controller/meta.controller.js +0 -43
  382. package/dist/module/enterprise/controller/meta.controller.js.map +0 -1
  383. package/dist/module/enterprise/service/brand-profile.service.d.ts +0 -0
  384. package/dist/module/enterprise/service/brand-profile.service.js +0 -1
  385. package/dist/module/enterprise/service/brand-profile.service.js.map +0 -1
  386. package/dist/module/enterprise/service/populate-meta.service.d.ts +0 -9
  387. package/dist/module/enterprise/service/populate-meta.service.js.map +0 -1
  388. package/dist/module/enterprise/service/school.service.d.ts +0 -0
  389. package/dist/module/enterprise/service/school.service.js +0 -1
  390. package/dist/module/enterprise/service/school.service.js.map +0 -1
  391. package/server.log +0 -850
  392. package/src/constant/status.constant.ts +0 -4
  393. package/src/module/enterprise/controller/enterprise.controller.ts +0 -40
  394. package/src/module/enterprise/controller/meta.controller.ts +0 -23
  395. package/src/module/enterprise/service/brand-profile.service.ts +0 -10
  396. package/src/module/enterprise/service/school.service.ts +0 -5
@@ -11,11 +11,13 @@ export class EntityTableService {
11
11
  constructor(
12
12
  private entityTableRepository: EntityTableRepository,
13
13
  private readonly entityTableColumnRepository: EntityTableColumnRepository,
14
+ // private readonly entityJSONService: EntityJSONService,
14
15
 
15
16
  @Inject(forwardRef(() => 'ListMasterService'))
16
17
  @Inject('ListMasterService')
17
18
  private readonly listMasterService: ListMasterService,
18
19
 
20
+ @Inject(forwardRef(() => SavedFilterRepositoryService))
19
21
  private readonly savedFilterRepoService: SavedFilterRepositoryService,
20
22
  ) {}
21
23
 
@@ -79,20 +81,25 @@ export class EntityTableService {
79
81
  displayType: string,
80
82
  loggedInUser: any,
81
83
  ) {
82
- const entityTable = await this.findByEntityTypeAndListTypeAndDisplayType(
83
- entityType,
84
- listType,
85
- displayType,
86
- loggedInUser?.enterprise_id,
87
- );
88
- const entityTableDto = entityTable as EntityTableDto;
89
- if (entityTable) {
90
- entityTableDto.column_list =
91
- await this.entityTableColumnRepository.findByParentIdAndParentType(
92
- entityTable.id,
93
- entityTable.entity_type,
94
- loggedInUser.enterprise_id,
95
- );
84
+ // const entityTable = await this.findByEntityTypeAndListTypeAndDisplayType(
85
+ // entityType,
86
+ // listType,
87
+ // displayType,
88
+ // loggedInUser?.organization_id,
89
+ // );
90
+ // const entityTableDto = entityTable as EntityTableDto;
91
+ let entityTableDto;
92
+
93
+ // if (entityTable) {
94
+ // entityTableDto.column_list = this.entityJSONService.getAttributesByMappedEntityType(
95
+ // entityType,
96
+ // loggedInUser,
97
+ // );
98
+ // await this.entityTableColumnRepository.findByParentIdAndParentType(
99
+ // entityTable.id,
100
+ // entityTable.entity_type,
101
+ // loggedInUser.organization_id,
102
+ // );
96
103
  entityTableDto.operation_list = {
97
104
  text: await this.listMasterService.getDropdownOptions(
98
105
  'OPT',
@@ -134,24 +141,25 @@ export class EntityTableService {
134
141
  };
135
142
  entityTableDto.default_filter =
136
143
  await this.savedFilterRepoService.getDefaultFilterByEntityType(
137
- entityTable.list_type,
144
+ entityType
138
145
  );
139
146
  if (loggedInUser.id) {
140
147
  entityTableDto.saved_filter =
141
148
  await this.savedFilterRepoService.getSavedFiltersByUserIdAndEntityType(
142
- loggedInUser,
143
- entityTable.list_type,
149
+ loggedInUser.id,
150
+ entityType
144
151
  );
145
152
  }
146
153
  if (loggedInUser.id) {
147
154
  entityTableDto.shared_filter =
148
155
  await this.savedFilterRepoService.getSharedFiltersByLevelTypeAndLevelId(
149
156
  loggedInUser,
150
- entityTable.list_type,
157
+ entityType
151
158
  );
152
159
  }
153
- }
160
+
154
161
 
155
162
  return entityTableDto;
156
- }
157
163
  }
164
+
165
+ }
@@ -2,7 +2,6 @@ import { UserData } from '../../user/entity/user.entity';
2
2
  import { BaseEntity } from '../entity/base-entity.entity';
3
3
  import { EntityListData } from '../dto/entity-list-data.dto';
4
4
  import { EntityManager } from 'typeorm';
5
- import { FilterRequestDto } from '../../filter/dto/filter-request.dto';
6
5
 
7
6
  export interface EntityService<T extends BaseEntity> {
8
7
  createEntity(
@@ -1,12 +1,15 @@
1
1
  import { Injectable } from '@nestjs/common';
2
+ import { DataSource } from 'typeorm';
3
+ import { EntityServiceImpl } from './entity-service-impl.service';
2
4
  import { ReflectionHelper } from 'src/utils/service/reflection-helper.service';
3
5
 
4
6
  @Injectable()
5
7
  export class PopulateMetaService {
6
8
  constructor(
9
+ private readonly dataSource: DataSource,
10
+ private readonly entityServiceImpl: EntityServiceImpl,
7
11
  private readonly reflectionHelper: ReflectionHelper,
8
- ) {
9
- }
12
+ ) {}
10
13
 
11
14
  async populateMetaData(organization_id: number) {
12
15
  const metadataTables = [
@@ -17,6 +17,7 @@ export class ResolverService {
17
17
  private readonly listMasterService: ListMasterService,
18
18
  private readonly moduleRef: ModuleRef,
19
19
  private readonly attributeMasterRepo: AttributeMasterRepository,
20
+ @Inject(forwardRef(() => ReflectionHelper))
20
21
  private readonly reflectionHelper: ReflectionHelper,
21
22
  @Inject(forwardRef(() => EntityMasterRepository))
22
23
  private readonly entityMasterRepo: EntityMasterRepository,
@@ -38,6 +39,7 @@ export class ResolverService {
38
39
  loggedInUser: any,
39
40
  entityData: any,
40
41
  entityType: string,
42
+ format_disable?: boolean,
41
43
  ): Promise<any> {
42
44
  const attributeItems =
43
45
  await this.attributeMasterRepo.findAttributesByMappedEntityType(
@@ -98,6 +100,7 @@ export class ResolverService {
98
100
  else if (
99
101
  attr.element_type === 'date' ||
100
102
  attr.element_type === 'datetime'
103
+ && !format_disable
101
104
  ) {
102
105
  // 👇 Explicitly define input format to avoid deprecation warning
103
106
  const dateValue = moment(codeValue, "DD-MM-YYYY", true).utcOffset('+05:30');
@@ -117,6 +120,7 @@ export class ResolverService {
117
120
  else if (
118
121
  (attr.element_type === 'upload' || attr.element_type === 'image') &&
119
122
  typeof resolvedEntityData[field] !== 'object'
123
+ && !format_disable
120
124
  ) {
121
125
  const mediaService = await this.getMediaDataService();
122
126
  const uploadData = await mediaService.getMediaDownloadUrl(
@@ -9,7 +9,7 @@ export class MenuController {
9
9
  @UseGuards(JwtAuthGuard)
10
10
  @Get()
11
11
  async getMenu(@Request() req) {
12
- const { id: userId, app_id, level_type, level_id } = req.user.userData;
13
- return this.menuService.getUserMenu(userId, app_id, level_type, level_id);
12
+ const { id: userId, appcode, level_type, level_id } = req.user.userData;
13
+ return this.menuService.getUserMenu(userId, appcode, level_type, level_id);
14
14
  }
15
15
  }
@@ -2,7 +2,7 @@ import {
2
2
  BadRequestException,
3
3
  Body,
4
4
  Controller,
5
- Get, HttpCode, HttpStatus,
5
+ Get,
6
6
  Inject,
7
7
  Param,
8
8
  Post,
@@ -24,7 +24,6 @@ export class ModuleAccessController {
24
24
  ) {}
25
25
 
26
26
  @Get('roles')
27
- @HttpCode(HttpStatus.OK)
28
27
  async getRoles(
29
28
  @Query('appcode') appcode: string,
30
29
  @Query('include') include: string, // ✅ declare it as boolean
@@ -41,7 +40,6 @@ export class ModuleAccessController {
41
40
  }
42
41
 
43
42
  @Get('modules')
44
- @HttpCode(HttpStatus.OK)
45
43
  async getModules(@Query('appcode') appcode: string, @Request() req) {
46
44
  const loggedInUser = req.user.userData;
47
45
  return this.moduleAccessService.getModules({
@@ -51,14 +49,13 @@ export class ModuleAccessController {
51
49
  }
52
50
 
53
51
  @Get('access-listing')
54
- @HttpCode(HttpStatus.OK)
55
52
  async getAccessListing(
56
53
  @Query('roles') roleIds: string,
57
- @Query('appcode') queryAppCode: string,
54
+ @Query('appcode') queryAppcode: string,
58
55
  @Request() req,
59
56
  ) {
60
57
  const roleIdArray = roleIds.split(',').map(Number);
61
- const appcode = queryAppCode || req.user.userData.appcode;
58
+ const appcode = queryAppcode || req.user.userData.appcode;
62
59
  const level_type = req.user.userData.level_type;
63
60
  const level_id = req.user.userData.level_id;
64
61
  return this.moduleAccessService.getAccessListing(
@@ -70,7 +67,6 @@ export class ModuleAccessController {
70
67
  }
71
68
 
72
69
  @Get('menu-listing')
73
- @HttpCode(HttpStatus.OK)
74
70
  async getMenuListing(
75
71
  @Query('mainmod') mainModIds: string,
76
72
  @Query('appcode') appcode: string,
@@ -87,7 +83,6 @@ export class ModuleAccessController {
87
83
  }
88
84
 
89
85
  @Post('update')
90
- @HttpCode(HttpStatus.OK)
91
86
  async updateModuleAccess(@Body() moduleAccessData: any[]) {
92
87
  return this.moduleAccessService.updateModuleAccess(moduleAccessData);
93
88
  }
@@ -95,14 +90,13 @@ export class ModuleAccessController {
95
90
  // src/module/module-access/controller/module-access.controller.ts
96
91
 
97
92
  @Get('ui-config')
98
- @HttpCode(HttpStatus.OK)
99
93
  async getModuleUIConfig(
100
94
  @Query('module_code') moduleCode: string,
101
95
  @Request() req,
102
96
  ) {
103
97
  const userId = req.user.userData?.id;
104
- const app_id = req.user.userData?.app_id;
105
- const roles = await this.menuService.getUserRoles(userId, app_id); // returns ['1', '4']
98
+ const appcode = req.user.userData?.appcode;
99
+ const roles = await this.menuService.getUserRoles(userId, appcode); // returns ['1', '4']
106
100
 
107
101
  if (!roles || roles.length === 0) {
108
102
  throw new BadRequestException('User has no roles');
@@ -115,24 +109,25 @@ export class ModuleAccessController {
115
109
  }
116
110
 
117
111
  @Get('user-permissions')
118
- @HttpCode(HttpStatus.OK)
119
112
  async getUserPermissions(@Request() req) {
120
113
  const userData = req.user.userData;
121
114
 
122
115
  const userId = userData?.id;
123
- const app_id = userData?.app_id;
116
+ const appcode = userData?.appcode;
124
117
  const level_type = userData?.level_type;
125
118
  const level_id = userData?.level_id;
119
+ const enterprise_id = userData?.enterprise_id;
126
120
 
127
- if (!userId || !app_id || !level_type || !level_id) {
121
+ if (!userId || !appcode || !level_type || !level_id || !enterprise_id) {
128
122
  throw new BadRequestException('Invalid token data');
129
123
  }
130
124
 
131
125
  return this.moduleAccessService.getUserPermissions({
132
126
  userId,
133
- app_id,
127
+ appcode,
134
128
  level_type,
135
- level_id
129
+ level_id,
130
+ enterprise_id,
136
131
  });
137
132
  }
138
133
  }
@@ -1,6 +1,4 @@
1
- import { Column, Entity, JoinColumn, ManyToOne, OneToOne, PrimaryGeneratedColumn } from 'typeorm';
2
- import { ModuleData } from './module.entity';
3
- import { AppMaster } from 'src/module/meta/entity/app-master.entity';
1
+ import { Column, Entity, PrimaryGeneratedColumn } from 'typeorm';
4
2
 
5
3
  @Entity({ name: 'sso_menu' })
6
4
  export class MenuData {
@@ -10,12 +8,8 @@ export class MenuData {
10
8
  @Column({ type: 'varchar', length: 100, nullable: true })
11
9
  name: string;
12
10
 
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
- moduleData: ModuleData;
11
+ @Column({ type: 'varchar', length: 100, nullable: true })
12
+ module_code: string;
19
13
 
20
14
  @Column({ type: 'varchar', length: 100, nullable: true })
21
15
  status: string;
@@ -33,14 +27,16 @@ export class MenuData {
33
27
  module_level: string;
34
28
 
35
29
  @Column({ type: 'int', nullable: true })
36
- ui_visible: number;
30
+ parent_id: number;
31
+
32
+ @Column({ type: 'varchar', length: 100, nullable: true })
33
+ parent_code: string;
37
34
 
38
35
  @Column({ type: 'int', nullable: true })
39
- app_id: number;
36
+ ui_visible: number;
40
37
 
41
- @ManyToOne(() => AppMaster, {nullable: true, onDelete: 'SET NULL'})
42
- @JoinColumn({ name: 'app_id', referencedColumnName: 'id' })
43
- app: AppMaster;
38
+ @Column({ type: 'varchar', nullable: true })
39
+ appcode: string;
44
40
 
45
41
  @Column({ type: 'varchar', nullable: true })
46
42
  level_type: string;
@@ -1,9 +1,4 @@
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 '../../meta/entity/app-master.entity';
1
+ import { Column, Entity, PrimaryGeneratedColumn } from 'typeorm';
7
2
 
8
3
  @Entity({ name: 'sso_module_access' })
9
4
  export class ModuleAccess {
@@ -13,53 +8,18 @@ export class ModuleAccess {
13
8
  @Column({ type: 'varchar', length: 100, nullable: true })
14
9
  module_code: string;
15
10
 
16
- @Column({ type: 'int', nullable: true })
17
- module_id: number;
18
-
19
- @ManyToOne(() => ModuleData, { nullable: true, onDelete: 'SET NULL' })
20
- @JoinColumn({ name: 'module_id', referencedColumnName: 'id' })
21
- module: ModuleData;
22
-
23
11
  @Column({ type: 'varchar', length: 100, nullable: true })
24
12
  role_code: string;
25
13
 
26
- @Column({ type: 'int', nullable: true })
27
- role_id: number;
28
-
29
- @ManyToOne(() => Role, { nullable: true, onDelete: 'SET NULL' })
30
- @JoinColumn({ name: 'role_id', referencedColumnName: 'id' })
31
- role: Role;
32
-
33
14
  @Column({ type: 'int', nullable: true })
34
15
  access_flag: number;
35
16
 
36
17
  @Column({ type: 'varchar', length: 100, nullable: true })
37
18
  action_type: string;
38
19
 
39
- @Column({ type: 'int', nullable: true })
40
- action_id: number;
41
-
42
- @ManyToOne(() => ModuleAction, { nullable: true, onDelete: 'SET NULL' })
43
- @JoinColumn({ name: 'action_id', referencedColumnName: 'id' })
44
- action: ModuleAction;
45
-
46
20
  @Column({ type: 'varchar', length: 100, nullable: true })
47
21
  level_type: string;
48
22
 
49
23
  @Column({ type: 'varchar', length: 100, nullable: true })
50
24
  appcode: string;
51
-
52
- @Column({type: 'int', nullable: true })
53
- app_id: number
54
-
55
- @ManyToOne(() => AppMaster, { nullable: true, onDelete: 'SET NULL' })
56
- @JoinColumn({ name: 'app_id', referencedColumnName: 'id' })
57
- app: AppMaster;
58
-
59
- @Column({ type: 'int', nullable: true })
60
- enterprise_id: number;
61
-
62
- @ManyToOne(() => EnterpriseData, { nullable: true, onDelete: 'SET NULL' })
63
- @JoinColumn({ name: 'enterprise_id', referencedColumnName: 'id' })
64
- enterprise: EnterpriseData;
65
25
  }
@@ -1,21 +1,17 @@
1
- import { Column, Entity, JoinColumn, ManyToOne, PrimaryGeneratedColumn } from 'typeorm';
2
- import { ModuleData } from './module.entity';
1
+ import { Column, Entity, PrimaryGeneratedColumn, Unique } from 'typeorm';
3
2
 
4
- @Entity({ name: 'sso_module_ucp' }) // <- new table name
3
+ @Entity({ name: 'sso_module_action' }) // <- new table name
4
+ @Unique(['module_code', 'action_type']) // enforce uniqueness per module + action
5
5
  export class ModuleAction {
6
6
  @PrimaryGeneratedColumn()
7
7
  id: number;
8
8
 
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;
9
+ @Column({ type: 'varchar', length: 100, nullable: true })
10
+ module_code: string;
15
11
 
16
12
  @Column({ type: 'varchar', length: 100, nullable: true })
17
13
  action_name: string;
18
14
 
19
15
  @Column({ type: 'varchar', length: 50, nullable: true })
20
- action_code: string;
16
+ action_type: string;
21
17
  }
@@ -1,5 +1,4 @@
1
- import { AppMaster } from 'src/module/meta/entity/app-master.entity';
2
- import { Column, Entity, JoinColumn, ManyToOne, PrimaryGeneratedColumn } from 'typeorm';
1
+ import { Column, Entity, PrimaryGeneratedColumn } from 'typeorm';
3
2
 
4
3
  @Entity({ name: 'sso_module' })
5
4
  export class ModuleData {
@@ -21,6 +20,15 @@ export class ModuleData {
21
20
  @Column({ type: 'varchar', length: 100, nullable: true })
22
21
  module_level: string;
23
22
 
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
+
24
32
  @Column({ type: 'varchar', length: 100, nullable: true })
25
33
  entity_type: string;
26
34
 
@@ -30,12 +38,11 @@ export class ModuleData {
30
38
  @Column({ type: 'varchar', length: 100, nullable: true })
31
39
  component_name: string;
32
40
 
33
- @Column({type: 'int', nullable: true})
34
- app_id: number;
41
+ @Column({ type: 'json', nullable: true })
42
+ ui_config: JSON;
35
43
 
36
- @ManyToOne(() => AppMaster, {nullable: true, onDelete: 'SET NULL'})
37
- @JoinColumn({ name: 'app_id', referencedColumnName: 'id' })
38
- app: AppMaster;
44
+ @Column({ type: 'varchar', length: 100, nullable: true })
45
+ appcode: string;
39
46
 
40
47
  @Column({ type: 'varchar', length: 100, nullable: true })
41
48
  type: string;
@@ -14,6 +14,7 @@ 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';
17
18
 
18
19
  @Module({
19
20
  imports: [
@@ -27,6 +28,7 @@ import { ModuleAccess } from './entity/module-access.entity';
27
28
  ]),
28
29
  UtilsModule,
29
30
  UserModule,
31
+ ListMasterModule,
30
32
  ],
31
33
  controllers: [MenuController, ModuleAccessController],
32
34
  providers: [
@@ -37,5 +39,4 @@ import { ModuleAccess } from './entity/module-access.entity';
37
39
  ],
38
40
  exports: [ModuleAccessService,MenuService],
39
41
  })
40
- export class ModuleAccessModule {
41
- }
42
+ export class ModuleModule {}
@@ -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, app_id: number): Promise<number[]> {
20
+ async getUserRoles(userId: number, appcode: string): 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.app_id = :app_id', { app_id })
29
+ .andWhere('role.appcode = :appcode', { appcode })
30
30
  .getRawMany();
31
31
 
32
32
  return roles.map((r) => r.role_id);
@@ -34,26 +34,37 @@ export class MenuRepository extends Repository<MenuData> {
34
34
 
35
35
  async getAccessibleModules(
36
36
  roleIds: number[],
37
- app_id: number,
38
- ): Promise<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);
48
+
49
+ if (codes.length === 0) return [];
39
50
 
40
51
  const modules = await this.moduleAccessRepo
41
52
  .createQueryBuilder('moduleAccess')
42
- .select('moduleAccess.module_id')
43
- .where('moduleAccess.role_id IN (:...roleIds)', { roleIds })
53
+ .select('moduleAccess.module_code')
54
+ .where('moduleAccess.role_code IN (:...codes)', { codes })
44
55
  .andWhere('moduleAccess.access_flag > 0')
45
- .andWhere('moduleAccess.app_id = :app_id', { app_id: app_id })
56
+ .andWhere('LOWER(moduleAccess.appcode) = LOWER(:appCode)', { appCode })
46
57
  .getMany();
47
58
 
48
- return Array.from(new Set(modules.map((module) => module.module_id)));
59
+ return Array.from(new Set(modules.map((module) => module.module_code)));
49
60
  }
50
61
 
51
62
  /**
52
63
  * ✅ FIXED: Use this.createQueryBuilder() instead of this.menuData.createQueryBuilder()
53
64
  */
54
65
  async getMenuItems(
55
- modules: number[],
56
- app_id: number,
66
+ moduleCodes: string[],
67
+ appcode: string,
57
68
  levelType: string,
58
69
  ) {
59
70
  return await this.menuData
@@ -63,12 +74,12 @@ export class MenuRepository extends Repository<MenuData> {
63
74
  'module',
64
75
  `
65
76
  menu.module_code = module.module_code
66
- AND menu.app_id = module.app_id
77
+ AND LOWER(menu.appcode) = LOWER(module.appcode)
67
78
  AND menu.level_type = module.level_type
68
79
  `,
69
80
  )
70
- .where('menu.module_id IN (:...modules)', { modules: modules })
71
- .andWhere('menu.app_id = :app_id', { app_id: app_id })
81
+ .where('menu.module_code IN (:...moduleCodes)', { moduleCodes })
82
+ .andWhere('LOWER(menu.appcode) = LOWER(:appcode)', { appcode })
72
83
  .andWhere('menu.level_type = :levelType', { levelType })
73
84
  .andWhere('menu.ui_visible = 1')
74
85
  .select([
@@ -76,14 +87,15 @@ export class MenuRepository extends Repository<MenuData> {
76
87
  'module.component_name AS component',
77
88
  'module.title AS title',
78
89
  'module.entity_type AS entity_type',
79
- 'module.type AS type'
90
+ 'module.type AS type',
91
+ 'module.ui_config AS ui_config',
80
92
  ])
81
93
  .getRawMany();
82
94
  }
83
95
 
84
96
  async resolveUserRoles(
85
97
  userId: number,
86
- app_id: number,
98
+ appcode: string,
87
99
  levelType: string,
88
100
  levelId: number,
89
101
  ): Promise<number[]> {
@@ -102,7 +114,7 @@ export class MenuRepository extends Repository<MenuData> {
102
114
  const getUserUrm = await repo.findOne({
103
115
  where: {
104
116
  user_id: userId,
105
- app_id: app_id,
117
+ appcode: appcode,
106
118
  },
107
119
  });
108
120
 
@@ -123,7 +135,7 @@ export class MenuRepository extends Repository<MenuData> {
123
135
  .where('urm.user_id = :userId', { userId: userId })
124
136
  .andWhere('urm.level_type = :levelType', { levelType })
125
137
  .andWhere('urm.level_id = :levelId', { levelId: levelId })
126
- .andWhere('role.app_id = :app_id', { app_id: app_id })
138
+ .andWhere('role.appcode = :appcode', { appcode })
127
139
  .getRawMany();
128
140
 
129
141
  if (roles.length) return roles.map((r) => r.urm_role_id);
@@ -148,7 +160,7 @@ export class MenuRepository extends Repository<MenuData> {
148
160
  .where('urm.user_id = :userId', { userId })
149
161
  .andWhere('urm.level_type = :levelType', { levelType: 'BRN' })
150
162
  .andWhere('urm.level_id = :levelId', { levelId: brandId })
151
- .andWhere('role.app_id = :app_id', { app_id: app_id })
163
+ .andWhere('role.appcode = :appcode', { appcode })
152
164
  .getRawMany();
153
165
 
154
166
  if (roles.length) return roles.map((r) => r.urm_role_id);
@@ -162,7 +174,7 @@ export class MenuRepository extends Repository<MenuData> {
162
174
  .where('urm.user_id = :userId', { userId })
163
175
  .andWhere('urm.level_type = :levelType', { levelType: 'ORG' })
164
176
  .andWhere('urm.level_id = :levelId', { levelId: orgId })
165
- .andWhere('role.app_id = :app_id', { app_id: app_id })
177
+ .andWhere('role.appcode = :appcode', { appcode })
166
178
  .getRawMany();
167
179
 
168
180
  if (roles.length) return roles.map((r) => r.urm_role_id);