rez_core 4.0.134 → 4.0.136

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 (438) 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/filter/repository/saved-filter.repository.js +4 -4
  26. package/dist/module/filter/service/filter-evaluator.service.js +2 -2
  27. package/dist/module/filter/service/filter.service.js +22 -22
  28. package/dist/module/integration/entity/integration-config.entity.js +6 -6
  29. package/dist/module/integration/entity/integration-config.entity.js.map +1 -1
  30. package/dist/module/integration/entity/integration-entity-mapper.entity.js +1 -1
  31. package/dist/module/integration/entity/integration-entity-mapper.entity.js.map +1 -1
  32. package/dist/module/integration/entity/integration-source.entity.js +4 -4
  33. package/dist/module/integration/entity/integration-source.entity.js.map +1 -1
  34. package/dist/module/integration/entity/user-integration.entity.js +4 -4
  35. package/dist/module/integration/entity/user-integration.entity.js.map +1 -1
  36. package/dist/module/integration/examples/usage.example.js +9 -9
  37. package/dist/module/integration/service/integration.service.js +1 -1
  38. package/dist/module/integration/service/wrapper.service.d.ts +1 -3
  39. package/dist/module/integration/service/wrapper.service.js +61 -64
  40. package/dist/module/integration/service/wrapper.service.js.map +1 -1
  41. package/dist/module/listmaster/entity/list-master-items.entity.js +3 -3
  42. package/dist/module/listmaster/entity/list-master-items.entity.js.map +1 -1
  43. package/dist/module/listmaster/entity/list-master.entity.js +4 -4
  44. package/dist/module/listmaster/entity/list-master.entity.js.map +1 -1
  45. package/dist/module/listmaster/service/list-master-item.service.js +2 -2
  46. package/dist/module/mapper/entity/field-mapper.entity.js +6 -6
  47. package/dist/module/mapper/entity/field-mapper.entity.js.map +1 -1
  48. package/dist/module/mapper/service/field-mapper.service.js +6 -6
  49. package/dist/module/mapper/service/field-mapper.service.js.map +1 -1
  50. package/dist/module/mapper/service/mapper.service.js +2 -2
  51. package/dist/module/meta/entity/entity-master.entity.js +1 -1
  52. package/dist/module/meta/entity/entity-master.entity.js.map +1 -1
  53. package/dist/module/meta/entity/view-master.entity.js +1 -1
  54. package/dist/module/meta/entity/view-master.entity.js.map +1 -1
  55. package/dist/module/meta/service/attribute-master.service.js +1 -1
  56. package/dist/module/meta/service/attribute-master.service.js.map +1 -1
  57. package/dist/module/meta/service/entity-dynamic.service.js +9 -9
  58. package/dist/module/meta/service/entity-list.service.js +3 -3
  59. package/dist/module/meta/service/entity-master.service.js +3 -3
  60. package/dist/module/meta/service/entity-relation.service.js +11 -11
  61. package/dist/module/meta/service/entity-service-impl.service.js +3 -3
  62. package/dist/module/meta/service/resolver.service.js +5 -5
  63. package/dist/module/meta/service/resolver.service.js.map +1 -1
  64. package/dist/module/module/repository/menu.repository.js +13 -13
  65. package/dist/module/module/repository/menu.repository.js.map +1 -1
  66. package/dist/module/notification/entity/otp.entity.js +1 -1
  67. package/dist/module/notification/entity/otp.entity.js.map +1 -1
  68. package/dist/module/notification/service/notification.service.js +9 -9
  69. package/dist/module/user/controller/login.controller.js +18 -18
  70. package/dist/module/user/entity/user-role-mapping.entity.js +1 -1
  71. package/dist/module/user/entity/user-role-mapping.entity.js.map +1 -1
  72. package/dist/module/user/service/role.service.js +4 -4
  73. package/dist/module/user/service/user-session.service.js +2 -2
  74. package/dist/module/workflow/entity/action-data.entity.js +1 -1
  75. package/dist/module/workflow/entity/action-data.entity.js.map +1 -1
  76. package/dist/module/workflow/entity/action.entity.js +1 -1
  77. package/dist/module/workflow/entity/action.entity.js.map +1 -1
  78. package/dist/module/workflow/entity/comm-template.entity.js +1 -1
  79. package/dist/module/workflow/entity/comm-template.entity.js.map +1 -1
  80. package/dist/module/workflow/repository/action.repository.js +20 -20
  81. package/dist/module/workflow/repository/comm-template.repository.js +6 -6
  82. package/dist/module/workflow/repository/form-master.repository.js +2 -2
  83. package/dist/module/workflow/repository/stage-group.repository.js +23 -23
  84. package/dist/module/workflow/repository/stage-movement.repository.js +15 -15
  85. package/dist/module/workflow/repository/stage.repository.js +8 -8
  86. package/dist/module/workflow/repository/task.repository.d.ts +1 -3
  87. package/dist/module/workflow/repository/task.repository.js +3 -8
  88. package/dist/module/workflow/repository/task.repository.js.map +1 -1
  89. package/dist/module/workflow/service/action-template-mapping.service.js +22 -22
  90. package/dist/module/workflow/service/action.service.js +7 -7
  91. package/dist/module/workflow/service/entity-modification.service.js +6 -6
  92. package/dist/module/workflow/service/stage-group.service.js +2 -2
  93. package/dist/module/workflow/service/stage.service.js +2 -2
  94. package/dist/module/workflow/service/task.service.js +41 -34
  95. package/dist/module/workflow/service/task.service.js.map +1 -1
  96. package/dist/module/workflow/service/workflow-list-master.service.js +15 -15
  97. package/dist/module/workflow/service/workflow-meta.service.js +47 -49
  98. package/dist/module/workflow/service/workflow-meta.service.js.map +1 -1
  99. package/dist/module/workflow/service/workflow.service.js +2 -2
  100. package/dist/tsconfig.build.tsbuildinfo +1 -1
  101. package/dist/utils/service/loggingUtil.service.d.ts +2 -9
  102. package/dist/utils/service/loggingUtil.service.js +14 -65
  103. package/dist/utils/service/loggingUtil.service.js.map +1 -1
  104. package/dist/utils/service/reflection-helper.service.js +2 -2
  105. package/dist/utils/utils.module.js +0 -2
  106. package/dist/utils/utils.module.js.map +1 -1
  107. package/docs/modules/event-driven-integration-design.md +91 -91
  108. package/docs/modules/integration.md +250 -250
  109. package/eslint.config.mjs +34 -34
  110. package/nest-cli.json +14 -14
  111. package/package.json +120 -119
  112. package/server.log +850 -0
  113. package/src/app.controller.ts +12 -12
  114. package/src/app.module.ts +52 -52
  115. package/src/app.service.ts +8 -8
  116. package/src/config/config.module.ts +17 -18
  117. package/src/config/database.config.ts +47 -23
  118. package/src/constant/global.constant.ts +67 -67
  119. package/src/core.module.ts +81 -81
  120. package/src/decorators/roles.decorator.ts +7 -7
  121. package/src/dtos/response.dto.ts +6 -6
  122. package/src/dtos/response.ts +5 -5
  123. package/src/index.ts +1 -1
  124. package/src/module/auth/auth.module.ts +49 -49
  125. package/src/module/auth/controller/auth.controller.ts +28 -28
  126. package/src/module/auth/guards/google-auth.guard.ts +9 -9
  127. package/src/module/auth/guards/jwt.guard.ts +22 -22
  128. package/src/module/auth/guards/role.guard.ts +68 -68
  129. package/src/module/auth/services/auth.service.ts +50 -50
  130. package/src/module/auth/services/jwt.service.ts +11 -11
  131. package/src/module/auth/strategies/google.strategy.ts +54 -54
  132. package/src/module/auth/strategies/jwt.strategy.ts +58 -58
  133. package/src/module/auth/strategies/local.strategy.ts +13 -13
  134. package/src/module/dashboard/controller/dashboard.controller.ts +36 -36
  135. package/src/module/dashboard/dashboard.module.ts +21 -21
  136. package/src/module/dashboard/entity/dashboard_page_data.entity.ts +27 -27
  137. package/src/module/dashboard/entity/widget_master.entity.ts +18 -18
  138. package/src/module/dashboard/repository/dashboard.repository.ts +42 -42
  139. package/src/module/dashboard/service/dashboard.service.ts +73 -73
  140. package/src/module/dev/dev.module.ts +12 -12
  141. package/src/module/dev/service/dev.service.ts +7 -7
  142. package/src/module/enterprise/controller/organization.controller.ts +36 -36
  143. package/src/module/enterprise/enterprise.module.ts +30 -30
  144. package/src/module/enterprise/entity/enterprise.entity.ts +37 -37
  145. package/src/module/enterprise/entity/organization-app-mapping.entity.ts +13 -13
  146. package/src/module/enterprise/entity/organization.entity.ts +92 -92
  147. package/src/module/enterprise/repository/enterprise.repository.ts +31 -31
  148. package/src/module/enterprise/repository/organization.repository.ts +26 -26
  149. package/src/module/enterprise/repository/school.repository.ts +278 -278
  150. package/src/module/enterprise/service/brand.service.ts +5 -5
  151. package/src/module/enterprise/service/enterprise.service.ts +16 -16
  152. package/src/module/enterprise/service/organization-app-mapping.service.ts +4 -4
  153. package/src/module/enterprise/service/organization.service.ts +145 -145
  154. package/src/module/filter/controller/filter.controller.ts +84 -84
  155. package/src/module/filter/dto/filter-request.dto.ts +38 -38
  156. package/src/module/filter/entity/saved-filter-detail.entity.ts +41 -41
  157. package/src/module/filter/entity/saved-filter-master.entity.ts +23 -23
  158. package/src/module/filter/filter.module.ts +31 -31
  159. package/src/module/filter/repository/saved-filter.repository.ts +168 -168
  160. package/src/module/filter/service/filter-evaluator.service.ts +86 -86
  161. package/src/module/filter/service/filter.service.ts +1005 -1005
  162. package/src/module/filter/service/saved-filter.service.ts +170 -170
  163. package/src/module/ics/controller/ics.controller.ts +21 -21
  164. package/src/module/ics/dto/ics.dto.ts +55 -55
  165. package/src/module/ics/ics.module.ts +13 -13
  166. package/src/module/ics/service/ics.service.ts +57 -57
  167. package/src/module/integration/controller/calender-event.controller.ts +31 -31
  168. package/src/module/integration/controller/integration.controller.ts +662 -662
  169. package/src/module/integration/controller/wrapper.controller.ts +37 -37
  170. package/src/module/integration/dto/create-config.dto.ts +526 -526
  171. package/src/module/integration/entity/integration-config.entity.ts +112 -112
  172. package/src/module/integration/entity/integration-entity-mapper.entity.ts +14 -14
  173. package/src/module/integration/entity/integration-source.entity.ts +17 -17
  174. package/src/module/integration/entity/user-integration.entity.ts +71 -71
  175. package/src/module/integration/examples/usage.example.ts +338 -338
  176. package/src/module/integration/factories/base.factory.ts +7 -7
  177. package/src/module/integration/factories/email.factory.ts +49 -49
  178. package/src/module/integration/factories/integration.factory.ts +121 -121
  179. package/src/module/integration/factories/sms.factory.ts +51 -51
  180. package/src/module/integration/factories/telephone.factory.ts +41 -41
  181. package/src/module/integration/factories/whatsapp.factory.ts +56 -56
  182. package/src/module/integration/integration.module.ts +110 -110
  183. package/src/module/integration/service/calendar-event.service.ts +118 -118
  184. package/src/module/integration/service/integration-entity-mapper.service.ts +17 -17
  185. package/src/module/integration/service/integration-queue.service.ts +229 -229
  186. package/src/module/integration/service/integration.service.ts +2633 -2633
  187. package/src/module/integration/service/oauth.service.ts +224 -224
  188. package/src/module/integration/service/wrapper.service.ts +493 -700
  189. package/src/module/integration/strategies/email/gmail-api.strategy.ts +280 -280
  190. package/src/module/integration/strategies/email/outlook-api.strategy.ts +44 -44
  191. package/src/module/integration/strategies/email/outlook.strategy.ts +64 -64
  192. package/src/module/integration/strategies/email/sendgrid-api.strategy.ts +260 -260
  193. package/src/module/integration/strategies/integration.strategy.ts +97 -97
  194. package/src/module/integration/strategies/sms/gupshup-sms.strategy.ts +146 -146
  195. package/src/module/integration/strategies/sms/msg91-sms.strategy.ts +164 -164
  196. package/src/module/integration/strategies/sms/tubelight-sms.strategy.ts +163 -163
  197. package/src/module/integration/strategies/telephone/ozonetel-voice.strategy.ts +238 -238
  198. package/src/module/integration/strategies/telephone/tubelight-voice.strategy.ts +210 -210
  199. package/src/module/integration/strategies/whatsapp/gupshup-whatsapp.strategy.ts +359 -359
  200. package/src/module/integration/strategies/whatsapp/tubelight-whatsapp.strategy.ts +372 -372
  201. package/src/module/integration/strategies/whatsapp/whatsapp-cloud.strategy.ts +403 -403
  202. package/src/module/integration/strategies/whatsapp/whatsapp.strategy.ts +57 -57
  203. package/src/module/layout/controller/layout.controller.ts +47 -47
  204. package/src/module/layout/entity/header-items.entity.ts +28 -28
  205. package/src/module/layout/entity/header-section.entity.ts +19 -19
  206. package/src/module/layout/layout.module.ts +21 -21
  207. package/src/module/layout/repository/header-items.repository.ts +18 -18
  208. package/src/module/layout/repository/header-section.repository.ts +22 -22
  209. package/src/module/layout/service/header-section.service.ts +25 -25
  210. package/src/module/layout_preference/controller/layout_preference.controller.ts +73 -73
  211. package/src/module/layout_preference/entity/layout_preference.entity.ts +28 -28
  212. package/src/module/layout_preference/layout_preference.module.ts +22 -22
  213. package/src/module/layout_preference/repository/layout_preference.repository.ts +65 -65
  214. package/src/module/layout_preference/service/layout_preference.service.ts +191 -191
  215. package/src/module/lead/controller/lead.controller.ts +30 -30
  216. package/src/module/lead/lead.module.ts +14 -14
  217. package/src/module/lead/repository/lead.repository.ts +41 -41
  218. package/src/module/lead/service/lead.service.ts +54 -54
  219. package/src/module/listmaster/controller/list-master.controller.ts +230 -230
  220. package/src/module/listmaster/entity/list-master-items.entity.ts +43 -43
  221. package/src/module/listmaster/entity/list-master.entity.ts +33 -33
  222. package/src/module/listmaster/listmaster.module.ts +46 -46
  223. package/src/module/listmaster/repository/list-master-items.repository.ts +169 -169
  224. package/src/module/listmaster/repository/list-master.repository.ts +46 -46
  225. package/src/module/listmaster/service/list-master-engine.ts +19 -19
  226. package/src/module/listmaster/service/list-master-extension.interface.ts +4 -4
  227. package/src/module/listmaster/service/list-master-item.service.ts +292 -292
  228. package/src/module/listmaster/service/list-master-registry.ts +15 -15
  229. package/src/module/listmaster/service/list-master.service.ts +535 -535
  230. package/src/module/mapper/controller/field-mapper.controller.ts +76 -76
  231. package/src/module/mapper/controller/mapper.controller.ts +20 -20
  232. package/src/module/mapper/dto/field-mapper.dto.ts +14 -14
  233. package/src/module/mapper/entity/field-lovs.entity.ts +19 -19
  234. package/src/module/mapper/entity/field-mapper.entity.ts +53 -53
  235. package/src/module/mapper/entity/mapper.entity.ts +16 -16
  236. package/src/module/mapper/mapper.module.ts +34 -34
  237. package/src/module/mapper/repository/field-lovs.repository.ts +35 -35
  238. package/src/module/mapper/repository/field-mapper.repository.ts +42 -42
  239. package/src/module/mapper/repository/mapper.repository.ts +15 -15
  240. package/src/module/mapper/service/field-mapper.service.ts +266 -271
  241. package/src/module/mapper/service/mapper.service.ts +79 -79
  242. package/src/module/master/controller/master.controller.ts +74 -74
  243. package/src/module/master/service/master.service.ts +483 -483
  244. package/src/module/meta/controller/app-master.controller.ts +38 -38
  245. package/src/module/meta/controller/attribute-master.controller.ts +66 -66
  246. package/src/module/meta/controller/entity-dynamic.controller.ts +125 -125
  247. package/src/module/meta/controller/entity-master.controller.ts +28 -28
  248. package/src/module/meta/controller/entity-relation.controller.ts +36 -36
  249. package/src/module/meta/controller/entity.controller.ts +392 -392
  250. package/src/module/meta/controller/entity.public.controller.ts +75 -75
  251. package/src/module/meta/controller/media.controller.ts +107 -107
  252. package/src/module/meta/controller/meta.controller.ts +96 -96
  253. package/src/module/meta/controller/view-master.controller.ts +86 -86
  254. package/src/module/meta/dto/entity-list-data.dto.ts +6 -6
  255. package/src/module/meta/dto/entity-tab.dto.ts +4 -4
  256. package/src/module/meta/dto/entity-table.dto.ts +9 -9
  257. package/src/module/meta/entity/app-master.entity.ts +34 -34
  258. package/src/module/meta/entity/attribute-master.entity.ts +89 -89
  259. package/src/module/meta/entity/base-entity.entity.ts +75 -75
  260. package/src/module/meta/entity/entity-master.entity.ts +85 -85
  261. package/src/module/meta/entity/entity-relation-data.entity.ts +29 -29
  262. package/src/module/meta/entity/entity-relation.entity.ts +23 -23
  263. package/src/module/meta/entity/entity-table-column.entity.ts +61 -61
  264. package/src/module/meta/entity/entity-table.entity.ts +50 -50
  265. package/src/module/meta/entity/media-data.entity.ts +32 -32
  266. package/src/module/meta/entity/preference.entity.ts +62 -62
  267. package/src/module/meta/entity/view-master.entity.ts +41 -41
  268. package/src/module/meta/entity.module.ts +158 -158
  269. package/src/module/meta/repository/app-master.repository.ts +20 -20
  270. package/src/module/meta/repository/attribute-master.repository.ts +118 -118
  271. package/src/module/meta/repository/entity-master.repository.ts +69 -69
  272. package/src/module/meta/repository/entity-table-column.repository.ts +39 -39
  273. package/src/module/meta/repository/entity-table.repository.ts +53 -53
  274. package/src/module/meta/repository/media-data.repository.ts +50 -50
  275. package/src/module/meta/repository/preference.repository.ts +20 -20
  276. package/src/module/meta/repository/user-app-mapping.repository.ts +28 -28
  277. package/src/module/meta/repository/view-master.repository.ts +42 -42
  278. package/src/module/meta/service/app-master.service.ts +37 -37
  279. package/src/module/meta/service/attribute-master.service.ts +126 -126
  280. package/src/module/meta/service/common.service.ts +9 -9
  281. package/src/module/meta/service/entity-dynamic.service.ts +819 -819
  282. package/src/module/meta/service/entity-list.service.ts +205 -205
  283. package/src/module/meta/service/entity-master.service.ts +169 -169
  284. package/src/module/meta/service/entity-realation-data.service.ts +9 -9
  285. package/src/module/meta/service/entity-relation.service.ts +69 -69
  286. package/src/module/meta/service/entity-service-impl.service.ts +525 -525
  287. package/src/module/meta/service/entity-table-column.service.ts +39 -39
  288. package/src/module/meta/service/entity-table.service.ts +150 -150
  289. package/src/module/meta/service/entity-validation.service.ts +187 -187
  290. package/src/module/meta/service/entity.service.ts +67 -67
  291. package/src/module/meta/service/field-group.service.ts +103 -103
  292. package/src/module/meta/service/media-data.service.ts +507 -507
  293. package/src/module/meta/service/populate-meta.service.ts +193 -193
  294. package/src/module/meta/service/preference.service.ts +16 -16
  295. package/src/module/meta/service/resolver.service.ts +267 -267
  296. package/src/module/meta/service/section-master.service.ts +104 -104
  297. package/src/module/meta/service/update-form-json.service.ts +22 -22
  298. package/src/module/meta/service/user-app-mapping.service.ts +17 -17
  299. package/src/module/meta/service/view-master.service.ts +127 -127
  300. package/src/module/microservice-client/microservice-clients.module.ts +13 -13
  301. package/src/module/microservice-client/service/microservice-client-factory.ts +37 -37
  302. package/src/module/microservice-client/service/microservice-clients.ts +4 -4
  303. package/src/module/module/controller/menu.controller.ts +15 -15
  304. package/src/module/module/controller/module-access.controller.ts +134 -134
  305. package/src/module/module/entity/menu.entity.ts +43 -43
  306. package/src/module/module/entity/module-access.entity.ts +25 -25
  307. package/src/module/module/entity/module-action.entity.ts +17 -17
  308. package/src/module/module/entity/module.entity.ts +52 -52
  309. package/src/module/module/module.module.ts +42 -42
  310. package/src/module/module/repository/menu.repository.ts +184 -184
  311. package/src/module/module/repository/module-access.repository.ts +344 -344
  312. package/src/module/module/service/menu.service.ts +82 -82
  313. package/src/module/module/service/module-access.service.ts +209 -209
  314. package/src/module/notification/controller/notification.controller.ts +58 -58
  315. package/src/module/notification/controller/otp.controller.ts +117 -117
  316. package/src/module/notification/entity/notification.entity.ts +26 -26
  317. package/src/module/notification/entity/otp.entity.ts +28 -28
  318. package/src/module/notification/firebase-admin.config.ts +22 -22
  319. package/src/module/notification/notification.module.ts +69 -69
  320. package/src/module/notification/repository/otp.repository.ts +27 -27
  321. package/src/module/notification/service/email.service.ts +127 -127
  322. package/src/module/notification/service/notification.service.ts +163 -163
  323. package/src/module/notification/service/otp.service.ts +132 -132
  324. package/src/module/third-party-module/entity/third-party-api-registry.entity.ts +52 -52
  325. package/src/module/third-party-module/repository/third-party-api-registry.repository.ts +20 -20
  326. package/src/module/third-party-module/service/api-registry.service.ts +13 -13
  327. package/src/module/third-party-module/third-party.module.ts +12 -12
  328. package/src/module/user/controller/login.controller.ts +197 -197
  329. package/src/module/user/controller/user.controller.ts +40 -40
  330. package/src/module/user/dto/create-user.dto.ts +62 -62
  331. package/src/module/user/dto/update-user.dto.ts +4 -4
  332. package/src/module/user/entity/role.entity.ts +33 -33
  333. package/src/module/user/entity/user-role-mapping.entity.ts +38 -38
  334. package/src/module/user/entity/user-session.entity.ts +73 -73
  335. package/src/module/user/entity/user.entity.ts +59 -59
  336. package/src/module/user/repository/role.repository.ts +96 -96
  337. package/src/module/user/repository/user-role-mapping.repository.ts +126 -126
  338. package/src/module/user/repository/user.repository.ts +50 -50
  339. package/src/module/user/repository/userSession.repository.ts +33 -33
  340. package/src/module/user/service/login.service.ts +304 -304
  341. package/src/module/user/service/role.service.ts +189 -189
  342. package/src/module/user/service/user-role-mapping.service.ts +98 -98
  343. package/src/module/user/service/user-session.service.ts +168 -168
  344. package/src/module/user/service/user.service.ts +365 -365
  345. package/src/module/user/user.module.ts +65 -65
  346. package/src/module/workflow/controller/action-category.controller.ts +54 -54
  347. package/src/module/workflow/controller/action-resource-mapping.controller.ts +23 -23
  348. package/src/module/workflow/controller/action-template-mapping.controller.ts +35 -35
  349. package/src/module/workflow/controller/action.controller.ts +111 -111
  350. package/src/module/workflow/controller/activity-log.controller.ts +55 -55
  351. package/src/module/workflow/controller/comm-template.controller.ts +43 -43
  352. package/src/module/workflow/controller/entity-modification.controller.ts +35 -35
  353. package/src/module/workflow/controller/form-master.controller.ts +43 -43
  354. package/src/module/workflow/controller/stage-group.controller.ts +48 -48
  355. package/src/module/workflow/controller/stage.controller.ts +50 -50
  356. package/src/module/workflow/controller/task.controller.ts +77 -77
  357. package/src/module/workflow/controller/workflow-list-master.controller.ts +44 -44
  358. package/src/module/workflow/controller/workflow-meta.controller.ts +80 -80
  359. package/src/module/workflow/controller/workflow.controller.ts +67 -67
  360. package/src/module/workflow/entity/action-category.entity.ts +38 -38
  361. package/src/module/workflow/entity/action-data.entity.ts +55 -55
  362. package/src/module/workflow/entity/action-resources-mapping.entity.ts +29 -29
  363. package/src/module/workflow/entity/action-template-mapping.entity.ts +17 -17
  364. package/src/module/workflow/entity/action.entity.ts +50 -50
  365. package/src/module/workflow/entity/activity-log.entity.ts +43 -43
  366. package/src/module/workflow/entity/comm-template.entity.ts +43 -43
  367. package/src/module/workflow/entity/entity-modification.entity.ts +38 -38
  368. package/src/module/workflow/entity/form.entity.ts +25 -25
  369. package/src/module/workflow/entity/stage-action-mapping.entity.ts +17 -17
  370. package/src/module/workflow/entity/stage-group.entity.ts +23 -23
  371. package/src/module/workflow/entity/stage-movement-data.entity.ts +38 -38
  372. package/src/module/workflow/entity/stage.entity.ts +20 -20
  373. package/src/module/workflow/entity/task-data.entity.ts +88 -88
  374. package/src/module/workflow/entity/template-attach-mapper.entity.ts +30 -30
  375. package/src/module/workflow/entity/workflow-data.entity.ts +11 -11
  376. package/src/module/workflow/entity/workflow-level-mapping.entity.ts +18 -18
  377. package/src/module/workflow/entity/workflow.entity.ts +20 -20
  378. package/src/module/workflow/repository/action-category.repository.ts +79 -79
  379. package/src/module/workflow/repository/action-data.repository.ts +333 -333
  380. package/src/module/workflow/repository/action.repository.ts +323 -323
  381. package/src/module/workflow/repository/activity-log.repository.ts +148 -148
  382. package/src/module/workflow/repository/comm-template.repository.ts +149 -149
  383. package/src/module/workflow/repository/form-master.repository.ts +59 -59
  384. package/src/module/workflow/repository/stage-group.repository.ts +176 -176
  385. package/src/module/workflow/repository/stage-movement.repository.ts +244 -244
  386. package/src/module/workflow/repository/stage.repository.ts +172 -172
  387. package/src/module/workflow/repository/task.repository.ts +127 -134
  388. package/src/module/workflow/repository/workflow.repository.ts +42 -42
  389. package/src/module/workflow/service/action-category.service.ts +33 -33
  390. package/src/module/workflow/service/action-data.service.ts +62 -62
  391. package/src/module/workflow/service/action-resources-mapping.service.ts +10 -10
  392. package/src/module/workflow/service/action-template-mapping.service.ts +106 -106
  393. package/src/module/workflow/service/action.service.ts +279 -279
  394. package/src/module/workflow/service/activity-log.service.ts +107 -107
  395. package/src/module/workflow/service/comm-template.service.ts +180 -180
  396. package/src/module/workflow/service/entity-modification.service.ts +67 -67
  397. package/src/module/workflow/service/form-master.service.ts +35 -35
  398. package/src/module/workflow/service/populate-workflow.service.ts +303 -303
  399. package/src/module/workflow/service/stage-action-mapping.service.ts +5 -5
  400. package/src/module/workflow/service/stage-group.service.ts +319 -319
  401. package/src/module/workflow/service/stage.service.ts +199 -199
  402. package/src/module/workflow/service/task.service.ts +560 -565
  403. package/src/module/workflow/service/workflow-list-master.service.ts +60 -60
  404. package/src/module/workflow/service/workflow-meta.service.ts +640 -654
  405. package/src/module/workflow/service/workflow.service.ts +205 -205
  406. package/src/module/workflow/workflow.module.ts +176 -176
  407. package/src/module/workflow-automation/controller/workflow-automation.controller.ts +21 -21
  408. package/src/module/workflow-automation/entity/workflow-automation-action.entity.ts +26 -26
  409. package/src/module/workflow-automation/entity/workflow-automation.entity.ts +35 -35
  410. package/src/module/workflow-automation/interface/action.decorator.ts +7 -7
  411. package/src/module/workflow-automation/interface/action.interface.ts +5 -5
  412. package/src/module/workflow-automation/service/action-registery.service.ts +35 -35
  413. package/src/module/workflow-automation/service/workflow-automation-engine.service.ts +214 -214
  414. package/src/module/workflow-automation/service/workflow-automation.service.ts +347 -347
  415. package/src/module/workflow-automation/workflow-automation.module.ts +34 -34
  416. package/src/resources/dev.properties.yaml +31 -30
  417. package/src/resources/local.properties.yaml +27 -27
  418. package/src/resources/properties.module.ts +12 -12
  419. package/src/resources/properties.yaml.ts +11 -11
  420. package/src/resources/uat.properties.yaml +31 -31
  421. package/src/table.config.ts +126 -126
  422. package/src/utils/dto/excel-data.dto.ts +14 -14
  423. package/src/utils/dto/excelsheet-data.dto.ts +5 -5
  424. package/src/utils/service/base64util.service.ts +18 -18
  425. package/src/utils/service/clockIDGenUtil.service.ts +21 -21
  426. package/src/utils/service/codeGenerator.service.ts +22 -22
  427. package/src/utils/service/dateUtil.service.ts +17 -17
  428. package/src/utils/service/encryptUtil.service.ts +97 -97
  429. package/src/utils/service/excel-helper.service.ts +72 -72
  430. package/src/utils/service/excelUtil.service.ts +15 -15
  431. package/src/utils/service/file-util.service.ts +11 -11
  432. package/src/utils/service/json-util.service.ts +23 -23
  433. package/src/utils/service/loggingUtil.service.ts +34 -88
  434. package/src/utils/service/reflection-helper.service.ts +62 -62
  435. package/src/utils/service/wbsCodeGen.service.ts +8 -8
  436. package/src/utils/utils.module.ts +25 -27
  437. package/tsconfig.build.json +4 -4
  438. 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
+ }