rez_core 6.5.61 → 6.5.62

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 (437) hide show
  1. package/dist/app.module.js +5 -3
  2. package/dist/app.module.js.map +1 -1
  3. package/dist/constant/status.constant.d.ts +4 -0
  4. package/dist/constant/status.constant.js +9 -0
  5. package/dist/constant/status.constant.js.map +1 -0
  6. package/dist/core.module.js +63 -38
  7. package/dist/core.module.js.map +1 -1
  8. package/dist/module/app_master/app-master.module.d.ts +2 -0
  9. package/dist/module/app_master/app-master.module.js +28 -0
  10. package/dist/module/app_master/app-master.module.js.map +1 -0
  11. package/dist/module/app_master/controller/app-master.controller.js.map +1 -0
  12. package/dist/module/app_master/entity/app-master.entity.d.ts +17 -0
  13. package/dist/module/{meta → app_master}/entity/app-master.entity.js +30 -12
  14. package/dist/module/app_master/entity/app-master.entity.js.map +1 -0
  15. package/dist/module/{meta → app_master}/repository/app-master.repository.d.ts +2 -2
  16. package/dist/module/{meta → app_master}/repository/app-master.repository.js +4 -4
  17. package/dist/module/app_master/repository/app-master.repository.js.map +1 -0
  18. package/dist/module/app_master/service/app-master.service.js.map +1 -0
  19. package/dist/module/auth/strategies/jwt.strategy.d.ts +2 -1
  20. package/dist/module/auth/strategies/jwt.strategy.js +3 -2
  21. package/dist/module/auth/strategies/jwt.strategy.js.map +1 -1
  22. package/dist/module/dashboard/dashboard.module.js +1 -1
  23. package/dist/module/dashboard/dashboard.module.js.map +1 -1
  24. package/dist/module/dashboard/service/dashboard.service.js +1 -2
  25. package/dist/module/dashboard/service/dashboard.service.js.map +1 -1
  26. package/dist/module/enterprise/controller/enterprise.controller.d.ts +12 -0
  27. package/dist/module/enterprise/controller/enterprise.controller.js +57 -0
  28. package/dist/module/enterprise/controller/enterprise.controller.js.map +1 -0
  29. package/dist/module/enterprise/controller/meta.controller.d.ts +9 -0
  30. package/dist/module/enterprise/controller/meta.controller.js +43 -0
  31. package/dist/module/enterprise/controller/meta.controller.js.map +1 -0
  32. package/dist/module/enterprise/controller/organization.controller.d.ts +12 -4
  33. package/dist/module/enterprise/controller/organization.controller.js +64 -8
  34. package/dist/module/enterprise/controller/organization.controller.js.map +1 -1
  35. package/dist/module/enterprise/enterprise.module.js +10 -15
  36. package/dist/module/enterprise/enterprise.module.js.map +1 -1
  37. package/dist/module/enterprise/entity/enterprise.entity.d.ts +1 -3
  38. package/dist/module/enterprise/entity/enterprise.entity.js +4 -12
  39. package/dist/module/enterprise/entity/enterprise.entity.js.map +1 -1
  40. package/dist/module/enterprise/entity/organization-app-mapping.entity.d.ts +6 -1
  41. package/dist/module/enterprise/entity/organization-app-mapping.entity.js +21 -4
  42. package/dist/module/enterprise/entity/organization-app-mapping.entity.js.map +1 -1
  43. package/dist/module/enterprise/entity/organization.entity.d.ts +3 -17
  44. package/dist/module/enterprise/entity/organization.entity.js +11 -73
  45. package/dist/module/enterprise/entity/organization.entity.js.map +1 -1
  46. package/dist/module/enterprise/repository/enterprise.repository.d.ts +4 -2
  47. package/dist/module/enterprise/repository/enterprise.repository.js +19 -4
  48. package/dist/module/enterprise/repository/enterprise.repository.js.map +1 -1
  49. package/dist/module/enterprise/service/brand-profile.service.d.ts +0 -0
  50. package/dist/module/enterprise/service/brand-profile.service.js +1 -0
  51. package/dist/module/enterprise/service/brand-profile.service.js.map +1 -0
  52. package/dist/module/enterprise/service/brand.service.d.ts +0 -3
  53. package/dist/module/enterprise/service/brand.service.js +0 -17
  54. package/dist/module/enterprise/service/brand.service.js.map +1 -1
  55. package/dist/module/enterprise/service/enterprise.service.d.ts +2 -2
  56. package/dist/module/enterprise/service/enterprise.service.js +6 -4
  57. package/dist/module/enterprise/service/enterprise.service.js.map +1 -1
  58. package/dist/module/enterprise/service/organization.service.d.ts +6 -6
  59. package/dist/module/enterprise/service/organization.service.js +109 -27
  60. package/dist/module/enterprise/service/organization.service.js.map +1 -1
  61. package/dist/module/enterprise/service/populate-meta.service.d.ts +9 -0
  62. package/dist/module/{meta → enterprise}/service/populate-meta.service.js +2 -8
  63. package/dist/module/enterprise/service/populate-meta.service.js.map +1 -0
  64. package/dist/module/enterprise/service/school.service.d.ts +0 -0
  65. package/dist/module/enterprise/service/school.service.js +1 -0
  66. package/dist/module/enterprise/service/school.service.js.map +1 -0
  67. package/dist/module/entity_json/controller/entity_json.controller.d.ts +9 -2
  68. package/dist/module/entity_json/controller/entity_json.controller.js.map +1 -1
  69. package/dist/module/entity_json/entity/entityJson.entity.d.ts +1 -2
  70. package/dist/module/entity_json/entity/entityJson.entity.js +1 -5
  71. package/dist/module/entity_json/entity/entityJson.entity.js.map +1 -1
  72. package/dist/module/entity_json/entity_json.module.js +2 -7
  73. package/dist/module/entity_json/entity_json.module.js.map +1 -1
  74. package/dist/module/entity_json/service/entity_json.service.d.ts +10 -2
  75. package/dist/module/entity_json/service/entity_json.service.js +25 -101
  76. package/dist/module/entity_json/service/entity_json.service.js.map +1 -1
  77. package/dist/module/filter/controller/filter.controller.d.ts +0 -12
  78. package/dist/module/filter/controller/filter.controller.js +1 -1
  79. package/dist/module/filter/controller/filter.controller.js.map +1 -1
  80. package/dist/module/filter/filter.module.js +2 -11
  81. package/dist/module/filter/filter.module.js.map +1 -1
  82. package/dist/module/filter/service/filter.service.d.ts +2 -38
  83. package/dist/module/filter/service/filter.service.js +50 -43
  84. package/dist/module/filter/service/filter.service.js.map +1 -1
  85. package/dist/module/filter/service/saved-filter.service.d.ts +2 -3
  86. package/dist/module/filter/service/saved-filter.service.js +18 -14
  87. package/dist/module/filter/service/saved-filter.service.js.map +1 -1
  88. package/dist/module/integration/service/integration.service.d.ts +0 -1
  89. package/dist/module/integration/service/integration.service.js +1 -2
  90. package/dist/module/integration/service/integration.service.js.map +1 -1
  91. package/dist/module/integration/service/wrapper.service.js +0 -1
  92. package/dist/module/integration/service/wrapper.service.js.map +1 -1
  93. package/dist/module/layout/controller/layout.controller.d.ts +1 -3
  94. package/dist/module/layout/controller/layout.controller.js +3 -7
  95. package/dist/module/layout/controller/layout.controller.js.map +1 -1
  96. package/dist/module/layout/entity/header-section.entity.d.ts +0 -2
  97. package/dist/module/layout/entity/header-section.entity.js +0 -8
  98. package/dist/module/layout/entity/header-section.entity.js.map +1 -1
  99. package/dist/module/layout/layout.module.js +1 -2
  100. package/dist/module/layout/layout.module.js.map +1 -1
  101. package/dist/module/layout/repository/header-section.repository.d.ts +0 -1
  102. package/dist/module/layout/repository/header-section.repository.js +0 -5
  103. package/dist/module/layout/repository/header-section.repository.js.map +1 -1
  104. package/dist/module/layout/service/header-section.service.d.ts +1 -1
  105. package/dist/module/layout/service/header-section.service.js +1 -1
  106. package/dist/module/layout/service/header-section.service.js.map +1 -1
  107. package/dist/module/linked_attributes/controller/linked_attributes.controller.d.ts +0 -41
  108. package/dist/module/linked_attributes/controller/linked_attributes.controller.js +0 -90
  109. package/dist/module/linked_attributes/controller/linked_attributes.controller.js.map +1 -1
  110. package/dist/module/linked_attributes/linked_attributes.module.js +1 -8
  111. package/dist/module/linked_attributes/linked_attributes.module.js.map +1 -1
  112. package/dist/module/linked_attributes/service/linked_attributes.service.d.ts +1 -65
  113. package/dist/module/linked_attributes/service/linked_attributes.service.js +2 -287
  114. package/dist/module/linked_attributes/service/linked_attributes.service.js.map +1 -1
  115. package/dist/module/listmaster/service/list-master.service.d.ts +14 -1
  116. package/dist/module/listmaster/service/list-master.service.js +217 -44
  117. package/dist/module/listmaster/service/list-master.service.js.map +1 -1
  118. package/dist/module/meta/controller/attribute-master.controller.d.ts +0 -3
  119. package/dist/module/meta/controller/attribute-master.controller.js +0 -12
  120. package/dist/module/meta/controller/attribute-master.controller.js.map +1 -1
  121. package/dist/module/meta/controller/entity-dynamic.controller.js +6 -3
  122. package/dist/module/meta/controller/entity-dynamic.controller.js.map +1 -1
  123. package/dist/module/meta/controller/entity.controller.js +1 -1
  124. package/dist/module/meta/controller/entity.controller.js.map +1 -1
  125. package/dist/module/meta/controller/meta.controller.d.ts +1 -6
  126. package/dist/module/meta/controller/meta.controller.js +1 -19
  127. package/dist/module/meta/controller/meta.controller.js.map +1 -1
  128. package/dist/module/meta/entity/attribute-master.entity.d.ts +4 -0
  129. package/dist/module/meta/entity/attribute-master.entity.js +16 -0
  130. package/dist/module/meta/entity/attribute-master.entity.js.map +1 -1
  131. package/dist/module/meta/entity/entity-master.entity.d.ts +0 -1
  132. package/dist/module/meta/entity/entity-master.entity.js +1 -8
  133. package/dist/module/meta/entity/entity-master.entity.js.map +1 -1
  134. package/dist/module/meta/entity.module.js +3 -14
  135. package/dist/module/meta/entity.module.js.map +1 -1
  136. package/dist/module/meta/service/attribute-master.service.d.ts +1 -6
  137. package/dist/module/meta/service/attribute-master.service.js +2 -22
  138. package/dist/module/meta/service/attribute-master.service.js.map +1 -1
  139. package/dist/module/meta/service/entity-dynamic.service.d.ts +9 -12
  140. package/dist/module/meta/service/entity-dynamic.service.js +20 -22
  141. package/dist/module/meta/service/entity-dynamic.service.js.map +1 -1
  142. package/dist/module/meta/service/entity-master.service.js +0 -1
  143. package/dist/module/meta/service/entity-master.service.js.map +1 -1
  144. package/dist/module/meta/service/entity-relation.service.d.ts +3 -4
  145. package/dist/module/meta/service/entity-relation.service.js +4 -10
  146. package/dist/module/meta/service/entity-relation.service.js.map +1 -1
  147. package/dist/module/meta/service/entity-service-impl.service.d.ts +2 -2
  148. package/dist/module/meta/service/entity-service-impl.service.js +11 -15
  149. package/dist/module/meta/service/entity-service-impl.service.js.map +1 -1
  150. package/dist/module/meta/service/entity-table.service.d.ts +4 -5
  151. package/dist/module/meta/service/entity-table.service.js +24 -45
  152. package/dist/module/meta/service/entity-table.service.js.map +1 -1
  153. package/dist/module/meta/service/resolver.service.d.ts +1 -1
  154. package/dist/module/meta/service/resolver.service.js +3 -6
  155. package/dist/module/meta/service/resolver.service.js.map +1 -1
  156. package/dist/module/module/controller/module-access.controller.d.ts +3 -4
  157. package/dist/module/module/controller/module-access.controller.js +13 -8
  158. package/dist/module/module/controller/module-access.controller.js.map +1 -1
  159. package/dist/module/module/entity/menu.entity.d.ts +6 -3
  160. package/dist/module/module/entity/menu.entity.js +19 -10
  161. package/dist/module/module/entity/menu.entity.js.map +1 -1
  162. package/dist/module/module/entity/module-access.entity.d.ts +15 -1
  163. package/dist/module/module/entity/module-access.entity.js +49 -3
  164. package/dist/module/module/entity/module-access.entity.js.map +1 -1
  165. package/dist/module/module/entity/module-action.entity.d.ts +4 -2
  166. package/dist/module/module/entity/module-action.entity.js +11 -6
  167. package/dist/module/module/entity/module-action.entity.js.map +1 -1
  168. package/dist/module/module/entity/module.entity.d.ts +3 -5
  169. package/dist/module/module/entity/module.entity.js +8 -18
  170. package/dist/module/module/entity/module.entity.js.map +1 -1
  171. package/dist/module/module/module.module.d.ts +1 -1
  172. package/dist/module/module/module.module.js +5 -7
  173. package/dist/module/module/module.module.js.map +1 -1
  174. package/dist/module/module/repository/menu.repository.d.ts +3 -3
  175. package/dist/module/module/repository/menu.repository.js +38 -27
  176. package/dist/module/module/repository/menu.repository.js.map +1 -1
  177. package/dist/module/module/repository/module-access.repository.d.ts +6 -6
  178. package/dist/module/module/repository/module-access.repository.js +100 -50
  179. package/dist/module/module/repository/module-access.repository.js.map +1 -1
  180. package/dist/module/module/service/menu.service.d.ts +2 -4
  181. package/dist/module/module/service/menu.service.js +7 -10
  182. package/dist/module/module/service/menu.service.js.map +1 -1
  183. package/dist/module/module/service/module-access.service.d.ts +7 -10
  184. package/dist/module/module/service/module-access.service.js +22 -24
  185. package/dist/module/module/service/module-access.service.js.map +1 -1
  186. package/dist/module/notification/entity/notification.entity.d.ts +17 -2
  187. package/dist/module/notification/entity/notification.entity.js +68 -2
  188. package/dist/module/notification/entity/notification.entity.js.map +1 -1
  189. package/dist/module/notification/notification.module.js +3 -4
  190. package/dist/module/notification/notification.module.js.map +1 -1
  191. package/dist/module/notification/service/email.service.d.ts +1 -0
  192. package/dist/module/notification/service/email.service.js +14 -0
  193. package/dist/module/notification/service/email.service.js.map +1 -1
  194. package/dist/module/notification/service/notification.service.d.ts +1 -3
  195. package/dist/module/notification/service/notification.service.js +2 -5
  196. package/dist/module/notification/service/notification.service.js.map +1 -1
  197. package/dist/module/notification/service/otp.service.d.ts +2 -2
  198. package/dist/module/notification/service/otp.service.js +4 -5
  199. package/dist/module/notification/service/otp.service.js.map +1 -1
  200. package/dist/module/preference_master/entity/preference.entity.d.ts +9 -0
  201. package/dist/module/preference_master/entity/preference.entity.js +48 -0
  202. package/dist/module/preference_master/entity/preference.entity.js.map +1 -0
  203. package/dist/module/preference_master/preference.service.d.ts +8 -0
  204. package/dist/module/preference_master/preference.service.js +31 -0
  205. package/dist/module/preference_master/preference.service.js.map +1 -0
  206. package/dist/module/preference_master/repo/preference.repository.d.ts +8 -0
  207. package/dist/module/preference_master/repo/preference.repository.js +48 -0
  208. package/dist/module/preference_master/repo/preference.repository.js.map +1 -0
  209. package/dist/module/user/controller/login.controller.d.ts +1 -3
  210. package/dist/module/user/controller/login.controller.js +2 -6
  211. package/dist/module/user/controller/login.controller.js.map +1 -1
  212. package/dist/module/user/controller/user.controller.d.ts +0 -2
  213. package/dist/module/user/controller/user.controller.js +0 -13
  214. package/dist/module/user/controller/user.controller.js.map +1 -1
  215. package/dist/module/user/dto/create-user.dto.d.ts +6 -3
  216. package/dist/module/user/dto/create-user.dto.js +17 -11
  217. package/dist/module/user/dto/create-user.dto.js.map +1 -1
  218. package/dist/module/user/entity/role.entity.d.ts +18 -6
  219. package/dist/module/user/entity/role.entity.js +64 -19
  220. package/dist/module/user/entity/role.entity.js.map +1 -1
  221. package/dist/module/user/entity/user-role-mapping.entity.d.ts +10 -0
  222. package/dist/module/user/entity/user-role-mapping.entity.js +33 -1
  223. package/dist/module/user/entity/user-role-mapping.entity.js.map +1 -1
  224. package/dist/module/user/entity/user-session.entity.d.ts +0 -2
  225. package/dist/module/user/entity/user-session.entity.js +2 -20
  226. package/dist/module/user/entity/user-session.entity.js.map +1 -1
  227. package/dist/module/user/entity/user.entity.d.ts +17 -5
  228. package/dist/module/user/entity/user.entity.js +61 -15
  229. package/dist/module/user/entity/user.entity.js.map +1 -1
  230. package/dist/module/user/repository/role.repository.d.ts +7 -2
  231. package/dist/module/user/repository/role.repository.js +23 -8
  232. package/dist/module/user/repository/role.repository.js.map +1 -1
  233. package/dist/module/user/repository/user-role-mapping.repository.d.ts +1 -0
  234. package/dist/module/user/repository/user-role-mapping.repository.js +3 -0
  235. package/dist/module/user/repository/user-role-mapping.repository.js.map +1 -1
  236. package/dist/module/user/repository/user.repository.d.ts +5 -2
  237. package/dist/module/user/repository/user.repository.js +26 -7
  238. package/dist/module/user/repository/user.repository.js.map +1 -1
  239. package/dist/module/user/repository/userSession.repository.d.ts +1 -0
  240. package/dist/module/user/repository/userSession.repository.js +3 -0
  241. package/dist/module/user/repository/userSession.repository.js.map +1 -1
  242. package/dist/module/user/service/login.service.d.ts +3 -5
  243. package/dist/module/user/service/login.service.js +43 -42
  244. package/dist/module/user/service/login.service.js.map +1 -1
  245. package/dist/module/user/service/role.service.d.ts +24 -11
  246. package/dist/module/user/service/role.service.js +54 -40
  247. package/dist/module/user/service/role.service.js.map +1 -1
  248. package/dist/module/user/service/user-role-mapping.service.d.ts +2 -0
  249. package/dist/module/user/service/user-role-mapping.service.js +6 -0
  250. package/dist/module/user/service/user-role-mapping.service.js.map +1 -1
  251. package/dist/module/user/service/user-session.service.d.ts +3 -4
  252. package/dist/module/user/service/user-session.service.js +10 -11
  253. package/dist/module/user/service/user-session.service.js.map +1 -1
  254. package/dist/module/user/service/user.service.d.ts +33 -22
  255. package/dist/module/user/service/user.service.js +66 -58
  256. package/dist/module/user/service/user.service.js.map +1 -1
  257. package/dist/module/user/user.module.js +2 -7
  258. package/dist/module/user/user.module.js.map +1 -1
  259. package/dist/module/workflow/repository/action-data.repository.d.ts +1 -1
  260. package/dist/module/workflow/repository/action-data.repository.js +6 -8
  261. package/dist/module/workflow/repository/action-data.repository.js.map +1 -1
  262. package/dist/module/workflow/repository/action.repository.d.ts +1 -1
  263. package/dist/module/workflow/repository/action.repository.js +10 -10
  264. package/dist/module/workflow/repository/action.repository.js.map +1 -1
  265. package/dist/module/workflow/repository/form-master.repository.d.ts +1 -1
  266. package/dist/module/workflow/repository/form-master.repository.js +2 -2
  267. package/dist/module/workflow/repository/form-master.repository.js.map +1 -1
  268. package/dist/module/workflow/service/action-data.service.js +1 -2
  269. package/dist/module/workflow/service/action-data.service.js.map +1 -1
  270. package/dist/module/workflow/service/action.service.js +2 -2
  271. package/dist/module/workflow/service/action.service.js.map +1 -1
  272. package/dist/module/workflow/service/comm-template.service.js +0 -2
  273. package/dist/module/workflow/service/comm-template.service.js.map +1 -1
  274. package/dist/module/workflow/service/entity-modification.service.js +0 -1
  275. package/dist/module/workflow/service/entity-modification.service.js.map +1 -1
  276. package/dist/module/workflow/service/form-master.service.js +2 -2
  277. package/dist/module/workflow/service/form-master.service.js.map +1 -1
  278. package/dist/module/workflow/service/populate-workflow.service.d.ts +1 -1
  279. package/dist/module/workflow/service/populate-workflow.service.js +1 -1
  280. package/dist/module/workflow/service/populate-workflow.service.js.map +1 -1
  281. package/dist/module/workflow/service/task.service.js +1 -4
  282. package/dist/module/workflow/service/task.service.js.map +1 -1
  283. package/dist/module/workflow/service/workflow-meta.service.js +2 -7
  284. package/dist/module/workflow/service/workflow-meta.service.js.map +1 -1
  285. package/dist/module/workflow/service/workflow.service.js +2 -2
  286. package/dist/module/workflow/service/workflow.service.js.map +1 -1
  287. package/dist/module/workflow/workflow.module.js +2 -0
  288. package/dist/module/workflow/workflow.module.js.map +1 -1
  289. package/dist/module/workflow-automation/service/workflow-automation.service.js +11 -6
  290. package/dist/module/workflow-automation/service/workflow-automation.service.js.map +1 -1
  291. package/dist/module/workflow-automation/workflow-automation.module.js +3 -1
  292. package/dist/module/workflow-automation/workflow-automation.module.js.map +1 -1
  293. package/dist/module/workflow-schedule/service/workflow-schedule.service.js +0 -2
  294. package/dist/module/workflow-schedule/service/workflow-schedule.service.js.map +1 -1
  295. package/dist/table.config.d.ts +3 -5
  296. package/dist/table.config.js +3 -3
  297. package/dist/table.config.js.map +1 -1
  298. package/dist/tsconfig.build.tsbuildinfo +1 -1
  299. package/package.json +2 -2
  300. package/src/app.module.ts +7 -5
  301. package/src/constant/status.constant.ts +4 -0
  302. package/src/core.module.ts +58 -44
  303. package/src/module/app_master/app-master.module.ts +15 -0
  304. package/src/module/{meta → app_master}/entity/app-master.entity.ts +22 -9
  305. package/src/module/{meta → app_master}/repository/app-master.repository.ts +3 -3
  306. package/src/module/auth/strategies/jwt.strategy.ts +4 -2
  307. package/src/module/dashboard/dashboard.module.ts +3 -3
  308. package/src/module/dashboard/service/dashboard.service.ts +1 -2
  309. package/src/module/enterprise/controller/enterprise.controller.ts +40 -0
  310. package/src/module/enterprise/controller/meta.controller.ts +23 -0
  311. package/src/module/enterprise/controller/organization.controller.ts +60 -4
  312. package/src/module/enterprise/enterprise.module.ts +16 -18
  313. package/src/module/enterprise/entity/enterprise.entity.ts +5 -11
  314. package/src/module/enterprise/entity/organization-app-mapping.entity.ts +18 -4
  315. package/src/module/enterprise/entity/organization.entity.ts +11 -58
  316. package/src/module/enterprise/repository/enterprise.repository.ts +26 -4
  317. package/src/module/enterprise/service/brand-profile.service.ts +10 -0
  318. package/src/module/enterprise/service/brand.service.ts +75 -5
  319. package/src/module/enterprise/service/enterprise.service.ts +12 -4
  320. package/src/module/enterprise/service/organization.service.ts +151 -28
  321. package/src/module/{meta → enterprise}/service/populate-meta.service.ts +2 -5
  322. package/src/module/enterprise/service/school.service.ts +5 -0
  323. package/src/module/entity_json/controller/entity_json.controller.ts +0 -13
  324. package/src/module/entity_json/entity/entityJson.entity.ts +1 -4
  325. package/src/module/entity_json/entity_json.module.ts +5 -9
  326. package/src/module/entity_json/service/entity_json.service.ts +51 -237
  327. package/src/module/filter/controller/filter.controller.ts +3 -1
  328. package/src/module/filter/filter.module.ts +3 -12
  329. package/src/module/filter/service/filter.service.ts +73 -130
  330. package/src/module/filter/service/saved-filter.service.ts +26 -16
  331. package/src/module/integration/service/integration.service.ts +2 -6
  332. package/src/module/integration/service/wrapper.service.ts +0 -1
  333. package/src/module/layout/controller/layout.controller.ts +1 -8
  334. package/src/module/layout/entity/header-section.entity.ts +0 -6
  335. package/src/module/layout/layout.module.ts +1 -1
  336. package/src/module/layout/repository/header-section.repository.ts +0 -6
  337. package/src/module/layout/service/header-section.service.ts +1 -1
  338. package/src/module/linked_attributes/controller/linked_attributes.controller.ts +0 -100
  339. package/src/module/linked_attributes/linked_attributes.module.ts +2 -9
  340. package/src/module/linked_attributes/service/linked_attributes.service.ts +3 -578
  341. package/src/module/listmaster/service/list-master.service.ts +437 -75
  342. package/src/module/meta/controller/attribute-master.controller.ts +0 -12
  343. package/src/module/meta/controller/entity-dynamic.controller.ts +6 -8
  344. package/src/module/meta/controller/entity.controller.ts +0 -1
  345. package/src/module/meta/controller/meta.controller.ts +3 -25
  346. package/src/module/meta/entity/attribute-master.entity.ts +13 -0
  347. package/src/module/meta/entity/entity-master.entity.ts +3 -9
  348. package/src/module/meta/entity.module.ts +6 -20
  349. package/src/module/meta/service/attribute-master.service.ts +1 -31
  350. package/src/module/meta/service/entity-dynamic.service.ts +23 -26
  351. package/src/module/meta/service/entity-master.service.ts +0 -1
  352. package/src/module/meta/service/entity-relation.service.ts +6 -10
  353. package/src/module/meta/service/entity-service-impl.service.ts +19 -15
  354. package/src/module/meta/service/entity-table.service.ts +68 -82
  355. package/src/module/meta/service/entity.service.ts +1 -0
  356. package/src/module/meta/service/resolver.service.ts +0 -4
  357. package/src/module/module/controller/module-access.controller.ts +14 -9
  358. package/src/module/module/entity/menu.entity.ts +18 -10
  359. package/src/module/module/entity/module-access.entity.ts +40 -3
  360. package/src/module/module/entity/module-action.entity.ts +10 -6
  361. package/src/module/module/entity/module.entity.ts +7 -14
  362. package/src/module/module/module.module.ts +2 -3
  363. package/src/module/module/repository/menu.repository.ts +43 -29
  364. package/src/module/module/repository/module-access.repository.ts +110 -62
  365. package/src/module/module/service/menu.service.ts +7 -9
  366. package/src/module/module/service/module-access.service.ts +22 -34
  367. package/src/module/notification/entity/notification.entity.ts +53 -3
  368. package/src/module/notification/notification.module.ts +6 -5
  369. package/src/module/notification/service/email.service.ts +16 -1
  370. package/src/module/notification/service/notification.service.ts +0 -1
  371. package/src/module/notification/service/otp.service.ts +16 -5
  372. package/src/module/preference_master/entity/preference.entity.ts +25 -0
  373. package/src/module/preference_master/preference.service.ts +27 -0
  374. package/src/module/preference_master/repo/preference.repository.ts +36 -0
  375. package/src/module/user/controller/login.controller.ts +7 -8
  376. package/src/module/user/controller/user.controller.ts +0 -9
  377. package/src/module/user/dto/create-user.dto.ts +19 -6
  378. package/src/module/user/entity/role.entity.ts +59 -16
  379. package/src/module/user/entity/user-role-mapping.entity.ts +29 -3
  380. package/src/module/user/entity/user-session.entity.ts +3 -19
  381. package/src/module/user/entity/user.entity.ts +48 -13
  382. package/src/module/user/repository/role.repository.ts +32 -12
  383. package/src/module/user/repository/user-role-mapping.repository.ts +5 -1
  384. package/src/module/user/repository/user.repository.ts +36 -9
  385. package/src/module/user/repository/userSession.repository.ts +5 -1
  386. package/src/module/user/service/login.service.ts +47 -51
  387. package/src/module/user/service/role.service.ts +64 -63
  388. package/src/module/user/service/user-role-mapping.service.ts +23 -1
  389. package/src/module/user/service/user-session.service.ts +14 -11
  390. package/src/module/user/service/user.service.ts +76 -95
  391. package/src/module/user/user.module.ts +4 -5
  392. package/src/module/workflow/repository/action-data.repository.ts +6 -8
  393. package/src/module/workflow/repository/action.repository.ts +11 -11
  394. package/src/module/workflow/repository/form-master.repository.ts +2 -2
  395. package/src/module/workflow/service/action-data.service.ts +3 -2
  396. package/src/module/workflow/service/action.service.ts +2 -2
  397. package/src/module/workflow/service/comm-template.service.ts +0 -2
  398. package/src/module/workflow/service/entity-modification.service.ts +0 -1
  399. package/src/module/workflow/service/form-master.service.ts +2 -2
  400. package/src/module/workflow/service/populate-workflow.service.ts +1 -1
  401. package/src/module/workflow/service/task.service.ts +0 -4
  402. package/src/module/workflow/service/workflow-meta.service.ts +2 -7
  403. package/src/module/workflow/service/workflow.service.ts +2 -2
  404. package/src/module/workflow/workflow.module.ts +2 -0
  405. package/src/module/workflow-automation/service/workflow-automation.service.ts +19 -7
  406. package/src/module/workflow-automation/workflow-automation.module.ts +4 -3
  407. package/src/module/workflow-schedule/service/workflow-schedule.service.ts +0 -2
  408. package/src/resources/dev.properties.yaml +2 -2
  409. package/src/table.config.ts +3 -3
  410. package/dist/migrations/1732612800000-AddEntityJsonGinIndex.d.ts +0 -6
  411. package/dist/migrations/1732612800000-AddEntityJsonGinIndex.js +0 -32
  412. package/dist/migrations/1732612800000-AddEntityJsonGinIndex.js.map +0 -1
  413. package/dist/module/filter/service/flatjson-filter.service.d.ts +0 -32
  414. package/dist/module/filter/service/flatjson-filter.service.js +0 -632
  415. package/dist/module/filter/service/flatjson-filter.service.js.map +0 -1
  416. package/dist/module/linked_attributes/dto/create-linked-attribute-smart.dto.d.ts +0 -13
  417. package/dist/module/linked_attributes/dto/create-linked-attribute-smart.dto.js +0 -64
  418. package/dist/module/linked_attributes/dto/create-linked-attribute-smart.dto.js.map +0 -1
  419. package/dist/module/meta/controller/app-master.controller.js.map +0 -1
  420. package/dist/module/meta/entity/app-master.entity.d.ts +0 -13
  421. package/dist/module/meta/entity/app-master.entity.js.map +0 -1
  422. package/dist/module/meta/repository/app-master.repository.js.map +0 -1
  423. package/dist/module/meta/service/app-master.service.js.map +0 -1
  424. package/dist/module/meta/service/populate-meta.service.d.ts +0 -13
  425. package/dist/module/meta/service/populate-meta.service.js.map +0 -1
  426. package/src/migrations/1732612800000-AddEntityJsonGinIndex.ts +0 -41
  427. package/src/module/entity_json/docs/FlatJson_Filterin_System.md +0 -2804
  428. package/src/module/filter/service/flatjson-filter.service.ts +0 -903
  429. package/src/module/filter/test/flatjson-filter.service.spec.ts +0 -415
  430. package/src/module/linked_attributes/dto/create-linked-attribute-smart.dto.ts +0 -54
  431. package/src/module/linked_attributes/test/linked-attributes.service.spec.ts +0 -244
  432. /package/dist/module/{meta → app_master}/controller/app-master.controller.d.ts +0 -0
  433. /package/dist/module/{meta → app_master}/controller/app-master.controller.js +0 -0
  434. /package/dist/module/{meta → app_master}/service/app-master.service.d.ts +0 -0
  435. /package/dist/module/{meta → app_master}/service/app-master.service.js +0 -0
  436. /package/src/module/{meta → app_master}/controller/app-master.controller.ts +0 -0
  437. /package/src/module/{meta → app_master}/service/app-master.service.ts +0 -0
