rez_core 4.0.160 → 4.0.161

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 (565) hide show
  1. package/.claude/settings.local.json +26 -0
  2. package/.idea/250218_nodejs_core.iml +9 -0
  3. package/.idea/codeStyles/Project.xml +59 -0
  4. package/.idea/codeStyles/codeStyleConfig.xml +5 -0
  5. package/.idea/copilot.data.migration.agent.xml +6 -0
  6. package/.idea/copilot.data.migration.ask.xml +6 -0
  7. package/.idea/copilot.data.migration.ask2agent.xml +6 -0
  8. package/.idea/copilot.data.migration.edit.xml +6 -0
  9. package/.idea/inspectionProfiles/Project_Default.xml +6 -0
  10. package/.idea/misc.xml +6 -0
  11. package/.idea/modules.xml +8 -0
  12. package/.idea/prettier.xml +6 -0
  13. package/.idea/vcs.xml +6 -0
  14. package/.prettierrc +3 -3
  15. package/README.md +99 -99
  16. package/dist/app.module.js +0 -6
  17. package/dist/app.module.js.map +1 -1
  18. package/dist/config/config.module.js +2 -2
  19. package/dist/config/config.module.js.map +1 -1
  20. package/dist/config/database.config.d.ts +1 -1
  21. package/dist/config/database.config.js +15 -11
  22. package/dist/config/database.config.js.map +1 -1
  23. package/dist/module/auth/guards/role.guard.js +3 -3
  24. package/dist/module/auth/services/auth.service.js +3 -3
  25. package/dist/module/auth/services/auth.service.js.map +1 -1
  26. package/dist/module/enterprise/entity/organization.entity.js +1 -1
  27. package/dist/module/enterprise/repository/school.repository.js +3 -3
  28. package/dist/module/enterprise/repository/school.repository.js.map +1 -1
  29. package/dist/module/filter/repository/saved-filter.repository.js +4 -4
  30. package/dist/module/filter/service/filter-evaluator.service.js +3 -3
  31. package/dist/module/filter/service/filter-evaluator.service.js.map +1 -1
  32. package/dist/module/filter/service/filter.service.d.ts +4 -1
  33. package/dist/module/filter/service/filter.service.js +50 -31
  34. package/dist/module/filter/service/filter.service.js.map +1 -1
  35. package/dist/module/integration/entity/integration-config.entity.js +6 -6
  36. package/dist/module/integration/entity/integration-config.entity.js.map +1 -1
  37. package/dist/module/integration/entity/integration-entity-mapper.entity.js +1 -1
  38. package/dist/module/integration/entity/integration-entity-mapper.entity.js.map +1 -1
  39. package/dist/module/integration/entity/integration-source.entity.js +4 -4
  40. package/dist/module/integration/entity/integration-source.entity.js.map +1 -1
  41. package/dist/module/integration/entity/user-integration.entity.js +4 -4
  42. package/dist/module/integration/entity/user-integration.entity.js.map +1 -1
  43. package/dist/module/integration/examples/usage.example.js +9 -9
  44. package/dist/module/integration/service/integration.service.js +1 -1
  45. package/dist/module/integration/service/wrapper.service.d.ts +1 -3
  46. package/dist/module/integration/service/wrapper.service.js +65 -67
  47. package/dist/module/integration/service/wrapper.service.js.map +1 -1
  48. package/dist/module/listmaster/entity/list-master-items.entity.js +3 -3
  49. package/dist/module/listmaster/entity/list-master-items.entity.js.map +1 -1
  50. package/dist/module/listmaster/entity/list-master.entity.js +4 -4
  51. package/dist/module/listmaster/entity/list-master.entity.js.map +1 -1
  52. package/dist/module/listmaster/service/list-master-item.service.js +3 -3
  53. package/dist/module/listmaster/service/list-master-item.service.js.map +1 -1
  54. package/dist/module/mapper/entity/field-mapper.entity.js +6 -6
  55. package/dist/module/mapper/entity/field-mapper.entity.js.map +1 -1
  56. package/dist/module/mapper/service/field-mapper.service.js +7 -7
  57. package/dist/module/mapper/service/field-mapper.service.js.map +1 -1
  58. package/dist/module/mapper/service/mapper.service.js +4 -4
  59. package/dist/module/mapper/service/mapper.service.js.map +1 -1
  60. package/dist/module/meta/controller/attribute-master.controller.d.ts +1 -4
  61. package/dist/module/meta/controller/attribute-master.controller.js +2 -15
  62. package/dist/module/meta/controller/attribute-master.controller.js.map +1 -1
  63. package/dist/module/meta/entity/app-master.entity.d.ts +2 -2
  64. package/dist/module/meta/entity/app-master.entity.js +4 -4
  65. package/dist/module/meta/entity/entity-master.entity.js +1 -1
  66. package/dist/module/meta/entity/entity-master.entity.js.map +1 -1
  67. package/dist/module/meta/entity/view-master.entity.js +1 -1
  68. package/dist/module/meta/entity/view-master.entity.js.map +1 -1
  69. package/dist/module/meta/entity.module.js +0 -7
  70. package/dist/module/meta/entity.module.js.map +1 -1
  71. package/dist/module/meta/repository/attribute-master.repository.js +2 -2
  72. package/dist/module/meta/repository/attribute-master.repository.js.map +1 -1
  73. package/dist/module/meta/repository/entity-master.repository.js +1 -1
  74. package/dist/module/meta/repository/entity-master.repository.js.map +1 -1
  75. package/dist/module/meta/service/attribute-master.service.js +1 -1
  76. package/dist/module/meta/service/attribute-master.service.js.map +1 -1
  77. package/dist/module/meta/service/entity-dynamic.service.js +27 -27
  78. package/dist/module/meta/service/entity-dynamic.service.js.map +1 -1
  79. package/dist/module/meta/service/entity-list.service.js +3 -3
  80. package/dist/module/meta/service/entity-master.service.js +4 -4
  81. package/dist/module/meta/service/entity-master.service.js.map +1 -1
  82. package/dist/module/meta/service/entity-relation.service.js +13 -13
  83. package/dist/module/meta/service/entity-relation.service.js.map +1 -1
  84. package/dist/module/meta/service/entity-service-impl.service.js +3 -3
  85. package/dist/module/meta/service/media-data.service.js +9 -9
  86. package/dist/module/meta/service/media-data.service.js.map +1 -1
  87. package/dist/module/meta/service/resolver.service.js +19 -19
  88. package/dist/module/meta/service/resolver.service.js.map +1 -1
  89. package/dist/module/module/repository/menu.repository.js +12 -12
  90. package/dist/module/notification/entity/otp.entity.js +1 -1
  91. package/dist/module/notification/entity/otp.entity.js.map +1 -1
  92. package/dist/module/notification/service/notification.service.js +9 -9
  93. package/dist/module/user/controller/login.controller.js +18 -18
  94. package/dist/module/user/entity/user-role-mapping.entity.js +1 -1
  95. package/dist/module/user/entity/user-role-mapping.entity.js.map +1 -1
  96. package/dist/module/user/service/login.service.js +1 -1
  97. package/dist/module/user/service/login.service.js.map +1 -1
  98. package/dist/module/user/service/role.service.js +4 -4
  99. package/dist/module/user/service/user-session.service.js +4 -4
  100. package/dist/module/user/service/user-session.service.js.map +1 -1
  101. package/dist/module/workflow/entity/action-category.entity.d.ts +1 -1
  102. package/dist/module/workflow/entity/action-category.entity.js +1 -1
  103. package/dist/module/workflow/entity/action-data.entity.js +1 -1
  104. package/dist/module/workflow/entity/action-data.entity.js.map +1 -1
  105. package/dist/module/workflow/entity/action.entity.d.ts +0 -1
  106. package/dist/module/workflow/entity/action.entity.js +1 -5
  107. package/dist/module/workflow/entity/action.entity.js.map +1 -1
  108. package/dist/module/workflow/entity/comm-template.entity.js +1 -1
  109. package/dist/module/workflow/entity/comm-template.entity.js.map +1 -1
  110. package/dist/module/workflow/entity/template-attach-mapper.entity.js +1 -1
  111. package/dist/module/workflow/entity/template-attach-mapper.entity.js.map +1 -1
  112. package/dist/module/workflow/repository/action-data.repository.js +4 -5
  113. package/dist/module/workflow/repository/action-data.repository.js.map +1 -1
  114. package/dist/module/workflow/repository/action.repository.js +21 -21
  115. package/dist/module/workflow/repository/action.repository.js.map +1 -1
  116. package/dist/module/workflow/repository/comm-template.repository.js +7 -7
  117. package/dist/module/workflow/repository/comm-template.repository.js.map +1 -1
  118. package/dist/module/workflow/repository/form-master.repository.js +3 -3
  119. package/dist/module/workflow/repository/form-master.repository.js.map +1 -1
  120. package/dist/module/workflow/repository/stage-group.repository.js +23 -23
  121. package/dist/module/workflow/repository/stage-movement.repository.js +17 -17
  122. package/dist/module/workflow/repository/stage-movement.repository.js.map +1 -1
  123. package/dist/module/workflow/repository/stage.repository.js +8 -8
  124. package/dist/module/workflow/repository/task.repository.d.ts +1 -3
  125. package/dist/module/workflow/repository/task.repository.js +3 -8
  126. package/dist/module/workflow/repository/task.repository.js.map +1 -1
  127. package/dist/module/workflow/service/action-template-mapping.service.js +22 -22
  128. package/dist/module/workflow/service/action.service.js +13 -13
  129. package/dist/module/workflow/service/action.service.js.map +1 -1
  130. package/dist/module/workflow/service/entity-modification.service.js +6 -6
  131. package/dist/module/workflow/service/populate-workflow.service.js +8 -8
  132. package/dist/module/workflow/service/populate-workflow.service.js.map +1 -1
  133. package/dist/module/workflow/service/stage-group.service.js +6 -6
  134. package/dist/module/workflow/service/stage-group.service.js.map +1 -1
  135. package/dist/module/workflow/service/stage.service.js +4 -4
  136. package/dist/module/workflow/service/stage.service.js.map +1 -1
  137. package/dist/module/workflow/service/task.service.js +55 -71
  138. package/dist/module/workflow/service/task.service.js.map +1 -1
  139. package/dist/module/workflow/service/workflow-list-master.service.js +16 -16
  140. package/dist/module/workflow/service/workflow-list-master.service.js.map +1 -1
  141. package/dist/module/workflow/service/workflow-meta.service.js +51 -53
  142. package/dist/module/workflow/service/workflow-meta.service.js.map +1 -1
  143. package/dist/module/workflow/service/workflow.service.js +5 -5
  144. package/dist/module/workflow/service/workflow.service.js.map +1 -1
  145. package/dist/module/workflow-automation/controller/workflow-automation.controller.d.ts +0 -6
  146. package/dist/module/workflow-automation/controller/workflow-automation.controller.js +0 -16
  147. package/dist/module/workflow-automation/controller/workflow-automation.controller.js.map +1 -1
  148. package/dist/module/workflow-automation/entity/workflow-automation-action.entity.d.ts +1 -1
  149. package/dist/module/workflow-automation/entity/workflow-automation-action.entity.js +1 -1
  150. package/dist/module/workflow-automation/entity/workflow-automation.entity.d.ts +0 -2
  151. package/dist/module/workflow-automation/entity/workflow-automation.entity.js +0 -8
  152. package/dist/module/workflow-automation/entity/workflow-automation.entity.js.map +1 -1
  153. package/dist/module/workflow-automation/service/workflow-automation-engine.service.d.ts +1 -1
  154. package/dist/module/workflow-automation/service/workflow-automation-engine.service.js +1 -1
  155. package/dist/module/workflow-automation/service/workflow-automation-engine.service.js.map +1 -1
  156. package/dist/module/workflow-automation/service/workflow-automation.service.d.ts +1 -13
  157. package/dist/module/workflow-automation/service/workflow-automation.service.js +6 -115
  158. package/dist/module/workflow-automation/service/workflow-automation.service.js.map +1 -1
  159. package/dist/module/workflow-automation/workflow-automation.module.js +1 -14
  160. package/dist/module/workflow-automation/workflow-automation.module.js.map +1 -1
  161. package/dist/tsconfig.build.tsbuildinfo +1 -1
  162. package/dist/utils/service/loggingUtil.service.d.ts +2 -9
  163. package/dist/utils/service/loggingUtil.service.js +14 -65
  164. package/dist/utils/service/loggingUtil.service.js.map +1 -1
  165. package/dist/utils/service/reflection-helper.service.js +3 -3
  166. package/dist/utils/service/reflection-helper.service.js.map +1 -1
  167. package/dist/utils/utils.module.js +0 -2
  168. package/dist/utils/utils.module.js.map +1 -1
  169. package/docs/modules/event-driven-integration-design.md +91 -91
  170. package/docs/modules/integration.md +250 -250
  171. package/eslint.config.mjs +34 -34
  172. package/nest-cli.json +14 -14
  173. package/package.json +120 -124
  174. package/server.log +850 -0
  175. package/src/app.controller.ts +12 -12
  176. package/src/app.module.ts +52 -60
  177. package/src/app.service.ts +8 -8
  178. package/src/config/config.module.ts +17 -18
  179. package/src/config/database.config.ts +48 -23
  180. package/src/constant/global.constant.ts +67 -67
  181. package/src/core.module.ts +81 -81
  182. package/src/decorators/roles.decorator.ts +7 -7
  183. package/src/dtos/response.dto.ts +6 -6
  184. package/src/dtos/response.ts +5 -5
  185. package/src/index.ts +1 -1
  186. package/src/module/auth/auth.module.ts +49 -49
  187. package/src/module/auth/controller/auth.controller.ts +28 -28
  188. package/src/module/auth/guards/google-auth.guard.ts +9 -9
  189. package/src/module/auth/guards/jwt.guard.ts +22 -22
  190. package/src/module/auth/guards/role.guard.ts +68 -68
  191. package/src/module/auth/services/auth.service.ts +50 -50
  192. package/src/module/auth/services/jwt.service.ts +11 -11
  193. package/src/module/auth/strategies/google.strategy.ts +54 -54
  194. package/src/module/auth/strategies/jwt.strategy.ts +58 -58
  195. package/src/module/auth/strategies/local.strategy.ts +13 -13
  196. package/src/module/dashboard/controller/dashboard.controller.ts +36 -36
  197. package/src/module/dashboard/dashboard.module.ts +21 -21
  198. package/src/module/dashboard/entity/dashboard_page_data.entity.ts +27 -27
  199. package/src/module/dashboard/entity/widget_master.entity.ts +18 -18
  200. package/src/module/dashboard/repository/dashboard.repository.ts +42 -42
  201. package/src/module/dashboard/service/dashboard.service.ts +73 -73
  202. package/src/module/dev/dev.module.ts +12 -12
  203. package/src/module/dev/service/dev.service.ts +7 -7
  204. package/src/module/enterprise/controller/organization.controller.ts +36 -36
  205. package/src/module/enterprise/enterprise.module.ts +30 -30
  206. package/src/module/enterprise/entity/enterprise.entity.ts +37 -37
  207. package/src/module/enterprise/entity/organization-app-mapping.entity.ts +13 -13
  208. package/src/module/enterprise/entity/organization.entity.ts +92 -92
  209. package/src/module/enterprise/repository/enterprise.repository.ts +31 -31
  210. package/src/module/enterprise/repository/organization.repository.ts +26 -26
  211. package/src/module/enterprise/repository/school.repository.ts +278 -278
  212. package/src/module/enterprise/service/brand.service.ts +5 -5
  213. package/src/module/enterprise/service/enterprise.service.ts +16 -16
  214. package/src/module/enterprise/service/organization-app-mapping.service.ts +4 -4
  215. package/src/module/enterprise/service/organization.service.ts +145 -145
  216. package/src/module/filter/controller/filter.controller.ts +84 -84
  217. package/src/module/filter/dto/filter-request.dto.ts +38 -38
  218. package/src/module/filter/entity/saved-filter-detail.entity.ts +41 -41
  219. package/src/module/filter/entity/saved-filter-master.entity.ts +23 -23
  220. package/src/module/filter/filter.module.ts +31 -31
  221. package/src/module/filter/repository/saved-filter.repository.ts +168 -168
  222. package/src/module/filter/service/filter-evaluator.service.ts +86 -86
  223. package/src/module/filter/service/filter.service.ts +1034 -1005
  224. package/src/module/filter/service/saved-filter.service.ts +170 -170
  225. package/src/module/ics/controller/ics.controller.ts +21 -21
  226. package/src/module/ics/dto/ics.dto.ts +55 -55
  227. package/src/module/ics/ics.module.ts +13 -13
  228. package/src/module/ics/service/ics.service.ts +57 -57
  229. package/src/module/integration/controller/calender-event.controller.ts +31 -31
  230. package/src/module/integration/controller/integration.controller.ts +662 -662
  231. package/src/module/integration/controller/wrapper.controller.ts +37 -37
  232. package/src/module/integration/dto/create-config.dto.ts +526 -526
  233. package/src/module/integration/entity/integration-config.entity.ts +112 -112
  234. package/src/module/integration/entity/integration-entity-mapper.entity.ts +14 -14
  235. package/src/module/integration/entity/integration-source.entity.ts +17 -17
  236. package/src/module/integration/entity/user-integration.entity.ts +71 -71
  237. package/src/module/integration/examples/usage.example.ts +338 -338
  238. package/src/module/integration/factories/base.factory.ts +7 -7
  239. package/src/module/integration/factories/email.factory.ts +49 -49
  240. package/src/module/integration/factories/integration.factory.ts +121 -121
  241. package/src/module/integration/factories/sms.factory.ts +51 -51
  242. package/src/module/integration/factories/telephone.factory.ts +41 -41
  243. package/src/module/integration/factories/whatsapp.factory.ts +56 -56
  244. package/src/module/integration/integration.module.ts +110 -110
  245. package/src/module/integration/service/calendar-event.service.ts +118 -118
  246. package/src/module/integration/service/integration-entity-mapper.service.ts +17 -17
  247. package/src/module/integration/service/integration-queue.service.ts +229 -229
  248. package/src/module/integration/service/integration.service.ts +2633 -2633
  249. package/src/module/integration/service/oauth.service.ts +224 -224
  250. package/src/module/integration/service/wrapper.service.ts +494 -700
  251. package/src/module/integration/strategies/email/gmail-api.strategy.ts +280 -280
  252. package/src/module/integration/strategies/email/outlook-api.strategy.ts +44 -44
  253. package/src/module/integration/strategies/email/outlook.strategy.ts +64 -64
  254. package/src/module/integration/strategies/email/sendgrid-api.strategy.ts +260 -260
  255. package/src/module/integration/strategies/integration.strategy.ts +97 -97
  256. package/src/module/integration/strategies/sms/gupshup-sms.strategy.ts +146 -146
  257. package/src/module/integration/strategies/sms/msg91-sms.strategy.ts +164 -164
  258. package/src/module/integration/strategies/sms/tubelight-sms.strategy.ts +163 -163
  259. package/src/module/integration/strategies/telephone/ozonetel-voice.strategy.ts +238 -238
  260. package/src/module/integration/strategies/telephone/tubelight-voice.strategy.ts +210 -210
  261. package/src/module/integration/strategies/whatsapp/gupshup-whatsapp.strategy.ts +359 -359
  262. package/src/module/integration/strategies/whatsapp/tubelight-whatsapp.strategy.ts +372 -372
  263. package/src/module/integration/strategies/whatsapp/whatsapp-cloud.strategy.ts +403 -403
  264. package/src/module/integration/strategies/whatsapp/whatsapp.strategy.ts +57 -57
  265. package/src/module/layout/controller/layout.controller.ts +47 -47
  266. package/src/module/layout/entity/header-items.entity.ts +28 -28
  267. package/src/module/layout/entity/header-section.entity.ts +19 -19
  268. package/src/module/layout/layout.module.ts +21 -21
  269. package/src/module/layout/repository/header-items.repository.ts +18 -18
  270. package/src/module/layout/repository/header-section.repository.ts +22 -22
  271. package/src/module/layout/service/header-section.service.ts +25 -25
  272. package/src/module/layout_preference/controller/layout_preference.controller.ts +73 -73
  273. package/src/module/layout_preference/entity/layout_preference.entity.ts +28 -28
  274. package/src/module/layout_preference/layout_preference.module.ts +22 -22
  275. package/src/module/layout_preference/repository/layout_preference.repository.ts +65 -65
  276. package/src/module/layout_preference/service/layout_preference.service.ts +191 -191
  277. package/src/module/lead/controller/lead.controller.ts +30 -30
  278. package/src/module/lead/lead.module.ts +14 -14
  279. package/src/module/lead/repository/lead.repository.ts +41 -41
  280. package/src/module/lead/service/lead.service.ts +54 -54
  281. package/src/module/listmaster/controller/list-master.controller.ts +230 -230
  282. package/src/module/listmaster/entity/list-master-items.entity.ts +43 -43
  283. package/src/module/listmaster/entity/list-master.entity.ts +33 -33
  284. package/src/module/listmaster/listmaster.module.ts +46 -46
  285. package/src/module/listmaster/repository/list-master-items.repository.ts +169 -169
  286. package/src/module/listmaster/repository/list-master.repository.ts +46 -46
  287. package/src/module/listmaster/service/list-master-engine.ts +19 -19
  288. package/src/module/listmaster/service/list-master-extension.interface.ts +4 -4
  289. package/src/module/listmaster/service/list-master-item.service.ts +292 -292
  290. package/src/module/listmaster/service/list-master-registry.ts +15 -15
  291. package/src/module/listmaster/service/list-master.service.ts +535 -535
  292. package/src/module/mapper/controller/field-mapper.controller.ts +76 -76
  293. package/src/module/mapper/controller/mapper.controller.ts +20 -20
  294. package/src/module/mapper/dto/field-mapper.dto.ts +14 -14
  295. package/src/module/mapper/entity/field-lovs.entity.ts +19 -19
  296. package/src/module/mapper/entity/field-mapper.entity.ts +53 -53
  297. package/src/module/mapper/entity/mapper.entity.ts +16 -16
  298. package/src/module/mapper/mapper.module.ts +34 -34
  299. package/src/module/mapper/repository/field-lovs.repository.ts +35 -35
  300. package/src/module/mapper/repository/field-mapper.repository.ts +42 -42
  301. package/src/module/mapper/repository/mapper.repository.ts +15 -15
  302. package/src/module/mapper/service/field-mapper.service.ts +266 -271
  303. package/src/module/mapper/service/mapper.service.ts +79 -79
  304. package/src/module/master/controller/master.controller.ts +74 -74
  305. package/src/module/master/service/master.service.ts +483 -483
  306. package/src/module/meta/controller/app-master.controller.ts +38 -38
  307. package/src/module/meta/controller/attribute-master.controller.ts +66 -74
  308. package/src/module/meta/controller/entity-dynamic.controller.ts +125 -125
  309. package/src/module/meta/controller/entity-master.controller.ts +28 -28
  310. package/src/module/meta/controller/entity-relation.controller.ts +36 -36
  311. package/src/module/meta/controller/entity.controller.ts +392 -392
  312. package/src/module/meta/controller/entity.public.controller.ts +75 -75
  313. package/src/module/meta/controller/media.controller.ts +107 -107
  314. package/src/module/meta/controller/meta.controller.ts +96 -96
  315. package/src/module/meta/controller/view-master.controller.ts +86 -86
  316. package/src/module/meta/dto/entity-list-data.dto.ts +6 -6
  317. package/src/module/meta/dto/entity-tab.dto.ts +4 -4
  318. package/src/module/meta/dto/entity-table.dto.ts +9 -9
  319. package/src/module/meta/entity/app-master.entity.ts +34 -34
  320. package/src/module/meta/entity/attribute-master.entity.ts +89 -89
  321. package/src/module/meta/entity/base-entity.entity.ts +75 -75
  322. package/src/module/meta/entity/entity-master.entity.ts +85 -85
  323. package/src/module/meta/entity/entity-relation-data.entity.ts +29 -29
  324. package/src/module/meta/entity/entity-relation.entity.ts +23 -23
  325. package/src/module/meta/entity/entity-table-column.entity.ts +61 -61
  326. package/src/module/meta/entity/entity-table.entity.ts +50 -50
  327. package/src/module/meta/entity/media-data.entity.ts +32 -32
  328. package/src/module/meta/entity/preference.entity.ts +62 -62
  329. package/src/module/meta/entity/view-master.entity.ts +41 -41
  330. package/src/module/meta/entity.module.ts +158 -166
  331. package/src/module/meta/repository/app-master.repository.ts +20 -20
  332. package/src/module/meta/repository/attribute-master.repository.ts +118 -118
  333. package/src/module/meta/repository/entity-master.repository.ts +69 -69
  334. package/src/module/meta/repository/entity-table-column.repository.ts +39 -39
  335. package/src/module/meta/repository/entity-table.repository.ts +53 -53
  336. package/src/module/meta/repository/media-data.repository.ts +50 -50
  337. package/src/module/meta/repository/preference.repository.ts +20 -20
  338. package/src/module/meta/repository/user-app-mapping.repository.ts +28 -28
  339. package/src/module/meta/repository/view-master.repository.ts +42 -42
  340. package/src/module/meta/service/app-master.service.ts +37 -37
  341. package/src/module/meta/service/attribute-master.service.ts +126 -126
  342. package/src/module/meta/service/common.service.ts +9 -9
  343. package/src/module/meta/service/entity-dynamic.service.ts +819 -819
  344. package/src/module/meta/service/entity-list.service.ts +205 -205
  345. package/src/module/meta/service/entity-master.service.ts +169 -169
  346. package/src/module/meta/service/entity-realation-data.service.ts +9 -9
  347. package/src/module/meta/service/entity-relation.service.ts +69 -69
  348. package/src/module/meta/service/entity-service-impl.service.ts +525 -525
  349. package/src/module/meta/service/entity-table-column.service.ts +39 -39
  350. package/src/module/meta/service/entity-table.service.ts +150 -150
  351. package/src/module/meta/service/entity-validation.service.ts +187 -187
  352. package/src/module/meta/service/entity.service.ts +67 -67
  353. package/src/module/meta/service/field-group.service.ts +103 -103
  354. package/src/module/meta/service/media-data.service.ts +507 -507
  355. package/src/module/meta/service/populate-meta.service.ts +193 -193
  356. package/src/module/meta/service/preference.service.ts +16 -16
  357. package/src/module/meta/service/resolver.service.ts +267 -267
  358. package/src/module/meta/service/section-master.service.ts +104 -104
  359. package/src/module/meta/service/update-form-json.service.ts +22 -22
  360. package/src/module/meta/service/user-app-mapping.service.ts +17 -17
  361. package/src/module/meta/service/view-master.service.ts +127 -127
  362. package/src/module/microservice-client/microservice-clients.module.ts +13 -13
  363. package/src/module/microservice-client/service/microservice-client-factory.ts +37 -37
  364. package/src/module/microservice-client/service/microservice-clients.ts +4 -4
  365. package/src/module/module/controller/menu.controller.ts +15 -15
  366. package/src/module/module/controller/module-access.controller.ts +134 -134
  367. package/src/module/module/entity/menu.entity.ts +43 -43
  368. package/src/module/module/entity/module-access.entity.ts +25 -25
  369. package/src/module/module/entity/module-action.entity.ts +17 -17
  370. package/src/module/module/entity/module.entity.ts +52 -52
  371. package/src/module/module/module.module.ts +42 -42
  372. package/src/module/module/repository/menu.repository.ts +184 -184
  373. package/src/module/module/repository/module-access.repository.ts +344 -344
  374. package/src/module/module/service/menu.service.ts +82 -82
  375. package/src/module/module/service/module-access.service.ts +209 -209
  376. package/src/module/notification/controller/notification.controller.ts +58 -58
  377. package/src/module/notification/controller/otp.controller.ts +117 -117
  378. package/src/module/notification/entity/notification.entity.ts +26 -26
  379. package/src/module/notification/entity/otp.entity.ts +28 -28
  380. package/src/module/notification/firebase-admin.config.ts +22 -22
  381. package/src/module/notification/notification.module.ts +69 -69
  382. package/src/module/notification/repository/otp.repository.ts +27 -27
  383. package/src/module/notification/service/email.service.ts +127 -127
  384. package/src/module/notification/service/notification.service.ts +163 -163
  385. package/src/module/notification/service/otp.service.ts +132 -132
  386. package/src/module/third-party-module/entity/third-party-api-registry.entity.ts +52 -52
  387. package/src/module/third-party-module/repository/third-party-api-registry.repository.ts +20 -20
  388. package/src/module/third-party-module/service/api-registry.service.ts +13 -13
  389. package/src/module/third-party-module/third-party.module.ts +12 -12
  390. package/src/module/user/controller/login.controller.ts +197 -197
  391. package/src/module/user/controller/user.controller.ts +40 -40
  392. package/src/module/user/dto/create-user.dto.ts +62 -62
  393. package/src/module/user/dto/update-user.dto.ts +4 -4
  394. package/src/module/user/entity/role.entity.ts +33 -33
  395. package/src/module/user/entity/user-role-mapping.entity.ts +38 -38
  396. package/src/module/user/entity/user-session.entity.ts +73 -73
  397. package/src/module/user/entity/user.entity.ts +59 -59
  398. package/src/module/user/repository/role.repository.ts +96 -96
  399. package/src/module/user/repository/user-role-mapping.repository.ts +126 -126
  400. package/src/module/user/repository/user.repository.ts +50 -50
  401. package/src/module/user/repository/userSession.repository.ts +33 -33
  402. package/src/module/user/service/login.service.ts +304 -304
  403. package/src/module/user/service/role.service.ts +189 -189
  404. package/src/module/user/service/user-role-mapping.service.ts +98 -98
  405. package/src/module/user/service/user-session.service.ts +168 -168
  406. package/src/module/user/service/user.service.ts +365 -365
  407. package/src/module/user/user.module.ts +65 -65
  408. package/src/module/workflow/controller/action-category.controller.ts +54 -54
  409. package/src/module/workflow/controller/action-resource-mapping.controller.ts +23 -23
  410. package/src/module/workflow/controller/action-template-mapping.controller.ts +35 -35
  411. package/src/module/workflow/controller/action.controller.ts +111 -111
  412. package/src/module/workflow/controller/activity-log.controller.ts +55 -55
  413. package/src/module/workflow/controller/comm-template.controller.ts +43 -43
  414. package/src/module/workflow/controller/entity-modification.controller.ts +35 -35
  415. package/src/module/workflow/controller/form-master.controller.ts +43 -43
  416. package/src/module/workflow/controller/stage-group.controller.ts +48 -48
  417. package/src/module/workflow/controller/stage.controller.ts +50 -50
  418. package/src/module/workflow/controller/task.controller.ts +77 -77
  419. package/src/module/workflow/controller/workflow-list-master.controller.ts +44 -44
  420. package/src/module/workflow/controller/workflow-meta.controller.ts +80 -80
  421. package/src/module/workflow/controller/workflow.controller.ts +67 -67
  422. package/src/module/workflow/entity/action-category.entity.ts +38 -38
  423. package/src/module/workflow/entity/action-data.entity.ts +55 -55
  424. package/src/module/workflow/entity/action-resources-mapping.entity.ts +29 -29
  425. package/src/module/workflow/entity/action-template-mapping.entity.ts +17 -17
  426. package/src/module/workflow/entity/action.entity.ts +50 -53
  427. package/src/module/workflow/entity/activity-log.entity.ts +43 -43
  428. package/src/module/workflow/entity/comm-template.entity.ts +43 -43
  429. package/src/module/workflow/entity/entity-modification.entity.ts +38 -38
  430. package/src/module/workflow/entity/form.entity.ts +25 -25
  431. package/src/module/workflow/entity/stage-action-mapping.entity.ts +17 -17
  432. package/src/module/workflow/entity/stage-group.entity.ts +23 -23
  433. package/src/module/workflow/entity/stage-movement-data.entity.ts +38 -38
  434. package/src/module/workflow/entity/stage.entity.ts +20 -20
  435. package/src/module/workflow/entity/task-data.entity.ts +88 -88
  436. package/src/module/workflow/entity/template-attach-mapper.entity.ts +30 -30
  437. package/src/module/workflow/entity/workflow-data.entity.ts +11 -11
  438. package/src/module/workflow/entity/workflow-level-mapping.entity.ts +18 -18
  439. package/src/module/workflow/entity/workflow.entity.ts +20 -20
  440. package/src/module/workflow/repository/action-category.repository.ts +79 -79
  441. package/src/module/workflow/repository/action-data.repository.ts +333 -334
  442. package/src/module/workflow/repository/action.repository.ts +323 -323
  443. package/src/module/workflow/repository/activity-log.repository.ts +148 -148
  444. package/src/module/workflow/repository/comm-template.repository.ts +149 -149
  445. package/src/module/workflow/repository/form-master.repository.ts +59 -59
  446. package/src/module/workflow/repository/stage-group.repository.ts +176 -176
  447. package/src/module/workflow/repository/stage-movement.repository.ts +244 -244
  448. package/src/module/workflow/repository/stage.repository.ts +172 -172
  449. package/src/module/workflow/repository/task.repository.ts +127 -134
  450. package/src/module/workflow/repository/workflow.repository.ts +42 -42
  451. package/src/module/workflow/service/action-category.service.ts +33 -33
  452. package/src/module/workflow/service/action-data.service.ts +62 -62
  453. package/src/module/workflow/service/action-resources-mapping.service.ts +10 -10
  454. package/src/module/workflow/service/action-template-mapping.service.ts +106 -106
  455. package/src/module/workflow/service/action.service.ts +279 -279
  456. package/src/module/workflow/service/activity-log.service.ts +107 -107
  457. package/src/module/workflow/service/comm-template.service.ts +180 -180
  458. package/src/module/workflow/service/entity-modification.service.ts +67 -67
  459. package/src/module/workflow/service/form-master.service.ts +35 -35
  460. package/src/module/workflow/service/populate-workflow.service.ts +303 -303
  461. package/src/module/workflow/service/stage-action-mapping.service.ts +5 -5
  462. package/src/module/workflow/service/stage-group.service.ts +319 -319
  463. package/src/module/workflow/service/stage.service.ts +199 -199
  464. package/src/module/workflow/service/task.service.ts +560 -575
  465. package/src/module/workflow/service/workflow-list-master.service.ts +60 -60
  466. package/src/module/workflow/service/workflow-meta.service.ts +640 -654
  467. package/src/module/workflow/service/workflow.service.ts +205 -205
  468. package/src/module/workflow/workflow.module.ts +176 -176
  469. package/src/module/workflow-automation/controller/workflow-automation.controller.ts +21 -43
  470. package/src/module/workflow-automation/entity/workflow-automation-action.entity.ts +26 -26
  471. package/src/module/workflow-automation/entity/workflow-automation.entity.ts +35 -40
  472. package/src/module/workflow-automation/interface/action.decorator.ts +7 -7
  473. package/src/module/workflow-automation/interface/action.interface.ts +5 -5
  474. package/src/module/workflow-automation/service/action-registery.service.ts +35 -35
  475. package/src/module/workflow-automation/service/workflow-automation-engine.service.ts +214 -214
  476. package/src/module/workflow-automation/service/workflow-automation.service.ts +347 -508
  477. package/src/module/workflow-automation/workflow-automation.module.ts +34 -47
  478. package/src/resources/dev.properties.yaml +31 -30
  479. package/src/resources/local.properties.yaml +27 -27
  480. package/src/resources/properties.module.ts +12 -12
  481. package/src/resources/properties.yaml.ts +11 -11
  482. package/src/resources/uat.properties.yaml +31 -31
  483. package/src/table.config.ts +126 -126
  484. package/src/utils/dto/excel-data.dto.ts +14 -14
  485. package/src/utils/dto/excelsheet-data.dto.ts +5 -5
  486. package/src/utils/service/base64util.service.ts +18 -18
  487. package/src/utils/service/clockIDGenUtil.service.ts +21 -21
  488. package/src/utils/service/codeGenerator.service.ts +22 -22
  489. package/src/utils/service/dateUtil.service.ts +17 -17
  490. package/src/utils/service/encryptUtil.service.ts +97 -97
  491. package/src/utils/service/excel-helper.service.ts +72 -72
  492. package/src/utils/service/excelUtil.service.ts +15 -15
  493. package/src/utils/service/file-util.service.ts +11 -11
  494. package/src/utils/service/json-util.service.ts +23 -23
  495. package/src/utils/service/loggingUtil.service.ts +34 -88
  496. package/src/utils/service/reflection-helper.service.ts +62 -62
  497. package/src/utils/service/wbsCodeGen.service.ts +8 -8
  498. package/src/utils/utils.module.ts +25 -27
  499. package/tsconfig.build.json +4 -4
  500. package/tsconfig.json +24 -24
  501. package/dist/config/bull.config.d.ts +0 -10
  502. package/dist/config/bull.config.js +0 -66
  503. package/dist/config/bull.config.js.map +0 -1
  504. package/dist/module/meta/repository/entity-attribute-update.repository.d.ts +0 -6
  505. package/dist/module/meta/repository/entity-attribute-update.repository.js +0 -44
  506. package/dist/module/meta/repository/entity-attribute-update.repository.js.map +0 -1
  507. package/dist/module/meta/service/entity-attribute-update.service.d.ts +0 -7
  508. package/dist/module/meta/service/entity-attribute-update.service.js +0 -36
  509. package/dist/module/meta/service/entity-attribute-update.service.js.map +0 -1
  510. package/dist/module/workflow-automation/service/schedule-handler.service.d.ts +0 -16
  511. package/dist/module/workflow-automation/service/schedule-handler.service.js +0 -109
  512. package/dist/module/workflow-automation/service/schedule-handler.service.js.map +0 -1
  513. package/dist/module/workflow-schedule/constants/schedule.constants.d.ts +0 -27
  514. package/dist/module/workflow-schedule/constants/schedule.constants.js +0 -31
  515. package/dist/module/workflow-schedule/constants/schedule.constants.js.map +0 -1
  516. package/dist/module/workflow-schedule/controller/workflow-schedule.controller.d.ts +0 -83
  517. package/dist/module/workflow-schedule/controller/workflow-schedule.controller.js +0 -220
  518. package/dist/module/workflow-schedule/controller/workflow-schedule.controller.js.map +0 -1
  519. package/dist/module/workflow-schedule/dto/create-schedule.dto.d.ts +0 -32
  520. package/dist/module/workflow-schedule/dto/create-schedule.dto.js +0 -163
  521. package/dist/module/workflow-schedule/dto/create-schedule.dto.js.map +0 -1
  522. package/dist/module/workflow-schedule/dto/get-execution-logs.dto.d.ts +0 -35
  523. package/dist/module/workflow-schedule/dto/get-execution-logs.dto.js +0 -124
  524. package/dist/module/workflow-schedule/dto/get-execution-logs.dto.js.map +0 -1
  525. package/dist/module/workflow-schedule/dto/update-schedule.dto.d.ts +0 -19
  526. package/dist/module/workflow-schedule/dto/update-schedule.dto.js +0 -106
  527. package/dist/module/workflow-schedule/dto/update-schedule.dto.js.map +0 -1
  528. package/dist/module/workflow-schedule/entities/scheduled-workflow.entity.d.ts +0 -30
  529. package/dist/module/workflow-schedule/entities/scheduled-workflow.entity.js +0 -113
  530. package/dist/module/workflow-schedule/entities/scheduled-workflow.entity.js.map +0 -1
  531. package/dist/module/workflow-schedule/entities/workflow-execution-log.entity.d.ts +0 -34
  532. package/dist/module/workflow-schedule/entities/workflow-execution-log.entity.js +0 -118
  533. package/dist/module/workflow-schedule/entities/workflow-execution-log.entity.js.map +0 -1
  534. package/dist/module/workflow-schedule/interfaces/schedule-job-data.interface.d.ts +0 -44
  535. package/dist/module/workflow-schedule/interfaces/schedule-job-data.interface.js +0 -3
  536. package/dist/module/workflow-schedule/interfaces/schedule-job-data.interface.js.map +0 -1
  537. package/dist/module/workflow-schedule/processors/schedule.processor.d.ts +0 -31
  538. package/dist/module/workflow-schedule/processors/schedule.processor.js +0 -409
  539. package/dist/module/workflow-schedule/processors/schedule.processor.js.map +0 -1
  540. package/dist/module/workflow-schedule/service/workflow-schedule.service.d.ts +0 -44
  541. package/dist/module/workflow-schedule/service/workflow-schedule.service.js +0 -434
  542. package/dist/module/workflow-schedule/service/workflow-schedule.service.js.map +0 -1
  543. package/dist/module/workflow-schedule/workflow-schedule.module.d.ts +0 -2
  544. package/dist/module/workflow-schedule/workflow-schedule.module.js +0 -44
  545. package/dist/module/workflow-schedule/workflow-schedule.module.js.map +0 -1
  546. package/src/config/bull.config.ts +0 -69
  547. package/src/module/meta/repository/entity-attribute-update.repository.ts +0 -44
  548. package/src/module/meta/service/entity-attribute-update.service.ts +0 -29
  549. package/src/module/workflow-automation/service/schedule-handler.service.ts +0 -150
  550. package/src/module/workflow-schedule/INSTALLATION.md +0 -244
  551. package/src/module/workflow-schedule/README.md +0 -422
  552. package/src/module/workflow-schedule/constants/schedule.constants.ts +0 -48
  553. package/src/module/workflow-schedule/controller/workflow-schedule.controller.ts +0 -255
  554. package/src/module/workflow-schedule/docs/CLAUDE_CODE_GUIDE.md +0 -510
  555. package/src/module/workflow-schedule/docs/CLAUDE_CODE_PROMPT.md +0 -362
  556. package/src/module/workflow-schedule/docs/RUN_CLAUDE_CODE.sh +0 -68
  557. package/src/module/workflow-schedule/dto/create-schedule.dto.ts +0 -147
  558. package/src/module/workflow-schedule/dto/get-execution-logs.dto.ts +0 -119
  559. package/src/module/workflow-schedule/dto/update-schedule.dto.ts +0 -96
  560. package/src/module/workflow-schedule/entities/scheduled-workflow.entity.ts +0 -148
  561. package/src/module/workflow-schedule/entities/workflow-execution-log.entity.ts +0 -154
  562. package/src/module/workflow-schedule/interfaces/schedule-job-data.interface.ts +0 -53
  563. package/src/module/workflow-schedule/processors/schedule.processor.ts +0 -584
  564. package/src/module/workflow-schedule/service/workflow-schedule.service.ts +0 -600
  565. package/src/module/workflow-schedule/workflow-schedule.module.ts +0 -43
