rez_core 4.0.138 → 4.0.140

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 (439) hide show
  1. package/.claude/settings.local.json +26 -0
  2. package/.idea/250218_nodejs_core.iml +9 -0
  3. package/.idea/codeStyles/Project.xml +59 -0
  4. package/.idea/codeStyles/codeStyleConfig.xml +5 -0
  5. package/.idea/copilot.data.migration.agent.xml +6 -0
  6. package/.idea/copilot.data.migration.ask.xml +6 -0
  7. package/.idea/copilot.data.migration.ask2agent.xml +6 -0
  8. package/.idea/copilot.data.migration.edit.xml +6 -0
  9. package/.idea/inspectionProfiles/Project_Default.xml +6 -0
  10. package/.idea/misc.xml +6 -0
  11. package/.idea/modules.xml +8 -0
  12. package/.idea/prettier.xml +6 -0
  13. package/.idea/vcs.xml +6 -0
  14. package/.prettierrc +3 -3
  15. package/README.md +99 -99
  16. package/dist/config/config.module.js +2 -2
  17. package/dist/config/config.module.js.map +1 -1
  18. package/dist/config/database.config.d.ts +1 -1
  19. package/dist/config/database.config.js +15 -12
  20. package/dist/config/database.config.js.map +1 -1
  21. package/dist/module/auth/guards/role.guard.js +3 -3
  22. package/dist/module/auth/services/auth.service.js +3 -3
  23. package/dist/module/auth/services/auth.service.js.map +1 -1
  24. package/dist/module/enterprise/entity/organization.entity.js +1 -1
  25. package/dist/module/enterprise/repository/school.repository.js +2 -2
  26. package/dist/module/enterprise/repository/school.repository.js.map +1 -1
  27. package/dist/module/filter/repository/saved-filter.repository.js +4 -4
  28. package/dist/module/filter/service/filter-evaluator.service.js +2 -2
  29. package/dist/module/filter/service/filter.service.js +22 -22
  30. package/dist/module/integration/entity/integration-config.entity.js +6 -6
  31. package/dist/module/integration/entity/integration-config.entity.js.map +1 -1
  32. package/dist/module/integration/entity/integration-entity-mapper.entity.js +1 -1
  33. package/dist/module/integration/entity/integration-entity-mapper.entity.js.map +1 -1
  34. package/dist/module/integration/entity/integration-source.entity.js +4 -4
  35. package/dist/module/integration/entity/integration-source.entity.js.map +1 -1
  36. package/dist/module/integration/entity/user-integration.entity.js +4 -4
  37. package/dist/module/integration/entity/user-integration.entity.js.map +1 -1
  38. package/dist/module/integration/examples/usage.example.js +9 -9
  39. package/dist/module/integration/service/integration.service.js +1 -1
  40. package/dist/module/integration/service/wrapper.service.d.ts +1 -3
  41. package/dist/module/integration/service/wrapper.service.js +61 -64
  42. package/dist/module/integration/service/wrapper.service.js.map +1 -1
  43. package/dist/module/listmaster/entity/list-master-items.entity.js +3 -3
  44. package/dist/module/listmaster/entity/list-master-items.entity.js.map +1 -1
  45. package/dist/module/listmaster/entity/list-master.entity.js +4 -4
  46. package/dist/module/listmaster/entity/list-master.entity.js.map +1 -1
  47. package/dist/module/listmaster/service/list-master-item.service.js +2 -2
  48. package/dist/module/mapper/entity/field-mapper.entity.js +6 -6
  49. package/dist/module/mapper/entity/field-mapper.entity.js.map +1 -1
  50. package/dist/module/mapper/service/field-mapper.service.js +6 -6
  51. package/dist/module/mapper/service/field-mapper.service.js.map +1 -1
  52. package/dist/module/mapper/service/mapper.service.js +2 -2
  53. package/dist/module/meta/entity/entity-master.entity.js +1 -1
  54. package/dist/module/meta/entity/entity-master.entity.js.map +1 -1
  55. package/dist/module/meta/entity/view-master.entity.js +1 -1
  56. package/dist/module/meta/entity/view-master.entity.js.map +1 -1
  57. package/dist/module/meta/service/attribute-master.service.js +1 -1
  58. package/dist/module/meta/service/attribute-master.service.js.map +1 -1
  59. package/dist/module/meta/service/entity-dynamic.service.js +9 -9
  60. package/dist/module/meta/service/entity-list.service.js +3 -3
  61. package/dist/module/meta/service/entity-master.service.js +3 -3
  62. package/dist/module/meta/service/entity-relation.service.js +11 -11
  63. package/dist/module/meta/service/entity-service-impl.service.js +3 -3
  64. package/dist/module/meta/service/resolver.service.js +5 -5
  65. package/dist/module/meta/service/resolver.service.js.map +1 -1
  66. package/dist/module/module/repository/menu.repository.js +12 -12
  67. package/dist/module/notification/entity/otp.entity.js +1 -1
  68. package/dist/module/notification/entity/otp.entity.js.map +1 -1
  69. package/dist/module/notification/service/notification.service.js +9 -9
  70. package/dist/module/user/controller/login.controller.js +18 -18
  71. package/dist/module/user/entity/user-role-mapping.entity.js +1 -1
  72. package/dist/module/user/entity/user-role-mapping.entity.js.map +1 -1
  73. package/dist/module/user/service/role.service.js +4 -4
  74. package/dist/module/user/service/user-session.service.js +2 -2
  75. package/dist/module/workflow/entity/action-data.entity.js +1 -1
  76. package/dist/module/workflow/entity/action-data.entity.js.map +1 -1
  77. package/dist/module/workflow/entity/action.entity.js +1 -1
  78. package/dist/module/workflow/entity/action.entity.js.map +1 -1
  79. package/dist/module/workflow/entity/comm-template.entity.js +1 -1
  80. package/dist/module/workflow/entity/comm-template.entity.js.map +1 -1
  81. package/dist/module/workflow/repository/action.repository.js +20 -20
  82. package/dist/module/workflow/repository/comm-template.repository.js +6 -6
  83. package/dist/module/workflow/repository/form-master.repository.js +2 -2
  84. package/dist/module/workflow/repository/stage-group.repository.js +23 -23
  85. package/dist/module/workflow/repository/stage-movement.repository.js +15 -15
  86. package/dist/module/workflow/repository/stage.repository.js +8 -8
  87. package/dist/module/workflow/repository/task.repository.d.ts +1 -3
  88. package/dist/module/workflow/repository/task.repository.js +3 -8
  89. package/dist/module/workflow/repository/task.repository.js.map +1 -1
  90. package/dist/module/workflow/service/action-template-mapping.service.js +22 -22
  91. package/dist/module/workflow/service/action.service.js +7 -7
  92. package/dist/module/workflow/service/entity-modification.service.js +6 -6
  93. package/dist/module/workflow/service/stage-group.service.js +2 -2
  94. package/dist/module/workflow/service/stage.service.js +2 -2
  95. package/dist/module/workflow/service/task.service.js +41 -36
  96. package/dist/module/workflow/service/task.service.js.map +1 -1
  97. package/dist/module/workflow/service/workflow-list-master.service.js +15 -15
  98. package/dist/module/workflow/service/workflow-meta.service.js +47 -49
  99. package/dist/module/workflow/service/workflow-meta.service.js.map +1 -1
  100. package/dist/module/workflow/service/workflow.service.js +2 -2
  101. package/dist/tsconfig.build.tsbuildinfo +1 -1
  102. package/dist/utils/service/loggingUtil.service.d.ts +2 -9
  103. package/dist/utils/service/loggingUtil.service.js +14 -65
  104. package/dist/utils/service/loggingUtil.service.js.map +1 -1
  105. package/dist/utils/service/reflection-helper.service.js +2 -2
  106. package/dist/utils/utils.module.js +0 -2
  107. package/dist/utils/utils.module.js.map +1 -1
  108. package/docs/modules/event-driven-integration-design.md +91 -91
  109. package/docs/modules/integration.md +250 -250
  110. package/eslint.config.mjs +34 -34
  111. package/nest-cli.json +14 -14
  112. package/package.json +120 -119
  113. package/server.log +850 -0
  114. package/src/app.controller.ts +12 -12
  115. package/src/app.module.ts +52 -52
  116. package/src/app.service.ts +8 -8
  117. package/src/config/config.module.ts +17 -18
  118. package/src/config/database.config.ts +47 -23
  119. package/src/constant/global.constant.ts +67 -67
  120. package/src/core.module.ts +81 -81
  121. package/src/decorators/roles.decorator.ts +7 -7
  122. package/src/dtos/response.dto.ts +6 -6
  123. package/src/dtos/response.ts +5 -5
  124. package/src/index.ts +1 -1
  125. package/src/module/auth/auth.module.ts +49 -49
  126. package/src/module/auth/controller/auth.controller.ts +28 -28
  127. package/src/module/auth/guards/google-auth.guard.ts +9 -9
  128. package/src/module/auth/guards/jwt.guard.ts +22 -22
  129. package/src/module/auth/guards/role.guard.ts +68 -68
  130. package/src/module/auth/services/auth.service.ts +50 -50
  131. package/src/module/auth/services/jwt.service.ts +11 -11
  132. package/src/module/auth/strategies/google.strategy.ts +54 -54
  133. package/src/module/auth/strategies/jwt.strategy.ts +58 -58
  134. package/src/module/auth/strategies/local.strategy.ts +13 -13
  135. package/src/module/dashboard/controller/dashboard.controller.ts +36 -36
  136. package/src/module/dashboard/dashboard.module.ts +21 -21
  137. package/src/module/dashboard/entity/dashboard_page_data.entity.ts +27 -27
  138. package/src/module/dashboard/entity/widget_master.entity.ts +18 -18
  139. package/src/module/dashboard/repository/dashboard.repository.ts +42 -42
  140. package/src/module/dashboard/service/dashboard.service.ts +73 -73
  141. package/src/module/dev/dev.module.ts +12 -12
  142. package/src/module/dev/service/dev.service.ts +7 -7
  143. package/src/module/enterprise/controller/organization.controller.ts +36 -36
  144. package/src/module/enterprise/enterprise.module.ts +30 -30
  145. package/src/module/enterprise/entity/enterprise.entity.ts +37 -37
  146. package/src/module/enterprise/entity/organization-app-mapping.entity.ts +13 -13
  147. package/src/module/enterprise/entity/organization.entity.ts +92 -92
  148. package/src/module/enterprise/repository/enterprise.repository.ts +31 -31
  149. package/src/module/enterprise/repository/organization.repository.ts +26 -26
  150. package/src/module/enterprise/repository/school.repository.ts +278 -278
  151. package/src/module/enterprise/service/brand.service.ts +5 -5
  152. package/src/module/enterprise/service/enterprise.service.ts +16 -16
  153. package/src/module/enterprise/service/organization-app-mapping.service.ts +4 -4
  154. package/src/module/enterprise/service/organization.service.ts +145 -145
  155. package/src/module/filter/controller/filter.controller.ts +84 -84
  156. package/src/module/filter/dto/filter-request.dto.ts +38 -38
  157. package/src/module/filter/entity/saved-filter-detail.entity.ts +41 -41
  158. package/src/module/filter/entity/saved-filter-master.entity.ts +23 -23
  159. package/src/module/filter/filter.module.ts +31 -31
  160. package/src/module/filter/repository/saved-filter.repository.ts +168 -168
  161. package/src/module/filter/service/filter-evaluator.service.ts +86 -86
  162. package/src/module/filter/service/filter.service.ts +1005 -1005
  163. package/src/module/filter/service/saved-filter.service.ts +170 -170
  164. package/src/module/ics/controller/ics.controller.ts +21 -21
  165. package/src/module/ics/dto/ics.dto.ts +55 -55
  166. package/src/module/ics/ics.module.ts +13 -13
  167. package/src/module/ics/service/ics.service.ts +57 -57
  168. package/src/module/integration/controller/calender-event.controller.ts +31 -31
  169. package/src/module/integration/controller/integration.controller.ts +662 -662
  170. package/src/module/integration/controller/wrapper.controller.ts +37 -37
  171. package/src/module/integration/dto/create-config.dto.ts +526 -526
  172. package/src/module/integration/entity/integration-config.entity.ts +112 -112
  173. package/src/module/integration/entity/integration-entity-mapper.entity.ts +14 -14
  174. package/src/module/integration/entity/integration-source.entity.ts +17 -17
  175. package/src/module/integration/entity/user-integration.entity.ts +71 -71
  176. package/src/module/integration/examples/usage.example.ts +338 -338
  177. package/src/module/integration/factories/base.factory.ts +7 -7
  178. package/src/module/integration/factories/email.factory.ts +49 -49
  179. package/src/module/integration/factories/integration.factory.ts +121 -121
  180. package/src/module/integration/factories/sms.factory.ts +51 -51
  181. package/src/module/integration/factories/telephone.factory.ts +41 -41
  182. package/src/module/integration/factories/whatsapp.factory.ts +56 -56
  183. package/src/module/integration/integration.module.ts +110 -110
  184. package/src/module/integration/service/calendar-event.service.ts +118 -118
  185. package/src/module/integration/service/integration-entity-mapper.service.ts +17 -17
  186. package/src/module/integration/service/integration-queue.service.ts +229 -229
  187. package/src/module/integration/service/integration.service.ts +2633 -2633
  188. package/src/module/integration/service/oauth.service.ts +224 -224
  189. package/src/module/integration/service/wrapper.service.ts +493 -700
  190. package/src/module/integration/strategies/email/gmail-api.strategy.ts +280 -280
  191. package/src/module/integration/strategies/email/outlook-api.strategy.ts +44 -44
  192. package/src/module/integration/strategies/email/outlook.strategy.ts +64 -64
  193. package/src/module/integration/strategies/email/sendgrid-api.strategy.ts +260 -260
  194. package/src/module/integration/strategies/integration.strategy.ts +97 -97
  195. package/src/module/integration/strategies/sms/gupshup-sms.strategy.ts +146 -146
  196. package/src/module/integration/strategies/sms/msg91-sms.strategy.ts +164 -164
  197. package/src/module/integration/strategies/sms/tubelight-sms.strategy.ts +163 -163
  198. package/src/module/integration/strategies/telephone/ozonetel-voice.strategy.ts +238 -238
  199. package/src/module/integration/strategies/telephone/tubelight-voice.strategy.ts +210 -210
  200. package/src/module/integration/strategies/whatsapp/gupshup-whatsapp.strategy.ts +359 -359
  201. package/src/module/integration/strategies/whatsapp/tubelight-whatsapp.strategy.ts +372 -372
  202. package/src/module/integration/strategies/whatsapp/whatsapp-cloud.strategy.ts +403 -403
  203. package/src/module/integration/strategies/whatsapp/whatsapp.strategy.ts +57 -57
  204. package/src/module/layout/controller/layout.controller.ts +47 -47
  205. package/src/module/layout/entity/header-items.entity.ts +28 -28
  206. package/src/module/layout/entity/header-section.entity.ts +19 -19
  207. package/src/module/layout/layout.module.ts +21 -21
  208. package/src/module/layout/repository/header-items.repository.ts +18 -18
  209. package/src/module/layout/repository/header-section.repository.ts +22 -22
  210. package/src/module/layout/service/header-section.service.ts +25 -25
  211. package/src/module/layout_preference/controller/layout_preference.controller.ts +73 -73
  212. package/src/module/layout_preference/entity/layout_preference.entity.ts +28 -28
  213. package/src/module/layout_preference/layout_preference.module.ts +22 -22
  214. package/src/module/layout_preference/repository/layout_preference.repository.ts +65 -65
  215. package/src/module/layout_preference/service/layout_preference.service.ts +191 -191
  216. package/src/module/lead/controller/lead.controller.ts +30 -30
  217. package/src/module/lead/lead.module.ts +14 -14
  218. package/src/module/lead/repository/lead.repository.ts +41 -41
  219. package/src/module/lead/service/lead.service.ts +54 -54
  220. package/src/module/listmaster/controller/list-master.controller.ts +230 -230
  221. package/src/module/listmaster/entity/list-master-items.entity.ts +43 -43
  222. package/src/module/listmaster/entity/list-master.entity.ts +33 -33
  223. package/src/module/listmaster/listmaster.module.ts +46 -46
  224. package/src/module/listmaster/repository/list-master-items.repository.ts +169 -169
  225. package/src/module/listmaster/repository/list-master.repository.ts +46 -46
  226. package/src/module/listmaster/service/list-master-engine.ts +19 -19
  227. package/src/module/listmaster/service/list-master-extension.interface.ts +4 -4
  228. package/src/module/listmaster/service/list-master-item.service.ts +292 -292
  229. package/src/module/listmaster/service/list-master-registry.ts +15 -15
  230. package/src/module/listmaster/service/list-master.service.ts +535 -535
  231. package/src/module/mapper/controller/field-mapper.controller.ts +76 -76
  232. package/src/module/mapper/controller/mapper.controller.ts +20 -20
  233. package/src/module/mapper/dto/field-mapper.dto.ts +14 -14
  234. package/src/module/mapper/entity/field-lovs.entity.ts +19 -19
  235. package/src/module/mapper/entity/field-mapper.entity.ts +53 -53
  236. package/src/module/mapper/entity/mapper.entity.ts +16 -16
  237. package/src/module/mapper/mapper.module.ts +34 -34
  238. package/src/module/mapper/repository/field-lovs.repository.ts +35 -35
  239. package/src/module/mapper/repository/field-mapper.repository.ts +42 -42
  240. package/src/module/mapper/repository/mapper.repository.ts +15 -15
  241. package/src/module/mapper/service/field-mapper.service.ts +266 -271
  242. package/src/module/mapper/service/mapper.service.ts +79 -79
  243. package/src/module/master/controller/master.controller.ts +74 -74
  244. package/src/module/master/service/master.service.ts +483 -483
  245. package/src/module/meta/controller/app-master.controller.ts +38 -38
  246. package/src/module/meta/controller/attribute-master.controller.ts +66 -66
  247. package/src/module/meta/controller/entity-dynamic.controller.ts +125 -125
  248. package/src/module/meta/controller/entity-master.controller.ts +28 -28
  249. package/src/module/meta/controller/entity-relation.controller.ts +36 -36
  250. package/src/module/meta/controller/entity.controller.ts +392 -392
  251. package/src/module/meta/controller/entity.public.controller.ts +75 -75
  252. package/src/module/meta/controller/media.controller.ts +107 -107
  253. package/src/module/meta/controller/meta.controller.ts +96 -96
  254. package/src/module/meta/controller/view-master.controller.ts +86 -86
  255. package/src/module/meta/dto/entity-list-data.dto.ts +6 -6
  256. package/src/module/meta/dto/entity-tab.dto.ts +4 -4
  257. package/src/module/meta/dto/entity-table.dto.ts +9 -9
  258. package/src/module/meta/entity/app-master.entity.ts +34 -34
  259. package/src/module/meta/entity/attribute-master.entity.ts +89 -89
  260. package/src/module/meta/entity/base-entity.entity.ts +75 -75
  261. package/src/module/meta/entity/entity-master.entity.ts +85 -85
  262. package/src/module/meta/entity/entity-relation-data.entity.ts +29 -29
  263. package/src/module/meta/entity/entity-relation.entity.ts +23 -23
  264. package/src/module/meta/entity/entity-table-column.entity.ts +61 -61
  265. package/src/module/meta/entity/entity-table.entity.ts +50 -50
  266. package/src/module/meta/entity/media-data.entity.ts +32 -32
  267. package/src/module/meta/entity/preference.entity.ts +62 -62
  268. package/src/module/meta/entity/view-master.entity.ts +41 -41
  269. package/src/module/meta/entity.module.ts +158 -158
  270. package/src/module/meta/repository/app-master.repository.ts +20 -20
  271. package/src/module/meta/repository/attribute-master.repository.ts +118 -118
  272. package/src/module/meta/repository/entity-master.repository.ts +69 -69
  273. package/src/module/meta/repository/entity-table-column.repository.ts +39 -39
  274. package/src/module/meta/repository/entity-table.repository.ts +53 -53
  275. package/src/module/meta/repository/media-data.repository.ts +50 -50
  276. package/src/module/meta/repository/preference.repository.ts +20 -20
  277. package/src/module/meta/repository/user-app-mapping.repository.ts +28 -28
  278. package/src/module/meta/repository/view-master.repository.ts +42 -42
  279. package/src/module/meta/service/app-master.service.ts +37 -37
  280. package/src/module/meta/service/attribute-master.service.ts +126 -126
  281. package/src/module/meta/service/common.service.ts +9 -9
  282. package/src/module/meta/service/entity-dynamic.service.ts +819 -819
  283. package/src/module/meta/service/entity-list.service.ts +205 -205
  284. package/src/module/meta/service/entity-master.service.ts +169 -169
  285. package/src/module/meta/service/entity-realation-data.service.ts +9 -9
  286. package/src/module/meta/service/entity-relation.service.ts +69 -69
  287. package/src/module/meta/service/entity-service-impl.service.ts +525 -525
  288. package/src/module/meta/service/entity-table-column.service.ts +39 -39
  289. package/src/module/meta/service/entity-table.service.ts +150 -150
  290. package/src/module/meta/service/entity-validation.service.ts +187 -187
  291. package/src/module/meta/service/entity.service.ts +67 -67
  292. package/src/module/meta/service/field-group.service.ts +103 -103
  293. package/src/module/meta/service/media-data.service.ts +507 -507
  294. package/src/module/meta/service/populate-meta.service.ts +193 -193
  295. package/src/module/meta/service/preference.service.ts +16 -16
  296. package/src/module/meta/service/resolver.service.ts +267 -267
  297. package/src/module/meta/service/section-master.service.ts +104 -104
  298. package/src/module/meta/service/update-form-json.service.ts +22 -22
  299. package/src/module/meta/service/user-app-mapping.service.ts +17 -17
  300. package/src/module/meta/service/view-master.service.ts +127 -127
  301. package/src/module/microservice-client/microservice-clients.module.ts +13 -13
  302. package/src/module/microservice-client/service/microservice-client-factory.ts +37 -37
  303. package/src/module/microservice-client/service/microservice-clients.ts +4 -4
  304. package/src/module/module/controller/menu.controller.ts +15 -15
  305. package/src/module/module/controller/module-access.controller.ts +134 -134
  306. package/src/module/module/entity/menu.entity.ts +43 -43
  307. package/src/module/module/entity/module-access.entity.ts +25 -25
  308. package/src/module/module/entity/module-action.entity.ts +17 -17
  309. package/src/module/module/entity/module.entity.ts +52 -52
  310. package/src/module/module/module.module.ts +42 -42
  311. package/src/module/module/repository/menu.repository.ts +184 -184
  312. package/src/module/module/repository/module-access.repository.ts +344 -344
  313. package/src/module/module/service/menu.service.ts +82 -82
  314. package/src/module/module/service/module-access.service.ts +209 -209
  315. package/src/module/notification/controller/notification.controller.ts +58 -58
  316. package/src/module/notification/controller/otp.controller.ts +117 -117
  317. package/src/module/notification/entity/notification.entity.ts +26 -26
  318. package/src/module/notification/entity/otp.entity.ts +28 -28
  319. package/src/module/notification/firebase-admin.config.ts +22 -22
  320. package/src/module/notification/notification.module.ts +69 -69
  321. package/src/module/notification/repository/otp.repository.ts +27 -27
  322. package/src/module/notification/service/email.service.ts +127 -127
  323. package/src/module/notification/service/notification.service.ts +163 -163
  324. package/src/module/notification/service/otp.service.ts +132 -132
  325. package/src/module/third-party-module/entity/third-party-api-registry.entity.ts +52 -52
  326. package/src/module/third-party-module/repository/third-party-api-registry.repository.ts +20 -20
  327. package/src/module/third-party-module/service/api-registry.service.ts +13 -13
  328. package/src/module/third-party-module/third-party.module.ts +12 -12
  329. package/src/module/user/controller/login.controller.ts +197 -197
  330. package/src/module/user/controller/user.controller.ts +40 -40
  331. package/src/module/user/dto/create-user.dto.ts +62 -62
  332. package/src/module/user/dto/update-user.dto.ts +4 -4
  333. package/src/module/user/entity/role.entity.ts +33 -33
  334. package/src/module/user/entity/user-role-mapping.entity.ts +38 -38
  335. package/src/module/user/entity/user-session.entity.ts +73 -73
  336. package/src/module/user/entity/user.entity.ts +59 -59
  337. package/src/module/user/repository/role.repository.ts +96 -96
  338. package/src/module/user/repository/user-role-mapping.repository.ts +126 -126
  339. package/src/module/user/repository/user.repository.ts +50 -50
  340. package/src/module/user/repository/userSession.repository.ts +33 -33
  341. package/src/module/user/service/login.service.ts +304 -304
  342. package/src/module/user/service/role.service.ts +189 -189
  343. package/src/module/user/service/user-role-mapping.service.ts +98 -98
  344. package/src/module/user/service/user-session.service.ts +168 -168
  345. package/src/module/user/service/user.service.ts +365 -365
  346. package/src/module/user/user.module.ts +65 -65
  347. package/src/module/workflow/controller/action-category.controller.ts +54 -54
  348. package/src/module/workflow/controller/action-resource-mapping.controller.ts +23 -23
  349. package/src/module/workflow/controller/action-template-mapping.controller.ts +35 -35
  350. package/src/module/workflow/controller/action.controller.ts +111 -111
  351. package/src/module/workflow/controller/activity-log.controller.ts +55 -55
  352. package/src/module/workflow/controller/comm-template.controller.ts +43 -43
  353. package/src/module/workflow/controller/entity-modification.controller.ts +35 -35
  354. package/src/module/workflow/controller/form-master.controller.ts +43 -43
  355. package/src/module/workflow/controller/stage-group.controller.ts +48 -48
  356. package/src/module/workflow/controller/stage.controller.ts +50 -50
  357. package/src/module/workflow/controller/task.controller.ts +77 -77
  358. package/src/module/workflow/controller/workflow-list-master.controller.ts +44 -44
  359. package/src/module/workflow/controller/workflow-meta.controller.ts +80 -80
  360. package/src/module/workflow/controller/workflow.controller.ts +67 -67
  361. package/src/module/workflow/entity/action-category.entity.ts +38 -38
  362. package/src/module/workflow/entity/action-data.entity.ts +55 -55
  363. package/src/module/workflow/entity/action-resources-mapping.entity.ts +29 -29
  364. package/src/module/workflow/entity/action-template-mapping.entity.ts +17 -17
  365. package/src/module/workflow/entity/action.entity.ts +50 -50
  366. package/src/module/workflow/entity/activity-log.entity.ts +43 -43
  367. package/src/module/workflow/entity/comm-template.entity.ts +43 -43
  368. package/src/module/workflow/entity/entity-modification.entity.ts +38 -38
  369. package/src/module/workflow/entity/form.entity.ts +25 -25
  370. package/src/module/workflow/entity/stage-action-mapping.entity.ts +17 -17
  371. package/src/module/workflow/entity/stage-group.entity.ts +23 -23
  372. package/src/module/workflow/entity/stage-movement-data.entity.ts +38 -38
  373. package/src/module/workflow/entity/stage.entity.ts +20 -20
  374. package/src/module/workflow/entity/task-data.entity.ts +88 -88
  375. package/src/module/workflow/entity/template-attach-mapper.entity.ts +30 -30
  376. package/src/module/workflow/entity/workflow-data.entity.ts +11 -11
  377. package/src/module/workflow/entity/workflow-level-mapping.entity.ts +18 -18
  378. package/src/module/workflow/entity/workflow.entity.ts +20 -20
  379. package/src/module/workflow/repository/action-category.repository.ts +79 -79
  380. package/src/module/workflow/repository/action-data.repository.ts +333 -333
  381. package/src/module/workflow/repository/action.repository.ts +323 -323
  382. package/src/module/workflow/repository/activity-log.repository.ts +148 -148
  383. package/src/module/workflow/repository/comm-template.repository.ts +149 -149
  384. package/src/module/workflow/repository/form-master.repository.ts +59 -59
  385. package/src/module/workflow/repository/stage-group.repository.ts +176 -176
  386. package/src/module/workflow/repository/stage-movement.repository.ts +244 -244
  387. package/src/module/workflow/repository/stage.repository.ts +172 -172
  388. package/src/module/workflow/repository/task.repository.ts +127 -134
  389. package/src/module/workflow/repository/workflow.repository.ts +42 -42
  390. package/src/module/workflow/service/action-category.service.ts +33 -33
  391. package/src/module/workflow/service/action-data.service.ts +62 -62
  392. package/src/module/workflow/service/action-resources-mapping.service.ts +10 -10
  393. package/src/module/workflow/service/action-template-mapping.service.ts +106 -106
  394. package/src/module/workflow/service/action.service.ts +279 -279
  395. package/src/module/workflow/service/activity-log.service.ts +107 -107
  396. package/src/module/workflow/service/comm-template.service.ts +180 -180
  397. package/src/module/workflow/service/entity-modification.service.ts +67 -67
  398. package/src/module/workflow/service/form-master.service.ts +35 -35
  399. package/src/module/workflow/service/populate-workflow.service.ts +303 -303
  400. package/src/module/workflow/service/stage-action-mapping.service.ts +5 -5
  401. package/src/module/workflow/service/stage-group.service.ts +319 -319
  402. package/src/module/workflow/service/stage.service.ts +199 -199
  403. package/src/module/workflow/service/task.service.ts +560 -547
  404. package/src/module/workflow/service/workflow-list-master.service.ts +60 -60
  405. package/src/module/workflow/service/workflow-meta.service.ts +640 -654
  406. package/src/module/workflow/service/workflow.service.ts +205 -205
  407. package/src/module/workflow/workflow.module.ts +176 -176
  408. package/src/module/workflow-automation/controller/workflow-automation.controller.ts +21 -21
  409. package/src/module/workflow-automation/entity/workflow-automation-action.entity.ts +26 -26
  410. package/src/module/workflow-automation/entity/workflow-automation.entity.ts +35 -35
  411. package/src/module/workflow-automation/interface/action.decorator.ts +7 -7
  412. package/src/module/workflow-automation/interface/action.interface.ts +5 -5
  413. package/src/module/workflow-automation/service/action-registery.service.ts +35 -35
  414. package/src/module/workflow-automation/service/workflow-automation-engine.service.ts +214 -214
  415. package/src/module/workflow-automation/service/workflow-automation.service.ts +347 -347
  416. package/src/module/workflow-automation/workflow-automation.module.ts +34 -34
  417. package/src/resources/dev.properties.yaml +31 -30
  418. package/src/resources/local.properties.yaml +27 -27
  419. package/src/resources/properties.module.ts +12 -12
  420. package/src/resources/properties.yaml.ts +11 -11
  421. package/src/resources/uat.properties.yaml +31 -31
  422. package/src/table.config.ts +126 -126
  423. package/src/utils/dto/excel-data.dto.ts +14 -14
  424. package/src/utils/dto/excelsheet-data.dto.ts +5 -5
  425. package/src/utils/service/base64util.service.ts +18 -18
  426. package/src/utils/service/clockIDGenUtil.service.ts +21 -21
  427. package/src/utils/service/codeGenerator.service.ts +22 -22
  428. package/src/utils/service/dateUtil.service.ts +17 -17
  429. package/src/utils/service/encryptUtil.service.ts +97 -97
  430. package/src/utils/service/excel-helper.service.ts +72 -72
  431. package/src/utils/service/excelUtil.service.ts +15 -15
  432. package/src/utils/service/file-util.service.ts +11 -11
  433. package/src/utils/service/json-util.service.ts +23 -23
  434. package/src/utils/service/loggingUtil.service.ts +34 -88
  435. package/src/utils/service/reflection-helper.service.ts +62 -62
  436. package/src/utils/service/wbsCodeGen.service.ts +8 -8
  437. package/src/utils/utils.module.ts +25 -27
  438. package/tsconfig.build.json +4 -4
  439. package/tsconfig.json +24 -24