@@ -1,28 +1,26 @@
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
26
  appcode,
@@ -33,24 +31,25 @@ export class ModuleAccessRepository {
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,
@@ -68,11 +67,21 @@ export class ModuleAccessRepository {
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,77 @@ 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
+
168
+ const appMasterRepo = this.reflectionHelper.getRepoService('AppMaster');
169
+ // TODO Permissions not getting populated
170
+ const appMaster = await appMasterRepo.find({
171
+ where: {
172
+ code: appcode,
173
+ },
174
+ });
175
+
176
+ if (!appMaster) {
177
+ return {};
178
+ }
179
+
147
180
  const mainModules =
148
181
  mainModIds.length === 1 && mainModIds[0] === '-1'
149
182
  ? await this.moduleRepo.find({
150
- where: { module_level: 'MAINMOD', appcode },
151
- })
183
+ where: { module_level: 'MAINMOD', app_id: appMaster[0].id },
184
+ })
152
185
  : await this.moduleRepo.find({
153
- where: { id: In(mainModIds), module_level: 'MAINMOD', appcode },
154
- });
186
+ where: { id: In(mainModIds), module_level: 'MAINMOD', app: { code: appcode } },
187
+ });
155
188
 
156
189
  if (!mainModules.length) return {};
157
190
 