@@ -1,44 +0,0 @@
1
- import { Injectable } from '@nestjs/common';
2
- import { DataSource } from 'typeorm';
3
-
4
- @Injectable()
5
- export class EntityUpdateRepository {
6
- constructor(private readonly dataSource: DataSource) {}
7
-
8
-
9
- async updateEntityAttribute(entity, config ) {
10
- const {entityType, organization_id} = entity;
11
-
12
- // 1. Get the table name
13
-
14
- const result = await this.dataSource.query(
15
- `SELECT data_source
16
- FROM frm_entity_master
17
- WHERE mapped_entity_type = ?
18
- and organization_id = ?`,
19
- [config.entity_type, organization_id],
20
- );
21
-
22
- if (!result.length) {
23
- throw new Error("Entity table not found");
24
- }
25
-
26
- const entityTableName = result[0].data_source;
27
-
28
- // 2. Determine the ID condition
29
-
30
- const isLead = config.entity_type === "LEAD";
31
- const idColumn = isLead ? "id" : "parent_id";
32
-
33
- // 3. Update using dynamic table name
34
-
35
- return await this.dataSource
36
- .createQueryBuilder()
37
- .update(entityTableName)
38
- .set({ [config.attribute_key]: config.attribute_value })
39
- .where(`${idColumn} = :id`, { id: entity.id })
40
- .execute();
41
-
42
- }
43
-
44
- }
@@ -1,29 +0,0 @@
1
- import { Injectable } from "@nestjs/common";
2
- import { EntityServiceImpl } from "./entity-service-impl.service";
3
- import { EntityUpdateRepository } from "../repository/entity-attribute-update.repository";
4
-
5
- @Injectable()
6
- export class EntityUpdateService extends EntityServiceImpl{
7
-
8
- constructor(
9
- private readonly entityUpdateRepository:EntityUpdateRepository
10
- ){
11
- super();
12
- }
13
-
14
- async execute(payload: any): Promise<any> {
15
-
16
- let { entity, user, config } = payload;
17
- console.log(entity)
18
-
19
-
20
- if (entity.entity_type !== 'LEAD') {
21
- entity = await this.getEntityData('LEAD', entity.parent_id,user );
22
- }
23
- console.log(entity,"---------------------------------------");
24
-
25
- return this.entityUpdateRepository.updateEntityAttribute(entity,config);
26
-
27
-
28
- }
29
- }
@@ -1,150 +0,0 @@
1
- import { Inject, Injectable, Logger } from '@nestjs/common';
2
- import { FilterEvaluatorService } from 'src/module/filter/service/filter-evaluator.service';
3
- import { DataSource } from 'typeorm';
4
- import { WorkflowAutomationEngineService } from './workflow-automation-engine.service';
5
-
6
- @Injectable()
7
- export class ScheduleHandlerService {
8
- private readonly logger = new Logger(ScheduleHandlerService.name);
9
-
10
- constructor(
11
- private readonly dataSource: DataSource,
12
- private readonly filterEvaluator: FilterEvaluatorService,
13
- // @Inject('WorkflowAutomationEngineService')
14
- private readonly workflowAutomationEngineService: WorkflowAutomationEngineService,
15
- ) {}
16
-
17
- async scheduleQueryBuilder(workflowId: number, jobData: any) {
18
- // 1️⃣ Fetch workflow automation config
19
- const [workflow] = await this.dataSource.query(
20
- `SELECT * FROM frm_wf_automation WHERE id = ? AND organization_id = ?`,
21
- [workflowId, jobData.organizationId],
22
- );
23
-
24
- if (!workflow) throw new Error(`Workflow with ID ${workflowId} not found`);
25
-
26
- const event = JSON.parse(workflow.event_json || '{}');
27
- const scheduleJson = workflow.schedule;
28
- const entityType = workflow.applicable_entity_type;
29
-
30
- // 2️⃣ Get table name from frm_entity_master
31
- const [entity] = await this.dataSource.query(
32
- `SELECT data_source FROM frm_entity_master WHERE mapped_entity_type = ? AND organization_id = ?`,
33
- [entityType, jobData.organizationId],
34
- );
35
- if (!entity?.data_source) throw new Error(`Entity ${entityType} not found`);
36
-
37
- const tableName = entity.data_source;
38
-
39
- // 3️⃣ Resolve executionDate (list master item name)
40
- const [executionDateItem] = await this.dataSource.query(
41
- `SELECT name FROM frm_list_master_items WHERE id = ?`,
42
- [scheduleJson.executionDate],
43
- );
44
- const executionDateName = executionDateItem?.name?.toLowerCase() || '';
45
- const executionDataOrTime = scheduleJson.executionDateOrTime;
46
-
47
- const executionUnits = Number(scheduleJson.executionDateUnits || 0);
48
- const fixedTime = scheduleJson.fixedTime; // e.g. "16:00"
49
-
50
- // Build time window logic
51
- let comparisonDateCondition = '';
52
-
53
- if (executionDateName.includes('after')) {
54
- comparisonDateCondition = `
55
- ${executionDataOrTime} >= CURDATE() + INTERVAL ${executionUnits} DAY
56
- AND ${executionDataOrTime} < CURDATE() + INTERVAL ${executionUnits + 1} DAY
57
- `;
58
- } else if (executionDateName.includes('before')) {
59
- comparisonDateCondition = `
60
- ${executionDataOrTime} >= CURDATE() - INTERVAL ${executionUnits + 1} DAY
61
- AND ${executionDataOrTime} < CURDATE() - INTERVAL ${executionUnits} DAY
62
- `;
63
- } else if (executionDateName.includes('same')) {
64
- comparisonDateCondition = `
65
- ${executionDataOrTime} >= CURDATE()
66
- AND ${executionDataOrTime} < CURDATE() + INTERVAL 1 DAY
67
- `;
68
- }
69
-
70
- const query = `
71
- SELECT *
72
- FROM ${tableName}
73
- WHERE ${comparisonDateCondition}
74
- AND organization_id = ?
75
- `;
76
-
77
- this.logger.debug(`Executing Scheduler Query: ${query}`);
78
-
79
- const results = await this.dataSource.query(query, [
80
- jobData.organizationId,
81
- ]);
82
-
83
- this.logger.log(
84
- `Found ${results.length} scheduled records for ${tableName}`,
85
- );
86
-
87
- return { results, workflow, tableName };
88
- }
89
-
90
- // ⚙️ Step 2: Handle scheduled automation (main entry point)
91
- async handleScheduledWorkflow(workflowId: number, jobData: any) {
92
- const { results, workflow, tableName } = await this.scheduleQueryBuilder(
93
- workflowId,
94
- jobData,
95
- );
96
-
97
- if (!results?.length) {
98
- this.logger.warn(`No records found for scheduled workflow ${workflowId}`);
99
- return;
100
- }
101
-
102
- this.logger.log(
103
- `Processing ${results.length} records for workflow ${workflowId}`,
104
- );
105
-
106
- // Parse the workflow event JSON again to get filter/action info
107
- const event = JSON.parse(workflow.event_json || '{}');
108
- const filter = workflow.condition_filter_code;
109
- const mappedEntityType = workflow.applicable_entity_type;
110
-
111
- const matchedEntities: any[] = [];
112
-
113
- // 🔁 Step 2A: Evaluate criteria for each record
114
- for (const record of results) {
115
- const entityIdToUse = record.id; // assuming 'id' column in the table
116
- const criteriaMatched = await this.filterEvaluator.evaluateCriteria(
117
- mappedEntityType,
118
- filter,
119
- entityIdToUse,
120
- jobData,
121
- );
122
-
123
- this.logger.debug(
124
- `⚖️ Criteria check for entity ${entityIdToUse} -> ${criteriaMatched}`,
125
- );
126
-
127
- if (criteriaMatched) {
128
- matchedEntities.push(record);
129
- }
130
- }
131
-
132
- // 🧮 Step 3: Execute workflow actions for matched entities
133
- if (!matchedEntities.length) {
134
- this.logger.log(`No records passed criteria for workflow ${workflowId}`);
135
- return;
136
- }
137
-
138
- this.logger.log(
139
- `✅ ${matchedEntities.length} entities passed criteria, executing actions...`,
140
- );
141
-
142
- for (const entity of matchedEntities) {
143
- await this.workflowAutomationEngineService.executeActions(
144
- workflowId,
145
- entity,
146
- jobData,
147
- );
148
- }
149
- }
150
- }
@@ -1,244 +0,0 @@
1
- # Workflow Schedule Module - Installation Guide
2
-
3
- ## Quick Start
4
-
5
- ### Step 1: Install Dependencies
6
-
7
- ```bash
8
- npm install @nestjs/bull bull redis cron-parser
9
- npm install --save-dev @types/bull
10
- ```
11
-
12
- **Note:** `cron-parser` includes its own TypeScript definitions, so no `@types` package is needed.
13
-
14
- ### Step 2: Setup Redis
15
-
16
- #### Option A: Using Docker (Recommended)
17
- ```bash
18
- docker run -d \
19
- --name redis-workflow \
20
- -p 6379:6379 \
21
- redis:latest
22
- ```
23
-
24
- #### Option B: Local Installation
25
- **macOS:**
26
- ```bash
27
- brew install redis
28
- brew services start redis
29
- ```
30
-
31
- **Ubuntu/Debian:**
32
- ```bash
33
- sudo apt-get install redis-server
34
- sudo systemctl start redis-server
35
- ```
36
-
37
- **Windows:**
38
- Download from: https://redis.io/download
39
-
40
- ### Step 3: Configure Environment Variables
41
-
42
- Add to your `.env` file:
43
-
44
- ```env
45
- # Redis Configuration
46
- REDIS_HOST=localhost
47
- REDIS_PORT=6379
48
- REDIS_PASSWORD=
49
- REDIS_DB=0
50
-
51
- # Existing Database Configuration (verify these)
52
- DB_HOST=13.234.25.234
53
- DB_PORT=3306
54
- DB_USER=root
55
- DB_PASS=Rezolut@123
56
- DB_NAME=core
57
- ```
58
-
59
- ### Step 4: Verify Redis Connection
60
-
61
- ```bash
62
- # Test Redis connection
63
- redis-cli ping
64
- # Should respond: PONG
65
- ```
66
-
67
- ### Step 5: Run Database Migrations
68
-
69
- The module requires three migrations to be run:
70
-
71
- ```bash
72
- # Using TypeORM CLI (recommended)
73
- npx ts-node -r tsconfig-paths/register ./node_modules/typeorm/cli.js migration:run -d src/config/database.config.ts
74
-
75
- # Or create a migration script in package.json:
76
- # "migration:run": "typeorm migration:run -d src/config/database.config.ts"
77
- # Then run:
78
- npm run migration:run
79
- ```
80
-
81
- **Migrations will create:**
82
- 1. ✅ `workflow_type` column in `cr_wf_master` table
83
- 2. ✅ `cr_wf_scheduled_workflow` table with indexes
84
- 3. ✅ `cr_wf_execution_log` table with indexes
85
-
86
- ### Step 6: Start Your Application
87
-
88
- ```bash
89
- npm run start:dev
90
- ```
91
-
92
- ### Step 7: Verify Installation
93
-
94
- Check the console logs for:
95
- ```
96
- [Nest] INFO [BullModule] Bull queues registered
97
- [Nest] INFO [WorkflowScheduleModule] Workflow Schedule Module initialized
98
- ```
99
-
100
- ## Quick Test
101
-
102
- ### Create Your First Schedule
103
-
104
- ```bash
105
- curl -X POST http://localhost:3000/workflow-schedule/create \
106
- -H "Content-Type: application/json" \
107
- -H "Authorization: Bearer YOUR_JWT_TOKEN" \
108
- -d '{
109
- "workflow_id": 1,
110
- "name": "Test Schedule",
111
- "cron_expression": "*/5 * * * *",
112
- "timezone": "Asia/Kolkata",
113
- "actions": []
114
- }'
115
- ```
116
-
117
- ### List All Schedules
118
-
119
- ```bash
120
- curl -X GET http://localhost:3000/workflow-schedule/list \
121
- -H "Authorization: Bearer YOUR_JWT_TOKEN"
122
- ```
123
-
124
- ## Troubleshooting
125
-
126
- ### Issue: Cannot connect to Redis
127
-
128
- **Solution:**
129
- ```bash
130
- # Check if Redis is running
131
- redis-cli ping
132
-
133
- # If not running, start Redis
134
- docker start redis-workflow
135
- # or
136
- brew services start redis
137
- ```
138
-
139
- ### Issue: Migration fails with "Table already exists"
140
-
141
- **Solution:**
142
- Migrations check if tables exist before creating them. If you see this message, the tables are already present. You can safely ignore it.
143
-
144
- ### Issue: Jobs are not processing
145
-
146
- **Checklist:**
147
- - [ ] Redis is running and accessible
148
- - [ ] Schedule status is `ACTIVE`
149
- - [ ] Schedule `is_enabled` is `true`
150
- - [ ] Cron expression is valid
151
- - [ ] Application has restarted after creating the schedule
152
-
153
- **Verify:**
154
- ```bash
155
- # Check Redis keys
156
- redis-cli KEYS "bull:workflow-schedule:*"
157
-
158
- # Should show keys if jobs are queued
159
- ```
160
-
161
- ### Issue: TypeScript errors after installation
162
-
163
- **Solution:**
164
- ```bash
165
- # Clear node_modules and reinstall
166
- rm -rf node_modules package-lock.json
167
- npm install
168
-
169
- # Restart your IDE/editor
170
- ```
171
-
172
- ## Verify Bull Queue Dashboard (Optional)
173
-
174
- Install Bull Board for visual queue monitoring:
175
-
176
- ```bash
177
- npm install @bull-board/express @bull-board/api
178
- ```
179
-
180
- Add to your `main.ts`:
181
- ```typescript
182
- import { createBullBoard } from '@bull-board/api';
183
- import { BullAdapter } from '@bull-board/api/bullAdapter';
184
- import { ExpressAdapter } from '@bull-board/express';
185
-
186
- // Get queue from your app
187
- const schedulerQueue = app.get('BullQueue_workflow-schedule');
188
-
189
- const serverAdapter = new ExpressAdapter();
190
- createBullBoard({
191
- queues: [new BullAdapter(schedulerQueue)],
192
- serverAdapter,
193
- });
194
-
195
- serverAdapter.setBasePath('/admin/queues');
196
- app.use('/admin/queues', serverAdapter.getRouter());
197
- ```
198
-
199
- Then access: `http://localhost:3000/admin/queues`
200
-
201
- ## Package Versions
202
-
203
- Tested with:
204
- ```json
205
- {
206
- "@nestjs/bull": "^10.0.0",
207
- "@nestjs/common": "^11.0.0",
208
- "@nestjs/core": "^11.0.0",
209
- "bull": "^4.12.0",
210
- "redis": "^4.6.0",
211
- "cron-parser": "^4.9.0"
212
- }
213
- ```
214
-
215
- ## Production Checklist
216
-
217
- Before deploying to production:
218
-
219
- - [ ] Configure Redis with persistence
220
- - [ ] Set up Redis password authentication
221
- - [ ] Configure appropriate retry strategies
222
- - [ ] Set up monitoring and alerting
223
- - [ ] Configure log retention policies
224
- - [ ] Test failover scenarios
225
- - [ ] Set up backup for scheduled workflow configurations
226
- - [ ] Document schedule ownership and purpose
227
- - [ ] Configure rate limiting if needed
228
- - [ ] Set up Redis clustering for high availability
229
-
230
- ## Next Steps
231
-
232
- 1. Read the full [README.md](./README.md) for API documentation
233
- 2. Test the 9 API endpoints
234
- 3. Create your first scheduled workflow
235
- 4. Monitor execution logs
236
- 5. Set up Bull Board for visual monitoring
237
-
238
- ## Support
239
-
240
- If you encounter issues:
241
- 1. Check application logs
242
- 2. Verify Redis connectivity
243
- 3. Ensure migrations ran successfully
244
- 4. Review the [README.md](./README.md) troubleshooting section