rez_core 5.0.84 → 5.0.86

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