@@ -165,7 +198,7 @@ export class ModuleAccessRepository {
165
198
  .join(' OR '),
166
199
  Object.fromEntries(wbsCodes.map((code) => [`code${code}`, `${code}%`])),
167
200
  )
168
- .andWhere('module.appcode = :appcode', { appcode })
201
+ .andWhere('module.app_id = :app_id', { app_id: appMaster[0].id })
169
202
  .andWhere('module.module_code != :excludedCode', {
170
203
  excludedCode: 'all_organization_adm_org',
171
204
  })
@@ -175,28 +208,27 @@ export class ModuleAccessRepository {
175
208
  (mod) => mod.module_code != 'all_organization_adm_org',
176
209
  );
177
210
 
178
- const moduleCodes = allModules.map((m) => m.module_code);
211
+ const modules = allModules.map((m) => m.id);
179
212
 
180
213
  const allActions = await this.moduleActionRepo.find({
181
- where: { module_code: In(moduleCodes) },
182
- });
214
+ where: {
215
+ module_id: In(modules),
216
+ }
217
+ })
183
218
 
184
219
  // Map actions by module_code with VIEW action first
185
220
  const actionMap = allActions.reduce(
186
221
  (acc, action) => {
187
- if (!acc[action.module_code]) acc[action.module_code] = [];
188
-
222
+ if (!acc[action?.module_id]) acc[action?.module_id] = [];
189
223
  const actionItem = {
190
- action: action.action_type,
224
+ action: action.action_code,
191
225
  name: action.action_name,
192
226
  };
193
-
194
- if (action.action_type === 'VIEW') {
195
- acc[action.module_code].unshift(actionItem); // ➕ Add VIEW at start
227
+ if (action.action_code === 'VIEW') {
228
+ acc[action?.module_id].unshift(actionItem); // ➕ Add VIEW at start
196
229
  } else {
197
- acc[action.module_code].push(actionItem); // ➕ Add others at end
230
+ acc[action?.module_id].push(actionItem); // ➕ Add others at end
198
231
  }
199
-
200
232
  return acc;
201
233
  },
202
234
  {} as Record<string, { action: string; name: string }[]>,
@@ -215,12 +247,13 @@ 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
- permission: actionMap[mod.module_code] || [],
256
+ permission: actionMap[mod.id] || [],
224
257
  submod: buildHierarchy(mod.wbs_code),
225
258
  }));
