rez_core 4.0.109 → 4.0.111

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 (406) hide show
  1. package/.claude/settings.local.json +26 -0
  2. package/.idea/250218_nodejs_core.iml +8 -11
  3. package/.idea/codeStyles/Project.xml +58 -58
  4. package/.idea/codeStyles/codeStyleConfig.xml +4 -4
  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 +1 -1
  10. package/.idea/misc.xml +6 -0
  11. package/.idea/modules.xml +7 -7
  12. package/.idea/prettier.xml +5 -5
  13. package/.idea/vcs.xml +5 -5
  14. package/.prettierrc +3 -3
  15. package/README.md +99 -99
  16. package/dist/app.module.js +2 -0
  17. package/dist/app.module.js.map +1 -1
  18. package/dist/module/auth/guards/role.guard.js +3 -3
  19. package/dist/module/auth/services/auth.service.js +2 -2
  20. package/dist/module/filter/repository/saved-filter.repository.js +4 -4
  21. package/dist/module/filter/service/filter-evaluator.service.js +2 -2
  22. package/dist/module/filter/service/filter.service.js +37 -24
  23. package/dist/module/filter/service/filter.service.js.map +1 -1
  24. package/dist/module/integration/examples/usage.example.js +9 -9
  25. package/dist/module/integration/service/integration.service.js +1 -1
  26. package/dist/module/integration/service/wrapper.service.js +25 -25
  27. package/dist/module/listmaster/controller/list-master.controller.d.ts +6 -0
  28. package/dist/module/listmaster/controller/list-master.controller.js +14 -2
  29. package/dist/module/listmaster/controller/list-master.controller.js.map +1 -1
  30. package/dist/module/listmaster/listmaster.module.js +2 -0
  31. package/dist/module/listmaster/listmaster.module.js.map +1 -1
  32. package/dist/module/listmaster/service/list-master-item.service.js +2 -2
  33. package/dist/module/listmaster/service/list-master.service.d.ts +4 -2
  34. package/dist/module/listmaster/service/list-master.service.js +13 -16
  35. package/dist/module/listmaster/service/list-master.service.js.map +1 -1
  36. package/dist/module/mapper/service/field-mapper.service.js +4 -4
  37. package/dist/module/mapper/service/mapper.service.js +2 -2
  38. package/dist/module/meta/service/entity-dynamic.service.js +9 -9
  39. package/dist/module/meta/service/entity-list.service.js +3 -3
  40. package/dist/module/meta/service/entity-master.service.js +3 -3
  41. package/dist/module/meta/service/entity-relation.service.js +11 -11
  42. package/dist/module/meta/service/entity-service-impl.service.js +3 -3
  43. package/dist/module/meta/service/resolver.service.js +3 -3
  44. package/dist/module/microservice-client/microservice-clients.module.d.ts +2 -0
  45. package/dist/module/microservice-client/microservice-clients.module.js +27 -0
  46. package/dist/module/microservice-client/microservice-clients.module.js.map +1 -0
  47. package/dist/module/microservice-client/service/microservice-client-factory.d.ts +10 -0
  48. package/dist/module/microservice-client/service/microservice-client-factory.js +46 -0
  49. package/dist/module/microservice-client/service/microservice-client-factory.js.map +1 -0
  50. package/dist/module/microservice-client/service/microservice-clients.d.ts +4 -0
  51. package/dist/module/microservice-client/service/microservice-clients.js +3 -0
  52. package/dist/module/microservice-client/service/microservice-clients.js.map +1 -0
  53. package/dist/module/module/repository/menu.repository.js +12 -12
  54. package/dist/module/notification/service/notification.service.js +9 -9
  55. package/dist/module/user/controller/login.controller.js +18 -18
  56. package/dist/module/user/service/role.service.js +4 -4
  57. package/dist/module/user/service/user-session.service.js +2 -2
  58. package/dist/module/workflow/repository/action.repository.js +20 -20
  59. package/dist/module/workflow/repository/comm-template.repository.js +6 -6
  60. package/dist/module/workflow/repository/form-master.repository.js +2 -2
  61. package/dist/module/workflow/repository/stage-group.repository.js +23 -23
  62. package/dist/module/workflow/repository/stage-movement.repository.js +15 -15
  63. package/dist/module/workflow/repository/stage.repository.js +8 -8
  64. package/dist/module/workflow/service/action-template-mapping.service.js +22 -22
  65. package/dist/module/workflow/service/action.service.js +7 -7
  66. package/dist/module/workflow/service/entity-modification.service.js +6 -6
  67. package/dist/module/workflow/service/stage-group.service.js +2 -2
  68. package/dist/module/workflow/service/stage.service.js +2 -2
  69. package/dist/module/workflow/service/task.service.js +28 -28
  70. package/dist/module/workflow/service/workflow-list-master.service.js +15 -15
  71. package/dist/module/workflow/service/workflow-meta.service.js +35 -35
  72. package/dist/module/workflow/service/workflow.service.js +2 -2
  73. package/dist/tsconfig.build.tsbuildinfo +1 -1
  74. package/dist/utils/service/reflection-helper.service.js +2 -2
  75. package/docs/modules/event-driven-integration-design.md +91 -91
  76. package/docs/modules/integration.md +250 -250
  77. package/eslint.config.mjs +34 -34
  78. package/nest-cli.json +14 -14
  79. package/package.json +119 -118
  80. package/server.log +850 -0
  81. package/src/app.controller.ts +12 -12
  82. package/src/app.module.ts +52 -49
  83. package/src/app.service.ts +8 -8
  84. package/src/config/config.module.ts +18 -18
  85. package/src/config/database.config.ts +23 -23
  86. package/src/constant/global.constant.ts +67 -67
  87. package/src/core.module.ts +81 -81
  88. package/src/decorators/roles.decorator.ts +7 -7
  89. package/src/dtos/response.dto.ts +6 -6
  90. package/src/dtos/response.ts +5 -5
  91. package/src/index.ts +1 -1
  92. package/src/module/auth/auth.module.ts +49 -49
  93. package/src/module/auth/controller/auth.controller.ts +28 -28
  94. package/src/module/auth/guards/google-auth.guard.ts +9 -9
  95. package/src/module/auth/guards/jwt.guard.ts +22 -22
  96. package/src/module/auth/guards/role.guard.ts +68 -68
  97. package/src/module/auth/services/auth.service.ts +50 -50
  98. package/src/module/auth/services/jwt.service.ts +11 -11
  99. package/src/module/auth/strategies/google.strategy.ts +54 -54
  100. package/src/module/auth/strategies/jwt.strategy.ts +58 -58
  101. package/src/module/auth/strategies/local.strategy.ts +13 -13
  102. package/src/module/dashboard/controller/dashboard.controller.ts +36 -36
  103. package/src/module/dashboard/dashboard.module.ts +21 -21
  104. package/src/module/dashboard/entity/dashboard_page_data.entity.ts +27 -27
  105. package/src/module/dashboard/entity/widget_master.entity.ts +18 -18
  106. package/src/module/dashboard/repository/dashboard.repository.ts +42 -42
  107. package/src/module/dashboard/service/dashboard.service.ts +73 -73
  108. package/src/module/dev/dev.module.ts +12 -12
  109. package/src/module/dev/service/dev.service.ts +7 -7
  110. package/src/module/enterprise/controller/organization.controller.ts +36 -36
  111. package/src/module/enterprise/enterprise.module.ts +30 -30
  112. package/src/module/enterprise/entity/enterprise.entity.ts +37 -37
  113. package/src/module/enterprise/entity/organization-app-mapping.entity.ts +13 -13
  114. package/src/module/enterprise/entity/organization.entity.ts +92 -92
  115. package/src/module/enterprise/repository/enterprise.repository.ts +31 -31
  116. package/src/module/enterprise/repository/organization.repository.ts +26 -26
  117. package/src/module/enterprise/repository/school.repository.ts +278 -278
  118. package/src/module/enterprise/service/brand.service.ts +5 -5
  119. package/src/module/enterprise/service/enterprise.service.ts +16 -16
  120. package/src/module/enterprise/service/organization-app-mapping.service.ts +4 -4
  121. package/src/module/enterprise/service/organization.service.ts +145 -145
  122. package/src/module/filter/controller/filter.controller.ts +84 -84
  123. package/src/module/filter/dto/filter-request.dto.ts +38 -38
  124. package/src/module/filter/entity/saved-filter-detail.entity.ts +41 -41
  125. package/src/module/filter/entity/saved-filter-master.entity.ts +23 -23
  126. package/src/module/filter/filter.module.ts +31 -31
  127. package/src/module/filter/repository/saved-filter.repository.ts +168 -168
  128. package/src/module/filter/service/filter-evaluator.service.ts +86 -86
  129. package/src/module/filter/service/filter.service.ts +1004 -988
  130. package/src/module/filter/service/saved-filter.service.ts +170 -170
  131. package/src/module/ics/controller/ics.controller.ts +21 -21
  132. package/src/module/ics/dto/ics.dto.ts +55 -55
  133. package/src/module/ics/ics.module.ts +13 -13
  134. package/src/module/ics/service/ics.service.ts +57 -57
  135. package/src/module/integration/controller/calender-event.controller.ts +31 -31
  136. package/src/module/integration/controller/integration.controller.ts +662 -662
  137. package/src/module/integration/controller/wrapper.controller.ts +37 -37
  138. package/src/module/integration/dto/create-config.dto.ts +526 -526
  139. package/src/module/integration/entity/integration-config.entity.ts +112 -112
  140. package/src/module/integration/entity/integration-entity-mapper.entity.ts +14 -14
  141. package/src/module/integration/entity/integration-source.entity.ts +17 -17
  142. package/src/module/integration/entity/user-integration.entity.ts +71 -71
  143. package/src/module/integration/examples/usage.example.ts +338 -338
  144. package/src/module/integration/factories/base.factory.ts +7 -7
  145. package/src/module/integration/factories/email.factory.ts +49 -49
  146. package/src/module/integration/factories/integration.factory.ts +121 -121
  147. package/src/module/integration/factories/sms.factory.ts +51 -51
  148. package/src/module/integration/factories/telephone.factory.ts +41 -41
  149. package/src/module/integration/factories/whatsapp.factory.ts +56 -56
  150. package/src/module/integration/integration.module.ts +110 -110
  151. package/src/module/integration/service/calendar-event.service.ts +118 -118
  152. package/src/module/integration/service/integration-entity-mapper.service.ts +17 -17
  153. package/src/module/integration/service/integration-queue.service.ts +229 -229
  154. package/src/module/integration/service/integration.service.ts +2633 -2633
  155. package/src/module/integration/service/oauth.service.ts +224 -224
  156. package/src/module/integration/service/wrapper.service.ts +493 -493
  157. package/src/module/integration/strategies/email/gmail-api.strategy.ts +280 -280
  158. package/src/module/integration/strategies/email/outlook-api.strategy.ts +44 -44
  159. package/src/module/integration/strategies/email/outlook.strategy.ts +64 -64
  160. package/src/module/integration/strategies/email/sendgrid-api.strategy.ts +260 -260
  161. package/src/module/integration/strategies/integration.strategy.ts +97 -97
  162. package/src/module/integration/strategies/sms/gupshup-sms.strategy.ts +146 -146
  163. package/src/module/integration/strategies/sms/msg91-sms.strategy.ts +164 -164
  164. package/src/module/integration/strategies/sms/tubelight-sms.strategy.ts +163 -163
  165. package/src/module/integration/strategies/telephone/ozonetel-voice.strategy.ts +238 -238
  166. package/src/module/integration/strategies/telephone/tubelight-voice.strategy.ts +210 -210
  167. package/src/module/integration/strategies/whatsapp/gupshup-whatsapp.strategy.ts +359 -359
  168. package/src/module/integration/strategies/whatsapp/tubelight-whatsapp.strategy.ts +372 -372
  169. package/src/module/integration/strategies/whatsapp/whatsapp-cloud.strategy.ts +403 -403
  170. package/src/module/integration/strategies/whatsapp/whatsapp.strategy.ts +57 -57
  171. package/src/module/layout/controller/layout.controller.ts +47 -47
  172. package/src/module/layout/entity/header-items.entity.ts +28 -28
  173. package/src/module/layout/entity/header-section.entity.ts +19 -19
  174. package/src/module/layout/layout.module.ts +21 -21
  175. package/src/module/layout/repository/header-items.repository.ts +18 -18
  176. package/src/module/layout/repository/header-section.repository.ts +22 -22
  177. package/src/module/layout/service/header-section.service.ts +25 -25
  178. package/src/module/layout_preference/controller/layout_preference.controller.ts +73 -73
  179. package/src/module/layout_preference/entity/layout_preference.entity.ts +28 -28
  180. package/src/module/layout_preference/layout_preference.module.ts +22 -22
  181. package/src/module/layout_preference/repository/layout_preference.repository.ts +65 -65
  182. package/src/module/layout_preference/service/layout_preference.service.ts +191 -191
  183. package/src/module/lead/controller/lead.controller.ts +30 -30
  184. package/src/module/lead/lead.module.ts +14 -14
  185. package/src/module/lead/repository/lead.repository.ts +41 -41
  186. package/src/module/lead/service/lead.service.ts +54 -54
  187. package/src/module/listmaster/controller/list-master.controller.ts +230 -210
  188. package/src/module/listmaster/entity/list-master-items.entity.ts +43 -43
  189. package/src/module/listmaster/entity/list-master.entity.ts +33 -33
  190. package/src/module/listmaster/listmaster.module.ts +46 -44
  191. package/src/module/listmaster/repository/list-master-items.repository.ts +169 -169
  192. package/src/module/listmaster/repository/list-master.repository.ts +46 -46
  193. package/src/module/listmaster/service/list-master-engine.ts +19 -19
  194. package/src/module/listmaster/service/list-master-extension.interface.ts +4 -4
  195. package/src/module/listmaster/service/list-master-item.service.ts +292 -292
  196. package/src/module/listmaster/service/list-master-registry.ts +15 -15
  197. package/src/module/listmaster/service/list-master.service.ts +535 -542
  198. package/src/module/mapper/controller/field-mapper.controller.ts +76 -76
  199. package/src/module/mapper/controller/mapper.controller.ts +20 -20
  200. package/src/module/mapper/dto/field-mapper.dto.ts +14 -14
  201. package/src/module/mapper/entity/field-lovs.entity.ts +19 -19
  202. package/src/module/mapper/entity/field-mapper.entity.ts +53 -53
  203. package/src/module/mapper/entity/mapper.entity.ts +16 -16
  204. package/src/module/mapper/mapper.module.ts +34 -34
  205. package/src/module/mapper/repository/field-lovs.repository.ts +35 -35
  206. package/src/module/mapper/repository/field-mapper.repository.ts +42 -42
  207. package/src/module/mapper/repository/mapper.repository.ts +15 -15
  208. package/src/module/mapper/service/field-mapper.service.ts +266 -266
  209. package/src/module/mapper/service/mapper.service.ts +79 -79
  210. package/src/module/master/controller/master.controller.ts +74 -74
  211. package/src/module/master/service/master.service.ts +483 -483
  212. package/src/module/meta/controller/app-master.controller.ts +38 -38
  213. package/src/module/meta/controller/attribute-master.controller.ts +66 -66
  214. package/src/module/meta/controller/entity-dynamic.controller.ts +125 -125
  215. package/src/module/meta/controller/entity-master.controller.ts +28 -28
  216. package/src/module/meta/controller/entity-relation.controller.ts +36 -36
  217. package/src/module/meta/controller/entity.controller.ts +392 -392
  218. package/src/module/meta/controller/entity.public.controller.ts +75 -75
  219. package/src/module/meta/controller/media.controller.ts +107 -107
  220. package/src/module/meta/controller/meta.controller.ts +96 -96
  221. package/src/module/meta/controller/view-master.controller.ts +86 -86
  222. package/src/module/meta/dto/entity-list-data.dto.ts +6 -6
  223. package/src/module/meta/dto/entity-tab.dto.ts +4 -4
  224. package/src/module/meta/dto/entity-table.dto.ts +9 -9
  225. package/src/module/meta/entity/app-master.entity.ts +34 -34
  226. package/src/module/meta/entity/attribute-master.entity.ts +89 -89
  227. package/src/module/meta/entity/base-entity.entity.ts +75 -75
  228. package/src/module/meta/entity/entity-master.entity.ts +85 -85
  229. package/src/module/meta/entity/entity-relation-data.entity.ts +29 -29
  230. package/src/module/meta/entity/entity-relation.entity.ts +23 -23
  231. package/src/module/meta/entity/entity-table-column.entity.ts +61 -61
  232. package/src/module/meta/entity/entity-table.entity.ts +50 -50
  233. package/src/module/meta/entity/media-data.entity.ts +32 -32
  234. package/src/module/meta/entity/preference.entity.ts +62 -62
  235. package/src/module/meta/entity/view-master.entity.ts +41 -41
  236. package/src/module/meta/entity.module.ts +158 -158
  237. package/src/module/meta/repository/app-master.repository.ts +20 -20
  238. package/src/module/meta/repository/attribute-master.repository.ts +118 -118
  239. package/src/module/meta/repository/entity-master.repository.ts +69 -69
  240. package/src/module/meta/repository/entity-table-column.repository.ts +39 -39
  241. package/src/module/meta/repository/entity-table.repository.ts +53 -53
  242. package/src/module/meta/repository/media-data.repository.ts +50 -50
  243. package/src/module/meta/repository/preference.repository.ts +20 -20
  244. package/src/module/meta/repository/user-app-mapping.repository.ts +28 -28
  245. package/src/module/meta/repository/view-master.repository.ts +42 -42
  246. package/src/module/meta/service/app-master.service.ts +37 -37
  247. package/src/module/meta/service/attribute-master.service.ts +126 -126
  248. package/src/module/meta/service/common.service.ts +9 -9
  249. package/src/module/meta/service/entity-dynamic.service.ts +819 -819
  250. package/src/module/meta/service/entity-list.service.ts +205 -205
  251. package/src/module/meta/service/entity-master.service.ts +169 -169
  252. package/src/module/meta/service/entity-realation-data.service.ts +9 -9
  253. package/src/module/meta/service/entity-relation.service.ts +69 -69
  254. package/src/module/meta/service/entity-service-impl.service.ts +525 -525
  255. package/src/module/meta/service/entity-table-column.service.ts +39 -39
  256. package/src/module/meta/service/entity-table.service.ts +150 -150
  257. package/src/module/meta/service/entity-validation.service.ts +187 -187
  258. package/src/module/meta/service/entity.service.ts +67 -67
  259. package/src/module/meta/service/field-group.service.ts +103 -103
  260. package/src/module/meta/service/media-data.service.ts +507 -507
  261. package/src/module/meta/service/populate-meta.service.ts +193 -193
  262. package/src/module/meta/service/preference.service.ts +16 -16
  263. package/src/module/meta/service/resolver.service.ts +267 -267
  264. package/src/module/meta/service/section-master.service.ts +104 -104
  265. package/src/module/meta/service/update-form-json.service.ts +22 -22
  266. package/src/module/meta/service/user-app-mapping.service.ts +17 -17
  267. package/src/module/meta/service/view-master.service.ts +127 -127
  268. package/src/module/microservice-client/microservice-clients.module.ts +14 -0
  269. package/src/module/microservice-client/service/microservice-client-factory.ts +38 -0
  270. package/src/module/microservice-client/service/microservice-clients.ts +5 -0
  271. package/src/module/module/controller/menu.controller.ts +15 -15
  272. package/src/module/module/controller/module-access.controller.ts +134 -134
  273. package/src/module/module/entity/menu.entity.ts +43 -43
  274. package/src/module/module/entity/module-access.entity.ts +25 -25
  275. package/src/module/module/entity/module-action.entity.ts +17 -17
  276. package/src/module/module/entity/module.entity.ts +52 -52
  277. package/src/module/module/module.module.ts +42 -42
  278. package/src/module/module/repository/menu.repository.ts +184 -184
  279. package/src/module/module/repository/module-access.repository.ts +344 -344
  280. package/src/module/module/service/menu.service.ts +82 -82
  281. package/src/module/module/service/module-access.service.ts +209 -209
  282. package/src/module/notification/controller/notification.controller.ts +58 -58
  283. package/src/module/notification/controller/otp.controller.ts +117 -117
  284. package/src/module/notification/entity/notification.entity.ts +26 -26
  285. package/src/module/notification/entity/otp.entity.ts +28 -28
  286. package/src/module/notification/firebase-admin.config.ts +22 -22
  287. package/src/module/notification/notification.module.ts +69 -69
  288. package/src/module/notification/repository/otp.repository.ts +27 -27
  289. package/src/module/notification/service/email.service.ts +127 -127
  290. package/src/module/notification/service/notification.service.ts +163 -163
  291. package/src/module/notification/service/otp.service.ts +132 -132
  292. package/src/module/third-party-module/entity/third-party-api-registry.entity.ts +52 -52
  293. package/src/module/third-party-module/repository/third-party-api-registry.repository.ts +20 -20
  294. package/src/module/third-party-module/service/api-registry.service.ts +13 -13
  295. package/src/module/third-party-module/third-party.module.ts +12 -12
  296. package/src/module/user/controller/login.controller.ts +197 -197
  297. package/src/module/user/controller/user.controller.ts +40 -40
  298. package/src/module/user/dto/create-user.dto.ts +62 -62
  299. package/src/module/user/dto/update-user.dto.ts +4 -4
  300. package/src/module/user/entity/role.entity.ts +33 -33
  301. package/src/module/user/entity/user-role-mapping.entity.ts +38 -38
  302. package/src/module/user/entity/user-session.entity.ts +73 -73
  303. package/src/module/user/entity/user.entity.ts +59 -59
  304. package/src/module/user/repository/role.repository.ts +96 -96
  305. package/src/module/user/repository/user-role-mapping.repository.ts +126 -126
  306. package/src/module/user/repository/user.repository.ts +50 -50
  307. package/src/module/user/repository/userSession.repository.ts +33 -33
  308. package/src/module/user/service/login.service.ts +290 -290
  309. package/src/module/user/service/role.service.ts +189 -189
  310. package/src/module/user/service/user-role-mapping.service.ts +98 -98
  311. package/src/module/user/service/user-session.service.ts +168 -168
  312. package/src/module/user/service/user.service.ts +365 -365
  313. package/src/module/user/user.module.ts +65 -65
  314. package/src/module/workflow/controller/action-category.controller.ts +54 -54
  315. package/src/module/workflow/controller/action-resource-mapping.controller.ts +23 -23
  316. package/src/module/workflow/controller/action-template-mapping.controller.ts +35 -35
  317. package/src/module/workflow/controller/action.controller.ts +111 -111
  318. package/src/module/workflow/controller/activity-log.controller.ts +55 -55
  319. package/src/module/workflow/controller/comm-template.controller.ts +43 -43
  320. package/src/module/workflow/controller/entity-modification.controller.ts +35 -35
  321. package/src/module/workflow/controller/form-master.controller.ts +43 -43
  322. package/src/module/workflow/controller/stage-group.controller.ts +48 -48
  323. package/src/module/workflow/controller/stage.controller.ts +50 -50
  324. package/src/module/workflow/controller/task.controller.ts +77 -77
  325. package/src/module/workflow/controller/workflow-list-master.controller.ts +44 -44
  326. package/src/module/workflow/controller/workflow-meta.controller.ts +80 -80
  327. package/src/module/workflow/controller/workflow.controller.ts +67 -67
  328. package/src/module/workflow/entity/action-category.entity.ts +38 -38
  329. package/src/module/workflow/entity/action-data.entity.ts +55 -55
  330. package/src/module/workflow/entity/action-resources-mapping.entity.ts +29 -29
  331. package/src/module/workflow/entity/action-template-mapping.entity.ts +17 -17
  332. package/src/module/workflow/entity/action.entity.ts +50 -50
  333. package/src/module/workflow/entity/activity-log.entity.ts +43 -43
  334. package/src/module/workflow/entity/comm-template.entity.ts +43 -43
  335. package/src/module/workflow/entity/entity-modification.entity.ts +38 -38
  336. package/src/module/workflow/entity/form.entity.ts +25 -25
  337. package/src/module/workflow/entity/stage-action-mapping.entity.ts +17 -17
  338. package/src/module/workflow/entity/stage-group.entity.ts +23 -23
  339. package/src/module/workflow/entity/stage-movement-data.entity.ts +38 -38
  340. package/src/module/workflow/entity/stage.entity.ts +20 -20
  341. package/src/module/workflow/entity/task-data.entity.ts +88 -88
  342. package/src/module/workflow/entity/template-attach-mapper.entity.ts +30 -30
  343. package/src/module/workflow/entity/workflow-data.entity.ts +11 -11
  344. package/src/module/workflow/entity/workflow-level-mapping.entity.ts +18 -18
  345. package/src/module/workflow/entity/workflow.entity.ts +20 -20
  346. package/src/module/workflow/repository/action-category.repository.ts +79 -79
  347. package/src/module/workflow/repository/action-data.repository.ts +333 -333
  348. package/src/module/workflow/repository/action.repository.ts +323 -323
  349. package/src/module/workflow/repository/activity-log.repository.ts +148 -148
  350. package/src/module/workflow/repository/comm-template.repository.ts +149 -149
  351. package/src/module/workflow/repository/form-master.repository.ts +59 -59
  352. package/src/module/workflow/repository/stage-group.repository.ts +176 -176
  353. package/src/module/workflow/repository/stage-movement.repository.ts +244 -244
  354. package/src/module/workflow/repository/stage.repository.ts +172 -172
  355. package/src/module/workflow/repository/task.repository.ts +127 -127
  356. package/src/module/workflow/repository/workflow.repository.ts +42 -42
  357. package/src/module/workflow/service/action-category.service.ts +33 -33
  358. package/src/module/workflow/service/action-data.service.ts +62 -62
  359. package/src/module/workflow/service/action-resources-mapping.service.ts +10 -10
  360. package/src/module/workflow/service/action-template-mapping.service.ts +106 -106
  361. package/src/module/workflow/service/action.service.ts +279 -279
  362. package/src/module/workflow/service/activity-log.service.ts +107 -107
  363. package/src/module/workflow/service/comm-template.service.ts +180 -180
  364. package/src/module/workflow/service/entity-modification.service.ts +67 -67
  365. package/src/module/workflow/service/form-master.service.ts +35 -35
  366. package/src/module/workflow/service/populate-workflow.service.ts +303 -303
  367. package/src/module/workflow/service/stage-action-mapping.service.ts +5 -5
  368. package/src/module/workflow/service/stage-group.service.ts +319 -319
  369. package/src/module/workflow/service/stage.service.ts +199 -199
  370. package/src/module/workflow/service/task.service.ts +560 -560
  371. package/src/module/workflow/service/workflow-list-master.service.ts +60 -60
  372. package/src/module/workflow/service/workflow-meta.service.ts +640 -640
  373. package/src/module/workflow/service/workflow.service.ts +205 -205
  374. package/src/module/workflow/workflow.module.ts +176 -176
  375. package/src/module/workflow-automation/controller/workflow-automation.controller.ts +21 -21
  376. package/src/module/workflow-automation/entity/workflow-automation-action.entity.ts +26 -26
  377. package/src/module/workflow-automation/entity/workflow-automation.entity.ts +35 -35
  378. package/src/module/workflow-automation/interface/action.decorator.ts +7 -7
  379. package/src/module/workflow-automation/interface/action.interface.ts +5 -5
  380. package/src/module/workflow-automation/service/action-registery.service.ts +35 -35
  381. package/src/module/workflow-automation/service/workflow-automation-engine.service.ts +214 -214
  382. package/src/module/workflow-automation/service/workflow-automation.service.ts +347 -347
  383. package/src/module/workflow-automation/workflow-automation.module.ts +34 -34
  384. package/src/resources/dev.properties.yaml +30 -30
  385. package/src/resources/local.properties.yaml +27 -27
  386. package/src/resources/properties.module.ts +12 -12
  387. package/src/resources/properties.yaml.ts +11 -11
  388. package/src/resources/uat.properties.yaml +31 -31
  389. package/src/table.config.ts +126 -126
  390. package/src/utils/dto/excel-data.dto.ts +14 -14
  391. package/src/utils/dto/excelsheet-data.dto.ts +5 -5
  392. package/src/utils/service/base64util.service.ts +18 -18
  393. package/src/utils/service/clockIDGenUtil.service.ts +21 -21
  394. package/src/utils/service/codeGenerator.service.ts +22 -22
  395. package/src/utils/service/dateUtil.service.ts +17 -17
  396. package/src/utils/service/encryptUtil.service.ts +97 -97
  397. package/src/utils/service/excel-helper.service.ts +72 -72
  398. package/src/utils/service/excelUtil.service.ts +15 -15
  399. package/src/utils/service/file-util.service.ts +11 -11
  400. package/src/utils/service/json-util.service.ts +23 -23
  401. package/src/utils/service/loggingUtil.service.ts +34 -34
  402. package/src/utils/service/reflection-helper.service.ts +62 -62
  403. package/src/utils/service/wbsCodeGen.service.ts +8 -8
  404. package/src/utils/utils.module.ts +25 -25
  405. package/tsconfig.build.json +4 -4
  406. package/tsconfig.json +24 -24
