rez_core 4.0.108 → 4.0.110

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 (403) hide show
  1. package/.claude/settings.local.json +26 -0
  2. package/.idea/250218_nodejs_core.iml +8 -11
  3. package/.idea/codeStyles/Project.xml +58 -58
  4. package/.idea/codeStyles/codeStyleConfig.xml +4 -4
  5. package/.idea/copilot.data.migration.agent.xml +6 -0
  6. package/.idea/copilot.data.migration.ask.xml +6 -0
  7. package/.idea/copilot.data.migration.ask2agent.xml +6 -0
  8. package/.idea/copilot.data.migration.edit.xml +6 -0
  9. package/.idea/inspectionProfiles/Project_Default.xml +1 -1
  10. package/.idea/misc.xml +6 -0
  11. package/.idea/modules.xml +7 -7
  12. package/.idea/prettier.xml +5 -5
  13. package/.idea/vcs.xml +5 -5
  14. package/.prettierrc +3 -3
  15. package/README.md +99 -99
  16. package/dist/app.module.js +2 -0
  17. package/dist/app.module.js.map +1 -1
  18. package/dist/module/auth/guards/role.guard.js +3 -3
  19. package/dist/module/auth/services/auth.service.js +2 -2
  20. package/dist/module/filter/repository/saved-filter.repository.js +4 -4
  21. package/dist/module/filter/service/filter-evaluator.service.js +2 -2
  22. package/dist/module/filter/service/filter.service.js +22 -22
  23. package/dist/module/integration/examples/usage.example.js +9 -9
  24. package/dist/module/integration/service/integration.service.js +1 -1
  25. package/dist/module/integration/service/wrapper.service.js +25 -25
  26. package/dist/module/listmaster/controller/list-master.controller.d.ts +6 -0
  27. package/dist/module/listmaster/controller/list-master.controller.js +14 -2
  28. package/dist/module/listmaster/controller/list-master.controller.js.map +1 -1
  29. package/dist/module/listmaster/service/list-master-item.service.js +2 -2
  30. package/dist/module/listmaster/service/list-master.service.d.ts +4 -2
  31. package/dist/module/listmaster/service/list-master.service.js +13 -16
  32. package/dist/module/listmaster/service/list-master.service.js.map +1 -1
  33. package/dist/module/mapper/service/field-mapper.service.js +4 -4
  34. package/dist/module/mapper/service/mapper.service.js +2 -2
  35. package/dist/module/meta/service/entity-dynamic.service.js +9 -9
  36. package/dist/module/meta/service/entity-list.service.js +3 -3
  37. package/dist/module/meta/service/entity-master.service.js +3 -3
  38. package/dist/module/meta/service/entity-relation.service.js +11 -11
  39. package/dist/module/meta/service/entity-service-impl.service.js +3 -3
  40. package/dist/module/meta/service/resolver.service.js +3 -3
  41. package/dist/module/microservice-client/microservice-clients.module.d.ts +2 -0
  42. package/dist/module/microservice-client/microservice-clients.module.js +27 -0
  43. package/dist/module/microservice-client/microservice-clients.module.js.map +1 -0
  44. package/dist/module/microservice-client/service/microservice-client-factory.d.ts +10 -0
  45. package/dist/module/microservice-client/service/microservice-client-factory.js +46 -0
  46. package/dist/module/microservice-client/service/microservice-client-factory.js.map +1 -0
  47. package/dist/module/microservice-client/service/microservice-clients.d.ts +4 -0
  48. package/dist/module/microservice-client/service/microservice-clients.js +3 -0
  49. package/dist/module/microservice-client/service/microservice-clients.js.map +1 -0
  50. package/dist/module/module/repository/menu.repository.js +12 -12
  51. package/dist/module/notification/service/notification.service.js +9 -9
  52. package/dist/module/user/controller/login.controller.js +18 -18
  53. package/dist/module/user/service/role.service.js +4 -4
  54. package/dist/module/user/service/user-session.service.js +2 -2
  55. package/dist/module/workflow/repository/action.repository.js +20 -20
  56. package/dist/module/workflow/repository/comm-template.repository.js +6 -6
  57. package/dist/module/workflow/repository/form-master.repository.js +2 -2
  58. package/dist/module/workflow/repository/stage-group.repository.js +23 -23
  59. package/dist/module/workflow/repository/stage-movement.repository.js +15 -15
  60. package/dist/module/workflow/repository/stage.repository.js +8 -8
  61. package/dist/module/workflow/service/action-template-mapping.service.js +22 -22
  62. package/dist/module/workflow/service/action.service.js +7 -7
  63. package/dist/module/workflow/service/entity-modification.service.js +6 -6
  64. package/dist/module/workflow/service/stage-group.service.js +2 -2
  65. package/dist/module/workflow/service/stage.service.js +2 -2
  66. package/dist/module/workflow/service/task.service.js +28 -28
  67. package/dist/module/workflow/service/workflow-list-master.service.js +15 -15
  68. package/dist/module/workflow/service/workflow-meta.service.js +35 -35
  69. package/dist/module/workflow/service/workflow.service.js +2 -2
  70. package/dist/tsconfig.build.tsbuildinfo +1 -1
  71. package/dist/utils/service/reflection-helper.service.js +2 -2
  72. package/docs/modules/event-driven-integration-design.md +91 -91
  73. package/docs/modules/integration.md +250 -250
  74. package/eslint.config.mjs +34 -34
  75. package/nest-cli.json +14 -14
  76. package/package.json +119 -118
  77. package/server.log +850 -0
  78. package/src/app.controller.ts +12 -12
  79. package/src/app.module.ts +52 -49
  80. package/src/app.service.ts +8 -8
  81. package/src/config/config.module.ts +18 -18
  82. package/src/config/database.config.ts +23 -23
  83. package/src/constant/global.constant.ts +67 -67
  84. package/src/core.module.ts +81 -81
  85. package/src/decorators/roles.decorator.ts +7 -7
  86. package/src/dtos/response.dto.ts +6 -6
  87. package/src/dtos/response.ts +5 -5
  88. package/src/index.ts +1 -1
  89. package/src/module/auth/auth.module.ts +49 -49
  90. package/src/module/auth/controller/auth.controller.ts +28 -28
  91. package/src/module/auth/guards/google-auth.guard.ts +9 -9
  92. package/src/module/auth/guards/jwt.guard.ts +22 -22
  93. package/src/module/auth/guards/role.guard.ts +68 -68
  94. package/src/module/auth/services/auth.service.ts +50 -50
  95. package/src/module/auth/services/jwt.service.ts +11 -11
  96. package/src/module/auth/strategies/google.strategy.ts +54 -54
  97. package/src/module/auth/strategies/jwt.strategy.ts +58 -58
  98. package/src/module/auth/strategies/local.strategy.ts +13 -13
  99. package/src/module/dashboard/controller/dashboard.controller.ts +36 -36
  100. package/src/module/dashboard/dashboard.module.ts +21 -21
  101. package/src/module/dashboard/entity/dashboard_page_data.entity.ts +27 -27
  102. package/src/module/dashboard/entity/widget_master.entity.ts +18 -18
  103. package/src/module/dashboard/repository/dashboard.repository.ts +42 -42
  104. package/src/module/dashboard/service/dashboard.service.ts +73 -73
  105. package/src/module/dev/dev.module.ts +12 -12
  106. package/src/module/dev/service/dev.service.ts +7 -7
  107. package/src/module/enterprise/controller/organization.controller.ts +36 -36
  108. package/src/module/enterprise/enterprise.module.ts +30 -30
  109. package/src/module/enterprise/entity/enterprise.entity.ts +37 -37
  110. package/src/module/enterprise/entity/organization-app-mapping.entity.ts +13 -13
  111. package/src/module/enterprise/entity/organization.entity.ts +92 -92
  112. package/src/module/enterprise/repository/enterprise.repository.ts +31 -31
  113. package/src/module/enterprise/repository/organization.repository.ts +26 -26
  114. package/src/module/enterprise/repository/school.repository.ts +278 -278
  115. package/src/module/enterprise/service/brand.service.ts +5 -5
  116. package/src/module/enterprise/service/enterprise.service.ts +16 -16
  117. package/src/module/enterprise/service/organization-app-mapping.service.ts +4 -4
  118. package/src/module/enterprise/service/organization.service.ts +145 -145
  119. package/src/module/filter/controller/filter.controller.ts +84 -84
  120. package/src/module/filter/dto/filter-request.dto.ts +38 -38
  121. package/src/module/filter/entity/saved-filter-detail.entity.ts +41 -41
  122. package/src/module/filter/entity/saved-filter-master.entity.ts +23 -23
  123. package/src/module/filter/filter.module.ts +31 -31
  124. package/src/module/filter/repository/saved-filter.repository.ts +168 -168
  125. package/src/module/filter/service/filter-evaluator.service.ts +86 -86
  126. package/src/module/filter/service/filter.service.ts +988 -988
  127. package/src/module/filter/service/saved-filter.service.ts +170 -170
  128. package/src/module/ics/controller/ics.controller.ts +21 -21
  129. package/src/module/ics/dto/ics.dto.ts +55 -55
  130. package/src/module/ics/ics.module.ts +13 -13
  131. package/src/module/ics/service/ics.service.ts +57 -57
  132. package/src/module/integration/controller/calender-event.controller.ts +31 -31
  133. package/src/module/integration/controller/integration.controller.ts +662 -662
  134. package/src/module/integration/controller/wrapper.controller.ts +37 -37
  135. package/src/module/integration/dto/create-config.dto.ts +526 -526
  136. package/src/module/integration/entity/integration-config.entity.ts +112 -112
  137. package/src/module/integration/entity/integration-entity-mapper.entity.ts +14 -14
  138. package/src/module/integration/entity/integration-source.entity.ts +17 -17
  139. package/src/module/integration/entity/user-integration.entity.ts +71 -71
  140. package/src/module/integration/examples/usage.example.ts +338 -338
  141. package/src/module/integration/factories/base.factory.ts +7 -7
  142. package/src/module/integration/factories/email.factory.ts +49 -49
  143. package/src/module/integration/factories/integration.factory.ts +121 -121
  144. package/src/module/integration/factories/sms.factory.ts +51 -51
  145. package/src/module/integration/factories/telephone.factory.ts +41 -41
  146. package/src/module/integration/factories/whatsapp.factory.ts +56 -56
  147. package/src/module/integration/integration.module.ts +110 -110
  148. package/src/module/integration/service/calendar-event.service.ts +118 -118
  149. package/src/module/integration/service/integration-entity-mapper.service.ts +17 -17
  150. package/src/module/integration/service/integration-queue.service.ts +229 -229
  151. package/src/module/integration/service/integration.service.ts +2633 -2633
  152. package/src/module/integration/service/oauth.service.ts +224 -224
  153. package/src/module/integration/service/wrapper.service.ts +493 -493
  154. package/src/module/integration/strategies/email/gmail-api.strategy.ts +280 -280
  155. package/src/module/integration/strategies/email/outlook-api.strategy.ts +44 -44
  156. package/src/module/integration/strategies/email/outlook.strategy.ts +64 -64
  157. package/src/module/integration/strategies/email/sendgrid-api.strategy.ts +260 -260
  158. package/src/module/integration/strategies/integration.strategy.ts +97 -97
  159. package/src/module/integration/strategies/sms/gupshup-sms.strategy.ts +146 -146
  160. package/src/module/integration/strategies/sms/msg91-sms.strategy.ts +164 -164
  161. package/src/module/integration/strategies/sms/tubelight-sms.strategy.ts +163 -163
  162. package/src/module/integration/strategies/telephone/ozonetel-voice.strategy.ts +238 -238
  163. package/src/module/integration/strategies/telephone/tubelight-voice.strategy.ts +210 -210
  164. package/src/module/integration/strategies/whatsapp/gupshup-whatsapp.strategy.ts +359 -359
  165. package/src/module/integration/strategies/whatsapp/tubelight-whatsapp.strategy.ts +372 -372
  166. package/src/module/integration/strategies/whatsapp/whatsapp-cloud.strategy.ts +403 -403
  167. package/src/module/integration/strategies/whatsapp/whatsapp.strategy.ts +57 -57
  168. package/src/module/layout/controller/layout.controller.ts +47 -47
  169. package/src/module/layout/entity/header-items.entity.ts +28 -28
  170. package/src/module/layout/entity/header-section.entity.ts +19 -19
  171. package/src/module/layout/layout.module.ts +21 -21
  172. package/src/module/layout/repository/header-items.repository.ts +18 -18
  173. package/src/module/layout/repository/header-section.repository.ts +22 -22
  174. package/src/module/layout/service/header-section.service.ts +25 -25
  175. package/src/module/layout_preference/controller/layout_preference.controller.ts +73 -73
  176. package/src/module/layout_preference/entity/layout_preference.entity.ts +28 -28
  177. package/src/module/layout_preference/layout_preference.module.ts +22 -22
  178. package/src/module/layout_preference/repository/layout_preference.repository.ts +65 -65
  179. package/src/module/layout_preference/service/layout_preference.service.ts +191 -191
  180. package/src/module/lead/controller/lead.controller.ts +30 -30
  181. package/src/module/lead/lead.module.ts +14 -14
  182. package/src/module/lead/repository/lead.repository.ts +41 -41
  183. package/src/module/lead/service/lead.service.ts +54 -54
  184. package/src/module/listmaster/controller/list-master.controller.ts +230 -210
  185. package/src/module/listmaster/entity/list-master-items.entity.ts +43 -43
  186. package/src/module/listmaster/entity/list-master.entity.ts +33 -33
  187. package/src/module/listmaster/listmaster.module.ts +44 -44
  188. package/src/module/listmaster/repository/list-master-items.repository.ts +169 -169
  189. package/src/module/listmaster/repository/list-master.repository.ts +46 -46
  190. package/src/module/listmaster/service/list-master-engine.ts +19 -19
  191. package/src/module/listmaster/service/list-master-extension.interface.ts +4 -4
  192. package/src/module/listmaster/service/list-master-item.service.ts +292 -292
  193. package/src/module/listmaster/service/list-master-registry.ts +15 -15
  194. package/src/module/listmaster/service/list-master.service.ts +535 -542
  195. package/src/module/mapper/controller/field-mapper.controller.ts +76 -76
  196. package/src/module/mapper/controller/mapper.controller.ts +20 -20
  197. package/src/module/mapper/dto/field-mapper.dto.ts +14 -14
  198. package/src/module/mapper/entity/field-lovs.entity.ts +19 -19
  199. package/src/module/mapper/entity/field-mapper.entity.ts +53 -53
  200. package/src/module/mapper/entity/mapper.entity.ts +16 -16
  201. package/src/module/mapper/mapper.module.ts +34 -34
  202. package/src/module/mapper/repository/field-lovs.repository.ts +35 -35
  203. package/src/module/mapper/repository/field-mapper.repository.ts +42 -42
  204. package/src/module/mapper/repository/mapper.repository.ts +15 -15
  205. package/src/module/mapper/service/field-mapper.service.ts +266 -266
  206. package/src/module/mapper/service/mapper.service.ts +79 -79
  207. package/src/module/master/controller/master.controller.ts +74 -74
  208. package/src/module/master/service/master.service.ts +483 -483
  209. package/src/module/meta/controller/app-master.controller.ts +38 -38
  210. package/src/module/meta/controller/attribute-master.controller.ts +66 -66
  211. package/src/module/meta/controller/entity-dynamic.controller.ts +125 -125
  212. package/src/module/meta/controller/entity-master.controller.ts +28 -28
  213. package/src/module/meta/controller/entity-relation.controller.ts +36 -36
  214. package/src/module/meta/controller/entity.controller.ts +392 -392
  215. package/src/module/meta/controller/entity.public.controller.ts +75 -75
  216. package/src/module/meta/controller/media.controller.ts +107 -107
  217. package/src/module/meta/controller/meta.controller.ts +96 -96
  218. package/src/module/meta/controller/view-master.controller.ts +86 -86
  219. package/src/module/meta/dto/entity-list-data.dto.ts +6 -6
  220. package/src/module/meta/dto/entity-tab.dto.ts +4 -4
  221. package/src/module/meta/dto/entity-table.dto.ts +9 -9
  222. package/src/module/meta/entity/app-master.entity.ts +34 -34
  223. package/src/module/meta/entity/attribute-master.entity.ts +89 -89
  224. package/src/module/meta/entity/base-entity.entity.ts +75 -75
  225. package/src/module/meta/entity/entity-master.entity.ts +85 -85
  226. package/src/module/meta/entity/entity-relation-data.entity.ts +29 -29
  227. package/src/module/meta/entity/entity-relation.entity.ts +23 -23
  228. package/src/module/meta/entity/entity-table-column.entity.ts +61 -61
  229. package/src/module/meta/entity/entity-table.entity.ts +50 -50
  230. package/src/module/meta/entity/media-data.entity.ts +32 -32
  231. package/src/module/meta/entity/preference.entity.ts +62 -62
  232. package/src/module/meta/entity/view-master.entity.ts +41 -41
  233. package/src/module/meta/entity.module.ts +158 -158
  234. package/src/module/meta/repository/app-master.repository.ts +20 -20
  235. package/src/module/meta/repository/attribute-master.repository.ts +118 -118
  236. package/src/module/meta/repository/entity-master.repository.ts +69 -69
  237. package/src/module/meta/repository/entity-table-column.repository.ts +39 -39
  238. package/src/module/meta/repository/entity-table.repository.ts +53 -53
  239. package/src/module/meta/repository/media-data.repository.ts +50 -50
  240. package/src/module/meta/repository/preference.repository.ts +20 -20
  241. package/src/module/meta/repository/user-app-mapping.repository.ts +28 -28
  242. package/src/module/meta/repository/view-master.repository.ts +42 -42
  243. package/src/module/meta/service/app-master.service.ts +37 -37
  244. package/src/module/meta/service/attribute-master.service.ts +126 -126
  245. package/src/module/meta/service/common.service.ts +9 -9
  246. package/src/module/meta/service/entity-dynamic.service.ts +819 -819
  247. package/src/module/meta/service/entity-list.service.ts +205 -205
  248. package/src/module/meta/service/entity-master.service.ts +169 -169
  249. package/src/module/meta/service/entity-realation-data.service.ts +9 -9
  250. package/src/module/meta/service/entity-relation.service.ts +69 -69
  251. package/src/module/meta/service/entity-service-impl.service.ts +525 -525
  252. package/src/module/meta/service/entity-table-column.service.ts +39 -39
  253. package/src/module/meta/service/entity-table.service.ts +150 -150
  254. package/src/module/meta/service/entity-validation.service.ts +187 -187
  255. package/src/module/meta/service/entity.service.ts +67 -67
  256. package/src/module/meta/service/field-group.service.ts +103 -103
  257. package/src/module/meta/service/media-data.service.ts +507 -507
  258. package/src/module/meta/service/populate-meta.service.ts +193 -193
  259. package/src/module/meta/service/preference.service.ts +16 -16
  260. package/src/module/meta/service/resolver.service.ts +267 -267
  261. package/src/module/meta/service/section-master.service.ts +104 -104
  262. package/src/module/meta/service/update-form-json.service.ts +22 -22
  263. package/src/module/meta/service/user-app-mapping.service.ts +17 -17
  264. package/src/module/meta/service/view-master.service.ts +127 -127
  265. package/src/module/microservice-client/microservice-clients.module.ts +14 -0
  266. package/src/module/microservice-client/service/microservice-client-factory.ts +38 -0
  267. package/src/module/microservice-client/service/microservice-clients.ts +5 -0
  268. package/src/module/module/controller/menu.controller.ts +15 -15
  269. package/src/module/module/controller/module-access.controller.ts +134 -134
  270. package/src/module/module/entity/menu.entity.ts +43 -43
  271. package/src/module/module/entity/module-access.entity.ts +25 -25
  272. package/src/module/module/entity/module-action.entity.ts +17 -17
  273. package/src/module/module/entity/module.entity.ts +52 -52
  274. package/src/module/module/module.module.ts +42 -42
  275. package/src/module/module/repository/menu.repository.ts +184 -184
  276. package/src/module/module/repository/module-access.repository.ts +344 -344
  277. package/src/module/module/service/menu.service.ts +82 -82
  278. package/src/module/module/service/module-access.service.ts +209 -209
  279. package/src/module/notification/controller/notification.controller.ts +58 -58
  280. package/src/module/notification/controller/otp.controller.ts +117 -117
  281. package/src/module/notification/entity/notification.entity.ts +26 -26
  282. package/src/module/notification/entity/otp.entity.ts +28 -28
  283. package/src/module/notification/firebase-admin.config.ts +22 -22
  284. package/src/module/notification/notification.module.ts +69 -69
  285. package/src/module/notification/repository/otp.repository.ts +27 -27
  286. package/src/module/notification/service/email.service.ts +127 -127
  287. package/src/module/notification/service/notification.service.ts +163 -163
  288. package/src/module/notification/service/otp.service.ts +132 -132
  289. package/src/module/third-party-module/entity/third-party-api-registry.entity.ts +52 -52
  290. package/src/module/third-party-module/repository/third-party-api-registry.repository.ts +20 -20
  291. package/src/module/third-party-module/service/api-registry.service.ts +13 -13
  292. package/src/module/third-party-module/third-party.module.ts +12 -12
  293. package/src/module/user/controller/login.controller.ts +197 -197
  294. package/src/module/user/controller/user.controller.ts +40 -40
  295. package/src/module/user/dto/create-user.dto.ts +62 -62
  296. package/src/module/user/dto/update-user.dto.ts +4 -4
  297. package/src/module/user/entity/role.entity.ts +33 -33
  298. package/src/module/user/entity/user-role-mapping.entity.ts +38 -38
  299. package/src/module/user/entity/user-session.entity.ts +73 -73
  300. package/src/module/user/entity/user.entity.ts +59 -59
  301. package/src/module/user/repository/role.repository.ts +96 -96
  302. package/src/module/user/repository/user-role-mapping.repository.ts +126 -126
  303. package/src/module/user/repository/user.repository.ts +50 -50
  304. package/src/module/user/repository/userSession.repository.ts +33 -33
  305. package/src/module/user/service/login.service.ts +290 -290
  306. package/src/module/user/service/role.service.ts +189 -189
  307. package/src/module/user/service/user-role-mapping.service.ts +98 -98
  308. package/src/module/user/service/user-session.service.ts +168 -168
  309. package/src/module/user/service/user.service.ts +365 -365
  310. package/src/module/user/user.module.ts +65 -65
  311. package/src/module/workflow/controller/action-category.controller.ts +54 -54
  312. package/src/module/workflow/controller/action-resource-mapping.controller.ts +23 -23
  313. package/src/module/workflow/controller/action-template-mapping.controller.ts +35 -35
  314. package/src/module/workflow/controller/action.controller.ts +111 -111
  315. package/src/module/workflow/controller/activity-log.controller.ts +55 -55
  316. package/src/module/workflow/controller/comm-template.controller.ts +43 -43
  317. package/src/module/workflow/controller/entity-modification.controller.ts +35 -35
  318. package/src/module/workflow/controller/form-master.controller.ts +43 -43
  319. package/src/module/workflow/controller/stage-group.controller.ts +48 -48
  320. package/src/module/workflow/controller/stage.controller.ts +50 -50
  321. package/src/module/workflow/controller/task.controller.ts +77 -77
  322. package/src/module/workflow/controller/workflow-list-master.controller.ts +44 -44
  323. package/src/module/workflow/controller/workflow-meta.controller.ts +80 -80
  324. package/src/module/workflow/controller/workflow.controller.ts +67 -67
  325. package/src/module/workflow/entity/action-category.entity.ts +38 -38
  326. package/src/module/workflow/entity/action-data.entity.ts +55 -55
  327. package/src/module/workflow/entity/action-resources-mapping.entity.ts +29 -29
  328. package/src/module/workflow/entity/action-template-mapping.entity.ts +17 -17
  329. package/src/module/workflow/entity/action.entity.ts +50 -50
  330. package/src/module/workflow/entity/activity-log.entity.ts +43 -43
  331. package/src/module/workflow/entity/comm-template.entity.ts +43 -43
  332. package/src/module/workflow/entity/entity-modification.entity.ts +38 -38
  333. package/src/module/workflow/entity/form.entity.ts +25 -25
  334. package/src/module/workflow/entity/stage-action-mapping.entity.ts +17 -17
  335. package/src/module/workflow/entity/stage-group.entity.ts +23 -23
  336. package/src/module/workflow/entity/stage-movement-data.entity.ts +38 -38
  337. package/src/module/workflow/entity/stage.entity.ts +20 -20
  338. package/src/module/workflow/entity/task-data.entity.ts +88 -88
  339. package/src/module/workflow/entity/template-attach-mapper.entity.ts +30 -30
  340. package/src/module/workflow/entity/workflow-data.entity.ts +11 -11
  341. package/src/module/workflow/entity/workflow-level-mapping.entity.ts +18 -18
  342. package/src/module/workflow/entity/workflow.entity.ts +20 -20
  343. package/src/module/workflow/repository/action-category.repository.ts +79 -79
  344. package/src/module/workflow/repository/action-data.repository.ts +333 -333
  345. package/src/module/workflow/repository/action.repository.ts +323 -323
  346. package/src/module/workflow/repository/activity-log.repository.ts +148 -148
  347. package/src/module/workflow/repository/comm-template.repository.ts +149 -149
  348. package/src/module/workflow/repository/form-master.repository.ts +59 -59
  349. package/src/module/workflow/repository/stage-group.repository.ts +176 -176
  350. package/src/module/workflow/repository/stage-movement.repository.ts +244 -244
  351. package/src/module/workflow/repository/stage.repository.ts +172 -172
  352. package/src/module/workflow/repository/task.repository.ts +127 -127
  353. package/src/module/workflow/repository/workflow.repository.ts +42 -42
  354. package/src/module/workflow/service/action-category.service.ts +33 -33
  355. package/src/module/workflow/service/action-data.service.ts +62 -62
  356. package/src/module/workflow/service/action-resources-mapping.service.ts +10 -10
  357. package/src/module/workflow/service/action-template-mapping.service.ts +106 -106
  358. package/src/module/workflow/service/action.service.ts +279 -279
  359. package/src/module/workflow/service/activity-log.service.ts +107 -107
  360. package/src/module/workflow/service/comm-template.service.ts +180 -180
  361. package/src/module/workflow/service/entity-modification.service.ts +67 -67
  362. package/src/module/workflow/service/form-master.service.ts +35 -35
  363. package/src/module/workflow/service/populate-workflow.service.ts +303 -303
  364. package/src/module/workflow/service/stage-action-mapping.service.ts +5 -5
  365. package/src/module/workflow/service/stage-group.service.ts +319 -319
  366. package/src/module/workflow/service/stage.service.ts +199 -199
  367. package/src/module/workflow/service/task.service.ts +560 -560
  368. package/src/module/workflow/service/workflow-list-master.service.ts +60 -60
  369. package/src/module/workflow/service/workflow-meta.service.ts +640 -640
  370. package/src/module/workflow/service/workflow.service.ts +205 -205
  371. package/src/module/workflow/workflow.module.ts +176 -176
  372. package/src/module/workflow-automation/controller/workflow-automation.controller.ts +21 -21
  373. package/src/module/workflow-automation/entity/workflow-automation-action.entity.ts +26 -26
  374. package/src/module/workflow-automation/entity/workflow-automation.entity.ts +35 -35
  375. package/src/module/workflow-automation/interface/action.decorator.ts +7 -7
  376. package/src/module/workflow-automation/interface/action.interface.ts +5 -5
  377. package/src/module/workflow-automation/service/action-registery.service.ts +35 -35
  378. package/src/module/workflow-automation/service/workflow-automation-engine.service.ts +214 -214
  379. package/src/module/workflow-automation/service/workflow-automation.service.ts +347 -347
  380. package/src/module/workflow-automation/workflow-automation.module.ts +34 -34
  381. package/src/resources/dev.properties.yaml +30 -30
  382. package/src/resources/local.properties.yaml +27 -27
  383. package/src/resources/properties.module.ts +12 -12
  384. package/src/resources/properties.yaml.ts +11 -11
  385. package/src/resources/uat.properties.yaml +31 -31
  386. package/src/table.config.ts +126 -126
  387. package/src/utils/dto/excel-data.dto.ts +14 -14
  388. package/src/utils/dto/excelsheet-data.dto.ts +5 -5
  389. package/src/utils/service/base64util.service.ts +18 -18
  390. package/src/utils/service/clockIDGenUtil.service.ts +21 -21
  391. package/src/utils/service/codeGenerator.service.ts +22 -22
  392. package/src/utils/service/dateUtil.service.ts +17 -17
  393. package/src/utils/service/encryptUtil.service.ts +97 -97
  394. package/src/utils/service/excel-helper.service.ts +72 -72
  395. package/src/utils/service/excelUtil.service.ts +15 -15
  396. package/src/utils/service/file-util.service.ts +11 -11
  397. package/src/utils/service/json-util.service.ts +23 -23
  398. package/src/utils/service/loggingUtil.service.ts +34 -34
  399. package/src/utils/service/reflection-helper.service.ts +62 -62
  400. package/src/utils/service/wbsCodeGen.service.ts +8 -8
  401. package/src/utils/utils.module.ts +25 -25
  402. package/tsconfig.build.json +4 -4
  403. package/tsconfig.json +24 -24
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.MicroserviceClientFactory = void 0;
13
+ const microservices_1 = require("@nestjs/microservices");
14
+ const common_1 = require("@nestjs/common");
15
+ const config_1 = require("@nestjs/config");
16
+ let MicroserviceClientFactory = class MicroserviceClientFactory {
17
+ constructor(config) {
18
+ this.config = config;
19
+ this.clients = new Map();
20
+ this.loadClients();
21
+ }
22
+ loadClients() {
23
+ const services = this.config.get('SERVICES')?.split(',') || [];
24
+ for (const service of services) {
25
+ const host = this.config.get(`${service}_HOST`);
26
+ const port = this.config.get(`${service}_PORT`);
27
+ if (!host || !port) {
28
+ continue;
29
+ }
30
+ const proxy = microservices_1.ClientProxyFactory.create({
31
+ transport: microservices_1.Transport.TCP,
32
+ options: { host, port },
33
+ });
34
+ this.clients.set(service, proxy);
35
+ }
36
+ }
37
+ getClient(appcode) {
38
+ return this.clients.get(appcode) || null;
39
+ }
40
+ };
41
+ exports.MicroserviceClientFactory = MicroserviceClientFactory;
42
+ exports.MicroserviceClientFactory = MicroserviceClientFactory = __decorate([
43
+ (0, common_1.Injectable)(),
44
+ __metadata("design:paramtypes", [config_1.ConfigService])
45
+ ], MicroserviceClientFactory);
46
+ //# sourceMappingURL=microservice-client-factory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"microservice-client-factory.js","sourceRoot":"","sources":["../../../../src/module/microservice-client/service/microservice-client-factory.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yDAAmF;AAEnF,2CAA4C;AAC5C,2CAA+C;AAGxC,IAAM,yBAAyB,GAA/B,MAAM,yBAAyB;IAGpC,YAA6B,MAAqB;QAArB,WAAM,GAAN,MAAM,CAAe;QAF1C,YAAO,GAAqB,IAAI,GAAG,EAAE,CAAC;QAG5C,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAEO,WAAW;QACjB,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAS,UAAU,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAEvE,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAS,GAAG,OAAO,OAAO,CAAC,CAAC;YACxD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAS,GAAG,OAAO,OAAO,CAAC,CAAC;YAExD,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACnB,SAAS;YACX,CAAC;YAED,MAAM,KAAK,GAAG,kCAAkB,CAAC,MAAM,CAAC;gBACtC,SAAS,EAAE,yBAAS,CAAC,GAAG;gBACxB,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;aACxB,CAAC,CAAC;YAEH,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAED,SAAS,CAAC,OAAe;QACvB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC;IAC3C,CAAC;CAEF,CAAA;AA/BY,8DAAyB;oCAAzB,yBAAyB;IADrC,IAAA,mBAAU,GAAE;qCAI0B,sBAAa;GAHvC,yBAAyB,CA+BrC"}
@@ -0,0 +1,4 @@
1
+ import { ClientProxy } from '@nestjs/microservices';
2
+ export interface IMicroserviceClients {
3
+ getClient(appcode: string): ClientProxy | null;
4
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=microservice-clients.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"microservice-clients.js","sourceRoot":"","sources":["../../../../src/module/microservice-client/service/microservice-clients.ts"],"names":[],"mappings":""}
@@ -60,10 +60,10 @@ let MenuRepository = class MenuRepository extends typeorm_1.Repository {
60
60
  async getMenuItems(moduleCodes, appcode, levelType) {
61
61
  return await this.menuData
62
62
  .createQueryBuilder('menu')
63
- .leftJoin('sso_module', 'module', `
64
- menu.module_code = module.module_code
65
- AND LOWER(menu.appcode) = LOWER(module.appcode)
66
- AND menu.level_type = module.level_type
63
+ .leftJoin('sso_module', 'module', `
64
+ menu.module_code = module.module_code
65
+ AND LOWER(menu.appcode) = LOWER(module.appcode)
66
+ AND menu.level_type = module.level_type
67
67
  `)
68
68
  .where('menu.module_code IN (:...moduleCodes)', { moduleCodes })
69
69
  .andWhere('LOWER(menu.appcode) = LOWER(:appcode)', { appcode })
@@ -82,11 +82,11 @@ let MenuRepository = class MenuRepository extends typeorm_1.Repository {
82
82
  async resolveUserRoles(userId, appcode, levelType, levelId) {
83
83
  const repo = this.dataSource.getRepository(user_role_mapping_entity_1.UserRoleMapping);
84
84
  if (userId) {
85
- const getUserDetails = await this.dataSource.query(`
86
- SELECT * from sso_user where id = ?
85
+ const getUserDetails = await this.dataSource.query(`
86
+ SELECT * from sso_user where id = ?
87
87
  `, [userId]);
88
- const getUserUrm = await this.dataSource.query(`
89
- SELECT * from sso_user_role_mapping where user_id = ? and appcode = ?
88
+ const getUserUrm = await this.dataSource.query(`
89
+ SELECT * from sso_user_role_mapping where user_id = ? and appcode = ?
90
90
  `, [userId, appcode]);
91
91
  if (getUserDetails.length > 0 &&
92
92
  getUserDetails[0].organization_id === 1) {
@@ -105,10 +105,10 @@ let MenuRepository = class MenuRepository extends typeorm_1.Repository {
105
105
  if (roles.length)
106
106
  return roles.map((r) => r.urm_role_id);
107
107
  if (levelType === 'SCH') {
108
- const [sch] = await this.dataSource.query(`
109
- SELECT s.brand_id, s.organization_id
110
- FROM sso_school s
111
- WHERE s.id = ?
108
+ const [sch] = await this.dataSource.query(`
109
+ SELECT s.brand_id, s.organization_id
110
+ FROM sso_school s
111
+ WHERE s.id = ?
112
112
  `, [levelId]);
113
113
  const brandId = sch?.brand_id;
114
114
  const orgId = sch?.organization_id;
@@ -66,11 +66,11 @@ let NotificationsService = class NotificationsService {
66
66
  const isReadBool = String(filterQuery.is_read).toLowerCase() === 'true';
67
67
  isReadFilter = isReadBool ? 1 : 0;
68
68
  }
69
- let query = `
70
- SELECT
71
- n.*
72
- FROM frm_notification n
73
- WHERE n.user_id = ? AND n.level_id = ? AND n.level_type = ?
69
+ let query = `
70
+ SELECT
71
+ n.*
72
+ FROM frm_notification n
73
+ WHERE n.user_id = ? AND n.level_id = ? AND n.level_type = ?
74
74
  `;
75
75
  const params = [id, level_id, level_type];
76
76
  if (isReadFilter !== undefined) {
@@ -103,10 +103,10 @@ let NotificationsService = class NotificationsService {
103
103
  }
104
104
  async markAllAsRead(loggedInUser) {
105
105
  const { id, level_id, level_type } = loggedInUser;
106
- const query = `
107
- UPDATE frm_notification
108
- SET is_read = 1
109
- WHERE user_id = ? AND level_id = ? AND level_type = ? AND is_read = 0
106
+ const query = `
107
+ UPDATE frm_notification
108
+ SET is_read = 1
109
+ WHERE user_id = ? AND level_id = ? AND level_type = ? AND is_read = 0
110
110
  `;
111
111
  const params = [id, level_id, level_type];
112
112
  const result = await this.dataSource.query(query, params);
@@ -57,27 +57,27 @@ let LoginController = class LoginController {
57
57
  try {
58
58
  const actualState = state.replace('gmail_config:', '');
59
59
  const result = await this.integrationService.handleGmailTokensCallback(email, googleAccessToken, googleRefreshToken, actualState);
60
- return res.send(`<html><body><script>
61
- window.opener.postMessage({ type: 'CONFIG_SUCCESS' }, '*');
62
- window.close();
60
+ return res.send(`<html><body><script>
61
+ window.opener.postMessage({ type: 'CONFIG_SUCCESS' }, '*');
62
+ window.close();
63
63
  </script> <p>Configuration successful. You can close this window.</p> </body></html>`);
64
64
  }
65
65
  catch (error) {
66
- return res.send(`
67
- <html>
68
- <body>
69
- <script>
70
- if (window.opener) {
71
- window.opener.postMessage({
72
- type: "CONFIG_FAILED",
73
- error: "${error.message || 'Something went wrong'}"
74
- }, "*");
75
- }
76
- window.close();
77
- </script>
78
- <p>Configuration failed. Please close this window.</p>
79
- </body>
80
- </html>
66
+ return res.send(`
67
+ <html>
68
+ <body>
69
+ <script>
70
+ if (window.opener) {
71
+ window.opener.postMessage({
72
+ type: "CONFIG_FAILED",
73
+ error: "${error.message || 'Something went wrong'}"
74
+ }, "*");
75
+ }
76
+ window.close();
77
+ </script>
78
+ <p>Configuration failed. Please close this window.</p>
79
+ </body>
80
+ </html>
81
81
  `);
82
82
  }
83
83
  }
@@ -76,10 +76,10 @@ let RoleService = class RoleService extends entity_service_impl_service_1.Entity
76
76
  if (!existingRole) {
77
77
  return { success: false, error: 'Role not found' };
78
78
  }
79
- const associatedUsers = await this.entityManager.query(`SELECT map.*
80
- FROM sso_user_role_mapping map
81
- JOIN sso_user usr ON map.user_id = usr.id
82
- WHERE usr.status = ${resolveStatus.id}
79
+ const associatedUsers = await this.entityManager.query(`SELECT map.*
80
+ FROM sso_user_role_mapping map
81
+ JOIN sso_user usr ON map.user_id = usr.id
82
+ WHERE usr.status = ${resolveStatus.id}
83
83
  and map.role_id = ${existingRole?.id}`);
84
84
  if (associatedUsers.length > 0) {
85
85
  return {
@@ -71,8 +71,8 @@ let UserSessionService = class UserSessionService {
71
71
  };
72
72
  let getUserDetails;
73
73
  if (currentUser) {
74
- getUserDetails = await this.dataSource.query(`
75
- SELECT * from sso_user where id = ?
74
+ getUserDetails = await this.dataSource.query(`
75
+ SELECT * from sso_user where id = ?
76
76
  `, [currentUser.id]);
77
77
  }
78
78
  if (getUserDetails[0].organization_id == 1 && payload.level_type == 'ORG') {
@@ -24,10 +24,10 @@ let ActionRepository = class ActionRepository {
24
24
  }
25
25
  async getReasonCode(loggedInUser) {
26
26
  const { organization_id } = loggedInUser;
27
- const result = await this.dataSource.query(`
28
- SELECT name, type
29
- FROM frm_list_master
30
- WHERE organization_id = ? AND source = 'master'
27
+ const result = await this.dataSource.query(`
28
+ SELECT name, type
29
+ FROM frm_list_master
30
+ WHERE organization_id = ? AND source = 'master'
31
31
  `, [organization_id]);
32
32
  const formatted = result.map((item) => ({
33
33
  label: item.name,
@@ -40,10 +40,10 @@ let ActionRepository = class ActionRepository {
40
40
  if (!list_type) {
41
41
  throw new common_1.BadRequestException('list_type is required');
42
42
  }
43
- const result = await this.dataSource.query(`
44
- SELECT name, id
45
- FROM frm_list_master_items
46
- WHERE listtype = ? AND organization_id = ?
43
+ const result = await this.dataSource.query(`
44
+ SELECT name, id
45
+ FROM frm_list_master_items
46
+ WHERE listtype = ? AND organization_id = ?
47
47
  `, [list_type, organization_id]);
48
48
  return result.map((row) => ({
49
49
  label: row.name,
@@ -52,19 +52,19 @@ let ActionRepository = class ActionRepository {
52
52
  }
53
53
  async getActions(loggedInUser, stage_id) {
54
54
  const { organization_id } = loggedInUser;
55
- const stageActions = await this.dataSource.query(`
56
- SELECT id, action_id
57
- FROM frm_wf_stage_action_mapping
58
- WHERE stage_id = ?
55
+ const stageActions = await this.dataSource.query(`
56
+ SELECT id, action_id
57
+ FROM frm_wf_stage_action_mapping
58
+ WHERE stage_id = ?
59
59
  `, [stage_id]);
60
60
  if (!stageActions?.length)
61
61
  return [];
62
62
  const actionIds = stageActions.map((sa) => sa.action_id);
63
63
  const mappingIds = stageActions.map((sa) => sa.id);
64
- const templateMappings = await this.dataSource.query(`
65
- SELECT stg_act_mapping_id, template_code
66
- FROM frm_wf_action_template_mapping
67
- WHERE stg_act_mapping_id IN (${mappingIds.map(() => '?').join(',')})
64
+ const templateMappings = await this.dataSource.query(`
65
+ SELECT stg_act_mapping_id, template_code
66
+ FROM frm_wf_action_template_mapping
67
+ WHERE stg_act_mapping_id IN (${mappingIds.map(() => '?').join(',')})
68
68
  `, mappingIds);
69
69
  const templateCodes = templateMappings.map((tm) => tm.template_code);
70
70
  const templateCodeToName = {};
@@ -127,10 +127,10 @@ let ActionRepository = class ActionRepository {
127
127
  return enrichedResult;
128
128
  }
129
129
  async getDependentActions(loggedInUser, stage_id, action_id) {
130
- const stageActions = await this.dataSource.query(`
131
- SELECT action_id
132
- FROM frm_wf_stage_action_mapping
133
- WHERE stage_id = ?
130
+ const stageActions = await this.dataSource.query(`
131
+ SELECT action_id
132
+ FROM frm_wf_stage_action_mapping
133
+ WHERE stage_id = ?
134
134
  `, [stage_id]);
135
135
  if (!stageActions?.length)
136
136
  return [];
@@ -30,17 +30,17 @@ let CommTemplateRepository = class CommTemplateRepository {
30
30
  const { organization_id, level_id, level_type } = loggedInUser;
31
31
  let is_template;
32
32
  if (action_id) {
33
- const [actionResult] = await this.dataSource.query(`SELECT is_template
34
- FROM frm_wf_action
35
- WHERE id = ? AND organization_id = ?
33
+ const [actionResult] = await this.dataSource.query(`SELECT is_template
34
+ FROM frm_wf_action
35
+ WHERE id = ? AND organization_id = ?
36
36
  LIMIT 1`, [action_id, organization_id]);
37
37
  if (!actionResult) {
38
38
  throw new Error('Invalid action_id');
39
39
  }
40
40
  is_template = actionResult.is_template;
41
- await this.dataSource.query(`UPDATE frm_wf_comm_template
42
- SET is_template = ?
43
- WHERE mapped_entity_type = ?
41
+ await this.dataSource.query(`UPDATE frm_wf_comm_template
42
+ SET is_template = ?
43
+ WHERE mapped_entity_type = ?
44
44
  AND organization_id = ? AND level_id = ? AND level_type=?`, [is_template, entity_type, organization_id, level_id, level_type]);
45
45
  }
46
46
  const whereCondition = {
@@ -17,8 +17,8 @@ let FormMasterRepository = class FormMasterRepository {
17
17
  this.dataSource = dataSource;
18
18
  }
19
19
  async getForms(organization_id, source_entity_type) {
20
- const forms = await this.dataSource.query(`SELECT fm.id as fm_id, fm.name as fm_form_name
21
- FROM frm_entity_view fm
20
+ const forms = await this.dataSource.query(`SELECT fm.id as fm_id, fm.name as fm_form_name
21
+ FROM frm_entity_view fm
22
22
  WHERE fm.organization_id = ? AND fm.mapped_entity_type = ?`, [organization_id, source_entity_type]);
23
23
  const formatted = forms.map((form) => ({
24
24
  label: form.fm_form_name,
@@ -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
- frm_wf_stage.*
73
- FROM frm_wf_stage
74
- WHERE frm_wf_stage.stage_group_id IN (${stageGroupIds.map(() => '?').join(',')})
75
- AND frm_wf_stage.organization_id = ?
76
- ORDER BY frm_wf_stage.sequence ASC
70
+ const stagesRaw = await this.dataSource.query(`
71
+ SELECT
72
+ frm_wf_stage.*
73
+ FROM frm_wf_stage
74
+ WHERE frm_wf_stage.stage_group_id IN (${stageGroupIds.map(() => '?').join(',')})
75
+ AND frm_wf_stage.organization_id = ?
76
+ ORDER BY frm_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 frm_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 frm_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,24 +107,24 @@ let StageMovementRepository = class StageMovementRepository {
107
107
  return nextStageGroupFirstStage || null;
108
108
  }
109
109
  async getAllActionByStageId(stageId) {
110
- const result = await this.dataSource.query(`
111
- SELECT
112
- a.*,
113
- m.id AS mapping_id,
114
- m.stage_id,
115
- ac.code AS action_category_code
116
- FROM frm_wf_action a
117
- LEFT JOIN frm_wf_stage_action_mapping m ON a.id = m.action_id
118
- LEFT JOIN frm_wf_action_category ac ON a.action_category = ac.id
119
- WHERE m.stage_id = ?
110
+ const result = await this.dataSource.query(`
111
+ SELECT
112
+ a.*,
113
+ m.id AS mapping_id,
114
+ m.stage_id,
115
+ ac.code AS action_category_code
116
+ FROM frm_wf_action a
117
+ LEFT JOIN frm_wf_stage_action_mapping m ON a.id = m.action_id
118
+ LEFT JOIN frm_wf_action_category ac ON a.action_category = ac.id
119
+ WHERE m.stage_id = ?
120
120
  `, [stageId]);
121
121
  for (const item of result) {
122
122
  if (item.action_category_code === 'SDFM') {
123
- const actionData = await this.dataSource.query(`
124
- SELECT arm.form_id
125
- FROM frm_wf_action_resources_mapping arm
126
- WHERE arm.stg_act_mapping_id = ? and form_id IS NOT NULL
127
- LIMIT 1
123
+ const actionData = await this.dataSource.query(`
124
+ SELECT arm.form_id
125
+ FROM frm_wf_action_resources_mapping arm
126
+ WHERE arm.stg_act_mapping_id = ? and form_id IS NOT NULL
127
+ LIMIT 1
128
128
  `, [item.mapping_id]);
129
129
  item.form_id = actionData[0]?.form_id || null;
130
130
  }
@@ -62,14 +62,14 @@ let StageRepository = class StageRepository {
62
62
  if (!stageGroup) {
63
63
  return [];
64
64
  }
65
- const rows = await this.dataSource.query(`
66
- SELECT
67
- g.id as stage_group_id, g.name as stage_group_name, g.workflow_id,
68
- s.*
69
- FROM frm_wf_stage_group g
70
- INNER JOIN frm_wf_stage s ON s.stage_group_id = g.id
71
- WHERE g.workflow_id = ? AND g.organization_id = ? AND g.id = ?
72
- ORDER BY g.id, s.id
65
+ const rows = await this.dataSource.query(`
66
+ SELECT
67
+ g.id as stage_group_id, g.name as stage_group_name, g.workflow_id,
68
+ s.*
69
+ FROM frm_wf_stage_group g
70
+ INNER JOIN frm_wf_stage s ON s.stage_group_id = g.id
71
+ WHERE g.workflow_id = ? AND g.organization_id = ? AND g.id = ?
72
+ ORDER BY g.id, s.id
73
73
  `, [stageGroup.workflow_id, organization_id, stage_group_id]);
74
74
  if (!rows || rows.length === 0) {
75
75
  return [];
@@ -21,26 +21,26 @@ let ActionTemplateMappingService = class ActionTemplateMappingService extends en
21
21
  async getTemplateByMode(stage_id, action_id, loggedInUser, mode) {
22
22
  let stageAction = [];
23
23
  if (action_id != 0) {
24
- stageAction = await this.dataSource.query(`
25
- SELECT id FROM frm_wf_stage_action_mapping
26
- WHERE action_id = ?
24
+ stageAction = await this.dataSource.query(`
25
+ SELECT id FROM frm_wf_stage_action_mapping
26
+ WHERE action_id = ?
27
27
  `, [action_id]);
28
28
  }
29
29
  else {
30
30
  let modeId = mode;
31
31
  if (!modeId) {
32
- const rows = await this.dataSource.query(`
33
- SELECT id
34
- FROM frm_list_master_items
35
- WHERE organization_id = ?
36
- AND listtype = "MOD" AND code = ?
32
+ const rows = await this.dataSource.query(`
33
+ SELECT id
34
+ FROM frm_list_master_items
35
+ WHERE organization_id = ?
36
+ AND listtype = "MOD" AND code = ?
37
37
  `, [loggedInUser.organization_id, 'email']);
38
38
  modeId = rows?.[0]?.id ?? 0;
39
39
  }
40
- const commTemplates = await this.dataSource.query(`
41
- SELECT code as value, name as label , id
42
- FROM frm_wf_comm_template
43
- WHERE mode = ? AND organization_id = ? AND level_type = ? AND level_id = ? AND status IN (SELECT id FROM frm_list_master_items WHERE code = "STATUS_ACTIVE" AND organization_id = ?)
40
+ const commTemplates = await this.dataSource.query(`
41
+ SELECT code as value, name as label , id
42
+ FROM frm_wf_comm_template
43
+ WHERE mode = ? AND organization_id = ? AND level_type = ? AND level_id = ? AND status IN (SELECT id FROM frm_list_master_items WHERE code = "STATUS_ACTIVE" AND organization_id = ?)
44
44
  `, [
45
45
  modeId,
46
46
  loggedInUser.organization_id,
@@ -54,23 +54,23 @@ let ActionTemplateMappingService = class ActionTemplateMappingService extends en
54
54
  return [];
55
55
  const stgActMappingId = stageAction[0].id;
56
56
  if (!mode) {
57
- const getModeFromAction = await this.dataSource.query(`
58
- SELECT mode FROM frm_wf_action
59
- WHERE id = ?
57
+ const getModeFromAction = await this.dataSource.query(`
58
+ SELECT mode FROM frm_wf_action
59
+ WHERE id = ?
60
60
  `, [action_id]);
61
61
  mode = getModeFromAction[0]?.mode;
62
62
  }
63
- const templates = await this.dataSource.query(`
64
- SELECT template_code FROM frm_wf_action_resources_mapping
65
- WHERE stg_act_mapping_id = ?
63
+ const templates = await this.dataSource.query(`
64
+ SELECT template_code FROM frm_wf_action_resources_mapping
65
+ WHERE stg_act_mapping_id = ?
66
66
  `, [stgActMappingId]);
67
67
  const templateCodes = templates.map((t) => t.template_code);
68
68
  if (!templateCodes.length)
69
69
  return [];
70
- const commTemplates = await this.dataSource.query(`
71
- SELECT code as value, name as label , id
72
- FROM frm_wf_comm_template
73
- WHERE code IN (?) AND mode = ? AND organization_id = ? AND level_type = ? AND level_id = ? AND status IN (SELECT id FROM frm_list_master_items WHERE code = "STATUS_ACTIVE" AND organization_id = ?)
70
+ const commTemplates = await this.dataSource.query(`
71
+ SELECT code as value, name as label , id
72
+ FROM frm_wf_comm_template
73
+ WHERE code IN (?) AND mode = ? AND organization_id = ? AND level_type = ? AND level_id = ? AND status IN (SELECT id FROM frm_list_master_items WHERE code = "STATUS_ACTIVE" AND organization_id = ?)
74
74
  `, [
75
75
  templateCodes,
76
76
  mode,
@@ -25,12 +25,12 @@ let ActionService = class ActionService extends entity_service_impl_service_1.En
25
25
  if (!actionData) {
26
26
  return null;
27
27
  }
28
- const result = await this.dataSource.query(`SELECT template_code, form_id
29
- FROM frm_wf_action_resources_mapping
30
- WHERE stg_act_mapping_id IN (
31
- SELECT id
32
- FROM frm_wf_stage_action_mapping
33
- WHERE action_id = ? AND entity_type = 'WFSA'
28
+ const result = await this.dataSource.query(`SELECT template_code, form_id
29
+ FROM frm_wf_action_resources_mapping
30
+ WHERE stg_act_mapping_id IN (
31
+ SELECT id
32
+ FROM frm_wf_stage_action_mapping
33
+ WHERE action_id = ? AND entity_type = 'WFSA'
34
34
  )`, [actionData.id]);
35
35
  const templates = result
36
36
  .filter((t) => t.template_code !== null)
@@ -136,7 +136,7 @@ let ActionService = class ActionService extends entity_service_impl_service_1.En
136
136
  return action;
137
137
  }
138
138
  async deleteEntity(entityType, id, loggedInUser) {
139
- await this.dataSource.query(`DELETE FROM frm_wf_action_template_mapping WHERE stg_act_mapping_id IN (SELECT
139
+ await this.dataSource.query(`DELETE FROM frm_wf_action_template_mapping WHERE stg_act_mapping_id IN (SELECT
140
140
  id FROM frm_wf_stage_action_mapping WHERE action_id = ? AND entity_type = 'WFSA')`, [id]);
141
141
  await this.dataSource.query(`DELETE FROM frm_wf_stage_action_mapping WHERE action_id = ? AND entity_type ='WFSA'`, [id]);
142
142
  const deleteAction = await super.deleteEntity(entityType, id, loggedInUser);
@@ -24,17 +24,17 @@ let EntityModificationService = class EntityModificationService extends entity_s
24
24
  if (!mapped_entity_type || !mapped_entity_id || !attribute_key) {
25
25
  throw new common_1.BadRequestException('Missing required modification data: mapped_entity_type, mapped_entity_id, or attribute_key');
26
26
  }
27
- const [entityMeta] = await this.dataSource.query(`
28
- SELECT db_table_name
29
- FROM frm_entity_master
30
- WHERE mapped_entity_type = ? AND organization_id = ?
27
+ const [entityMeta] = await this.dataSource.query(`
28
+ SELECT db_table_name
29
+ FROM frm_entity_master
30
+ WHERE mapped_entity_type = ? AND organization_id = ?
31
31
  `, [mapped_entity_type, organization_id]);
32
32
  if (!entityMeta || !entityMeta.db_table_name) {
33
33
  throw new common_1.NotFoundException('Entity metadata not found in frm_entity_master');
34
34
  }
35
35
  const tableName = entityMeta.db_table_name;
36
- const [entityRow] = await this.dataSource.query(`
37
- SELECT * FROM ${tableName} WHERE id = ?
36
+ const [entityRow] = await this.dataSource.query(`
37
+ SELECT * FROM ${tableName} WHERE id = ?
38
38
  `, [mapped_entity_id]);
39
39
  if (!entityRow) {
40
40
  throw new common_1.NotFoundException(`No record found in ${tableName} with ID ${mapped_entity_id}`);
@@ -38,8 +38,8 @@ let StageGroupService = class StageGroupService extends entity_service_impl_serv
38
38
  }
39
39
  async getAllStageGroup(workflow_id, organization_id) {
40
40
  const allStageGroup = await this.stageGroupRepository.getAllStageGroup(workflow_id, organization_id);
41
- const statusListMaster = await this.dataSource.query(`SELECT id, name
42
- FROM frm_list_master_items
41
+ const statusListMaster = await this.dataSource.query(`SELECT id, name
42
+ FROM frm_list_master_items
43
43
  WHERE listtype = 'STS' AND organization_id = ?`, [organization_id]);
44
44
  const statusMap = new Map(statusListMaster.map((s) => [String(s.id), s.name]));
45
45
  for (const stage of allStageGroup) {
@@ -35,8 +35,8 @@ let StageService = StageService_1 = class StageService extends entity_service_im
35
35
  async getAllStage(payload, organization_id, show_previous) {
36
36
  if (!show_previous) {
37
37
  const allStages = await this.stageRepository.getAllStage(payload.stage_group_id, organization_id);
38
- const statusListMaster = await this.dataSource.query(`SELECT id, name
39
- FROM frm_list_master_items
38
+ const statusListMaster = await this.dataSource.query(`SELECT id, name
39
+ FROM frm_list_master_items
40
40
  WHERE listtype = 'STS' AND organization_id = ?`, [organization_id]);
41
41
  const statusMap = new Map(statusListMaster.map((s) => [String(s.id), s.name]));
42
42
  for (const stage of allStages) {