rez_core 3.1.139 → 3.1.140

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (381) 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 +27 -27
  24. package/dist/module/integration/service/wrapper.service.js.map +1 -1
  25. package/dist/module/listmaster/service/list-master-item.service.js +2 -2
  26. package/dist/module/listmaster/service/list-master.service.js +2 -2
  27. package/dist/module/mapper/service/field-mapper.service.js +4 -4
  28. package/dist/module/mapper/service/mapper.service.js +2 -2
  29. package/dist/module/meta/service/entity-dynamic.service.js +18 -18
  30. package/dist/module/meta/service/entity-list.service.js +3 -3
  31. package/dist/module/meta/service/entity-master.service.js +3 -3
  32. package/dist/module/meta/service/entity-relation.service.js +11 -11
  33. package/dist/module/meta/service/entity-service-impl.service.js +3 -3
  34. package/dist/module/meta/service/resolver.service.js +3 -3
  35. package/dist/module/module/repository/menu.repository.js +12 -12
  36. package/dist/module/notification/service/notification.service.js +12 -12
  37. package/dist/module/user/controller/login.controller.js +18 -18
  38. package/dist/module/user/service/role.service.js +4 -4
  39. package/dist/module/user/service/user-session.service.js +2 -2
  40. package/dist/module/workflow/repository/action.repository.js +16 -16
  41. package/dist/module/workflow/repository/comm-template.repository.js +6 -6
  42. package/dist/module/workflow/repository/form-master.repository.js +2 -2
  43. package/dist/module/workflow/repository/stage-group.repository.js +23 -23
  44. package/dist/module/workflow/repository/stage-movement.repository.js +11 -11
  45. package/dist/module/workflow/repository/stage.repository.js +8 -8
  46. package/dist/module/workflow/service/action-template-mapping.service.js +10 -10
  47. package/dist/module/workflow/service/action.service.js +7 -7
  48. package/dist/module/workflow/service/entity-modification.service.js +6 -6
  49. package/dist/module/workflow/service/stage-group.service.js +5 -5
  50. package/dist/module/workflow/service/stage.service.js +2 -2
  51. package/dist/module/workflow/service/task.service.js +33 -33
  52. package/dist/module/workflow/service/workflow-list-master.service.js +15 -15
  53. package/dist/module/workflow/service/workflow-meta.service.js +50 -50
  54. package/dist/module/workflow/service/workflow.service.js +2 -2
  55. package/dist/tsconfig.build.tsbuildinfo +1 -1
  56. package/dist/utils/service/reflection-helper.service.js +2 -2
  57. package/docs/modules/event-driven-integration-design.md +91 -91
  58. package/docs/modules/integration.md +250 -250
  59. package/eslint.config.mjs +34 -34
  60. package/nest-cli.json +14 -14
  61. package/package.json +118 -118
  62. package/server.log +850 -0
  63. package/src/app.controller.ts +12 -12
  64. package/src/app.module.ts +49 -49
  65. package/src/app.service.ts +8 -8
  66. package/src/config/config.module.ts +18 -18
  67. package/src/config/database.config.ts +23 -23
  68. package/src/constant/global.constant.ts +67 -67
  69. package/src/core.module.ts +81 -81
  70. package/src/decorators/roles.decorator.ts +7 -7
  71. package/src/dtos/response.dto.ts +6 -6
  72. package/src/dtos/response.ts +5 -5
  73. package/src/index.ts +1 -1
  74. package/src/module/auth/auth.module.ts +49 -49
  75. package/src/module/auth/controller/auth.controller.ts +28 -28
  76. package/src/module/auth/guards/google-auth.guard.ts +9 -9
  77. package/src/module/auth/guards/jwt.guard.ts +22 -22
  78. package/src/module/auth/guards/role.guard.ts +68 -68
  79. package/src/module/auth/services/auth.service.ts +50 -50
  80. package/src/module/auth/services/jwt.service.ts +11 -11
  81. package/src/module/auth/strategies/google.strategy.ts +54 -54
  82. package/src/module/auth/strategies/jwt.strategy.ts +58 -58
  83. package/src/module/auth/strategies/local.strategy.ts +13 -13
  84. package/src/module/dashboard/controller/dashboard.controller.ts +36 -36
  85. package/src/module/dashboard/dashboard.module.ts +21 -21
  86. package/src/module/dashboard/entity/dashboard_page_data.entity.ts +27 -27
  87. package/src/module/dashboard/entity/widget_master.entity.ts +18 -18
  88. package/src/module/dashboard/repository/dashboard.repository.ts +42 -42
  89. package/src/module/dashboard/service/dashboard.service.ts +73 -73
  90. package/src/module/dev/dev.module.ts +12 -12
  91. package/src/module/dev/service/dev.service.ts +7 -7
  92. package/src/module/enterprise/controller/organization.controller.ts +36 -36
  93. package/src/module/enterprise/enterprise.module.ts +30 -30
  94. package/src/module/enterprise/entity/enterprise.entity.ts +37 -37
  95. package/src/module/enterprise/entity/organization-app-mapping.entity.ts +13 -13
  96. package/src/module/enterprise/entity/organization.entity.ts +92 -92
  97. package/src/module/enterprise/repository/enterprise.repository.ts +31 -31
  98. package/src/module/enterprise/repository/organization.repository.ts +26 -26
  99. package/src/module/enterprise/repository/school.repository.ts +282 -282
  100. package/src/module/enterprise/service/brand.service.ts +5 -5
  101. package/src/module/enterprise/service/enterprise.service.ts +16 -16
  102. package/src/module/enterprise/service/organization-app-mapping.service.ts +4 -4
  103. package/src/module/enterprise/service/organization.service.ts +145 -145
  104. package/src/module/filter/controller/filter.controller.ts +84 -84
  105. package/src/module/filter/dto/filter-request.dto.ts +38 -38
  106. package/src/module/filter/entity/saved-filter-detail.entity.ts +41 -41
  107. package/src/module/filter/entity/saved-filter-master.entity.ts +23 -23
  108. package/src/module/filter/filter.module.ts +31 -31
  109. package/src/module/filter/repository/saved-filter.repository.ts +168 -168
  110. package/src/module/filter/service/filter-evaluator.service.ts +86 -86
  111. package/src/module/filter/service/filter.service.ts +841 -841
  112. package/src/module/filter/service/saved-filter.service.ts +170 -170
  113. package/src/module/ics/controller/ics.controller.ts +21 -21
  114. package/src/module/ics/dto/ics.dto.ts +55 -55
  115. package/src/module/ics/ics.module.ts +13 -13
  116. package/src/module/ics/service/ics.service.ts +60 -60
  117. package/src/module/integration/controller/calender-event.controller.ts +31 -31
  118. package/src/module/integration/controller/integration.controller.ts +662 -662
  119. package/src/module/integration/controller/wrapper.controller.ts +39 -39
  120. package/src/module/integration/dto/create-config.dto.ts +526 -526
  121. package/src/module/integration/entity/integration-config.entity.ts +112 -112
  122. package/src/module/integration/entity/integration-entity-mapper.entity.ts +14 -14
  123. package/src/module/integration/entity/integration-source.entity.ts +17 -17
  124. package/src/module/integration/entity/user-integration.entity.ts +70 -70
  125. package/src/module/integration/examples/usage.example.ts +338 -338
  126. package/src/module/integration/factories/base.factory.ts +7 -7
  127. package/src/module/integration/factories/email.factory.ts +49 -49
  128. package/src/module/integration/factories/integration.factory.ts +121 -121
  129. package/src/module/integration/factories/sms.factory.ts +51 -51
  130. package/src/module/integration/factories/telephone.factory.ts +41 -41
  131. package/src/module/integration/factories/whatsapp.factory.ts +56 -56
  132. package/src/module/integration/integration.module.ts +110 -110
  133. package/src/module/integration/service/calendar-event.service.ts +118 -118
  134. package/src/module/integration/service/integration-entity-mapper.service.ts +17 -17
  135. package/src/module/integration/service/integration-queue.service.ts +229 -229
  136. package/src/module/integration/service/integration.service.ts +2558 -2558
  137. package/src/module/integration/service/oauth.service.ts +224 -224
  138. package/src/module/integration/service/wrapper.service.ts +515 -515
  139. package/src/module/integration/strategies/email/gmail-api.strategy.ts +288 -288
  140. package/src/module/integration/strategies/email/outlook-api.strategy.ts +44 -44
  141. package/src/module/integration/strategies/email/outlook.strategy.ts +64 -64
  142. package/src/module/integration/strategies/email/sendgrid-api.strategy.ts +262 -262
  143. package/src/module/integration/strategies/integration.strategy.ts +97 -97
  144. package/src/module/integration/strategies/sms/gupshup-sms.strategy.ts +146 -146
  145. package/src/module/integration/strategies/sms/msg91-sms.strategy.ts +164 -164
  146. package/src/module/integration/strategies/sms/tubelight-sms.strategy.ts +163 -163
  147. package/src/module/integration/strategies/telephone/ozonetel-voice.strategy.ts +238 -238
  148. package/src/module/integration/strategies/telephone/tubelight-voice.strategy.ts +210 -210
  149. package/src/module/integration/strategies/whatsapp/gupshup-whatsapp.strategy.ts +359 -359
  150. package/src/module/integration/strategies/whatsapp/tubelight-whatsapp.strategy.ts +372 -372
  151. package/src/module/integration/strategies/whatsapp/whatsapp-cloud.strategy.ts +403 -403
  152. package/src/module/integration/strategies/whatsapp/whatsapp.strategy.ts +57 -57
  153. package/src/module/layout/controller/layout.controller.ts +47 -47
  154. package/src/module/layout/entity/header-items.entity.ts +28 -28
  155. package/src/module/layout/entity/header-section.entity.ts +19 -19
  156. package/src/module/layout/layout.module.ts +21 -21
  157. package/src/module/layout/repository/header-items.repository.ts +18 -18
  158. package/src/module/layout/repository/header-section.repository.ts +22 -22
  159. package/src/module/layout/service/header-section.service.ts +25 -25
  160. package/src/module/layout_preference/controller/layout_preference.controller.ts +47 -47
  161. package/src/module/layout_preference/entity/layout_preference.entity.ts +28 -28
  162. package/src/module/layout_preference/layout_preference.module.ts +18 -18
  163. package/src/module/layout_preference/repository/layout_preference.repository.ts +30 -30
  164. package/src/module/layout_preference/service/layout_preference.service.ts +172 -172
  165. package/src/module/lead/controller/lead.controller.ts +30 -30
  166. package/src/module/lead/lead.module.ts +14 -14
  167. package/src/module/lead/repository/lead.repository.ts +41 -41
  168. package/src/module/lead/service/lead.service.ts +54 -54
  169. package/src/module/listmaster/controller/list-master.controller.ts +143 -143
  170. package/src/module/listmaster/entity/list-master-items.entity.ts +41 -41
  171. package/src/module/listmaster/entity/list-master.entity.ts +32 -32
  172. package/src/module/listmaster/listmaster.module.ts +30 -30
  173. package/src/module/listmaster/repository/list-master-items.repository.ts +169 -169
  174. package/src/module/listmaster/repository/list-master.repository.ts +46 -46
  175. package/src/module/listmaster/service/list-master-item.service.ts +292 -292
  176. package/src/module/listmaster/service/list-master.service.ts +360 -360
  177. package/src/module/mapper/controller/field-mapper.controller.ts +69 -69
  178. package/src/module/mapper/controller/mapper.controller.ts +14 -14
  179. package/src/module/mapper/dto/field-mapper.dto.ts +14 -14
  180. package/src/module/mapper/entity/field-lovs.entity.ts +20 -20
  181. package/src/module/mapper/entity/field-mapper.entity.ts +37 -37
  182. package/src/module/mapper/entity/mapper.entity.ts +17 -17
  183. package/src/module/mapper/mapper.module.ts +34 -34
  184. package/src/module/mapper/repository/field-lovs.repository.ts +35 -35
  185. package/src/module/mapper/repository/field-mapper.repository.ts +42 -42
  186. package/src/module/mapper/repository/mapper.repository.ts +15 -15
  187. package/src/module/mapper/service/field-mapper.service.ts +223 -223
  188. package/src/module/mapper/service/mapper.service.ts +72 -72
  189. package/src/module/master/controller/master.controller.ts +74 -74
  190. package/src/module/master/service/master.service.ts +486 -486
  191. package/src/module/meta/controller/app-master.controller.ts +38 -38
  192. package/src/module/meta/controller/attribute-master.controller.ts +66 -66
  193. package/src/module/meta/controller/entity-dynamic.controller.ts +125 -125
  194. package/src/module/meta/controller/entity-master.controller.ts +28 -28
  195. package/src/module/meta/controller/entity-relation.controller.ts +36 -36
  196. package/src/module/meta/controller/entity.controller.ts +385 -385
  197. package/src/module/meta/controller/media.controller.ts +82 -82
  198. package/src/module/meta/controller/meta.controller.ts +96 -96
  199. package/src/module/meta/controller/view-master.controller.ts +86 -86
  200. package/src/module/meta/dto/entity-list-data.dto.ts +6 -6
  201. package/src/module/meta/dto/entity-tab.dto.ts +4 -4
  202. package/src/module/meta/dto/entity-table.dto.ts +9 -9
  203. package/src/module/meta/entity/app-master.entity.ts +34 -34
  204. package/src/module/meta/entity/attribute-master.entity.ts +87 -87
  205. package/src/module/meta/entity/base-entity.entity.ts +75 -75
  206. package/src/module/meta/entity/entity-master.entity.ts +78 -78
  207. package/src/module/meta/entity/entity-relation-data.entity.ts +29 -29
  208. package/src/module/meta/entity/entity-relation.entity.ts +23 -23
  209. package/src/module/meta/entity/entity-table-column.entity.ts +61 -61
  210. package/src/module/meta/entity/entity-table.entity.ts +50 -50
  211. package/src/module/meta/entity/media-data.entity.ts +32 -32
  212. package/src/module/meta/entity/preference.entity.ts +62 -62
  213. package/src/module/meta/entity/view-master.entity.ts +41 -41
  214. package/src/module/meta/entity.module.ts +156 -156
  215. package/src/module/meta/repository/app-master.repository.ts +20 -20
  216. package/src/module/meta/repository/attribute-master.repository.ts +110 -110
  217. package/src/module/meta/repository/entity-master.repository.ts +66 -66
  218. package/src/module/meta/repository/entity-table-column.repository.ts +39 -39
  219. package/src/module/meta/repository/entity-table.repository.ts +53 -53
  220. package/src/module/meta/repository/media-data.repository.ts +50 -50
  221. package/src/module/meta/repository/preference.repository.ts +20 -20
  222. package/src/module/meta/repository/user-app-mapping.repository.ts +28 -28
  223. package/src/module/meta/repository/view-master.repository.ts +42 -42
  224. package/src/module/meta/service/app-master.service.ts +37 -37
  225. package/src/module/meta/service/attribute-master.service.ts +117 -117
  226. package/src/module/meta/service/common.service.ts +9 -9
  227. package/src/module/meta/service/entity-dynamic.service.ts +762 -762
  228. package/src/module/meta/service/entity-list.service.ts +205 -205
  229. package/src/module/meta/service/entity-master.service.ts +164 -164
  230. package/src/module/meta/service/entity-realation-data.service.ts +9 -9
  231. package/src/module/meta/service/entity-relation.service.ts +69 -69
  232. package/src/module/meta/service/entity-service-impl.service.ts +524 -524
  233. package/src/module/meta/service/entity-table-column.service.ts +39 -39
  234. package/src/module/meta/service/entity-table.service.ts +150 -150
  235. package/src/module/meta/service/entity-validation.service.ts +185 -185
  236. package/src/module/meta/service/entity.service.ts +67 -67
  237. package/src/module/meta/service/field-group.service.ts +103 -103
  238. package/src/module/meta/service/media-data.service.ts +140 -140
  239. package/src/module/meta/service/populate-meta.service.ts +174 -174
  240. package/src/module/meta/service/preference.service.ts +16 -16
  241. package/src/module/meta/service/resolver.service.ts +271 -271
  242. package/src/module/meta/service/section-master.service.ts +104 -104
  243. package/src/module/meta/service/update-form-json.service.ts +22 -22
  244. package/src/module/meta/service/user-app-mapping.service.ts +17 -17
  245. package/src/module/meta/service/view-master.service.ts +111 -111
  246. package/src/module/module/controller/menu.controller.ts +15 -15
  247. package/src/module/module/controller/module-access.controller.ts +132 -132
  248. package/src/module/module/entity/menu.entity.ts +43 -43
  249. package/src/module/module/entity/module-access.entity.ts +25 -25
  250. package/src/module/module/entity/module-action.entity.ts +17 -17
  251. package/src/module/module/entity/module.entity.ts +52 -52
  252. package/src/module/module/module.module.ts +42 -42
  253. package/src/module/module/repository/menu.repository.ts +184 -184
  254. package/src/module/module/repository/module-access.repository.ts +327 -327
  255. package/src/module/module/service/menu.service.ts +82 -82
  256. package/src/module/module/service/module-access.service.ts +209 -209
  257. package/src/module/notification/controller/notification.controller.ts +58 -58
  258. package/src/module/notification/controller/otp.controller.ts +117 -117
  259. package/src/module/notification/entity/notification.entity.ts +23 -23
  260. package/src/module/notification/entity/otp.entity.ts +28 -28
  261. package/src/module/notification/firebase-admin.config.ts +22 -22
  262. package/src/module/notification/notification.module.ts +69 -69
  263. package/src/module/notification/repository/otp.repository.ts +27 -27
  264. package/src/module/notification/service/email.service.ts +127 -127
  265. package/src/module/notification/service/notification.service.ts +138 -138
  266. package/src/module/notification/service/otp.service.ts +121 -121
  267. package/src/module/third-party-module/entity/third-party-api-registry.entity.ts +52 -52
  268. package/src/module/third-party-module/repository/third-party-api-registry.repository.ts +20 -20
  269. package/src/module/third-party-module/service/api-registry.service.ts +13 -13
  270. package/src/module/third-party-module/third-party.module.ts +12 -12
  271. package/src/module/user/controller/login.controller.ts +197 -197
  272. package/src/module/user/controller/user.controller.ts +40 -40
  273. package/src/module/user/dto/create-user.dto.ts +62 -62
  274. package/src/module/user/dto/update-user.dto.ts +4 -4
  275. package/src/module/user/entity/role.entity.ts +33 -33
  276. package/src/module/user/entity/user-role-mapping.entity.ts +38 -38
  277. package/src/module/user/entity/user-session.entity.ts +61 -61
  278. package/src/module/user/entity/user.entity.ts +68 -68
  279. package/src/module/user/repository/role.repository.ts +96 -96
  280. package/src/module/user/repository/user-role-mapping.repository.ts +126 -126
  281. package/src/module/user/repository/user.repository.ts +50 -50
  282. package/src/module/user/repository/userSession.repository.ts +33 -33
  283. package/src/module/user/service/login.service.ts +280 -280
  284. package/src/module/user/service/role.service.ts +189 -189
  285. package/src/module/user/service/user-role-mapping.service.ts +98 -98
  286. package/src/module/user/service/user-session.service.ts +168 -168
  287. package/src/module/user/service/user.service.ts +353 -353
  288. package/src/module/user/user.module.ts +65 -65
  289. package/src/module/workflow/controller/action-category.controller.ts +54 -54
  290. package/src/module/workflow/controller/action-resource-mapping.controller.ts +23 -23
  291. package/src/module/workflow/controller/action-template-mapping.controller.ts +35 -35
  292. package/src/module/workflow/controller/action.controller.ts +95 -95
  293. package/src/module/workflow/controller/activity-log.controller.ts +55 -55
  294. package/src/module/workflow/controller/comm-template.controller.ts +34 -34
  295. package/src/module/workflow/controller/entity-modification.controller.ts +35 -35
  296. package/src/module/workflow/controller/form-master.controller.ts +43 -43
  297. package/src/module/workflow/controller/stage-group.controller.ts +48 -48
  298. package/src/module/workflow/controller/stage.controller.ts +50 -50
  299. package/src/module/workflow/controller/task.controller.ts +77 -77
  300. package/src/module/workflow/controller/workflow-list-master.controller.ts +44 -44
  301. package/src/module/workflow/controller/workflow-meta.controller.ts +80 -80
  302. package/src/module/workflow/controller/workflow.controller.ts +67 -67
  303. package/src/module/workflow/entity/action-category.entity.ts +38 -38
  304. package/src/module/workflow/entity/action-data.entity.ts +55 -55
  305. package/src/module/workflow/entity/action-resources-mapping.entity.ts +29 -29
  306. package/src/module/workflow/entity/action-template-mapping.entity.ts +17 -17
  307. package/src/module/workflow/entity/action.entity.ts +50 -50
  308. package/src/module/workflow/entity/activity-log.entity.ts +43 -43
  309. package/src/module/workflow/entity/comm-template.entity.ts +43 -43
  310. package/src/module/workflow/entity/entity-modification.entity.ts +38 -38
  311. package/src/module/workflow/entity/form-master.entity.ts +27 -27
  312. package/src/module/workflow/entity/form.entity.ts +25 -25
  313. package/src/module/workflow/entity/stage-action-mapping.entity.ts +17 -17
  314. package/src/module/workflow/entity/stage-group.entity.ts +23 -23
  315. package/src/module/workflow/entity/stage-movement-data.entity.ts +38 -38
  316. package/src/module/workflow/entity/stage.entity.ts +20 -20
  317. package/src/module/workflow/entity/task-data.entity.ts +88 -88
  318. package/src/module/workflow/entity/template-attach-mapper.entity.ts +30 -30
  319. package/src/module/workflow/entity/workflow-data.entity.ts +11 -11
  320. package/src/module/workflow/entity/workflow-level-mapping.entity.ts +18 -18
  321. package/src/module/workflow/entity/workflow.entity.ts +20 -20
  322. package/src/module/workflow/repository/action-category.repository.ts +79 -79
  323. package/src/module/workflow/repository/action-data.repository.ts +219 -219
  324. package/src/module/workflow/repository/action.repository.ts +277 -277
  325. package/src/module/workflow/repository/activity-log.repository.ts +121 -121
  326. package/src/module/workflow/repository/comm-template.repository.ts +142 -142
  327. package/src/module/workflow/repository/form-master.repository.ts +61 -61
  328. package/src/module/workflow/repository/stage-group.repository.ts +176 -176
  329. package/src/module/workflow/repository/stage-movement.repository.ts +227 -227
  330. package/src/module/workflow/repository/stage.repository.ts +172 -172
  331. package/src/module/workflow/repository/task.repository.ts +113 -113
  332. package/src/module/workflow/repository/workflow.repository.ts +42 -42
  333. package/src/module/workflow/service/action-category.service.ts +33 -33
  334. package/src/module/workflow/service/action-data.service.ts +62 -62
  335. package/src/module/workflow/service/action-resources-mapping.service.ts +10 -10
  336. package/src/module/workflow/service/action-template-mapping.service.ts +55 -55
  337. package/src/module/workflow/service/action.service.ts +247 -247
  338. package/src/module/workflow/service/activity-log.service.ts +107 -107
  339. package/src/module/workflow/service/comm-template.service.ts +121 -121
  340. package/src/module/workflow/service/entity-modification.service.ts +67 -67
  341. package/src/module/workflow/service/form-master.service.ts +35 -35
  342. package/src/module/workflow/service/populate-workflow.service.ts +303 -303
  343. package/src/module/workflow/service/stage-action-mapping.service.ts +5 -5
  344. package/src/module/workflow/service/stage-group.service.ts +300 -300
  345. package/src/module/workflow/service/stage.service.ts +199 -199
  346. package/src/module/workflow/service/task.service.ts +504 -504
  347. package/src/module/workflow/service/workflow-list-master.service.ts +60 -60
  348. package/src/module/workflow/service/workflow-meta.service.ts +581 -581
  349. package/src/module/workflow/service/workflow.service.ts +205 -205
  350. package/src/module/workflow/workflow.module.ts +176 -176
  351. package/src/module/workflow-automation/controller/workflow-automation.controller.ts +21 -21
  352. package/src/module/workflow-automation/entity/workflow-automation-action.entity.ts +26 -26
  353. package/src/module/workflow-automation/entity/workflow-automation.entity.ts +35 -35
  354. package/src/module/workflow-automation/interface/action.decorator.ts +7 -7
  355. package/src/module/workflow-automation/interface/action.interface.ts +5 -5
  356. package/src/module/workflow-automation/service/action-registery.service.ts +35 -35
  357. package/src/module/workflow-automation/service/workflow-automation-engine.service.ts +214 -214
  358. package/src/module/workflow-automation/service/workflow-automation.service.ts +345 -345
  359. package/src/module/workflow-automation/workflow-automation.module.ts +34 -34
  360. package/src/resources/dev.properties.yaml +30 -30
  361. package/src/resources/local.properties.yaml +23 -23
  362. package/src/resources/properties.module.ts +12 -12
  363. package/src/resources/properties.yaml.ts +11 -11
  364. package/src/resources/uat.properties.yaml +15 -15
  365. package/src/utils/dto/excel-data.dto.ts +14 -14
  366. package/src/utils/dto/excelsheet-data.dto.ts +5 -5
  367. package/src/utils/service/base64util.service.ts +18 -18
  368. package/src/utils/service/clockIDGenUtil.service.ts +21 -21
  369. package/src/utils/service/codeGenerator.service.ts +22 -22
  370. package/src/utils/service/dateUtil.service.ts +17 -17
  371. package/src/utils/service/encryptUtil.service.ts +97 -97
  372. package/src/utils/service/excel-helper.service.ts +72 -72
  373. package/src/utils/service/excelUtil.service.ts +15 -15
  374. package/src/utils/service/file-util.service.ts +11 -11
  375. package/src/utils/service/json-util.service.ts +23 -23
  376. package/src/utils/service/loggingUtil.service.ts +34 -34
  377. package/src/utils/service/reflection-helper.service.ts +62 -62
  378. package/src/utils/service/wbsCodeGen.service.ts +8 -8
  379. package/src/utils/utils.module.ts +25 -25
  380. package/tsconfig.build.json +4 -4
  381. package/tsconfig.json +24 -24