@@ -1,19 +1,19 @@
1
- import { Injectable, Inject } from '@nestjs/common';
2
- import { ListMasterExtension } from './list-master-extension.interface';
3
-
4
- @Injectable()
5
- export class ListMasterEngine {
6
- private extensions = new Map<string, ListMasterExtension>();
7
-
8
- constructor(
9
- @Inject('LIST_MASTER_EXTENSIONS') extensions: ListMasterExtension[],
10
- ) {
11
- extensions.forEach(ext => this.extensions.set(ext.name, ext));
12
- }
13
-
14
- async execute(name: string, payload: any) {
15
- const ext = this.extensions.get(name) || this.extensions.get('GLOBAL');
16
- if (!ext) throw new Error(`ListMaster extension not found: ${name}`);
17
- return ext.fetchDropdown({ type: name, ...payload });
18
- }
19
- }
1
+ import { Injectable, Inject } from '@nestjs/common';
2
+ import { ListMasterExtension } from './list-master-extension.interface';
3
+
4
+ @Injectable()
5
+ export class ListMasterEngine {
6
+ private extensions = new Map<string, ListMasterExtension>();
7
+
8
+ constructor(
9
+ @Inject('LIST_MASTER_EXTENSIONS') extensions: ListMasterExtension[],
10
+ ) {
11
+ extensions.forEach(ext => this.extensions.set(ext.name, ext));
12
+ }
13
+
14
+ async execute(name: string, payload: any) {
15
+ const ext = this.extensions.get(name) || this.extensions.get('GLOBAL');
16
+ if (!ext) throw new Error(`ListMaster extension not found: ${name}`);
17
+ return ext.fetchDropdown({ type: name, ...payload });
18
+ }
19
+ }
@@ -1,4 +1,4 @@
1
- export interface ListMasterExtension {
2
- name: string; // type identifier
3
- fetchDropdown(payload: any): Promise<any>;
4
- }
1
+ export interface ListMasterExtension {
2
+ name: string; // type identifier
3
+ fetchDropdown(payload: any): Promise<any>;
4
+ }
@@ -1,292 +1,292 @@
1
- import { DataSource } from 'typeorm';
2
- import {
3
- BadRequestException,
4
- forwardRef,
5
- Inject,
6
- Injectable,
7
- NotFoundException,
8
- } from '@nestjs/common';
9
- import { ListMasterItemsRepository } from '../repository/list-master-items.repository';
10
- import { EntityServiceImpl } from 'src/module/meta/service/entity-service-impl.service';
11
- import { UserData } from 'src/module/user/entity/user.entity';
12
- import { CodeGeneratorService } from 'src/utils/service/codeGenerator.service';
13
- import { AttributeMasterService } from 'src/module/meta/service/attribute-master.service';
14
-
15
- @Injectable()
16
- export class ListMasterItemService extends EntityServiceImpl {
17
- constructor(
18
- private readonly listItemsRepo: ListMasterItemsRepository,
19
- private readonly listMasterRepo: ListMasterItemsRepository,
20
- @Inject(forwardRef(() => EntityServiceImpl))
21
- private readonly entityServiceImpl: EntityServiceImpl,
22
- protected readonly attributeMasterService: AttributeMasterService,
23
- private readonly dataSource: DataSource,
24
- ) {
25
- super();
26
- }
27
-
28
- async getListMasterItemsByType(
29
- listType: string,
30
- organization_id: number,
31
- search?: string,
32
- ) {
33
- // this method retrieves all list master items for a specific type and organization
34
- return this.listItemsRepo.findAllItemsByListType(
35
- listType,
36
- 'asc',
37
- organization_id,
38
- search,
39
- );
40
- }
41
-
42
- async createEntity(entityData: any, loggedInUser: UserData): Promise<any> {
43
- try {
44
- const generatedCode = CodeGeneratorService.generateCode(entityData.name);
45
-
46
- entityData.code = generatedCode;
47
- entityData.organization_id = loggedInUser.organization_id;
48
- entityData.value = generatedCode;
49
-
50
- return await this.entityServiceImpl.createEntity(
51
- entityData,
52
- loggedInUser,
53
- );
54
- } catch (error) {
55
- throw error;
56
- }
57
- }
58
-
59
- async updateEntity(entityData: any, loggedInUser: UserData): Promise<any> {
60
- return await this.entityServiceImpl.updateEntity(entityData, loggedInUser);
61
- }
62
-
63
- async upsertListMasterItem(
64
- listType: string,
65
- items: any[],
66
- loggedInUser,
67
- ): Promise<any> {
68
- const orgId = loggedInUser.organization_id;
69
-
70
- const errors: any[] = [];
71
-
72
- for (let i = 0; i < items.length; i++) {
73
- const item = items[i];
74
- const name = item.name?.trim();
75
- const code = item.code?.trim();
76
-
77
- try {
78
- if (!name) {
79
- throw new BadRequestException(`name is missing at index ${i}`);
80
- }
81
-
82
- if (code) {
83
- // Check if code exists
84
- const existingItem = await this.listItemsRepo.findOneByCondition({
85
- code,
86
- listtype: listType,
87
- organization_id: orgId,
88
- });
89
-
90
- if (existingItem) {
91
- // It's an update — check if name is changing to a used name
92
- if (existingItem.name.toLowerCase() !== name.toLowerCase()) {
93
- const nameExists = await this.listItemsRepo.findOneByCondition({
94
- name,
95
- listtype: listType,
96
- organization_id: orgId,
97
- });
98
-
99
- if (nameExists && nameExists.id !== existingItem.id) {
100
- throw new BadRequestException(
101
- `${name} already used by another item`,
102
- );
103
- }
104
- }
105
-
106
- // Update the existing item
107
- await this.updateEntity(
108
- {
109
- ...existingItem,
110
- ...item,
111
- name,
112
- listtype: listType,
113
- },
114
- loggedInUser,
115
- );
116
-
117
- continue;
118
- }
119
- }
120
-
121
- // Creation path
122
- const nameExists = await this.listItemsRepo.findOneByCondition({
123
- name,
124
- listtype: listType,
125
- organization_id: orgId,
126
- });
127
-
128
- if (nameExists) {
129
- throw new BadRequestException(
130
- `list item with name ${name} already exists`,
131
- );
132
- }
133
-
134
- const finalCode = code || ''; // Could generate code here if needed
135
-
136
- await this.createEntity(
137
- {
138
- ...item,
139
- name,
140
- code: finalCode,
141
- listtype: listType,
142
- value: '',
143
- },
144
- loggedInUser,
145
- );
146
- } catch (error) {
147
- errors.push({
148
- row: i,
149
- errors: [
150
- {
151
- field: 'name',
152
- message:
153
- error.message || 'An error occurred while processing the item',
154
- },
155
- ],
156
- });
157
- }
158
- }
159
-
160
- const updatedItems = await this.listItemsRepo.findAllItemsByListType(
161
- listType,
162
- 'asc',
163
- orgId,
164
- );
165
-
166
- return {
167
- success: errors.length === 0,
168
- listType,
169
- errors,
170
- items: updatedItems,
171
- };
172
- }
173
-
174
- async deleteListMasterItem(listType: string, code: string): Promise<string> {
175
- const item = await this.listItemsRepo.findOneByCondition({
176
- code,
177
- listtype: listType,
178
- });
179
- if (!item) {
180
- throw new NotFoundException(
181
- `Item with name ${code} not found in type ${listType}`,
182
- );
183
- }
184
- await this.listItemsRepo.delete({ code, listtype: listType });
185
- return `Item with name ${code} deleted successfully from type ${listType}`;
186
- }
187
-
188
- async getListSourceType(
189
- loggedInUser: UserData,
190
- source: string,
191
- ): Promise<any> {
192
- const data = await this.dataSource.query(
193
- `SELECT name AS label, type AS value
194
- FROM frm_list_master
195
- WHERE organization_id = ? AND source = ?`,
196
- [loggedInUser.organization_id, source],
197
- );
198
- return data;
199
- }
200
-
201
- // async getResolvedListMasterItems(
202
- // loggedInUser: UserData,
203
- // entityData: any,
204
- // entityType: string,
205
- // ): Promise<any> {
206
- // const attributeItems =
207
- // await this.attributeMasterService.findAttributesByMappedEntityType(
208
- // entityType,
209
- // loggedInUser,
210
- // );
211
-
212
- // const masterAttributes = attributeItems.filter(
213
- // (attr) => attr.data_source_type === 'master',
214
- // );
215
-
216
- // const resolvedEntityData = { ...entityData };
217
-
218
- // for (const attr of masterAttributes) {
219
- // const field = attr.attribute_key;
220
- // const codeValue = entityData[field];
221
- // if (!codeValue) continue;
222
-
223
- // const listItems = await this.listItemsRepo.findById(codeValue);
224
- // if (!listItems) continue;
225
-
226
- // }
227
-
228
- // return resolvedEntityData;
229
- // }
230
-
231
- // async getResolvedListMasterItems(
232
- // loggedInUser: UserData,
233
- // entityData: any,
234
- // entityType: string,
235
- // ): Promise<any> {
236
- // // const resolvedEntityData = super.getResolvedData(
237
- // // loggedInUser,
238
- // // entityData,
239
- // // entityType,
240
- // // );
241
- // // const attributeItems =
242
- // // await this.attributeMasterService.findAttributesByMappedEntityType(
243
- // // entityType,
244
- // // loggedInUser,
245
- // // );
246
- // // const resolvedEntityData = { ...entityData };
247
- // // for (const attr of attributeItems) {
248
- // // const field = attr.attribute_key;
249
- // // const codeValue = entityData[field];
250
- // // if (!codeValue) continue;
251
- // // // ---------- ENTITY data_source_type ----------
252
- // // if (attr.data_source_type === 'entity') {
253
- // // if (Array.isArray(codeValue)) {
254
- // // const resolvedValues: string[] = [];
255
- // // for (const code of codeValue) {
256
- // // const item = await super.getEntityData(
257
- // // attr.datasource_list,
258
- // // code,
259
- // // loggedInUser,
260
- // // );
261
- // // resolvedValues.push(item?.[attr.data_source_attribute] ?? code);
262
- // // }
263
- // // resolvedEntityData[field] = resolvedValues;
264
- // // } else {
265
- // // const item = await super.getEntityData(
266
- // // attr.datasource_list,
267
- // // codeValue,
268
- // // loggedInUser,
269
- // // );
270
- // // resolvedEntityData[field] =
271
- // // item?.[attr.data_source_attribute] ?? codeValue;
272
- // // }
273
- // // }
274
- // // // ---------- MASTER data_source_type ----------
275
- // // else if (attr.data_source_type === 'master') {
276
- // // if (Array.isArray(codeValue)) {
277
- // // const resolvedValues: string[] = [];
278
- // // for (const code of codeValue) {
279
- // // const item = await this.listItemsRepo.findById(code);
280
- // // resolvedValues.push(item?.[attr.data_source_attribute] ?? code);
281
- // // }
282
- // // resolvedEntityData[field] = resolvedValues;
283
- // // } else {
284
- // // const item = await this.listItemsRepo.findById(codeValue);
285
- // // resolvedEntityData[field] =
286
- // // item?.[attr.data_source_attribute] ?? codeValue;
287
- // // }
288
- // // }
289
- // // }
290
- // // return resolvedEntityData;
291
- // }
292
- }
1
+ import { DataSource } from 'typeorm';
2
+ import {
3
+ BadRequestException,
4
+ forwardRef,
5
+ Inject,
6
+ Injectable,
7
+ NotFoundException,
8
+ } from '@nestjs/common';
9
+ import { ListMasterItemsRepository } from '../repository/list-master-items.repository';
10
+ import { EntityServiceImpl } from 'src/module/meta/service/entity-service-impl.service';
11
+ import { UserData } from 'src/module/user/entity/user.entity';
12
+ import { CodeGeneratorService } from 'src/utils/service/codeGenerator.service';
13
+ import { AttributeMasterService } from 'src/module/meta/service/attribute-master.service';
14
+
15
+ @Injectable()
16
+ export class ListMasterItemService extends EntityServiceImpl {
17
+ constructor(
18
+ private readonly listItemsRepo: ListMasterItemsRepository,
19
+ private readonly listMasterRepo: ListMasterItemsRepository,
20
+ @Inject(forwardRef(() => EntityServiceImpl))
21
+ private readonly entityServiceImpl: EntityServiceImpl,
22
+ protected readonly attributeMasterService: AttributeMasterService,
23
+ private readonly dataSource: DataSource,
24
+ ) {
25
+ super();
26
+ }
27
+
28
+ async getListMasterItemsByType(
29
+ listType: string,
30
+ organization_id: number,
31
+ search?: string,
32
+ ) {
33
+ // this method retrieves all list master items for a specific type and organization
34
+ return this.listItemsRepo.findAllItemsByListType(
35
+ listType,
36
+ 'asc',
37
+ organization_id,
38
+ search,
39
+ );
40
+ }
41
+
42
+ async createEntity(entityData: any, loggedInUser: UserData): Promise<any> {
43
+ try {
44
+ const generatedCode = CodeGeneratorService.generateCode(entityData.name);
45
+
46
+ entityData.code = generatedCode;
47
+ entityData.organization_id = loggedInUser.organization_id;
48
+ entityData.value = generatedCode;
49
+
50
+ return await this.entityServiceImpl.createEntity(
51
+ entityData,
52
+ loggedInUser,
53
+ );
54
+ } catch (error) {
55
+ throw error;
56
+ }
57
+ }
58
+
59
+ async updateEntity(entityData: any, loggedInUser: UserData): Promise<any> {
60
+ return await this.entityServiceImpl.updateEntity(entityData, loggedInUser);
61
+ }
62
+
63
+ async upsertListMasterItem(
64
+ listType: string,
65
+ items: any[],
66
+ loggedInUser,
67
+ ): Promise<any> {
68
+ const orgId = loggedInUser.organization_id;
69
+
70
+ const errors: any[] = [];
71
+
72
+ for (let i = 0; i < items.length; i++) {
73
+ const item = items[i];
74
+ const name = item.name?.trim();
75
+ const code = item.code?.trim();
76
+
77
+ try {
78
+ if (!name) {
79
+ throw new BadRequestException(`name is missing at index ${i}`);
80
+ }
81
+
82
+ if (code) {
83
+ // Check if code exists
84
+ const existingItem = await this.listItemsRepo.findOneByCondition({
85
+ code,
86
+ listtype: listType,
87
+ organization_id: orgId,
88
+ });
89
+
90
+ if (existingItem) {
91
+ // It's an update — check if name is changing to a used name
92
+ if (existingItem.name.toLowerCase() !== name.toLowerCase()) {
93
+ const nameExists = await this.listItemsRepo.findOneByCondition({
94
+ name,
95
+ listtype: listType,
96
+ organization_id: orgId,
97
+ });
98
+
99
+ if (nameExists && nameExists.id !== existingItem.id) {
100
+ throw new BadRequestException(
101
+ `${name} already used by another item`,
102
+ );
103
+ }
104
+ }
105
+
106
+ // Update the existing item
107
+ await this.updateEntity(
108
+ {
109
+ ...existingItem,
110
+ ...item,
111
+ name,
112
+ listtype: listType,
113
+ },
114
+ loggedInUser,
115
+ );
116
+
117
+ continue;
118
+ }
119
+ }
120
+
121
+ // Creation path
122
+ const nameExists = await this.listItemsRepo.findOneByCondition({
123
+ name,
124
+ listtype: listType,
125
+ organization_id: orgId,
126
+ });
127
+
128
+ if (nameExists) {
129
+ throw new BadRequestException(
130
+ `list item with name ${name} already exists`,
131
+ );
132
+ }
133
+
134
+ const finalCode = code || ''; // Could generate code here if needed
135
+
136
+ await this.createEntity(
137
+ {
138
+ ...item,
139
+ name,
140
+ code: finalCode,
141
+ listtype: listType,
142
+ value: '',
143
+ },
144
+ loggedInUser,
145
+ );
146
+ } catch (error) {
147
+ errors.push({
148
+ row: i,
149
+ errors: [
150
+ {
151
+ field: 'name',
152
+ message:
153
+ error.message || 'An error occurred while processing the item',
154
+ },
155
+ ],
156
+ });
157
+ }
158
+ }
159
+
160
+ const updatedItems = await this.listItemsRepo.findAllItemsByListType(
161
+ listType,
162
+ 'asc',
163
+ orgId,
164
+ );
165
+
166
+ return {
167
+ success: errors.length === 0,
168
+ listType,
169
+ errors,
170
+ items: updatedItems,
171
+ };
172
+ }
173
+
174
+ async deleteListMasterItem(listType: string, code: string): Promise<string> {
175
+ const item = await this.listItemsRepo.findOneByCondition({
176
+ code,
177
+ listtype: listType,
178
+ });
179
+ if (!item) {
180
+ throw new NotFoundException(
181
+ `Item with name ${code} not found in type ${listType}`,
182
+ );
183
+ }
184
+ await this.listItemsRepo.delete({ code, listtype: listType });
185
+ return `Item with name ${code} deleted successfully from type ${listType}`;
186
+ }
187
+
188
+ async getListSourceType(
189
+ loggedInUser: UserData,
190
+ source: string,
191
+ ): Promise<any> {
192
+ const data = await this.dataSource.query(
193
+ `SELECT name AS label, type AS value
194
+ FROM frm_list_master
195
+ WHERE organization_id = ? AND source = ?`,
196
+ [loggedInUser.organization_id, source],
197
+ );
198
+ return data;
199
+ }
200
+
201
+ // async getResolvedListMasterItems(
202
+ // loggedInUser: UserData,
203
+ // entityData: any,
204
+ // entityType: string,
205
+ // ): Promise<any> {
206
+ // const attributeItems =
207
+ // await this.attributeMasterService.findAttributesByMappedEntityType(
208
+ // entityType,
209
+ // loggedInUser,
210
+ // );
211
+
212
+ // const masterAttributes = attributeItems.filter(
213
+ // (attr) => attr.data_source_type === 'master',
214
+ // );
215
+
216
+ // const resolvedEntityData = { ...entityData };
217
+
218
+ // for (const attr of masterAttributes) {
219
+ // const field = attr.attribute_key;
220
+ // const codeValue = entityData[field];
221
+ // if (!codeValue) continue;
222
+
223
+ // const listItems = await this.listItemsRepo.findById(codeValue);
224
+ // if (!listItems) continue;
225
+
226
+ // }
227
+
228
+ // return resolvedEntityData;
229
+ // }
230
+
231
+ // async getResolvedListMasterItems(
232
+ // loggedInUser: UserData,
233
+ // entityData: any,
234
+ // entityType: string,
235
+ // ): Promise<any> {
236
+ // // const resolvedEntityData = super.getResolvedData(
237
+ // // loggedInUser,
238
+ // // entityData,
239
+ // // entityType,
240
+ // // );
241
+ // // const attributeItems =
242
+ // // await this.attributeMasterService.findAttributesByMappedEntityType(
243
+ // // entityType,
244
+ // // loggedInUser,
245
+ // // );
246
+ // // const resolvedEntityData = { ...entityData };
247
+ // // for (const attr of attributeItems) {
248
+ // // const field = attr.attribute_key;
249
+ // // const codeValue = entityData[field];
250
+ // // if (!codeValue) continue;
251
+ // // // ---------- ENTITY data_source_type ----------
252
+ // // if (attr.data_source_type === 'entity') {
253
+ // // if (Array.isArray(codeValue)) {
254
+ // // const resolvedValues: string[] = [];
255
+ // // for (const code of codeValue) {
256
+ // // const item = await super.getEntityData(
257
+ // // attr.datasource_list,
258
+ // // code,
259
+ // // loggedInUser,
260
+ // // );
261
+ // // resolvedValues.push(item?.[attr.data_source_attribute] ?? code);
262
+ // // }
263
+ // // resolvedEntityData[field] = resolvedValues;
264
+ // // } else {
265
+ // // const item = await super.getEntityData(
266
+ // // attr.datasource_list,
267
+ // // codeValue,
268
+ // // loggedInUser,
269
+ // // );
270
+ // // resolvedEntityData[field] =
271
+ // // item?.[attr.data_source_attribute] ?? codeValue;
272
+ // // }
273
+ // // }
274
+ // // // ---------- MASTER data_source_type ----------
275
+ // // else if (attr.data_source_type === 'master') {
276
+ // // if (Array.isArray(codeValue)) {
277
+ // // const resolvedValues: string[] = [];
278
+ // // for (const code of codeValue) {
279
+ // // const item = await this.listItemsRepo.findById(code);
280
+ // // resolvedValues.push(item?.[attr.data_source_attribute] ?? code);
281
+ // // }
282
+ // // resolvedEntityData[field] = resolvedValues;
283
+ // // } else {
284
+ // // const item = await this.listItemsRepo.findById(codeValue);
285
+ // // resolvedEntityData[field] =
286
+ // // item?.[attr.data_source_attribute] ?? codeValue;
287
+ // // }
288
+ // // }
289
+ // // }
290
+ // // return resolvedEntityData;
291
+ // }
292
+ }
@@ -1,15 +1,15 @@
1
- import { Injectable } from '@nestjs/common';
2
- import { ListMasterExtension } from './list-master-extension.interface';
3
-
4
- @Injectable()
5
- export class ListMasterRegistry {
6
- private actions = new Map<string, ListMasterExtension>();
7
-
8
- register(action: ListMasterExtension) {
9
- this.actions.set(action.name, action);
10
- }
11
-
12
- get(name: string): ListMasterExtension | undefined {
13
- return this.actions.get(name);
14
- }
15
- }
1
+ import { Injectable } from '@nestjs/common';
2
+ import { ListMasterExtension } from './list-master-extension.interface';
3
+
4
+ @Injectable()
5
+ export class ListMasterRegistry {
6
+ private actions = new Map<string, ListMasterExtension>();
7
+
8
+ register(action: ListMasterExtension) {
9
+ this.actions.set(action.name, action);
10
+ }
11
+
12
+ get(name: string): ListMasterExtension | undefined {
13
+ return this.actions.get(name);
14
+ }
15
+ }