rez_core 4.0.88 → 4.0.91

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 (385) hide show
  1. package/.idea/250218_nodejs_core.iml +11 -8
  2. package/.idea/codeStyles/Project.xml +58 -58
  3. package/.idea/codeStyles/codeStyleConfig.xml +4 -4
  4. package/.idea/inspectionProfiles/Project_Default.xml +1 -1
  5. package/.idea/modules.xml +7 -7
  6. package/.idea/prettier.xml +5 -5
  7. package/.idea/vcs.xml +5 -5
  8. package/.prettierrc +3 -3
  9. package/README.md +99 -99
  10. package/dist/module/auth/guards/role.guard.js +3 -3
  11. package/dist/module/auth/services/auth.service.js +2 -2
  12. package/dist/module/filter/repository/saved-filter.repository.js +4 -4
  13. package/dist/module/filter/service/filter-evaluator.service.js +2 -2
  14. package/dist/module/filter/service/filter.service.js +32 -23
  15. package/dist/module/filter/service/filter.service.js.map +1 -1
  16. package/dist/module/integration/examples/usage.example.js +9 -9
  17. package/dist/module/integration/service/integration.service.js +10 -1
  18. package/dist/module/integration/service/integration.service.js.map +1 -1
  19. package/dist/module/integration/service/wrapper.service.js +25 -25
  20. package/dist/module/listmaster/service/list-master-item.service.js +2 -2
  21. package/dist/module/mapper/service/field-mapper.service.js +4 -4
  22. package/dist/module/mapper/service/mapper.service.js +2 -2
  23. package/dist/module/meta/service/entity-dynamic.service.js +18 -18
  24. package/dist/module/meta/service/entity-list.service.js +3 -3
  25. package/dist/module/meta/service/entity-master.service.js +3 -3
  26. package/dist/module/meta/service/entity-relation.service.js +11 -11
  27. package/dist/module/meta/service/entity-service-impl.service.js +3 -3
  28. package/dist/module/meta/service/resolver.service.js +3 -3
  29. package/dist/module/module/repository/menu.repository.js +12 -12
  30. package/dist/module/notification/service/notification.service.js +9 -9
  31. package/dist/module/user/controller/login.controller.js +18 -18
  32. package/dist/module/user/service/role.service.js +4 -4
  33. package/dist/module/user/service/user-session.service.js +2 -2
  34. package/dist/module/workflow/repository/action.repository.js +20 -20
  35. package/dist/module/workflow/repository/comm-template.repository.js +6 -6
  36. package/dist/module/workflow/repository/form-master.repository.js +2 -2
  37. package/dist/module/workflow/repository/stage-group.repository.js +23 -23
  38. package/dist/module/workflow/repository/stage-movement.repository.js +15 -15
  39. package/dist/module/workflow/repository/stage.repository.js +8 -8
  40. package/dist/module/workflow/service/action-template-mapping.service.js +22 -22
  41. package/dist/module/workflow/service/action.service.js +7 -7
  42. package/dist/module/workflow/service/entity-modification.service.js +6 -6
  43. package/dist/module/workflow/service/stage-group.service.js +2 -2
  44. package/dist/module/workflow/service/stage.service.js +2 -2
  45. package/dist/module/workflow/service/task.service.js +28 -28
  46. package/dist/module/workflow/service/workflow-list-master.service.js +15 -15
  47. package/dist/module/workflow/service/workflow-meta.service.js +35 -35
  48. package/dist/module/workflow/service/workflow.service.js +2 -2
  49. package/dist/tsconfig.build.tsbuildinfo +1 -1
  50. package/dist/utils/service/reflection-helper.service.js +2 -2
  51. package/docs/modules/event-driven-integration-design.md +91 -91
  52. package/docs/modules/integration.md +250 -250
  53. package/eslint.config.mjs +34 -34
  54. package/nest-cli.json +14 -14
  55. package/package.json +118 -118
  56. package/src/app.controller.ts +12 -12
  57. package/src/app.module.ts +49 -49
  58. package/src/app.service.ts +8 -8
  59. package/src/config/config.module.ts +18 -18
  60. package/src/config/database.config.ts +23 -23
  61. package/src/constant/global.constant.ts +67 -67
  62. package/src/core.module.ts +81 -81
  63. package/src/decorators/roles.decorator.ts +7 -7
  64. package/src/dtos/response.dto.ts +6 -6
  65. package/src/dtos/response.ts +5 -5
  66. package/src/index.ts +1 -1
  67. package/src/module/auth/auth.module.ts +49 -49
  68. package/src/module/auth/controller/auth.controller.ts +28 -28
  69. package/src/module/auth/guards/google-auth.guard.ts +9 -9
  70. package/src/module/auth/guards/jwt.guard.ts +22 -22
  71. package/src/module/auth/guards/role.guard.ts +68 -68
  72. package/src/module/auth/services/auth.service.ts +50 -50
  73. package/src/module/auth/services/jwt.service.ts +11 -11
  74. package/src/module/auth/strategies/google.strategy.ts +54 -54
  75. package/src/module/auth/strategies/jwt.strategy.ts +58 -58
  76. package/src/module/auth/strategies/local.strategy.ts +13 -13
  77. package/src/module/dashboard/controller/dashboard.controller.ts +36 -36
  78. package/src/module/dashboard/dashboard.module.ts +21 -21
  79. package/src/module/dashboard/entity/dashboard_page_data.entity.ts +27 -27
  80. package/src/module/dashboard/entity/widget_master.entity.ts +18 -18
  81. package/src/module/dashboard/repository/dashboard.repository.ts +42 -42
  82. package/src/module/dashboard/service/dashboard.service.ts +73 -73
  83. package/src/module/dev/dev.module.ts +12 -12
  84. package/src/module/dev/service/dev.service.ts +7 -7
  85. package/src/module/enterprise/controller/organization.controller.ts +36 -36
  86. package/src/module/enterprise/enterprise.module.ts +30 -30
  87. package/src/module/enterprise/entity/enterprise.entity.ts +37 -37
  88. package/src/module/enterprise/entity/organization-app-mapping.entity.ts +13 -13
  89. package/src/module/enterprise/entity/organization.entity.ts +92 -92
  90. package/src/module/enterprise/repository/enterprise.repository.ts +31 -31
  91. package/src/module/enterprise/repository/organization.repository.ts +26 -26
  92. package/src/module/enterprise/repository/school.repository.ts +278 -278
  93. package/src/module/enterprise/service/brand.service.ts +5 -5
  94. package/src/module/enterprise/service/enterprise.service.ts +16 -16
  95. package/src/module/enterprise/service/organization-app-mapping.service.ts +4 -4
  96. package/src/module/enterprise/service/organization.service.ts +145 -145
  97. package/src/module/filter/controller/filter.controller.ts +84 -84
  98. package/src/module/filter/dto/filter-request.dto.ts +38 -38
  99. package/src/module/filter/entity/saved-filter-detail.entity.ts +41 -41
  100. package/src/module/filter/entity/saved-filter-master.entity.ts +23 -23
  101. package/src/module/filter/filter.module.ts +31 -31
  102. package/src/module/filter/repository/saved-filter.repository.ts +168 -168
  103. package/src/module/filter/service/filter-evaluator.service.ts +86 -86
  104. package/src/module/filter/service/filter.service.ts +941 -930
  105. package/src/module/filter/service/saved-filter.service.ts +170 -170
  106. package/src/module/ics/controller/ics.controller.ts +21 -21
  107. package/src/module/ics/dto/ics.dto.ts +55 -55
  108. package/src/module/ics/ics.module.ts +13 -13
  109. package/src/module/ics/service/ics.service.ts +57 -57
  110. package/src/module/integration/controller/calender-event.controller.ts +31 -31
  111. package/src/module/integration/controller/integration.controller.ts +662 -662
  112. package/src/module/integration/controller/wrapper.controller.ts +37 -37
  113. package/src/module/integration/dto/create-config.dto.ts +526 -526
  114. package/src/module/integration/entity/integration-config.entity.ts +112 -112
  115. package/src/module/integration/entity/integration-entity-mapper.entity.ts +14 -14
  116. package/src/module/integration/entity/integration-source.entity.ts +17 -17
  117. package/src/module/integration/entity/user-integration.entity.ts +71 -71
  118. package/src/module/integration/examples/usage.example.ts +338 -338
  119. package/src/module/integration/factories/base.factory.ts +7 -7
  120. package/src/module/integration/factories/email.factory.ts +49 -49
  121. package/src/module/integration/factories/integration.factory.ts +121 -121
  122. package/src/module/integration/factories/sms.factory.ts +51 -51
  123. package/src/module/integration/factories/telephone.factory.ts +41 -41
  124. package/src/module/integration/factories/whatsapp.factory.ts +56 -56
  125. package/src/module/integration/integration.module.ts +110 -110
  126. package/src/module/integration/service/calendar-event.service.ts +118 -118
  127. package/src/module/integration/service/integration-entity-mapper.service.ts +17 -17
  128. package/src/module/integration/service/integration-queue.service.ts +229 -229
  129. package/src/module/integration/service/integration.service.ts +2633 -2621
  130. package/src/module/integration/service/oauth.service.ts +224 -224
  131. package/src/module/integration/service/wrapper.service.ts +499 -499
  132. package/src/module/integration/strategies/email/gmail-api.strategy.ts +280 -280
  133. package/src/module/integration/strategies/email/outlook-api.strategy.ts +44 -44
  134. package/src/module/integration/strategies/email/outlook.strategy.ts +64 -64
  135. package/src/module/integration/strategies/email/sendgrid-api.strategy.ts +260 -260
  136. package/src/module/integration/strategies/integration.strategy.ts +97 -97
  137. package/src/module/integration/strategies/sms/gupshup-sms.strategy.ts +146 -146
  138. package/src/module/integration/strategies/sms/msg91-sms.strategy.ts +164 -164
  139. package/src/module/integration/strategies/sms/tubelight-sms.strategy.ts +163 -163
  140. package/src/module/integration/strategies/telephone/ozonetel-voice.strategy.ts +238 -238
  141. package/src/module/integration/strategies/telephone/tubelight-voice.strategy.ts +210 -210
  142. package/src/module/integration/strategies/whatsapp/gupshup-whatsapp.strategy.ts +359 -359
  143. package/src/module/integration/strategies/whatsapp/tubelight-whatsapp.strategy.ts +372 -372
  144. package/src/module/integration/strategies/whatsapp/whatsapp-cloud.strategy.ts +403 -403
  145. package/src/module/integration/strategies/whatsapp/whatsapp.strategy.ts +57 -57
  146. package/src/module/layout/controller/layout.controller.ts +47 -47
  147. package/src/module/layout/entity/header-items.entity.ts +28 -28
  148. package/src/module/layout/entity/header-section.entity.ts +19 -19
  149. package/src/module/layout/layout.module.ts +21 -21
  150. package/src/module/layout/repository/header-items.repository.ts +18 -18
  151. package/src/module/layout/repository/header-section.repository.ts +22 -22
  152. package/src/module/layout/service/header-section.service.ts +25 -25
  153. package/src/module/layout_preference/controller/layout_preference.controller.ts +47 -47
  154. package/src/module/layout_preference/entity/layout_preference.entity.ts +28 -28
  155. package/src/module/layout_preference/layout_preference.module.ts +18 -18
  156. package/src/module/layout_preference/repository/layout_preference.repository.ts +30 -30
  157. package/src/module/layout_preference/service/layout_preference.service.ts +172 -172
  158. package/src/module/lead/controller/lead.controller.ts +30 -30
  159. package/src/module/lead/lead.module.ts +14 -14
  160. package/src/module/lead/repository/lead.repository.ts +41 -41
  161. package/src/module/lead/service/lead.service.ts +54 -54
  162. package/src/module/listmaster/controller/list-master.controller.ts +187 -187
  163. package/src/module/listmaster/entity/list-master-items.entity.ts +43 -43
  164. package/src/module/listmaster/entity/list-master.entity.ts +33 -33
  165. package/src/module/listmaster/listmaster.module.ts +44 -44
  166. package/src/module/listmaster/repository/list-master-items.repository.ts +169 -169
  167. package/src/module/listmaster/repository/list-master.repository.ts +46 -46
  168. package/src/module/listmaster/service/list-master-engine.ts +19 -19
  169. package/src/module/listmaster/service/list-master-extension.interface.ts +4 -4
  170. package/src/module/listmaster/service/list-master-item.service.ts +292 -292
  171. package/src/module/listmaster/service/list-master-registry.ts +15 -15
  172. package/src/module/listmaster/service/list-master.service.ts +442 -442
  173. package/src/module/mapper/controller/field-mapper.controller.ts +76 -76
  174. package/src/module/mapper/controller/mapper.controller.ts +20 -20
  175. package/src/module/mapper/dto/field-mapper.dto.ts +14 -14
  176. package/src/module/mapper/entity/field-lovs.entity.ts +19 -19
  177. package/src/module/mapper/entity/field-mapper.entity.ts +53 -53
  178. package/src/module/mapper/entity/mapper.entity.ts +16 -16
  179. package/src/module/mapper/mapper.module.ts +34 -34
  180. package/src/module/mapper/repository/field-lovs.repository.ts +35 -35
  181. package/src/module/mapper/repository/field-mapper.repository.ts +42 -42
  182. package/src/module/mapper/repository/mapper.repository.ts +15 -15
  183. package/src/module/mapper/service/field-mapper.service.ts +266 -266
  184. package/src/module/mapper/service/mapper.service.ts +79 -79
  185. package/src/module/master/controller/master.controller.ts +74 -74
  186. package/src/module/master/service/master.service.ts +483 -483
  187. package/src/module/meta/controller/app-master.controller.ts +38 -38
  188. package/src/module/meta/controller/attribute-master.controller.ts +66 -66
  189. package/src/module/meta/controller/entity-dynamic.controller.ts +125 -125
  190. package/src/module/meta/controller/entity-master.controller.ts +28 -28
  191. package/src/module/meta/controller/entity-relation.controller.ts +36 -36
  192. package/src/module/meta/controller/entity.controller.ts +392 -392
  193. package/src/module/meta/controller/entity.public.controller.ts +75 -75
  194. package/src/module/meta/controller/media.controller.ts +107 -107
  195. package/src/module/meta/controller/meta.controller.ts +96 -96
  196. package/src/module/meta/controller/view-master.controller.ts +86 -86
  197. package/src/module/meta/dto/entity-list-data.dto.ts +6 -6
  198. package/src/module/meta/dto/entity-tab.dto.ts +4 -4
  199. package/src/module/meta/dto/entity-table.dto.ts +9 -9
  200. package/src/module/meta/entity/app-master.entity.ts +34 -34
  201. package/src/module/meta/entity/attribute-master.entity.ts +89 -89
  202. package/src/module/meta/entity/base-entity.entity.ts +75 -75
  203. package/src/module/meta/entity/entity-master.entity.ts +85 -85
  204. package/src/module/meta/entity/entity-relation-data.entity.ts +29 -29
  205. package/src/module/meta/entity/entity-relation.entity.ts +23 -23
  206. package/src/module/meta/entity/entity-table-column.entity.ts +61 -61
  207. package/src/module/meta/entity/entity-table.entity.ts +50 -50
  208. package/src/module/meta/entity/media-data.entity.ts +32 -32
  209. package/src/module/meta/entity/preference.entity.ts +62 -62
  210. package/src/module/meta/entity/view-master.entity.ts +41 -41
  211. package/src/module/meta/entity.module.ts +158 -158
  212. package/src/module/meta/repository/app-master.repository.ts +20 -20
  213. package/src/module/meta/repository/attribute-master.repository.ts +110 -110
  214. package/src/module/meta/repository/entity-master.repository.ts +69 -69
  215. package/src/module/meta/repository/entity-table-column.repository.ts +39 -39
  216. package/src/module/meta/repository/entity-table.repository.ts +53 -53
  217. package/src/module/meta/repository/media-data.repository.ts +50 -50
  218. package/src/module/meta/repository/preference.repository.ts +20 -20
  219. package/src/module/meta/repository/user-app-mapping.repository.ts +28 -28
  220. package/src/module/meta/repository/view-master.repository.ts +42 -42
  221. package/src/module/meta/service/app-master.service.ts +37 -37
  222. package/src/module/meta/service/attribute-master.service.ts +117 -117
  223. package/src/module/meta/service/common.service.ts +9 -9
  224. package/src/module/meta/service/entity-dynamic.service.ts +824 -824
  225. package/src/module/meta/service/entity-list.service.ts +205 -205
  226. package/src/module/meta/service/entity-master.service.ts +169 -169
  227. package/src/module/meta/service/entity-realation-data.service.ts +9 -9
  228. package/src/module/meta/service/entity-relation.service.ts +69 -69
  229. package/src/module/meta/service/entity-service-impl.service.ts +525 -525
  230. package/src/module/meta/service/entity-table-column.service.ts +39 -39
  231. package/src/module/meta/service/entity-table.service.ts +150 -150
  232. package/src/module/meta/service/entity-validation.service.ts +187 -187
  233. package/src/module/meta/service/entity.service.ts +67 -67
  234. package/src/module/meta/service/field-group.service.ts +103 -103
  235. package/src/module/meta/service/media-data.service.ts +507 -507
  236. package/src/module/meta/service/populate-meta.service.ts +193 -193
  237. package/src/module/meta/service/preference.service.ts +16 -16
  238. package/src/module/meta/service/resolver.service.ts +267 -267
  239. package/src/module/meta/service/section-master.service.ts +104 -104
  240. package/src/module/meta/service/update-form-json.service.ts +22 -22
  241. package/src/module/meta/service/user-app-mapping.service.ts +17 -17
  242. package/src/module/meta/service/view-master.service.ts +127 -127
  243. package/src/module/module/controller/menu.controller.ts +15 -15
  244. package/src/module/module/controller/module-access.controller.ts +134 -134
  245. package/src/module/module/entity/menu.entity.ts +43 -43
  246. package/src/module/module/entity/module-access.entity.ts +25 -25
  247. package/src/module/module/entity/module-action.entity.ts +17 -17
  248. package/src/module/module/entity/module.entity.ts +52 -52
  249. package/src/module/module/module.module.ts +42 -42
  250. package/src/module/module/repository/menu.repository.ts +184 -184
  251. package/src/module/module/repository/module-access.repository.ts +344 -344
  252. package/src/module/module/service/menu.service.ts +82 -82
  253. package/src/module/module/service/module-access.service.ts +209 -209
  254. package/src/module/notification/controller/notification.controller.ts +58 -58
  255. package/src/module/notification/controller/otp.controller.ts +117 -117
  256. package/src/module/notification/entity/notification.entity.ts +26 -26
  257. package/src/module/notification/entity/otp.entity.ts +28 -28
  258. package/src/module/notification/firebase-admin.config.ts +22 -22
  259. package/src/module/notification/notification.module.ts +69 -69
  260. package/src/module/notification/repository/otp.repository.ts +27 -27
  261. package/src/module/notification/service/email.service.ts +127 -127
  262. package/src/module/notification/service/notification.service.ts +163 -163
  263. package/src/module/notification/service/otp.service.ts +132 -132
  264. package/src/module/third-party-module/entity/third-party-api-registry.entity.ts +52 -52
  265. package/src/module/third-party-module/repository/third-party-api-registry.repository.ts +20 -20
  266. package/src/module/third-party-module/service/api-registry.service.ts +13 -13
  267. package/src/module/third-party-module/third-party.module.ts +12 -12
  268. package/src/module/user/controller/login.controller.ts +197 -197
  269. package/src/module/user/controller/user.controller.ts +40 -40
  270. package/src/module/user/dto/create-user.dto.ts +62 -62
  271. package/src/module/user/dto/update-user.dto.ts +4 -4
  272. package/src/module/user/entity/role.entity.ts +33 -33
  273. package/src/module/user/entity/user-role-mapping.entity.ts +38 -38
  274. package/src/module/user/entity/user-session.entity.ts +73 -73
  275. package/src/module/user/entity/user.entity.ts +59 -59
  276. package/src/module/user/repository/role.repository.ts +96 -96
  277. package/src/module/user/repository/user-role-mapping.repository.ts +126 -126
  278. package/src/module/user/repository/user.repository.ts +50 -50
  279. package/src/module/user/repository/userSession.repository.ts +33 -33
  280. package/src/module/user/service/login.service.ts +284 -284
  281. package/src/module/user/service/role.service.ts +189 -189
  282. package/src/module/user/service/user-role-mapping.service.ts +98 -98
  283. package/src/module/user/service/user-session.service.ts +168 -168
  284. package/src/module/user/service/user.service.ts +365 -365
  285. package/src/module/user/user.module.ts +65 -65
  286. package/src/module/workflow/controller/action-category.controller.ts +54 -54
  287. package/src/module/workflow/controller/action-resource-mapping.controller.ts +23 -23
  288. package/src/module/workflow/controller/action-template-mapping.controller.ts +35 -35
  289. package/src/module/workflow/controller/action.controller.ts +111 -111
  290. package/src/module/workflow/controller/activity-log.controller.ts +55 -55
  291. package/src/module/workflow/controller/comm-template.controller.ts +43 -43
  292. package/src/module/workflow/controller/entity-modification.controller.ts +35 -35
  293. package/src/module/workflow/controller/form-master.controller.ts +43 -43
  294. package/src/module/workflow/controller/stage-group.controller.ts +48 -48
  295. package/src/module/workflow/controller/stage.controller.ts +50 -50
  296. package/src/module/workflow/controller/task.controller.ts +77 -77
  297. package/src/module/workflow/controller/workflow-list-master.controller.ts +44 -44
  298. package/src/module/workflow/controller/workflow-meta.controller.ts +80 -80
  299. package/src/module/workflow/controller/workflow.controller.ts +67 -67
  300. package/src/module/workflow/entity/action-category.entity.ts +38 -38
  301. package/src/module/workflow/entity/action-data.entity.ts +55 -55
  302. package/src/module/workflow/entity/action-resources-mapping.entity.ts +29 -29
  303. package/src/module/workflow/entity/action-template-mapping.entity.ts +17 -17
  304. package/src/module/workflow/entity/action.entity.ts +50 -50
  305. package/src/module/workflow/entity/activity-log.entity.ts +43 -43
  306. package/src/module/workflow/entity/comm-template.entity.ts +43 -43
  307. package/src/module/workflow/entity/entity-modification.entity.ts +38 -38
  308. package/src/module/workflow/entity/form.entity.ts +25 -25
  309. package/src/module/workflow/entity/stage-action-mapping.entity.ts +17 -17
  310. package/src/module/workflow/entity/stage-group.entity.ts +23 -23
  311. package/src/module/workflow/entity/stage-movement-data.entity.ts +38 -38
  312. package/src/module/workflow/entity/stage.entity.ts +20 -20
  313. package/src/module/workflow/entity/task-data.entity.ts +88 -88
  314. package/src/module/workflow/entity/template-attach-mapper.entity.ts +30 -30
  315. package/src/module/workflow/entity/workflow-data.entity.ts +11 -11
  316. package/src/module/workflow/entity/workflow-level-mapping.entity.ts +18 -18
  317. package/src/module/workflow/entity/workflow.entity.ts +20 -20
  318. package/src/module/workflow/repository/action-category.repository.ts +79 -79
  319. package/src/module/workflow/repository/action-data.repository.ts +323 -323
  320. package/src/module/workflow/repository/action.repository.ts +323 -323
  321. package/src/module/workflow/repository/activity-log.repository.ts +148 -148
  322. package/src/module/workflow/repository/comm-template.repository.ts +149 -149
  323. package/src/module/workflow/repository/form-master.repository.ts +59 -59
  324. package/src/module/workflow/repository/stage-group.repository.ts +176 -176
  325. package/src/module/workflow/repository/stage-movement.repository.ts +244 -244
  326. package/src/module/workflow/repository/stage.repository.ts +172 -172
  327. package/src/module/workflow/repository/task.repository.ts +127 -127
  328. package/src/module/workflow/repository/workflow.repository.ts +42 -42
  329. package/src/module/workflow/service/action-category.service.ts +33 -33
  330. package/src/module/workflow/service/action-data.service.ts +62 -62
  331. package/src/module/workflow/service/action-resources-mapping.service.ts +10 -10
  332. package/src/module/workflow/service/action-template-mapping.service.ts +104 -104
  333. package/src/module/workflow/service/action.service.ts +279 -279
  334. package/src/module/workflow/service/activity-log.service.ts +107 -107
  335. package/src/module/workflow/service/comm-template.service.ts +180 -180
  336. package/src/module/workflow/service/entity-modification.service.ts +67 -67
  337. package/src/module/workflow/service/form-master.service.ts +35 -35
  338. package/src/module/workflow/service/populate-workflow.service.ts +303 -303
  339. package/src/module/workflow/service/stage-action-mapping.service.ts +5 -5
  340. package/src/module/workflow/service/stage-group.service.ts +319 -319
  341. package/src/module/workflow/service/stage.service.ts +199 -199
  342. package/src/module/workflow/service/task.service.ts +560 -560
  343. package/src/module/workflow/service/workflow-list-master.service.ts +60 -60
  344. package/src/module/workflow/service/workflow-meta.service.ts +640 -640
  345. package/src/module/workflow/service/workflow.service.ts +205 -205
  346. package/src/module/workflow/workflow.module.ts +174 -174
  347. package/src/module/workflow-automation/controller/workflow-automation.controller.ts +21 -21
  348. package/src/module/workflow-automation/entity/workflow-automation-action.entity.ts +26 -26
  349. package/src/module/workflow-automation/entity/workflow-automation.entity.ts +35 -35
  350. package/src/module/workflow-automation/interface/action.decorator.ts +7 -7
  351. package/src/module/workflow-automation/interface/action.interface.ts +5 -5
  352. package/src/module/workflow-automation/service/action-registery.service.ts +35 -35
  353. package/src/module/workflow-automation/service/workflow-automation-engine.service.ts +214 -214
  354. package/src/module/workflow-automation/service/workflow-automation.service.ts +347 -347
  355. package/src/module/workflow-automation/workflow-automation.module.ts +34 -34
  356. package/src/resources/dev.properties.yaml +30 -30
  357. package/src/resources/local.properties.yaml +27 -27
  358. package/src/resources/properties.module.ts +12 -12
  359. package/src/resources/properties.yaml.ts +11 -11
  360. package/src/resources/uat.properties.yaml +31 -31
  361. package/src/table.config.ts +126 -126
  362. package/src/utils/dto/excel-data.dto.ts +14 -14
  363. package/src/utils/dto/excelsheet-data.dto.ts +5 -5
  364. package/src/utils/service/base64util.service.ts +18 -18
  365. package/src/utils/service/clockIDGenUtil.service.ts +21 -21
  366. package/src/utils/service/codeGenerator.service.ts +22 -22
  367. package/src/utils/service/dateUtil.service.ts +17 -17
  368. package/src/utils/service/encryptUtil.service.ts +97 -97
  369. package/src/utils/service/excel-helper.service.ts +72 -72
  370. package/src/utils/service/excelUtil.service.ts +15 -15
  371. package/src/utils/service/file-util.service.ts +11 -11
  372. package/src/utils/service/json-util.service.ts +23 -23
  373. package/src/utils/service/loggingUtil.service.ts +34 -34
  374. package/src/utils/service/reflection-helper.service.ts +62 -62
  375. package/src/utils/service/wbsCodeGen.service.ts +8 -8
  376. package/src/utils/utils.module.ts +25 -25
  377. package/tsconfig.build.json +4 -4
  378. package/tsconfig.json +24 -24
  379. package/.claude/settings.local.json +0 -26
  380. package/.idea/copilot.data.migration.agent.xml +0 -6
  381. package/.idea/copilot.data.migration.ask.xml +0 -6
  382. package/.idea/copilot.data.migration.ask2agent.xml +0 -6
  383. package/.idea/copilot.data.migration.edit.xml +0 -6
  384. package/.idea/misc.xml +0 -6
  385. package/server.log +0 -850