226
259
 
@@ -228,8 +261,9 @@ 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
- permission: actionMap[mod.module_code] || [],
266
+ permission: actionMap[mod.id] || [],
233
267
  submod: buildHierarchy(mod.wbs_code),
234
268
  }));
235
269
 
@@ -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
@@ -1,15 +1,13 @@
1
1
  import { Injectable } from '@nestjs/common';
2
2
  import { MenuRepository } from '../repository/menu.repository';
3
3
  import { MenuData } from '../entity/menu.entity';
4
- import { DataSource } from 'typeorm';
5
- import { UserRoleMapping } from 'src/module/user/entity/user-role-mapping.entity';
6
4
 
7
5
  @Injectable()
8
6
  export class MenuService {
9
7
  constructor(
10
8
  private readonly menuRepository: MenuRepository,
11
- private readonly datasource: DataSource,
12
- ) {}
9
+ ) {
10
+ }
13
11
 
14
12
  /**
15
13
  * Fetch and construct menu hierarchy for a given user.
@@ -30,15 +28,15 @@ export class MenuService {
30
28
  if (!roleCodes.length) return { menu: [] };
31
29
 
32
30
  // Step 2: Get accessible modules
33
- const moduleCodes = await this.menuRepository.getAccessibleModules(
31
+ const modules = await this.menuRepository.getAccessibleModules(
34
32
  roleCodes,
35
33
  appcode,
36
34
  );
37
- if (!moduleCodes.length) return { menu: [] };
35
+ if (!modules.length) return { menu: [] };
38
36
 
39
37
  // Step 3: Get menu items for the given level type
40
38
  const menuItems = await this.menuRepository.getMenuItems(
41
- moduleCodes,
39
+ modules,
42
40
  appcode,
43
41
  levelType,
44
42
  );
@@ -76,7 +74,7 @@ export class MenuService {
76
74
  }
77
75
 
78
76
  // get user roles
79
- async getUserRoles(userId: number, appcode: string): Promise<any> {
80
- return this.menuRepository.getUserRoles(userId, appcode);
77
+ async getUserRoles(userId: number, app_id: number): Promise<any> {
78
+ return this.menuRepository.getUserRoles(userId, app_id);
81
79
  }
82
80
  }
@@ -1,27 +1,21 @@
1
- import { BadRequestException, Inject, Injectable } from '@nestjs/common';
1
+ import { BadRequestException, Injectable } from '@nestjs/common';
2
2
  import { ModuleAccessRepository } from '../repository/module-access.repository';
3
- import { RoleRepository } from 'src/module/user/repository/role.repository';
4
- import { RoleService } from '../../user/service/role.service';
5
- import {
6
- ENTITYTYPE_ROLE,
7
- STATUS_INACTIVE,
8
- } from '../../../constant/global.constant';
9
- import { Role } from '../../user/entity/role.entity';
10
- import { DataSource, EntityManager } from 'typeorm';
3
+ import { IsNull, Not, Or, Repository } from 'typeorm';
11
4
  import { UserData } from 'src/module/user/entity/user.entity';
12
5
  import { MenuRepository } from '../repository/menu.repository';
13
- import { ListMasterService } from 'src/module/listmaster/service/list-master.service';
14
6
  import { ReflectionHelper } from '../../../utils/service/reflection-helper.service';
7
+ import { Role } from '../../user/entity/role.entity';
8
+ import { InjectRepository } from '@nestjs/typeorm';
9
+ import { StatusConstant } from '../../../constant/status.constant';
15
10
 
16
11
  @Injectable()
17
12
  export class ModuleAccessService {
18
13
  constructor(
19
14
  private readonly moduleAccessRepository: ModuleAccessRepository,
20
15
  private readonly menuRepository: MenuRepository,
21
- private readonly dataSource: DataSource,
22
- @Inject('ListMasterService')
23
- private readonly listMasterService: ListMasterService,
24
16
  private readonly reflectionHelper: ReflectionHelper,
17
+ @InjectRepository(Role)
18
+ private readonly roleRepo: Repository<Role>
25
19
  ) {
26
20
  }
27
21
 
@@ -42,25 +36,26 @@ export class ModuleAccessService {
42
36
  level_id?: number;
43
37
  include?: boolean;
44
38
  }) {
45
- const query = this.dataSource
46
- .createQueryBuilder()
47
- .select('*')
48
- .from('sso_role', 'role')
49
- .where('role.appcode = :appcode', { appcode });
50
39
 
51
- // Only add this condition if `include` is false (exclude factory roles)
40
+ const where: any = {
41
+ app: {
42
+ code: appcode
43
+ }
44
+ };
45
+
52
46
  if (!include) {
53
- query.andWhere('(role.is_factory IS NULL OR role.is_factory != 1)');
47
+ where.is_factory = Or(IsNull(), Not(1));
54
48
  }
55
49
 
56
50
  if (level_type && level_id) {
57
- query.andWhere('role.level_type = :level_type', { level_type });
58
- query.andWhere('role.level_id = :level_id', {
59
- level_id: String(level_id),
60
- });
51
+ where.level_type = level_type;
52
+ where.level_id = String(level_id);
61
53
  }
62
54
 
63
- const roles = await query.getRawMany();
55
+ const roles = await this.roleRepo.find({
56
+ where,
57
+ });
58
+
64
59
 
65
60
  return roles.map((role) => ({
66
61
  label: role.name,
@@ -88,7 +83,7 @@ export class ModuleAccessService {
88
83
  levelType: string,
89
84
  ): Promise<Record<string, any[]>> {
90
85
  if (!appcode) {
91
- throw new BadRequestException('Appcode is required');
86
+ throw new BadRequestException('App code is required');
92
87
  }
93
88
 
94
89
  return this.moduleAccessRepository.getAllModulesByLevel(
@@ -133,13 +128,11 @@ export class ModuleAccessService {
133
128
  appcode,
134
129
  level_type,
135
130
  level_id,
136
- enterprise_id,
137
131
  }: {
138
132
  userId: number;
139
133
  appcode: string;
140
134
  level_type: string;
141
135
  level_id: number;
142
- enterprise_id: number;
143
136
  }) {
144
137
  // Step 1: Resolve roles
145
138
  const roleCodes = await this.menuRepository.resolveUserRoles(
@@ -172,12 +165,7 @@ export class ModuleAccessService {
172
165
  },
173
166
  });
174
167
 
175
- const resolveStatus = await this.listMasterService.getResolvedListCode(
176
- STATUS_INACTIVE,
177
- enterprise_id || 0,
178
- );
179
-
180
- if (!school || school.status === resolveStatus.id) {
168
+ if (!school || school.status === StatusConstant.INACTIVE) {
181
169
  // Return only VIEW permissions
182
170
  return allPermissions.filter((perm) => perm.action === 'VIEW');
183
171
  }
@@ -1,8 +1,58 @@
1
- import { BaseEntity } from 'src/module/meta/entity/base-entity.entity';
2
- import { Column, Entity } from 'typeorm';
1
+ import { Column, Entity, PrimaryGeneratedColumn } from 'typeorm';
3
2
 
4
3
  @Entity({ name: 'frm_notification' })
5
- export class NotificationData extends BaseEntity {
4
+ export class NotificationData {
5
+ @PrimaryGeneratedColumn({ type: 'bigint' })
6
+ id: number;
7
+
8
+ @Column({ name: 'entity_type', type: 'varchar', length: 100, nullable: true })
9
+ entity_type: string;
10
+
11
+ @Column({ name: 'name', type: 'varchar', length: 100, nullable: true })
12
+ name: string;
13
+
14
+ @Column({ name: 'status', type: 'varchar', nullable: true, length: 100 })
15
+ status: string;
16
+
17
+ @Column({ name: 'parent_type', type: 'varchar', length: 100, nullable: true })
18
+ parent_type: string;
19
+
20
+ @Column({ name: 'parent_id', type: 'bigint', nullable: true })
21
+ parent_id: number;
22
+
23
+ @Column({ name: 'code', type: 'varchar', length: 100, nullable: true })
24
+ code: string;
25
+
26
+ @Column({ name: 'created_by', type: 'bigint', nullable: true })
27
+ created_by: number;
28
+
29
+ @Column({
30
+ name: 'created_date',
31
+ nullable: true,
32
+ })
33
+ created_date: Date;
34
+
35
+ @Column({ name: 'modified_by', type: 'bigint', nullable: true })
36
+ modified_by: number;
37
+
38
+ @Column({ name: 'modified_date', nullable: true })
39
+ modified_date: Date;
40
+
41
+ @Column({ name: 'enterprise_id', type: 'int', nullable: true })
42
+ enterprise_id: number;
43
+
44
+ @Column({ name: 'organization_id', type: 'int', nullable: true })
45
+ organization_id: number;
46
+
47
+ @Column({ name: 'appcode', type: 'varchar', length: 100, nullable: true })
48
+ appcode: string;
49
+
50
+ @Column({ name: 'level_id', type: 'varchar', length: 100, nullable: true })
51
+ level_id: string;
52
+
53
+ @Column({ name: 'level_type', type: 'varchar', length: 100, nullable: true })
54
+ level_type: string;
55
+
6
56
  @Column({ name: 'user_id', type: 'int', nullable: true })
7
57
  user_id: number | null;
8
58
 
@@ -15,12 +15,14 @@ import { IcsMeetingModule } from '../ics/ics.module';
15
15
  import { NotificationData } from './entity/notification.entity';
16
16
  import { NotificationsController } from './controller/notification.controller';
17
17
  import { NotificationsService } from './service/notification.service';
18
- import { EntityModule } from '../meta/entity.module';
19
18
  import { FirebaseAdminProvider } from './firebase-admin.config';
19
+ import { PreferenceService } from '../preference_master/preference.service';
20
+ import { PreferenceRepository } from '../meta/repository/preference.repository';
21
+ import { PreferenceData } from '../preference_master/entity/preference.entity';
20
22
 
21
23
  @Module({
22
24
  imports: [
23
- TypeOrmModule.forFeature([Otp, NotificationData]),
25
+ TypeOrmModule.forFeature([Otp, NotificationData, PreferenceData]),
24
26
  MailerModule.forRootAsync({
25
27
  imports: [ConfigModule],
26
28
  inject: [ConfigService],
@@ -49,14 +51,13 @@ import { FirebaseAdminProvider } from './firebase-admin.config';
49
51
  AuthModule,
50
52
  UserModule,
51
53
  IcsMeetingModule,
52
- EntityModule,
53
54
  ],
54
55
  providers: [
55
56
  OtpService,
56
57
  OtpRepository,
57
58
  EmailService,
58
59
  NotificationsService,
59
- FirebaseAdminProvider,
60
+ FirebaseAdminProvider
60
61
  ],
61
62
  exports: [
62
63
  OtpService,
@@ -66,4 +67,4 @@ import { FirebaseAdminProvider } from './firebase-admin.config';
66
67
  ],
67
68
  controllers: [OtpController, NotificationsController],
68
69
  })
69
- export class NotificationModule {}
70
+ export class NotificationModule { }
@@ -10,7 +10,7 @@ export class EmailService {
10
10
  private readonly mailerService: MailerService,
11
11
  private readonly datasource: DataSource,
12
12
  private readonly icsService: IcsMeetingService,
13
- ) {}
13
+ ) { }
14
14
 
15
15
  async sendEmail(
16
16
  email: string,
@@ -124,4 +124,19 @@ export class EmailService {
124
124
 
125
125
  return { success: true, message: 'Email sent successfully' };
126
126
  }
127
+
128
+ async sendEmailWithoutTemplate(to: string, subject: string, body: string) {
129
+ try {
130
+ await this.mailerService.sendMail({
131
+ to,
132
+ subject,
133
+ html: body,
134
+ });
135
+ console.log(`Email sent successfully to ${to} via NodeMailer.`);
136
+ } catch (error) {
137
+ console.error(`Failed to send email to ${to} via NodeMailer:`, error);
138
+ throw error; // Re-throw to allow calling context to handle
139
+ }
140
+ }
141
+
127
142
  }
@@ -10,7 +10,6 @@ import { ReflectionHelper } from 'src/utils/service/reflection-helper.service';
10
10
  export class NotificationsService {
11
11
  constructor(
12
12
  private readonly entityManager: EntityManager,
13
- private readonly mediaDataService: MediaDataService,
14
13
  private readonly configService: ConfigService,
15
14
  private readonly reflectionHelper: ReflectionHelper,
16
15
  @Inject('FIREBASE_ADMIN') private readonly firebaseAdmin: typeof admin,