@@ -107,24 +107,24 @@ let StageMovementRepository = class StageMovementRepository {
107
107
  return nextStageGroupFirstStage || null;
108
108
  }
109
109
  async getAllActionByStageId(stageId) {
110
- const result = await this.dataSource.query(`
111
- SELECT
112
- a.*,
113
- m.id AS mapping_id,
114
- m.stage_id,
115
- ac.code AS action_category_code
116
- FROM frm_wf_action a
117
- LEFT JOIN frm_wf_stage_action_mapping m ON a.id = m.action_id
118
- LEFT JOIN frm_wf_action_category ac ON a.action_category = ac.id
119
- WHERE m.stage_id = ?
110
+ const result = await this.dataSource.query(`
111
+ SELECT
112
+ a.*,
113
+ m.id AS mapping_id,
114
+ m.stage_id,
115
+ ac.code AS action_category_code
116
+ FROM frm_wf_action a
117
+ LEFT JOIN frm_wf_stage_action_mapping m ON a.id = m.action_id
118
+ LEFT JOIN frm_wf_action_category ac ON a.action_category = ac.id
119
+ WHERE m.stage_id = ?
120
120
  `, [stageId]);
121
121
  for (const item of result) {
122
122
  if (item.action_category_code === 'SDFM') {
123
- const actionData = await this.dataSource.query(`
124
- SELECT arm.form_id
125
- FROM frm_wf_action_resources_mapping arm
126
- WHERE arm.stg_act_mapping_id = ? and form_id IS NOT NULL
127
- LIMIT 1
123
+ const actionData = await this.dataSource.query(`
124
+ SELECT arm.form_id
125
+ FROM frm_wf_action_resources_mapping arm
126
+ WHERE arm.stg_act_mapping_id = ? and form_id IS NOT NULL
127
+ LIMIT 1
128
128
  `, [item.mapping_id]);
129
129
  item.form_id = actionData[0]?.form_id || null;
130
130
  }
@@ -62,14 +62,14 @@ let StageRepository = class StageRepository {
62
62
  if (!stageGroup) {
63
63
  return [];
64
64
  }
65
- const rows = await this.dataSource.query(`
66
- SELECT
67
- g.id as stage_group_id, g.name as stage_group_name, g.workflow_id,
68
- s.*
69
- FROM frm_wf_stage_group g
70
- INNER JOIN frm_wf_stage s ON s.stage_group_id = g.id
71
- WHERE g.workflow_id = ? AND g.organization_id = ? AND g.id = ?
72
- ORDER BY g.id, s.id
65
+ const rows = await this.dataSource.query(`
66
+ SELECT
67
+ g.id as stage_group_id, g.name as stage_group_name, g.workflow_id,
68
+ s.*
69
+ FROM frm_wf_stage_group g
70
+ INNER JOIN frm_wf_stage s ON s.stage_group_id = g.id
71
+ WHERE g.workflow_id = ? AND g.organization_id = ? AND g.id = ?
72
+ ORDER BY g.id, s.id
73
73
  `, [stageGroup.workflow_id, organization_id, stage_group_id]);
74
74
  if (!rows || rows.length === 0) {
75
75
  return [];
@@ -21,26 +21,26 @@ let ActionTemplateMappingService = class ActionTemplateMappingService extends en
21
21
  async getTemplateByMode(stage_id, action_id, loggedInUser, mode) {
22
22
  let stageAction = [];
23
23
  if (action_id != 0) {
24
- stageAction = await this.dataSource.query(`
25
- SELECT id FROM frm_wf_stage_action_mapping
26
- WHERE action_id = ?
24
+ stageAction = await this.dataSource.query(`
25
+ SELECT id FROM frm_wf_stage_action_mapping
26
+ WHERE action_id = ?
27
27
  `, [action_id]);
28
28
  }
29
29
  else {
30
30
  let modeId = mode;
31
31
  if (!modeId) {
32
- const rows = await this.dataSource.query(`
33
- SELECT id
34
- FROM frm_list_master_items
35
- WHERE organization_id = ?
36
- AND listtype = "MOD" AND code = ?
32
+ const rows = await this.dataSource.query(`
33
+ SELECT id
34
+ FROM frm_list_master_items
35
+ WHERE organization_id = ?
36
+ AND listtype = "MOD" AND code = ?
37
37
  `, [loggedInUser.organization_id, 'email']);
38
38
  modeId = rows?.[0]?.id ?? 0;
39
39
  }
40
- const commTemplates = await this.dataSource.query(`
41
- SELECT code as value, name as label , id
42
- FROM frm_wf_comm_template
43
- WHERE mode = ? AND organization_id = ? AND level_type = ? AND level_id = ? AND status IN (SELECT id FROM frm_list_master_items WHERE code = "STATUS_ACTIVE" AND organization_id = ?)
40
+ const commTemplates = await this.dataSource.query(`
41
+ SELECT code as value, name as label , id
42
+ FROM frm_wf_comm_template
43
+ WHERE mode = ? AND organization_id = ? AND level_type = ? AND level_id = ? AND status IN (SELECT id FROM frm_list_master_items WHERE code = "STATUS_ACTIVE" AND organization_id = ?)
44
44
  `, [
45
45
  modeId,
46
46
  loggedInUser.organization_id,
@@ -54,23 +54,23 @@ let ActionTemplateMappingService = class ActionTemplateMappingService extends en
54
54
  return [];
55
55
  const stgActMappingId = stageAction[0].id;
56
56
  if (!mode) {
57
- const getModeFromAction = await this.dataSource.query(`
58
- SELECT mode FROM frm_wf_action
59
- WHERE id = ?
57
+ const getModeFromAction = await this.dataSource.query(`
58
+ SELECT mode FROM frm_wf_action
59
+ WHERE id = ?
60
60
  `, [action_id]);
61
61
  mode = getModeFromAction[0]?.mode;
62
62
  }
63
- const templates = await this.dataSource.query(`
64
- SELECT template_code FROM frm_wf_action_resources_mapping
65
- WHERE stg_act_mapping_id = ?
63
+ const templates = await this.dataSource.query(`
64
+ SELECT template_code FROM frm_wf_action_resources_mapping
65
+ WHERE stg_act_mapping_id = ?
66
66
  `, [stgActMappingId]);
67
67
  const templateCodes = templates.map((t) => t.template_code);
68
68
  if (!templateCodes.length)
69
69
  return [];
70
- const commTemplates = await this.dataSource.query(`
71
- SELECT code as value, name as label , id
72
- FROM frm_wf_comm_template
73
- WHERE code IN (?) AND mode = ? AND organization_id = ? AND level_type = ? AND level_id = ? AND status IN (SELECT id FROM frm_list_master_items WHERE code = "STATUS_ACTIVE" AND organization_id = ?)
70
+ const commTemplates = await this.dataSource.query(`
71
+ SELECT code as value, name as label , id
72
+ FROM frm_wf_comm_template
73
+ WHERE code IN (?) AND mode = ? AND organization_id = ? AND level_type = ? AND level_id = ? AND status IN (SELECT id FROM frm_list_master_items WHERE code = "STATUS_ACTIVE" AND organization_id = ?)
74
74
  `, [
75
75
  templateCodes,
76
76
  mode,
@@ -25,12 +25,12 @@ let ActionService = class ActionService extends entity_service_impl_service_1.En
25
25
  if (!actionData) {
26
26
  return null;
27
27
  }
28
- const result = await this.dataSource.query(`SELECT template_code, form_id
29
- FROM frm_wf_action_resources_mapping
30
- WHERE stg_act_mapping_id IN (
31
- SELECT id
32
- FROM frm_wf_stage_action_mapping
33
- WHERE action_id = ? AND entity_type = 'WFSA'
28
+ const result = await this.dataSource.query(`SELECT template_code, form_id
29
+ FROM frm_wf_action_resources_mapping
30
+ WHERE stg_act_mapping_id IN (
31
+ SELECT id
32
+ FROM frm_wf_stage_action_mapping
33
+ WHERE action_id = ? AND entity_type = 'WFSA'
34
34
  )`, [actionData.id]);
35
35
  const templates = result
36
36
  .filter((t) => t.template_code !== null)
@@ -136,7 +136,7 @@ let ActionService = class ActionService extends entity_service_impl_service_1.En
136
136
  return action;
137
137
  }
138
138
  async deleteEntity(entityType, id, loggedInUser) {
139
- await this.dataSource.query(`DELETE FROM frm_wf_action_template_mapping WHERE stg_act_mapping_id IN (SELECT
139
+ await this.dataSource.query(`DELETE FROM frm_wf_action_template_mapping WHERE stg_act_mapping_id IN (SELECT
140
140
  id FROM frm_wf_stage_action_mapping WHERE action_id = ? AND entity_type = 'WFSA')`, [id]);
141
141
  await this.dataSource.query(`DELETE FROM frm_wf_stage_action_mapping WHERE action_id = ? AND entity_type ='WFSA'`, [id]);
142
142
  const deleteAction = await super.deleteEntity(entityType, id, loggedInUser);
@@ -24,17 +24,17 @@ let EntityModificationService = class EntityModificationService extends entity_s
24
24
  if (!mapped_entity_type || !mapped_entity_id || !attribute_key) {
25
25
  throw new common_1.BadRequestException('Missing required modification data: mapped_entity_type, mapped_entity_id, or attribute_key');
26
26
  }
27
- const [entityMeta] = await this.dataSource.query(`
28
- SELECT db_table_name
29
- FROM frm_entity_master
30
- WHERE mapped_entity_type = ? AND organization_id = ?
27
+ const [entityMeta] = await this.dataSource.query(`
28
+ SELECT db_table_name
29
+ FROM frm_entity_master
30
+ WHERE mapped_entity_type = ? AND organization_id = ?
31
31
  `, [mapped_entity_type, organization_id]);
32
32
  if (!entityMeta || !entityMeta.db_table_name) {
33
33
  throw new common_1.NotFoundException('Entity metadata not found in frm_entity_master');
34
34
  }
35
35
  const tableName = entityMeta.db_table_name;
36
- const [entityRow] = await this.dataSource.query(`
37
- SELECT * FROM ${tableName} WHERE id = ?
36
+ const [entityRow] = await this.dataSource.query(`
37
+ SELECT * FROM ${tableName} WHERE id = ?
38
38
  `, [mapped_entity_id]);
39
39
  if (!entityRow) {
40
40
  throw new common_1.NotFoundException(`No record found in ${tableName} with ID ${mapped_entity_id}`);
@@ -38,8 +38,8 @@ let StageGroupService = class StageGroupService extends entity_service_impl_serv
38
38
  }
39
39
  async getAllStageGroup(workflow_id, organization_id) {
40
40
  const allStageGroup = await this.stageGroupRepository.getAllStageGroup(workflow_id, organization_id);
41
- const statusListMaster = await this.dataSource.query(`SELECT id, name
42
- FROM frm_list_master_items
41
+ const statusListMaster = await this.dataSource.query(`SELECT id, name
42
+ FROM frm_list_master_items
43
43
  WHERE listtype = 'STS' AND organization_id = ?`, [organization_id]);
44
44
  const statusMap = new Map(statusListMaster.map((s) => [String(s.id), s.name]));
45
45
  for (const stage of allStageGroup) {
@@ -35,8 +35,8 @@ let StageService = StageService_1 = class StageService extends entity_service_im
35
35
  async getAllStage(payload, organization_id, show_previous) {
36
36
  if (!show_previous) {
37
37
  const allStages = await this.stageRepository.getAllStage(payload.stage_group_id, organization_id);
38
- const statusListMaster = await this.dataSource.query(`SELECT id, name
39
- FROM frm_list_master_items
38
+ const statusListMaster = await this.dataSource.query(`SELECT id, name
39
+ FROM frm_list_master_items
40
40
  WHERE listtype = 'STS' AND organization_id = ?`, [organization_id]);
41
41
  const statusMap = new Map(statusListMaster.map((s) => [String(s.id), s.name]));
42
42
  for (const stage of allStages) {
@@ -39,10 +39,10 @@ let TaskService = class TaskService extends entity_service_impl_service_1.Entity
39
39
  async execute(payload) {
40
40
  const { entity, user, config } = payload;
41
41
  let toValue = null;
42
- const stageRow = await this.dataSource.query(`SELECT stage_id
43
- FROM frm_wf_stage_movement_data
44
- WHERE mapped_entity_id = ?
45
- AND is_current = 'Y'
42
+ const stageRow = await this.dataSource.query(`SELECT stage_id
43
+ FROM frm_wf_stage_movement_data
44
+ WHERE mapped_entity_id = ?
45
+ AND is_current = 'Y'
46
46
  LIMIT 1`, [entity.id]);
47
47
  const stageId = stageRow.length > 0 ? stageRow[0].stage_id : null;
48
48
  if (!stageId) {
@@ -107,13 +107,13 @@ let TaskService = class TaskService extends entity_service_impl_service_1.Entity
107
107
  return createdEntity;
108
108
  }
109
109
  async updateEntity(entityData, loggedInUser, appcode) {
110
- const taskStatusQuery = `
111
- SELECT name
112
- FROM frm_list_master_items
113
- WHERE id = ?
114
- AND organization_id = ?
115
- AND listtype = 'TKST'
116
- LIMIT 1;
110
+ const taskStatusQuery = `
111
+ SELECT name
112
+ FROM frm_list_master_items
113
+ WHERE id = ?
114
+ AND organization_id = ?
115
+ AND listtype = 'TKST'
116
+ LIMIT 1;
117
117
  `;
118
118
  const statusRows = await this.dataSource.query(taskStatusQuery, [
119
119
  entityData.status,
@@ -201,18 +201,18 @@ let TaskService = class TaskService extends entity_service_impl_service_1.Entity
201
201
  whereClauses.push(`t.is_done = ?`);
202
202
  params.push(0);
203
203
  }
204
- const sql = `
205
- SELECT
206
- t.*,
207
- sg.name AS stage_group_name,
208
- s.name AS stage_name,
209
- a.name AS action_name
210
- FROM frm_wf_task_data t
211
- LEFT JOIN frm_wf_stage s ON t.stage_id = s.id
212
- LEFT JOIN frm_wf_stage_group sg ON s.stage_group_id = sg.id
213
- LEFT JOIN frm_wf_action a ON t.action_id = a.id
214
- WHERE ${whereClauses.join(' AND ')}
215
- ORDER BY t.created_date DESC
204
+ const sql = `
205
+ SELECT
206
+ t.*,
207
+ sg.name AS stage_group_name,
208
+ s.name AS stage_name,
209
+ a.name AS action_name
210
+ FROM frm_wf_task_data t
211
+ LEFT JOIN frm_wf_stage s ON t.stage_id = s.id
212
+ LEFT JOIN frm_wf_stage_group sg ON s.stage_group_id = sg.id
213
+ LEFT JOIN frm_wf_action a ON t.action_id = a.id
214
+ WHERE ${whereClauses.join(' AND ')}
215
+ ORDER BY t.created_date DESC
216
216
  `;
217
217
  const taskData = await this.dataSource.query(sql, params);
218
218
  if (taskData) {
@@ -241,11 +241,11 @@ let TaskService = class TaskService extends entity_service_impl_service_1.Entity
241
241
  if (taskData.length === 0) {
242
242
  return [];
243
243
  }
244
- const taskStatusQuery = `
245
- SELECT id, name
246
- FROM frm_list_master_items
247
- WHERE organization_id = ?
248
- AND listtype = 'TKST'
244
+ const taskStatusQuery = `
245
+ SELECT id, name
246
+ FROM frm_list_master_items
247
+ WHERE organization_id = ?
248
+ AND listtype = 'TKST'
249
249
  `;
250
250
  const taskAllStatus = await this.dataSource.query(taskStatusQuery, [
251
251
  loggedInUser.organization_id,
@@ -19,16 +19,16 @@ let WorkflowListMasterService = class WorkflowListMasterService extends entity_s
19
19
  this.dataSource = dataSource;
20
20
  }
21
21
  async getActionCategoryListByStageId(stageId) {
22
- const results = await this.dataSource.query(`
23
- SELECT
24
- ac.name AS name,
25
- ac.logo AS logo,
26
- ac.modalName AS modalName,
27
- a.action_requirement AS actionRequirement
28
- FROM frm_wf_stage_action_mapping sam
29
- JOIN frm_wf_action a ON sam.action_id = a.id
30
- JOIN frm_wf_action_category ac ON a.action_category = ac.id
31
- WHERE sam.stage_id = ?
22
+ const results = await this.dataSource.query(`
23
+ SELECT
24
+ ac.name AS name,
25
+ ac.logo AS logo,
26
+ ac.modalName AS modalName,
27
+ a.action_requirement AS actionRequirement
28
+ FROM frm_wf_stage_action_mapping sam
29
+ JOIN frm_wf_action a ON sam.action_id = a.id
30
+ JOIN frm_wf_action_category ac ON a.action_category = ac.id
31
+ WHERE sam.stage_id = ?
32
32
  `, [stageId]);
33
33
  return results.map((item) => ({
34
34
  name: item.name,
@@ -44,11 +44,11 @@ let WorkflowListMasterService = class WorkflowListMasterService extends entity_s
44
44
  }
45
45
  async getModes(loggedInUser) {
46
46
  const { organization_id } = loggedInUser;
47
- const modes = await this.dataSource.query(`
48
- SELECT id, name
49
- FROM frm_list_master_items
50
- WHERE listtype = 'MOD'
51
- AND organization_id = ?
47
+ const modes = await this.dataSource.query(`
48
+ SELECT id, name
49
+ FROM frm_list_master_items
50
+ WHERE listtype = 'MOD'
51
+ AND organization_id = ?
52
52
  `, [organization_id]);
53
53
  return modes;
54
54
  }
@@ -223,9 +223,9 @@ let WorkflowMetaService = class WorkflowMetaService extends entity_service_impl_
223
223
  action_id: entityData.action_id,
224
224
  }, loggedInUser);
225
225
  const leadData = await this.getEntityData('LEAD', lead_id, loggedInUser);
226
- const unassignedListMasterItemData = await this.dataSource.query(`SELECT name, id
227
- FROM frm_list_master_items
228
- WHERE listtype = "LEST" AND organization_id = ?
226
+ const unassignedListMasterItemData = await this.dataSource.query(`SELECT name, id
227
+ FROM frm_list_master_items
228
+ WHERE listtype = "LEST" AND organization_id = ?
229
229
  AND value IN (?, ?)`, [loggedInUser.organization_id, 'unassigned', 'active']);
230
230
  const unassignedId = unassignedListMasterItemData.find((item) => item.name.toLowerCase() === 'unassigned')?.id;
231
231
  const activeId = unassignedListMasterItemData.find((item) => item.name.toLowerCase() === 'active')?.id;
@@ -237,24 +237,24 @@ let WorkflowMetaService = class WorkflowMetaService extends entity_service_impl_
237
237
  status: leadData?.lead_status,
238
238
  lead_status: leadData?.lead_status,
239
239
  }, loggedInUser);
240
- await this.dataSource.query(`UPDATE frm_wf_action_data SET user_id =?
241
- WHERE mapped_entity_id=?
242
- AND mapped_entity_type = ?
243
- AND stage_id = ?
244
- AND (is_current = 'Y' OR is_current IS NULL)
240
+ await this.dataSource.query(`UPDATE frm_wf_action_data SET user_id =?
241
+ WHERE mapped_entity_id=?
242
+ AND mapped_entity_type = ?
243
+ AND stage_id = ?
244
+ AND (is_current = 'Y' OR is_current IS NULL)
245
245
  `, [lead_owner, lead_id, entity_type, stage_id]);
246
- await this.dataSource.query(`UPDATE crm_lead_meeting SET user_id=?
247
- WHERE stage_id = ?
248
- AND mapped_entity_id = ?
249
- AND mapped_entity_type = "LEAD"
250
- AND (status='scheduled' OR status='rescheduled')
246
+ await this.dataSource.query(`UPDATE crm_lead_meeting SET user_id=?
247
+ WHERE stage_id = ?
248
+ AND mapped_entity_id = ?
249
+ AND mapped_entity_type = "LEAD"
250
+ AND (status='scheduled' OR status='rescheduled')
251
251
  `, [lead_owner, stage_id, lead_id]);
252
- const taskRows = await this.dataSource.query(`SELECT id,status FROM frm_wf_task_data
253
- WHERE mapped_entity_id = ?
254
- AND mapped_entity_type = ?
252
+ const taskRows = await this.dataSource.query(`SELECT id,status FROM frm_wf_task_data
253
+ WHERE mapped_entity_id = ?
254
+ AND mapped_entity_type = ?
255
255
  AND stage_id = ?`, [lead_id, entity_type, stage_id]);
256
256
  for (const task of taskRows) {
257
- const statusRows = await this.dataSource.query(`SELECT value FROM frm_list_master_items
257
+ const statusRows = await this.dataSource.query(`SELECT value FROM frm_list_master_items
258
258
  WHERE id = ? AND organization_id = ?`, [task.status, loggedInUser.organization_id]);
259
259
  const statusName = statusRows[0]?.value?.toLowerCase() || '';
260
260
  if (['todo', 'in_progress'].includes(statusName) ||
@@ -302,29 +302,29 @@ let WorkflowMetaService = class WorkflowMetaService extends entity_service_impl_
302
302
  console.log('No eligible owners found for lead assignment.');
303
303
  const userIds = owners?.map((o) => Number(o.id));
304
304
  const placeholders = userIds.map(() => '?').join(',');
305
- const lastRow = await this.dataSource.query(`
306
- SELECT lead_owner
307
- FROM crm_lead
308
- WHERE organization_id = ?
309
- AND level_id = ?
310
- AND level_type = ?
311
- AND lead_owner IN (${placeholders})
312
- ORDER BY created_date DESC
313
- LIMIT 1
305
+ const lastRow = await this.dataSource.query(`
306
+ SELECT lead_owner
307
+ FROM crm_lead
308
+ WHERE organization_id = ?
309
+ AND level_id = ?
310
+ AND level_type = ?
311
+ AND lead_owner IN (${placeholders})
312
+ ORDER BY created_date DESC
313
+ LIMIT 1
314
314
  `, [organization_id, Number(level_id), level_type, ...userIds]);
315
315
  const lastAssigned = lastRow.length ? Number(lastRow[0].lead_owner) : null;
316
316
  const lastIdx = lastAssigned != null ? userIds.indexOf(lastAssigned) : -1;
317
317
  const nextIdx = (lastIdx + 1) % userIds.length;
318
318
  const nextUser = userIds[nextIdx];
319
- await this.dataSource.query(`
320
- UPDATE crm_lead
321
- SET lead_owner = ?
322
- WHERE organization_id = ?
323
- AND level_id = ?
324
- AND level_type = ?
325
- AND lead_owner IS NULL
326
- ORDER BY created_date ASC
327
- LIMIT 1
319
+ await this.dataSource.query(`
320
+ UPDATE crm_lead
321
+ SET lead_owner = ?
322
+ WHERE organization_id = ?
323
+ AND level_id = ?
324
+ AND level_type = ?
325
+ AND lead_owner IS NULL
326
+ ORDER BY created_date ASC
327
+ LIMIT 1
328
328
  `, [nextUser, organization_id, Number(level_id), level_type]);
329
329
  console.log(`Assigning lead to user ID: ${nextUser}`);
330
330
  const firstAction = actions[0];
@@ -72,8 +72,8 @@ let WorkflowService = class WorkflowService extends entity_service_impl_service_
72
72
  currentId: workflowId,
73
73
  })
74
74
  .execute();
75
- await this.dataSource.query(`UPDATE frm_wf_level_mapping
76
- SET workflow_id = ?
75
+ await this.dataSource.query(`UPDATE frm_wf_level_mapping
76
+ SET workflow_id = ?
77
77
  WHERE mapped_level_id = ? AND mapped_level_type = ?`, [workflowId, level_id, level_type]);
78
78
  }
79
79
  return super.updateEntity(entityData, loggedInUser);