rez_core 3.1.185 → 3.1.187

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