@@ -43,8 +43,8 @@ let EntityDynamicService = class EntityDynamicService {
43
43
  entityData.entity_type = entityType;
44
44
  }
45
45
  if (!entityData.code && loggedInUser) {
46
- const result = await this.dataSource.query(`SELECT MAX(CAST(SUBSTRING(code, LENGTH(entity_type) + 1) AS UNSIGNED)) AS max_seq_no
47
- FROM ${tableName}
46
+ const result = await this.dataSource.query(`SELECT MAX(CAST(SUBSTRING(code, LENGTH(entity_type) + 1) AS UNSIGNED)) AS max_seq_no
47
+ FROM ${tableName}
48
48
  WHERE entity_type = ?`, [entityData.entity_type]);
49
49
  let maxSeqNo = result?.[0]?.max_seq_no ? Number(result[0].max_seq_no) : 0;
50
50
  maxSeqNo += 1;
@@ -149,7 +149,7 @@ let EntityDynamicService = class EntityDynamicService {
149
149
  }
150
150
  async getEntityWithRelation(entityType, id, loggedInUser) {
151
151
  const mainEntity = await this.getEntityByDataSource(entityType, id, loggedInUser);
152
- const relatedEntities = await this.dataSource.query(`SELECT * FROM frm_entity_relation_data WHERE source_entity_id = ? AND target_entity_type IN (
152
+ const relatedEntities = await this.dataSource.query(`SELECT * FROM frm_entity_relation_data WHERE source_entity_id = ? AND target_entity_type IN (
153
153
  SELECT target_entity_type FROM frm_entity_relation WHERE source_entity_type = ?)`, [id, entityType]);
154
154
  const response = {
155
155
  entity_type: entityType,
@@ -202,8 +202,8 @@ let EntityDynamicService = class EntityDynamicService {
202
202
  const createdEntity = await this.createEntity(targetEntityType, item, loggedInUser, Number(id));
203
203
  targetEntityId = createdEntity.insertId || createdEntity.id;
204
204
  entityData = await this.getEntity(targetEntityType, targetEntityId, loggedInUser);
205
- await this.dataSource.query(`INSERT INTO frm_entity_relation_data
206
- (organization_id, source_entity_id, source_entity_type, target_entity_id, target_entity_type, relation_type)
205
+ await this.dataSource.query(`INSERT INTO frm_entity_relation_data
206
+ (organization_id, source_entity_id, source_entity_type, target_entity_id, target_entity_type, relation_type)
207
207
  VALUES (?, ?, ?, ?, ?,?)`, [
208
208
  organizationId,
209
209
  id,
@@ -249,8 +249,8 @@ let EntityDynamicService = class EntityDynamicService {
249
249
  entityData.enterprise_id = loggedInUser.enterprise_id;
250
250
  }
251
251
  if (!entityData.code && loggedInUser) {
252
- const result = await this.dataSource.query(`SELECT MAX(CAST(SUBSTRING(code, LENGTH(entity_type) + 1) AS UNSIGNED)) AS max_seq_no
253
- FROM ${tableName}
252
+ const result = await this.dataSource.query(`SELECT MAX(CAST(SUBSTRING(code, LENGTH(entity_type) + 1) AS UNSIGNED)) AS max_seq_no
253
+ FROM ${tableName}
254
254
  WHERE entity_type = ?`, [entityData.entity_type]);
255
255
  let maxSeqNo = result?.[0]?.max_seq_no ? Number(result[0].max_seq_no) : 0;
256
256
  maxSeqNo += 1;
@@ -396,13 +396,13 @@ let EntityDynamicService = class EntityDynamicService {
396
396
  return result[0].db_table_name;
397
397
  }
398
398
  async getAttributeCodes(entityType, organizationId) {
399
- const result = await this.dataSource.query(`SELECT attribute_key,
400
- MAX(db_datatype) AS db_datatype,
401
- MAX(element_type) AS element_type,
402
- MAX(is_hidden) AS is_hidden
403
- FROM frm_entity_attribute
404
- WHERE mapped_entity_type = ? AND organization_id = ?
405
- and (is_hidden IS NULL OR is_hidden = 0) -- Exclude hidden attributes
399
+ const result = await this.dataSource.query(`SELECT attribute_key,
400
+ MAX(db_datatype) AS db_datatype,
401
+ MAX(element_type) AS element_type,
402
+ MAX(is_hidden) AS is_hidden
403
+ FROM frm_entity_attribute
404
+ WHERE mapped_entity_type = ? AND organization_id = ?
405
+ and (is_hidden IS NULL OR is_hidden = 0) -- Exclude hidden attributes
406
406
  GROUP BY attribute_key`, [entityType, organizationId]);
407
407
  if (!result.length) {
408
408
  console.log(`No attributes found for entity '${entityType}' and org '${organizationId}'`);
@@ -434,15 +434,15 @@ let EntityDynamicService = class EntityDynamicService {
434
434
  }
435
435
  async getCode(entityType, loggedInUser) {
436
436
  const organizationId = loggedInUser.organization_id;
437
- const result = await this.dataSource.query(`SELECT db_table_name
438
- FROM frm_entity_master
437
+ const result = await this.dataSource.query(`SELECT db_table_name
438
+ FROM frm_entity_master
439
439
  WHERE mapped_entity_type = ? AND organization_id = ?`, [entityType, organizationId]);
440
440
  if (!result.length) {
441
441
  throw new Error(`Entity type '${entityType}' not found in frm_entity_master for org '${organizationId}'`);
442
442
  }
443
443
  const tableName = result[0].db_table_name;
444
- const seqResult = await this.dataSource.query(`SELECT MAX(CAST(SUBSTRING(code, LENGTH(entity_type) + 1) AS UNSIGNED)) AS max_seq_no
445
- FROM \`${tableName}\`
444
+ const seqResult = await this.dataSource.query(`SELECT MAX(CAST(SUBSTRING(code, LENGTH(entity_type) + 1) AS UNSIGNED)) AS max_seq_no
445
+ FROM \`${tableName}\`
446
446
  WHERE entity_type = ?`, [entityType]);
447
447
  let maxSeqNo = seqResult?.[0]?.max_seq_no
448
448
  ? Number(seqResult[0].max_seq_no)
@@ -75,11 +75,11 @@ let EntityListService = class EntityListService {
75
75
  }
76
76
  getQuery(source, groupByColumn) {
77
77
  if (groupByColumn) {
78
- return `SELECT ${groupByColumn} as tab_value, COUNT(1) AS tab_value_count
78
+ return `SELECT ${groupByColumn} as tab_value, COUNT(1) AS tab_value_count
79
79
  FROM ${source}`;
80
80
  }
81
81
  else {
82
- return `SELECT *
82
+ return `SELECT *
83
83
  FROM ${source}`;
84
84
  }
85
85
  }
@@ -123,7 +123,7 @@ let EntityListService = class EntityListService {
123
123
  return { query, argumentList: argsObjectList };
124
124
  }
125
125
  async getMaxSequenceNumber(tableName, parentType, parentId) {
126
- const query = `SELECT max(id) as seq_no
126
+ const query = `SELECT max(id) as seq_no
127
127
  FROM ${tableName} WHERE 1=1 `;
128
128
  const argsObjectList = [];
129
129
  const result = await this.entityManager.query(query, argsObjectList);
@@ -74,9 +74,9 @@ let EntityMasterService = class EntityMasterService {
74
74
  if (!entityMasterData) {
75
75
  throw new Error(`Entity master with mapped_entity_type "${entityType}" not found.`);
76
76
  }
77
- const attributes = await this.dataSource.query(`SELECT *
78
- FROM frm_entity_attribute
79
- WHERE mapped_entity_type = ?
77
+ const attributes = await this.dataSource.query(`SELECT *
78
+ FROM frm_entity_attribute
79
+ WHERE mapped_entity_type = ?
80
80
  AND organization_id = ? `, [entityMasterData.mapped_entity_type, loggedInUser.organization_id]);
81
81
  entityMasterData['attribute_list'] = attributes;
82
82
  entityMasterData['operation_list'] = {
@@ -19,12 +19,12 @@ let EntityRelationService = class EntityRelationService extends entity_service_i
19
19
  this.dataSource = dataSource;
20
20
  }
21
21
  async getEntityRelations(entityType, loggedInUser, includeSelf = false) {
22
- const relations = await this.dataSource.query(`SELECT name as label, target_entity_type as value, id
23
- FROM frm_entity_relation
22
+ const relations = await this.dataSource.query(`SELECT name as label, target_entity_type as value, id
23
+ FROM frm_entity_relation
24
24
  WHERE source_entity_type = ? AND organization_id = ?`, [entityType, loggedInUser.organization_id]);
25
25
  if (includeSelf) {
26
- const [entity] = await this.dataSource.query(`SELECT name as label
27
- FROM frm_entity_master
26
+ const [entity] = await this.dataSource.query(`SELECT name as label
27
+ FROM frm_entity_master
28
28
  WHERE mapped_entity_type = ? AND organization_id = ?`, [entityType, loggedInUser.organization_id]);
29
29
  if (entity) {
30
30
  relations.unshift({
@@ -39,13 +39,13 @@ let EntityRelationService = class EntityRelationService extends entity_service_i
39
39
  async getRelatedEntityIds(sourceEntity, targetEntity, targetIds, orgId) {
40
40
  if (!targetIds.length)
41
41
  return [];
42
- const result = await this.dataSource.query(`
43
- SELECT DISTINCT source_entity_id
44
- FROM frm_entity_relation_data
45
- WHERE source_entity_type = ?
46
- AND target_entity_type = ?
47
- AND target_entity_id IN (?)
48
- AND organization_id = ?
42
+ const result = await this.dataSource.query(`
43
+ SELECT DISTINCT source_entity_id
44
+ FROM frm_entity_relation_data
45
+ WHERE source_entity_type = ?
46
+ AND target_entity_type = ?
47
+ AND target_entity_id IN (?)
48
+ AND organization_id = ?
49
49
  `, [sourceEntity, targetEntity, targetIds, orgId]);
50
50
  return result.map((r) => r.source_entity_id);
51
51
  }
@@ -50,9 +50,9 @@ let EntityServiceImpl = class EntityServiceImpl {
50
50
  maxSeqNo = Number(maxSeqNo) + 1;
51
51
  entityData.code = entityData.entity_type + maxSeqNo;
52
52
  }
53
- const statusList = await repo.query(`SELECT id
54
- FROM frm_list_master_items
55
- WHERE code = ?
53
+ const statusList = await repo.query(`SELECT id
54
+ FROM frm_list_master_items
55
+ WHERE code = ?
56
56
  AND organization_id = ?`, [global_constant_1.STATUS_ACTIVE, loggedInUser?.organization_id || -1]);
57
57
  console.log('Status List:', statusList);
58
58
  console.log(`status_code,${global_constant_1.STATUS_ACTIVE},statusList, ${loggedInUser?.organization_id}`);
@@ -142,12 +142,12 @@ let ResolverService = class ResolverService {
142
142
  displayValue === '') {
143
143
  return displayValue;
144
144
  }
145
- const [attr] = await this.dataSource.query(`SELECT * FROM frm_entity_attribute
145
+ const [attr] = await this.dataSource.query(`SELECT * FROM frm_entity_attribute
146
146
  WHERE mapped_entity_type = ? AND organization_id = ? AND attribute_key = ?`, [entityType, loggedInUser.organization_id, attrKey]);
147
147
  if (!attr)
148
148
  return displayValue;
149
149
  if (attr.data_source_type === 'entity') {
150
- const [entityDef] = await this.dataSource.query(`SELECT * FROM frm_entity_master
150
+ const [entityDef] = await this.dataSource.query(`SELECT * FROM frm_entity_master
151
151
  WHERE mapped_entity_type = ? AND organization_id = ?`, [attr.datasource_list, loggedInUser.organization_id]);
152
152
  if (!entityDef)
153
153
  return displayValue;
@@ -162,7 +162,7 @@ let ResolverService = class ResolverService {
162
162
  return item?.id ?? displayValue;
163
163
  }
164
164
  else if (attr.data_source_type === 'master') {
165
- const [item] = await this.dataSource.query(`SELECT id FROM frm_list_master_items
165
+ const [item] = await this.dataSource.query(`SELECT id FROM frm_list_master_items
166
166
  WHERE ${attr.data_source_attribute} = ? AND organization_id = ? AND listtype = ?`, [displayValue, loggedInUser.organization_id, attr.datasource_list]);
167
167
  return item?.id ?? displayValue;
168
168
  }
@@ -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 [];