@@ -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)
@@ -122,7 +122,7 @@ let ActionService = class ActionService extends entity_service_impl_service_1.En
122
122
  return action;
123
123
  }
124
124
  async deleteEntity(entityType, id, loggedInUser) {
125
- await this.dataSource.query(`DELETE FROM cr_wf_action_template_mapping WHERE stg_act_mapping_id IN (SELECT
125
+ await this.dataSource.query(`DELETE FROM cr_wf_action_template_mapping WHERE stg_act_mapping_id IN (SELECT
126
126
  id FROM cr_wf_stage_action_mapping WHERE action_id = ? AND entity_type = 'WFSA')`, [id]);
127
127
  await this.dataSource.query(`DELETE FROM cr_wf_stage_action_mapping WHERE action_id = ? AND entity_type ='WFSA'`, [id]);
128
128
  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}`);
@@ -35,8 +35,8 @@ let StageGroupService = class StageGroupService extends entity_service_impl_serv
35
35
  }
36
36
  async getAllStageGroup(workflow_id, organization_id) {
37
37
  const allStageGroup = await this.stageGroupRepository.getAllStageGroup(workflow_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 allStageGroup) {
@@ -142,9 +142,9 @@ let StageGroupService = class StageGroupService extends entity_service_impl_serv
142
142
  return stageGroupAndStageHierarchy;
143
143
  }
144
144
  async getUserNameAndProfilePic(userId, loggedInUser) {
145
- const user = await this.dataSource.query(`SELECT eth_user_profile.name AS created_by_name,
146
- eth_user_profile.profile_image AS profile_image
147
- FROM eth_user_profile
145
+ const user = await this.dataSource.query(`SELECT eth_user_profile.name AS created_by_name,
146
+ eth_user_profile.profile_image AS profile_image
147
+ FROM eth_user_profile
148
148
  WHERE eth_user_profile.id = ?;`, [userId]);
149
149
  if (user.length === 0)
150
150
  return null;
@@ -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) {
@@ -35,10 +35,10 @@ let TaskService = class TaskService extends entity_service_impl_service_1.Entity
35
35
  async execute(payload) {
36
36
  const { entity, user, config } = payload;
37
37
  let toValue = null;
38
- const stageRow = await this.dataSource.query(`SELECT stage_id
39
- FROM cr_wf_stage_movement_data
40
- WHERE mapped_entity_id = ?
41
- AND is_current = 'Y'
38
+ const stageRow = await this.dataSource.query(`SELECT stage_id
39
+ FROM cr_wf_stage_movement_data
40
+ WHERE mapped_entity_id = ?
41
+ AND is_current = 'Y'
42
42
  LIMIT 1`, [entity.id]);
43
43
  const stageId = stageRow.length > 0 ? stageRow[0].stage_id : null;
44
44
  if (!stageId) {
@@ -93,13 +93,13 @@ let TaskService = class TaskService extends entity_service_impl_service_1.Entity
93
93
  return createdEntity;
94
94
  }
95
95
  async updateEntity(entityData, loggedInUser, appcode) {
96
- const taskStatusQuery = `
97
- SELECT name
98
- FROM cr_list_master_items
99
- WHERE id = ?
100
- AND organization_id = ?
101
- AND listtype = 'TKST'
102
- LIMIT 1;
96
+ const taskStatusQuery = `
97
+ SELECT name
98
+ FROM cr_list_master_items
99
+ WHERE id = ?
100
+ AND organization_id = ?
101
+ AND listtype = 'TKST'
102
+ LIMIT 1;
103
103
  `;
104
104
  const statusRows = await this.dataSource.query(taskStatusQuery, [
105
105
  entityData.status,
@@ -187,33 +187,33 @@ let TaskService = class TaskService extends entity_service_impl_service_1.Entity
187
187
  whereClauses.push(`t.is_done = ?`);
188
188
  params.push(0);
189
189
  }
190
- const sql = `
191
- SELECT
192
- t.*,
193
- sg.name AS stage_group_name,
194
- s.name AS stage_name,
195
- a.name AS action_name,
196
- u.name AS created_by_name,
197
- u2.name AS task_owner_name,
198
- u2.profile_image AS task_owner_profile
199
- FROM cr_wf_task_data t
200
- LEFT JOIN cr_wf_stage s ON t.stage_id = s.id
201
- LEFT JOIN cr_wf_stage_group sg ON s.stage_group_id = sg.id
202
- LEFT JOIN cr_wf_action a ON t.action_id = a.id
203
- LEFT JOIN cr_user u ON t.created_by = u.id
204
- LEFT JOIN eth_user_profile u2 ON t.task_owner = u2.parent_id
205
- WHERE ${whereClauses.join(' AND ')}
206
- ORDER BY t.created_date DESC
190
+ const sql = `
191
+ SELECT
192
+ t.*,
193
+ sg.name AS stage_group_name,
194
+ s.name AS stage_name,
195
+ a.name AS action_name,
196
+ u.name AS created_by_name,
197
+ u2.name AS task_owner_name,
198
+ u2.profile_image AS task_owner_profile
199
+ FROM cr_wf_task_data t
200
+ LEFT JOIN cr_wf_stage s ON t.stage_id = s.id
201
+ LEFT JOIN cr_wf_stage_group sg ON s.stage_group_id = sg.id
202
+ LEFT JOIN cr_wf_action a ON t.action_id = a.id
203
+ LEFT JOIN cr_user u ON t.created_by = u.id
204
+ LEFT JOIN eth_user_profile u2 ON t.task_owner = u2.parent_id
205
+ WHERE ${whereClauses.join(' AND ')}
206
+ ORDER BY t.created_date DESC
207
207
  `;
208
208
  const taskData = await this.dataSource.query(sql, params);
209
209
  if (taskData.length === 0) {
210
210
  return [];
211
211
  }
212
- const taskStatusQuery = `
213
- SELECT id, name
214
- FROM cr_list_master_items
215
- WHERE organization_id = ?
216
- AND listtype = 'TKST'
212
+ const taskStatusQuery = `
213
+ SELECT id, name
214
+ FROM cr_list_master_items
215
+ WHERE organization_id = ?
216
+ AND listtype = 'TKST'
217
217
  `;
218
218
  const taskAllStatus = await this.dataSource.query(taskStatusQuery, [
219
219
  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 cr_user u
278
- JOIN cr_user_role_mapping urm ON u.id = urm.user_id
279
- JOIN cr_role r ON urm.role_id = r.id
280
- JOIN cr_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 cr_user u
278
+ JOIN cr_user_role_mapping urm ON u.id = urm.user_id
279
+ JOIN cr_role r ON urm.role_id = r.id
280
+ JOIN cr_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_workflow_level_mapping
76
- SET workflow_id = ?
75
+ await this.dataSource.query(`UPDATE cr_workflow_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);