rez_core 5.0.38 → 5.0.39

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