rez_core 4.0.178 → 4.0.180

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 (606) 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 -9
  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 +16 -12
  22. package/dist/config/database.config.js.map +1 -1
  23. package/dist/core.module.d.ts +1 -1
  24. package/dist/core.module.js +7 -10
  25. package/dist/core.module.js.map +1 -1
  26. package/dist/main.js +1 -1
  27. package/dist/main.js.map +1 -1
  28. package/dist/module/auth/guards/role.guard.js +3 -3
  29. package/dist/module/auth/services/auth.service.js +3 -3
  30. package/dist/module/auth/services/auth.service.js.map +1 -1
  31. package/dist/module/enterprise/entity/organization.entity.js +1 -1
  32. package/dist/module/enterprise/repository/school.repository.js +3 -3
  33. package/dist/module/enterprise/repository/school.repository.js.map +1 -1
  34. package/dist/module/filter/repository/saved-filter.repository.js +4 -4
  35. package/dist/module/filter/service/filter-evaluator.service.js +3 -3
  36. package/dist/module/filter/service/filter-evaluator.service.js.map +1 -1
  37. package/dist/module/filter/service/filter.service.d.ts +4 -1
  38. package/dist/module/filter/service/filter.service.js +69 -39
  39. package/dist/module/filter/service/filter.service.js.map +1 -1
  40. package/dist/module/integration/entity/integration-config.entity.js +6 -6
  41. package/dist/module/integration/entity/integration-config.entity.js.map +1 -1
  42. package/dist/module/integration/entity/integration-entity-mapper.entity.js +1 -1
  43. package/dist/module/integration/entity/integration-entity-mapper.entity.js.map +1 -1
  44. package/dist/module/integration/entity/integration-source.entity.js +4 -4
  45. package/dist/module/integration/entity/integration-source.entity.js.map +1 -1
  46. package/dist/module/integration/entity/user-integration.entity.js +4 -4
  47. package/dist/module/integration/entity/user-integration.entity.js.map +1 -1
  48. package/dist/module/integration/examples/usage.example.js +9 -9
  49. package/dist/module/integration/service/integration.service.js +1 -1
  50. package/dist/module/integration/service/wrapper.service.d.ts +1 -3
  51. package/dist/module/integration/service/wrapper.service.js +65 -67
  52. package/dist/module/integration/service/wrapper.service.js.map +1 -1
  53. package/dist/module/listmaster/entity/list-master-items.entity.js +3 -3
  54. package/dist/module/listmaster/entity/list-master-items.entity.js.map +1 -1
  55. package/dist/module/listmaster/entity/list-master.entity.js +4 -4
  56. package/dist/module/listmaster/entity/list-master.entity.js.map +1 -1
  57. package/dist/module/listmaster/service/list-master-item.service.js +3 -3
  58. package/dist/module/listmaster/service/list-master-item.service.js.map +1 -1
  59. package/dist/module/mapper/entity/field-mapper.entity.js +6 -6
  60. package/dist/module/mapper/entity/field-mapper.entity.js.map +1 -1
  61. package/dist/module/mapper/service/field-mapper.service.js +7 -7
  62. package/dist/module/mapper/service/field-mapper.service.js.map +1 -1
  63. package/dist/module/mapper/service/mapper.service.js +4 -4
  64. package/dist/module/mapper/service/mapper.service.js.map +1 -1
  65. package/dist/module/meta/controller/attribute-master.controller.d.ts +1 -4
  66. package/dist/module/meta/controller/attribute-master.controller.js +2 -15
  67. package/dist/module/meta/controller/attribute-master.controller.js.map +1 -1
  68. package/dist/module/meta/entity/app-master.entity.d.ts +2 -2
  69. package/dist/module/meta/entity/app-master.entity.js +4 -4
  70. package/dist/module/meta/entity/entity-master.entity.js +1 -1
  71. package/dist/module/meta/entity/entity-master.entity.js.map +1 -1
  72. package/dist/module/meta/entity/view-master.entity.js +1 -1
  73. package/dist/module/meta/entity/view-master.entity.js.map +1 -1
  74. package/dist/module/meta/entity.module.js +0 -7
  75. package/dist/module/meta/entity.module.js.map +1 -1
  76. package/dist/module/meta/repository/attribute-master.repository.js +2 -2
  77. package/dist/module/meta/repository/attribute-master.repository.js.map +1 -1
  78. package/dist/module/meta/repository/entity-master.repository.js +2 -2
  79. package/dist/module/meta/repository/entity-master.repository.js.map +1 -1
  80. package/dist/module/meta/service/attribute-master.service.js +1 -1
  81. package/dist/module/meta/service/attribute-master.service.js.map +1 -1
  82. package/dist/module/meta/service/entity-dynamic.service.js +27 -27
  83. package/dist/module/meta/service/entity-dynamic.service.js.map +1 -1
  84. package/dist/module/meta/service/entity-list.service.js +3 -3
  85. package/dist/module/meta/service/entity-master.service.js +4 -4
  86. package/dist/module/meta/service/entity-master.service.js.map +1 -1
  87. package/dist/module/meta/service/entity-relation.service.js +13 -13
  88. package/dist/module/meta/service/entity-relation.service.js.map +1 -1
  89. package/dist/module/meta/service/entity-service-impl.service.js +3 -3
  90. package/dist/module/meta/service/media-data.service.js +9 -9
  91. package/dist/module/meta/service/media-data.service.js.map +1 -1
  92. package/dist/module/meta/service/resolver.service.js +19 -19
  93. package/dist/module/meta/service/resolver.service.js.map +1 -1
  94. package/dist/module/module/repository/menu.repository.js +12 -12
  95. package/dist/module/module/service/module-access.service.js +1 -1
  96. package/dist/module/module/service/module-access.service.js.map +1 -1
  97. package/dist/module/notification/entity/otp.entity.js +1 -1
  98. package/dist/module/notification/entity/otp.entity.js.map +1 -1
  99. package/dist/module/notification/service/notification.service.js +9 -9
  100. package/dist/module/user/controller/login.controller.js +18 -18
  101. package/dist/module/user/entity/user-role-mapping.entity.js +1 -1
  102. package/dist/module/user/entity/user-role-mapping.entity.js.map +1 -1
  103. package/dist/module/user/service/login.service.js +1 -1
  104. package/dist/module/user/service/login.service.js.map +1 -1
  105. package/dist/module/user/service/role.service.js +4 -4
  106. package/dist/module/user/service/user-session.service.js +4 -4
  107. package/dist/module/user/service/user-session.service.js.map +1 -1
  108. package/dist/module/workflow/entity/action-category.entity.d.ts +1 -1
  109. package/dist/module/workflow/entity/action-category.entity.js +1 -1
  110. package/dist/module/workflow/entity/action-data.entity.js +1 -1
  111. package/dist/module/workflow/entity/action-data.entity.js.map +1 -1
  112. package/dist/module/workflow/entity/action.entity.d.ts +0 -1
  113. package/dist/module/workflow/entity/action.entity.js +1 -5
  114. package/dist/module/workflow/entity/action.entity.js.map +1 -1
  115. package/dist/module/workflow/entity/comm-template.entity.js +1 -1
  116. package/dist/module/workflow/entity/comm-template.entity.js.map +1 -1
  117. package/dist/module/workflow/entity/template-attach-mapper.entity.js +1 -1
  118. package/dist/module/workflow/entity/template-attach-mapper.entity.js.map +1 -1
  119. package/dist/module/workflow/repository/action-data.repository.js +4 -5
  120. package/dist/module/workflow/repository/action-data.repository.js.map +1 -1
  121. package/dist/module/workflow/repository/action.repository.js +21 -21
  122. package/dist/module/workflow/repository/action.repository.js.map +1 -1
  123. package/dist/module/workflow/repository/comm-template.repository.js +7 -7
  124. package/dist/module/workflow/repository/comm-template.repository.js.map +1 -1
  125. package/dist/module/workflow/repository/form-master.repository.js +3 -3
  126. package/dist/module/workflow/repository/form-master.repository.js.map +1 -1
  127. package/dist/module/workflow/repository/stage-group.repository.js +23 -23
  128. package/dist/module/workflow/repository/stage-movement.repository.js +17 -17
  129. package/dist/module/workflow/repository/stage-movement.repository.js.map +1 -1
  130. package/dist/module/workflow/repository/stage.repository.js +8 -8
  131. package/dist/module/workflow/repository/task.repository.d.ts +1 -3
  132. package/dist/module/workflow/repository/task.repository.js +5 -10
  133. package/dist/module/workflow/repository/task.repository.js.map +1 -1
  134. package/dist/module/workflow/service/action-template-mapping.service.js +22 -22
  135. package/dist/module/workflow/service/action.service.js +13 -13
  136. package/dist/module/workflow/service/action.service.js.map +1 -1
  137. package/dist/module/workflow/service/entity-modification.service.js +6 -6
  138. package/dist/module/workflow/service/populate-workflow.service.js +8 -8
  139. package/dist/module/workflow/service/populate-workflow.service.js.map +1 -1
  140. package/dist/module/workflow/service/stage-group.service.js +6 -6
  141. package/dist/module/workflow/service/stage-group.service.js.map +1 -1
  142. package/dist/module/workflow/service/stage.service.js +4 -4
  143. package/dist/module/workflow/service/stage.service.js.map +1 -1
  144. package/dist/module/workflow/service/task.service.js +54 -68
  145. package/dist/module/workflow/service/task.service.js.map +1 -1
  146. package/dist/module/workflow/service/workflow-list-master.service.js +16 -16
  147. package/dist/module/workflow/service/workflow-list-master.service.js.map +1 -1
  148. package/dist/module/workflow/service/workflow-meta.service.js +51 -53
  149. package/dist/module/workflow/service/workflow-meta.service.js.map +1 -1
  150. package/dist/module/workflow/service/workflow.service.js +5 -5
  151. package/dist/module/workflow/service/workflow.service.js.map +1 -1
  152. package/dist/module/workflow-automation/controller/workflow-automation.controller.d.ts +0 -6
  153. package/dist/module/workflow-automation/controller/workflow-automation.controller.js +0 -16
  154. package/dist/module/workflow-automation/controller/workflow-automation.controller.js.map +1 -1
  155. package/dist/module/workflow-automation/entity/workflow-automation-action.entity.d.ts +1 -1
  156. package/dist/module/workflow-automation/entity/workflow-automation-action.entity.js +1 -1
  157. package/dist/module/workflow-automation/entity/workflow-automation.entity.d.ts +0 -2
  158. package/dist/module/workflow-automation/entity/workflow-automation.entity.js +0 -8
  159. package/dist/module/workflow-automation/entity/workflow-automation.entity.js.map +1 -1
  160. package/dist/module/workflow-automation/service/workflow-automation-engine.service.d.ts +1 -1
  161. package/dist/module/workflow-automation/service/workflow-automation-engine.service.js +1 -1
  162. package/dist/module/workflow-automation/service/workflow-automation-engine.service.js.map +1 -1
  163. package/dist/module/workflow-automation/service/workflow-automation.service.d.ts +1 -13
  164. package/dist/module/workflow-automation/service/workflow-automation.service.js +6 -115
  165. package/dist/module/workflow-automation/service/workflow-automation.service.js.map +1 -1
  166. package/dist/module/workflow-automation/workflow-automation.module.js +1 -14
  167. package/dist/module/workflow-automation/workflow-automation.module.js.map +1 -1
  168. package/dist/table.config.js +1 -5
  169. package/dist/table.config.js.map +1 -1
  170. package/dist/tsconfig.build.tsbuildinfo +1 -1
  171. package/dist/utils/service/loggingUtil.service.d.ts +2 -9
  172. package/dist/utils/service/loggingUtil.service.js +14 -65
  173. package/dist/utils/service/loggingUtil.service.js.map +1 -1
  174. package/dist/utils/service/reflection-helper.service.js +3 -3
  175. package/dist/utils/service/reflection-helper.service.js.map +1 -1
  176. package/dist/utils/utils.module.js +0 -2
  177. package/dist/utils/utils.module.js.map +1 -1
  178. package/docs/modules/event-driven-integration-design.md +91 -91
  179. package/docs/modules/integration.md +250 -250
  180. package/eslint.config.mjs +34 -34
  181. package/nest-cli.json +14 -14
  182. package/package.json +120 -124
  183. package/server.log +850 -0
  184. package/src/app.controller.ts +12 -12
  185. package/src/app.module.ts +52 -62
  186. package/src/app.service.ts +8 -8
  187. package/src/config/config.module.ts +17 -18
  188. package/src/config/database.config.ts +48 -23
  189. package/src/constant/global.constant.ts +67 -67
  190. package/src/core.module.ts +81 -88
  191. package/src/decorators/roles.decorator.ts +7 -7
  192. package/src/dtos/response.dto.ts +6 -6
  193. package/src/dtos/response.ts +5 -5
  194. package/src/index.ts +1 -1
  195. package/src/module/auth/auth.module.ts +49 -49
  196. package/src/module/auth/controller/auth.controller.ts +28 -28
  197. package/src/module/auth/guards/google-auth.guard.ts +9 -9
  198. package/src/module/auth/guards/jwt.guard.ts +22 -22
  199. package/src/module/auth/guards/role.guard.ts +68 -68
  200. package/src/module/auth/services/auth.service.ts +50 -50
  201. package/src/module/auth/services/jwt.service.ts +11 -11
  202. package/src/module/auth/strategies/google.strategy.ts +54 -54
  203. package/src/module/auth/strategies/jwt.strategy.ts +58 -58
  204. package/src/module/auth/strategies/local.strategy.ts +13 -13
  205. package/src/module/dashboard/controller/dashboard.controller.ts +36 -36
  206. package/src/module/dashboard/dashboard.module.ts +21 -21
  207. package/src/module/dashboard/entity/dashboard_page_data.entity.ts +27 -27
  208. package/src/module/dashboard/entity/widget_master.entity.ts +18 -18
  209. package/src/module/dashboard/repository/dashboard.repository.ts +42 -42
  210. package/src/module/dashboard/service/dashboard.service.ts +73 -73
  211. package/src/module/dev/dev.module.ts +12 -12
  212. package/src/module/dev/service/dev.service.ts +7 -7
  213. package/src/module/enterprise/controller/organization.controller.ts +36 -36
  214. package/src/module/enterprise/enterprise.module.ts +30 -30
  215. package/src/module/enterprise/entity/enterprise.entity.ts +37 -37
  216. package/src/module/enterprise/entity/organization-app-mapping.entity.ts +13 -13
  217. package/src/module/enterprise/entity/organization.entity.ts +92 -92
  218. package/src/module/enterprise/repository/enterprise.repository.ts +31 -31
  219. package/src/module/enterprise/repository/organization.repository.ts +26 -26
  220. package/src/module/enterprise/repository/school.repository.ts +278 -278
  221. package/src/module/enterprise/service/brand.service.ts +5 -5
  222. package/src/module/enterprise/service/enterprise.service.ts +16 -16
  223. package/src/module/enterprise/service/organization-app-mapping.service.ts +4 -4
  224. package/src/module/enterprise/service/organization.service.ts +145 -145
  225. package/src/module/filter/controller/filter.controller.ts +84 -84
  226. package/src/module/filter/dto/filter-request.dto.ts +38 -38
  227. package/src/module/filter/entity/saved-filter-detail.entity.ts +41 -41
  228. package/src/module/filter/entity/saved-filter-master.entity.ts +23 -23
  229. package/src/module/filter/filter.module.ts +31 -31
  230. package/src/module/filter/repository/saved-filter.repository.ts +168 -168
  231. package/src/module/filter/service/filter-evaluator.service.ts +86 -86
  232. package/src/module/filter/service/filter.service.ts +1053 -1005
  233. package/src/module/filter/service/saved-filter.service.ts +170 -170
  234. package/src/module/ics/controller/ics.controller.ts +21 -21
  235. package/src/module/ics/dto/ics.dto.ts +55 -55
  236. package/src/module/ics/ics.module.ts +13 -13
  237. package/src/module/ics/service/ics.service.ts +57 -57
  238. package/src/module/integration/controller/calender-event.controller.ts +31 -31
  239. package/src/module/integration/controller/integration.controller.ts +662 -662
  240. package/src/module/integration/controller/wrapper.controller.ts +37 -37
  241. package/src/module/integration/dto/create-config.dto.ts +526 -526
  242. package/src/module/integration/entity/integration-config.entity.ts +112 -112
  243. package/src/module/integration/entity/integration-entity-mapper.entity.ts +14 -14
  244. package/src/module/integration/entity/integration-source.entity.ts +17 -17
  245. package/src/module/integration/entity/user-integration.entity.ts +71 -71
  246. package/src/module/integration/examples/usage.example.ts +338 -338
  247. package/src/module/integration/factories/base.factory.ts +7 -7
  248. package/src/module/integration/factories/email.factory.ts +49 -49
  249. package/src/module/integration/factories/integration.factory.ts +121 -121
  250. package/src/module/integration/factories/sms.factory.ts +51 -51
  251. package/src/module/integration/factories/telephone.factory.ts +41 -41
  252. package/src/module/integration/factories/whatsapp.factory.ts +56 -56
  253. package/src/module/integration/integration.module.ts +110 -110
  254. package/src/module/integration/service/calendar-event.service.ts +118 -118
  255. package/src/module/integration/service/integration-entity-mapper.service.ts +17 -17
  256. package/src/module/integration/service/integration-queue.service.ts +229 -229
  257. package/src/module/integration/service/integration.service.ts +2633 -2633
  258. package/src/module/integration/service/oauth.service.ts +224 -224
  259. package/src/module/integration/service/wrapper.service.ts +494 -700
  260. package/src/module/integration/strategies/email/gmail-api.strategy.ts +280 -280
  261. package/src/module/integration/strategies/email/outlook-api.strategy.ts +44 -44
  262. package/src/module/integration/strategies/email/outlook.strategy.ts +64 -64
  263. package/src/module/integration/strategies/email/sendgrid-api.strategy.ts +260 -260
  264. package/src/module/integration/strategies/integration.strategy.ts +97 -97
  265. package/src/module/integration/strategies/sms/gupshup-sms.strategy.ts +146 -146
  266. package/src/module/integration/strategies/sms/msg91-sms.strategy.ts +164 -164
  267. package/src/module/integration/strategies/sms/tubelight-sms.strategy.ts +163 -163
  268. package/src/module/integration/strategies/telephone/ozonetel-voice.strategy.ts +238 -238
  269. package/src/module/integration/strategies/telephone/tubelight-voice.strategy.ts +210 -210
  270. package/src/module/integration/strategies/whatsapp/gupshup-whatsapp.strategy.ts +359 -359
  271. package/src/module/integration/strategies/whatsapp/tubelight-whatsapp.strategy.ts +372 -372
  272. package/src/module/integration/strategies/whatsapp/whatsapp-cloud.strategy.ts +403 -403
  273. package/src/module/integration/strategies/whatsapp/whatsapp.strategy.ts +57 -57
  274. package/src/module/layout/controller/layout.controller.ts +47 -47
  275. package/src/module/layout/entity/header-items.entity.ts +28 -28
  276. package/src/module/layout/entity/header-section.entity.ts +19 -19
  277. package/src/module/layout/layout.module.ts +21 -21
  278. package/src/module/layout/repository/header-items.repository.ts +18 -18
  279. package/src/module/layout/repository/header-section.repository.ts +22 -22
  280. package/src/module/layout/service/header-section.service.ts +25 -25
  281. package/src/module/layout_preference/controller/layout_preference.controller.ts +73 -73
  282. package/src/module/layout_preference/entity/layout_preference.entity.ts +28 -28
  283. package/src/module/layout_preference/layout_preference.module.ts +22 -22
  284. package/src/module/layout_preference/repository/layout_preference.repository.ts +65 -65
  285. package/src/module/layout_preference/service/layout_preference.service.ts +191 -191
  286. package/src/module/lead/controller/lead.controller.ts +30 -30
  287. package/src/module/lead/lead.module.ts +14 -14
  288. package/src/module/lead/repository/lead.repository.ts +41 -41
  289. package/src/module/lead/service/lead.service.ts +54 -54
  290. package/src/module/listmaster/controller/list-master.controller.ts +230 -230
  291. package/src/module/listmaster/entity/list-master-items.entity.ts +43 -43
  292. package/src/module/listmaster/entity/list-master.entity.ts +33 -33
  293. package/src/module/listmaster/listmaster.module.ts +46 -46
  294. package/src/module/listmaster/repository/list-master-items.repository.ts +169 -169
  295. package/src/module/listmaster/repository/list-master.repository.ts +46 -46
  296. package/src/module/listmaster/service/list-master-engine.ts +19 -19
  297. package/src/module/listmaster/service/list-master-extension.interface.ts +4 -4
  298. package/src/module/listmaster/service/list-master-item.service.ts +292 -292
  299. package/src/module/listmaster/service/list-master-registry.ts +15 -15
  300. package/src/module/listmaster/service/list-master.service.ts +535 -535
  301. package/src/module/mapper/controller/field-mapper.controller.ts +76 -76
  302. package/src/module/mapper/controller/mapper.controller.ts +20 -20
  303. package/src/module/mapper/dto/field-mapper.dto.ts +14 -14
  304. package/src/module/mapper/entity/field-lovs.entity.ts +19 -19
  305. package/src/module/mapper/entity/field-mapper.entity.ts +53 -53
  306. package/src/module/mapper/entity/mapper.entity.ts +16 -16
  307. package/src/module/mapper/mapper.module.ts +34 -34
  308. package/src/module/mapper/repository/field-lovs.repository.ts +35 -35
  309. package/src/module/mapper/repository/field-mapper.repository.ts +42 -42
  310. package/src/module/mapper/repository/mapper.repository.ts +15 -15
  311. package/src/module/mapper/service/field-mapper.service.ts +266 -271
  312. package/src/module/mapper/service/mapper.service.ts +79 -79
  313. package/src/module/master/controller/master.controller.ts +74 -74
  314. package/src/module/master/service/master.service.ts +483 -483
  315. package/src/module/meta/controller/app-master.controller.ts +38 -38
  316. package/src/module/meta/controller/attribute-master.controller.ts +66 -74
  317. package/src/module/meta/controller/entity-dynamic.controller.ts +125 -125
  318. package/src/module/meta/controller/entity-master.controller.ts +28 -28
  319. package/src/module/meta/controller/entity-relation.controller.ts +36 -36
  320. package/src/module/meta/controller/entity.controller.ts +392 -392
  321. package/src/module/meta/controller/entity.public.controller.ts +75 -75
  322. package/src/module/meta/controller/media.controller.ts +107 -107
  323. package/src/module/meta/controller/meta.controller.ts +96 -96
  324. package/src/module/meta/controller/view-master.controller.ts +86 -86
  325. package/src/module/meta/dto/entity-list-data.dto.ts +6 -6
  326. package/src/module/meta/dto/entity-tab.dto.ts +4 -4
  327. package/src/module/meta/dto/entity-table.dto.ts +9 -9
  328. package/src/module/meta/entity/app-master.entity.ts +34 -34
  329. package/src/module/meta/entity/attribute-master.entity.ts +89 -89
  330. package/src/module/meta/entity/base-entity.entity.ts +75 -75
  331. package/src/module/meta/entity/entity-master.entity.ts +85 -85
  332. package/src/module/meta/entity/entity-relation-data.entity.ts +29 -29
  333. package/src/module/meta/entity/entity-relation.entity.ts +23 -23
  334. package/src/module/meta/entity/entity-table-column.entity.ts +61 -61
  335. package/src/module/meta/entity/entity-table.entity.ts +50 -50
  336. package/src/module/meta/entity/media-data.entity.ts +32 -32
  337. package/src/module/meta/entity/preference.entity.ts +62 -62
  338. package/src/module/meta/entity/view-master.entity.ts +41 -41
  339. package/src/module/meta/entity.module.ts +158 -166
  340. package/src/module/meta/repository/app-master.repository.ts +20 -20
  341. package/src/module/meta/repository/attribute-master.repository.ts +118 -118
  342. package/src/module/meta/repository/entity-master.repository.ts +69 -69
  343. package/src/module/meta/repository/entity-table-column.repository.ts +39 -39
  344. package/src/module/meta/repository/entity-table.repository.ts +53 -53
  345. package/src/module/meta/repository/media-data.repository.ts +50 -50
  346. package/src/module/meta/repository/preference.repository.ts +20 -20
  347. package/src/module/meta/repository/user-app-mapping.repository.ts +28 -28
  348. package/src/module/meta/repository/view-master.repository.ts +42 -42
  349. package/src/module/meta/service/app-master.service.ts +37 -37
  350. package/src/module/meta/service/attribute-master.service.ts +126 -126
  351. package/src/module/meta/service/common.service.ts +9 -9
  352. package/src/module/meta/service/entity-dynamic.service.ts +819 -819
  353. package/src/module/meta/service/entity-list.service.ts +205 -205
  354. package/src/module/meta/service/entity-master.service.ts +169 -169
  355. package/src/module/meta/service/entity-realation-data.service.ts +9 -9
  356. package/src/module/meta/service/entity-relation.service.ts +69 -69
  357. package/src/module/meta/service/entity-service-impl.service.ts +525 -525
  358. package/src/module/meta/service/entity-table-column.service.ts +39 -39
  359. package/src/module/meta/service/entity-table.service.ts +150 -150
  360. package/src/module/meta/service/entity-validation.service.ts +187 -187
  361. package/src/module/meta/service/entity.service.ts +67 -67
  362. package/src/module/meta/service/field-group.service.ts +103 -103
  363. package/src/module/meta/service/media-data.service.ts +507 -507
  364. package/src/module/meta/service/populate-meta.service.ts +193 -193
  365. package/src/module/meta/service/preference.service.ts +16 -16
  366. package/src/module/meta/service/resolver.service.ts +267 -267
  367. package/src/module/meta/service/section-master.service.ts +104 -104
  368. package/src/module/meta/service/update-form-json.service.ts +22 -22
  369. package/src/module/meta/service/user-app-mapping.service.ts +17 -17
  370. package/src/module/meta/service/view-master.service.ts +127 -127
  371. package/src/module/microservice-client/microservice-clients.module.ts +13 -13
  372. package/src/module/microservice-client/service/microservice-client-factory.ts +37 -37
  373. package/src/module/microservice-client/service/microservice-clients.ts +4 -4
  374. package/src/module/module/controller/menu.controller.ts +15 -15
  375. package/src/module/module/controller/module-access.controller.ts +134 -134
  376. package/src/module/module/entity/menu.entity.ts +43 -43
  377. package/src/module/module/entity/module-access.entity.ts +25 -25
  378. package/src/module/module/entity/module-action.entity.ts +17 -17
  379. package/src/module/module/entity/module.entity.ts +52 -52
  380. package/src/module/module/module.module.ts +42 -42
  381. package/src/module/module/repository/menu.repository.ts +184 -184
  382. package/src/module/module/repository/module-access.repository.ts +344 -344
  383. package/src/module/module/service/menu.service.ts +82 -82
  384. package/src/module/module/service/module-access.service.ts +207 -209
  385. package/src/module/notification/controller/notification.controller.ts +58 -58
  386. package/src/module/notification/controller/otp.controller.ts +117 -117
  387. package/src/module/notification/entity/notification.entity.ts +26 -26
  388. package/src/module/notification/entity/otp.entity.ts +28 -28
  389. package/src/module/notification/firebase-admin.config.ts +22 -22
  390. package/src/module/notification/notification.module.ts +69 -69
  391. package/src/module/notification/repository/otp.repository.ts +27 -27
  392. package/src/module/notification/service/email.service.ts +127 -127
  393. package/src/module/notification/service/notification.service.ts +163 -163
  394. package/src/module/notification/service/otp.service.ts +132 -132
  395. package/src/module/third-party-module/entity/third-party-api-registry.entity.ts +52 -52
  396. package/src/module/third-party-module/repository/third-party-api-registry.repository.ts +20 -20
  397. package/src/module/third-party-module/service/api-registry.service.ts +13 -13
  398. package/src/module/third-party-module/third-party.module.ts +12 -12
  399. package/src/module/user/controller/login.controller.ts +197 -197
  400. package/src/module/user/controller/user.controller.ts +40 -40
  401. package/src/module/user/dto/create-user.dto.ts +62 -62
  402. package/src/module/user/dto/update-user.dto.ts +4 -4
  403. package/src/module/user/entity/role.entity.ts +33 -33
  404. package/src/module/user/entity/user-role-mapping.entity.ts +38 -38
  405. package/src/module/user/entity/user-session.entity.ts +73 -73
  406. package/src/module/user/entity/user.entity.ts +59 -59
  407. package/src/module/user/repository/role.repository.ts +96 -96
  408. package/src/module/user/repository/user-role-mapping.repository.ts +126 -126
  409. package/src/module/user/repository/user.repository.ts +50 -50
  410. package/src/module/user/repository/userSession.repository.ts +33 -33
  411. package/src/module/user/service/login.service.ts +304 -304
  412. package/src/module/user/service/role.service.ts +189 -189
  413. package/src/module/user/service/user-role-mapping.service.ts +98 -98
  414. package/src/module/user/service/user-session.service.ts +168 -168
  415. package/src/module/user/service/user.service.ts +365 -365
  416. package/src/module/user/user.module.ts +65 -65
  417. package/src/module/workflow/controller/action-category.controller.ts +54 -54
  418. package/src/module/workflow/controller/action-resource-mapping.controller.ts +23 -23
  419. package/src/module/workflow/controller/action-template-mapping.controller.ts +35 -35
  420. package/src/module/workflow/controller/action.controller.ts +111 -111
  421. package/src/module/workflow/controller/activity-log.controller.ts +55 -55
  422. package/src/module/workflow/controller/comm-template.controller.ts +43 -43
  423. package/src/module/workflow/controller/entity-modification.controller.ts +35 -35
  424. package/src/module/workflow/controller/form-master.controller.ts +43 -43
  425. package/src/module/workflow/controller/stage-group.controller.ts +48 -48
  426. package/src/module/workflow/controller/stage.controller.ts +50 -50
  427. package/src/module/workflow/controller/task.controller.ts +77 -77
  428. package/src/module/workflow/controller/workflow-list-master.controller.ts +44 -44
  429. package/src/module/workflow/controller/workflow-meta.controller.ts +80 -80
  430. package/src/module/workflow/controller/workflow.controller.ts +67 -67
  431. package/src/module/workflow/entity/action-category.entity.ts +38 -38
  432. package/src/module/workflow/entity/action-data.entity.ts +55 -55
  433. package/src/module/workflow/entity/action-resources-mapping.entity.ts +29 -29
  434. package/src/module/workflow/entity/action-template-mapping.entity.ts +17 -17
  435. package/src/module/workflow/entity/action.entity.ts +50 -53
  436. package/src/module/workflow/entity/activity-log.entity.ts +43 -43
  437. package/src/module/workflow/entity/comm-template.entity.ts +43 -43
  438. package/src/module/workflow/entity/entity-modification.entity.ts +38 -38
  439. package/src/module/workflow/entity/form.entity.ts +25 -25
  440. package/src/module/workflow/entity/stage-action-mapping.entity.ts +17 -17
  441. package/src/module/workflow/entity/stage-group.entity.ts +23 -23
  442. package/src/module/workflow/entity/stage-movement-data.entity.ts +38 -38
  443. package/src/module/workflow/entity/stage.entity.ts +20 -20
  444. package/src/module/workflow/entity/task-data.entity.ts +88 -88
  445. package/src/module/workflow/entity/template-attach-mapper.entity.ts +30 -30
  446. package/src/module/workflow/entity/workflow-data.entity.ts +11 -11
  447. package/src/module/workflow/entity/workflow-level-mapping.entity.ts +18 -18
  448. package/src/module/workflow/entity/workflow.entity.ts +20 -20
  449. package/src/module/workflow/repository/action-category.repository.ts +79 -79
  450. package/src/module/workflow/repository/action-data.repository.ts +333 -334
  451. package/src/module/workflow/repository/action.repository.ts +323 -323
  452. package/src/module/workflow/repository/activity-log.repository.ts +148 -148
  453. package/src/module/workflow/repository/comm-template.repository.ts +149 -149
  454. package/src/module/workflow/repository/form-master.repository.ts +59 -59
  455. package/src/module/workflow/repository/stage-group.repository.ts +176 -176
  456. package/src/module/workflow/repository/stage-movement.repository.ts +244 -244
  457. package/src/module/workflow/repository/stage.repository.ts +172 -172
  458. package/src/module/workflow/repository/task.repository.ts +126 -134
  459. package/src/module/workflow/repository/workflow.repository.ts +42 -42
  460. package/src/module/workflow/service/action-category.service.ts +33 -33
  461. package/src/module/workflow/service/action-data.service.ts +62 -62
  462. package/src/module/workflow/service/action-resources-mapping.service.ts +10 -10
  463. package/src/module/workflow/service/action-template-mapping.service.ts +106 -106
  464. package/src/module/workflow/service/action.service.ts +279 -279
  465. package/src/module/workflow/service/activity-log.service.ts +107 -107
  466. package/src/module/workflow/service/comm-template.service.ts +180 -180
  467. package/src/module/workflow/service/entity-modification.service.ts +67 -67
  468. package/src/module/workflow/service/form-master.service.ts +35 -35
  469. package/src/module/workflow/service/populate-workflow.service.ts +303 -303
  470. package/src/module/workflow/service/stage-action-mapping.service.ts +5 -5
  471. package/src/module/workflow/service/stage-group.service.ts +319 -319
  472. package/src/module/workflow/service/stage.service.ts +199 -199
  473. package/src/module/workflow/service/task.service.ts +560 -569
  474. package/src/module/workflow/service/workflow-list-master.service.ts +60 -60
  475. package/src/module/workflow/service/workflow-meta.service.ts +640 -654
  476. package/src/module/workflow/service/workflow.service.ts +205 -205
  477. package/src/module/workflow/workflow.module.ts +176 -176
  478. package/src/module/workflow-automation/controller/workflow-automation.controller.ts +21 -43
  479. package/src/module/workflow-automation/entity/workflow-automation-action.entity.ts +26 -26
  480. package/src/module/workflow-automation/entity/workflow-automation.entity.ts +35 -40
  481. package/src/module/workflow-automation/interface/action.decorator.ts +7 -7
  482. package/src/module/workflow-automation/interface/action.interface.ts +5 -5
  483. package/src/module/workflow-automation/service/action-registery.service.ts +35 -35
  484. package/src/module/workflow-automation/service/workflow-automation-engine.service.ts +214 -214
  485. package/src/module/workflow-automation/service/workflow-automation.service.ts +347 -508
  486. package/src/module/workflow-automation/workflow-automation.module.ts +34 -47
  487. package/src/resources/dev.properties.yaml +31 -30
  488. package/src/resources/local.properties.yaml +27 -27
  489. package/src/resources/properties.module.ts +12 -12
  490. package/src/resources/properties.yaml.ts +11 -11
  491. package/src/resources/uat.properties.yaml +31 -31
  492. package/src/table.config.ts +126 -130
  493. package/src/utils/dto/excel-data.dto.ts +14 -14
  494. package/src/utils/dto/excelsheet-data.dto.ts +5 -5
  495. package/src/utils/service/base64util.service.ts +18 -18
  496. package/src/utils/service/clockIDGenUtil.service.ts +21 -21
  497. package/src/utils/service/codeGenerator.service.ts +22 -22
  498. package/src/utils/service/dateUtil.service.ts +17 -17
  499. package/src/utils/service/encryptUtil.service.ts +97 -97
  500. package/src/utils/service/excel-helper.service.ts +72 -72
  501. package/src/utils/service/excelUtil.service.ts +15 -15
  502. package/src/utils/service/file-util.service.ts +11 -11
  503. package/src/utils/service/json-util.service.ts +23 -23
  504. package/src/utils/service/loggingUtil.service.ts +34 -88
  505. package/src/utils/service/reflection-helper.service.ts +62 -62
  506. package/src/utils/service/wbsCodeGen.service.ts +8 -8
  507. package/src/utils/utils.module.ts +25 -27
  508. package/tsconfig.build.json +4 -4
  509. package/tsconfig.json +24 -24
  510. package/dist/config/bull.config.d.ts +0 -10
  511. package/dist/config/bull.config.js +0 -66
  512. package/dist/config/bull.config.js.map +0 -1
  513. package/dist/module/entity_json/controller/entity_json.controller.d.ts +0 -8
  514. package/dist/module/entity_json/controller/entity_json.controller.js +0 -42
  515. package/dist/module/entity_json/controller/entity_json.controller.js.map +0 -1
  516. package/dist/module/entity_json/entity_json.module.d.ts +0 -2
  517. package/dist/module/entity_json/entity_json.module.js +0 -26
  518. package/dist/module/entity_json/entity_json.module.js.map +0 -1
  519. package/dist/module/entity_json/service/entity_json.service.d.ts +0 -7
  520. package/dist/module/entity_json/service/entity_json.service.js +0 -80
  521. package/dist/module/entity_json/service/entity_json.service.js.map +0 -1
  522. package/dist/module/linked_attributes/controller/linked_attributes.controller.d.ts +0 -5
  523. package/dist/module/linked_attributes/controller/linked_attributes.controller.js +0 -29
  524. package/dist/module/linked_attributes/controller/linked_attributes.controller.js.map +0 -1
  525. package/dist/module/linked_attributes/entity/linked_attribute.entity.d.ts +0 -9
  526. package/dist/module/linked_attributes/entity/linked_attribute.entity.js +0 -70
  527. package/dist/module/linked_attributes/entity/linked_attribute.entity.js.map +0 -1
  528. package/dist/module/linked_attributes/linked_attributes.module.d.ts +0 -2
  529. package/dist/module/linked_attributes/linked_attributes.module.js +0 -29
  530. package/dist/module/linked_attributes/linked_attributes.module.js.map +0 -1
  531. package/dist/module/linked_attributes/repository/linked_attribute.repository.d.ts +0 -6
  532. package/dist/module/linked_attributes/repository/linked_attribute.repository.js +0 -31
  533. package/dist/module/linked_attributes/repository/linked_attribute.repository.js.map +0 -1
  534. package/dist/module/linked_attributes/service/linked_attributes.service.d.ts +0 -5
  535. package/dist/module/linked_attributes/service/linked_attributes.service.js +0 -34
  536. package/dist/module/linked_attributes/service/linked_attributes.service.js.map +0 -1
  537. package/dist/module/meta/repository/entity-attribute-update.repository.d.ts +0 -6
  538. package/dist/module/meta/repository/entity-attribute-update.repository.js +0 -44
  539. package/dist/module/meta/repository/entity-attribute-update.repository.js.map +0 -1
  540. package/dist/module/meta/service/entity-attribute-update.service.d.ts +0 -7
  541. package/dist/module/meta/service/entity-attribute-update.service.js +0 -36
  542. package/dist/module/meta/service/entity-attribute-update.service.js.map +0 -1
  543. package/dist/module/workflow-automation/service/schedule-handler.service.d.ts +0 -16
  544. package/dist/module/workflow-automation/service/schedule-handler.service.js +0 -109
  545. package/dist/module/workflow-automation/service/schedule-handler.service.js.map +0 -1
  546. package/dist/module/workflow-schedule/constants/schedule.constants.d.ts +0 -27
  547. package/dist/module/workflow-schedule/constants/schedule.constants.js +0 -31
  548. package/dist/module/workflow-schedule/constants/schedule.constants.js.map +0 -1
  549. package/dist/module/workflow-schedule/controller/workflow-schedule.controller.d.ts +0 -83
  550. package/dist/module/workflow-schedule/controller/workflow-schedule.controller.js +0 -220
  551. package/dist/module/workflow-schedule/controller/workflow-schedule.controller.js.map +0 -1
  552. package/dist/module/workflow-schedule/dto/create-schedule.dto.d.ts +0 -32
  553. package/dist/module/workflow-schedule/dto/create-schedule.dto.js +0 -163
  554. package/dist/module/workflow-schedule/dto/create-schedule.dto.js.map +0 -1
  555. package/dist/module/workflow-schedule/dto/get-execution-logs.dto.d.ts +0 -35
  556. package/dist/module/workflow-schedule/dto/get-execution-logs.dto.js +0 -124
  557. package/dist/module/workflow-schedule/dto/get-execution-logs.dto.js.map +0 -1
  558. package/dist/module/workflow-schedule/dto/update-schedule.dto.d.ts +0 -19
  559. package/dist/module/workflow-schedule/dto/update-schedule.dto.js +0 -106
  560. package/dist/module/workflow-schedule/dto/update-schedule.dto.js.map +0 -1
  561. package/dist/module/workflow-schedule/entities/scheduled-workflow.entity.d.ts +0 -30
  562. package/dist/module/workflow-schedule/entities/scheduled-workflow.entity.js +0 -113
  563. package/dist/module/workflow-schedule/entities/scheduled-workflow.entity.js.map +0 -1
  564. package/dist/module/workflow-schedule/entities/workflow-execution-log.entity.d.ts +0 -34
  565. package/dist/module/workflow-schedule/entities/workflow-execution-log.entity.js +0 -118
  566. package/dist/module/workflow-schedule/entities/workflow-execution-log.entity.js.map +0 -1
  567. package/dist/module/workflow-schedule/interfaces/schedule-job-data.interface.d.ts +0 -44
  568. package/dist/module/workflow-schedule/interfaces/schedule-job-data.interface.js +0 -3
  569. package/dist/module/workflow-schedule/interfaces/schedule-job-data.interface.js.map +0 -1
  570. package/dist/module/workflow-schedule/processors/schedule.processor.d.ts +0 -31
  571. package/dist/module/workflow-schedule/processors/schedule.processor.js +0 -409
  572. package/dist/module/workflow-schedule/processors/schedule.processor.js.map +0 -1
  573. package/dist/module/workflow-schedule/service/workflow-schedule.service.d.ts +0 -44
  574. package/dist/module/workflow-schedule/service/workflow-schedule.service.js +0 -434
  575. package/dist/module/workflow-schedule/service/workflow-schedule.service.js.map +0 -1
  576. package/dist/module/workflow-schedule/workflow-schedule.module.d.ts +0 -2
  577. package/dist/module/workflow-schedule/workflow-schedule.module.js +0 -44
  578. package/dist/module/workflow-schedule/workflow-schedule.module.js.map +0 -1
  579. package/src/config/bull.config.ts +0 -69
  580. package/src/module/entity_json/controller/entity_json.controller.ts +0 -21
  581. package/src/module/entity_json/entity_json.module.ts +0 -13
  582. package/src/module/entity_json/service/entity_json.service.ts +0 -88
  583. package/src/module/linked_attributes/controller/linked_attributes.controller.ts +0 -10
  584. package/src/module/linked_attributes/entity/linked_attribute.entity.ts +0 -48
  585. package/src/module/linked_attributes/linked_attributes.module.ts +0 -16
  586. package/src/module/linked_attributes/repository/linked_attribute.repository.ts +0 -12
  587. package/src/module/linked_attributes/service/linked_attributes.service.ts +0 -22
  588. package/src/module/meta/repository/entity-attribute-update.repository.ts +0 -44
  589. package/src/module/meta/service/entity-attribute-update.service.ts +0 -29
  590. package/src/module/workflow-automation/service/schedule-handler.service.ts +0 -150
  591. package/src/module/workflow-schedule/INSTALLATION.md +0 -244
  592. package/src/module/workflow-schedule/README.md +0 -422
  593. package/src/module/workflow-schedule/constants/schedule.constants.ts +0 -48
  594. package/src/module/workflow-schedule/controller/workflow-schedule.controller.ts +0 -255
  595. package/src/module/workflow-schedule/docs/CLAUDE_CODE_GUIDE.md +0 -510
  596. package/src/module/workflow-schedule/docs/CLAUDE_CODE_PROMPT.md +0 -362
  597. package/src/module/workflow-schedule/docs/RUN_CLAUDE_CODE.sh +0 -68
  598. package/src/module/workflow-schedule/dto/create-schedule.dto.ts +0 -147
  599. package/src/module/workflow-schedule/dto/get-execution-logs.dto.ts +0 -119
  600. package/src/module/workflow-schedule/dto/update-schedule.dto.ts +0 -96
  601. package/src/module/workflow-schedule/entities/scheduled-workflow.entity.ts +0 -148
  602. package/src/module/workflow-schedule/entities/workflow-execution-log.entity.ts +0 -154
  603. package/src/module/workflow-schedule/interfaces/schedule-job-data.interface.ts +0 -53
  604. package/src/module/workflow-schedule/processors/schedule.processor.ts +0 -584
  605. package/src/module/workflow-schedule/service/workflow-schedule.service.ts +0 -600
  606. package/src/module/workflow-schedule/workflow-schedule.module.ts +0 -43
@@ -1,88 +0,0 @@
1
- import { Injectable } from '@nestjs/common';
2
- import { AttributeMaster } from 'src/module/meta/entity/attribute-master.entity';
3
- import { EntityRelation } from 'src/module/meta/entity/entity-relation.entity';
4
- import { EntityServiceImpl } from 'src/module/meta/service/entity-service-impl.service';
5
- import { DataSource } from 'typeorm';
6
-
7
- @Injectable()
8
- export class EntityJSONService extends EntityServiceImpl {
9
- constructor(private readonly dataSource: DataSource) {
10
- super();
11
- }
12
-
13
- async getAttributeForFlatJSON(
14
- entityType: string,
15
- loggedInUser: any,
16
- ): Promise<any[]> {
17
- const result: any[] = [];
18
- const orgId = loggedInUser.organization_id;
19
-
20
- // 1. GET MAIN ENTITY ATTRIBUTES
21
-
22
- const mainEntityAttributes = await this.dataSource
23
- .getRepository(AttributeMaster)
24
- .find({
25
- where: {
26
- mapped_entity_type: entityType,
27
- organization_id: orgId,
28
- },
29
- });
30
-
31
- result.push({
32
- entity_type: entityType,
33
- attributes: mainEntityAttributes,
34
- });
35
-
36
- // 2. GET RELATED ENTITY TYPES
37
-
38
- const relatedEntities = await this.dataSource
39
- .getRepository(EntityRelation)
40
- .find({
41
- where: {
42
- source_entity_type: entityType,
43
- organization_id: orgId,
44
- relation_type: 'ONE_TO_ONE',
45
- },
46
- });
47
-
48
- const relatedEntityTypes = relatedEntities.map(
49
- (rel) => rel.target_entity_type,
50
- );
51
-
52
- // 3. LOOP RELATED ENTITIES
53
-
54
- for (const relatedType of relatedEntityTypes) {
55
- const attributes = await this.dataSource
56
- .getRepository(AttributeMaster)
57
- .find({
58
- where: {
59
- mapped_entity_type: relatedType,
60
- organization_id: orgId,
61
- },
62
- });
63
-
64
- result.push({
65
- entity_type: relatedType,
66
- attributes,
67
- });
68
- }
69
-
70
- // 4. GET ALL ATTRIBUTES FOR ENTITY LINKED ATTRIBUTES
71
- const linkedAttributes = await this.dataSource
72
- .createQueryBuilder()
73
- .select(['fla.applicable_entity_type', 'fea.*'])
74
- .from('frm_linked_attribute', 'fla')
75
- .innerJoin(
76
- 'frm_entity_attribute',
77
- 'fea',
78
- 'fla.applicable_entity_type = fea.mapped_entity_type AND fla.applicable_attribute_key = fea.attribute_key',
79
- )
80
- .where('fea.organization_id = :orgId', { orgId })
81
- .getRawMany();
82
-
83
- result.push({
84
- linked_attributes: linkedAttributes,
85
- });
86
- return result;
87
- }
88
- }
@@ -1,10 +0,0 @@
1
- import { Controller, Inject } from '@nestjs/common';
2
- import { LinkedAttributesService } from '../service/linked_attributes.service';
3
-
4
- @Controller('linked-attributes')
5
- export class LinkedAttributesController {
6
- constructor(
7
- @Inject('LinkedAttributesService')
8
- private readonly linkedAttributesService: LinkedAttributesService,
9
- ) {}
10
- }
@@ -1,48 +0,0 @@
1
- import { BaseEntity } from 'src/module/meta/entity/base-entity.entity';
2
- import { Column, Entity } from 'typeorm';
3
-
4
- @Entity({ name: 'frm_linked_attribute' })
5
- export class LinkedAttributes extends BaseEntity {
6
- @Column({ name: 'field_name', type: 'varchar', length: 100, nullable: true })
7
- field_name: string;
8
-
9
- @Column({
10
- name: 'attribute_key',
11
- type: 'varchar',
12
- length: 100,
13
- nullable: true,
14
- })
15
- attribute_key: string;
16
-
17
- @Column({
18
- name: 'applicable_attribute_key',
19
- type: 'varchar',
20
- length: 100,
21
- nullable: true,
22
- })
23
- applicable_attribute_key: string;
24
-
25
- @Column({
26
- name: 'mapped_entity_type',
27
- type: 'varchar',
28
- length: 50,
29
- nullable: true,
30
- })
31
- mapped_entity_type: string;
32
-
33
- @Column({
34
- name: 'applicable_entity_type',
35
- type: 'varchar',
36
- length: 50,
37
- nullable: true,
38
- })
39
- applicable_entity_type: string;
40
-
41
- @Column({
42
- name: 'saved_filter_code',
43
- type: 'varchar',
44
- length: 100,
45
- nullable: true,
46
- })
47
- saved_filter_code: string;
48
- }
@@ -1,16 +0,0 @@
1
- import { Module } from '@nestjs/common';
2
- import { EntityModule } from '../meta/entity.module';
3
- import { TypeOrmModule } from '@nestjs/typeorm';
4
- import { LinkedAttributes } from './entity/linked_attribute.entity';
5
- import { LinkedAttributesController } from './controller/linked_attributes.controller';
6
- import { LinkedAttributesService } from './service/linked_attributes.service';
7
-
8
- @Module({
9
- imports: [EntityModule, TypeOrmModule.forFeature([LinkedAttributes])],
10
- controllers: [LinkedAttributesController],
11
- providers: [
12
- { provide: 'LinkedAttributesService', useClass: LinkedAttributesService },
13
- ],
14
- exports: ['LinkedAttributesService'],
15
- })
16
- export class LinkedAttributesModule {}
@@ -1,12 +0,0 @@
1
- import { Injectable } from '@nestjs/common';
2
- import { InjectRepository } from '@nestjs/typeorm';
3
- import { Repository } from 'typeorm';
4
- import { LinkedAttributes } from '../entity/linked_attribute.entity';
5
-
6
- @Injectable()
7
- export class LinkedAttributesRepository {
8
- constructor(
9
- @InjectRepository(LinkedAttributes)
10
- private readonly linkedAttributesRepo: Repository<LinkedAttributes>,
11
- ) {}
12
- }
@@ -1,22 +0,0 @@
1
- import { Injectable } from '@nestjs/common';
2
- import { EntityServiceImpl } from 'src/module/meta/service/entity-service-impl.service';
3
-
4
- @Injectable()
5
- export class LinkedAttributesService extends EntityServiceImpl {
6
- constructor() {
7
- super();
8
- }
9
-
10
- async createEntity(payload: any, loggedInUser: any): Promise<any> {
11
- // Auto-generate attribute_key if missing OR empty
12
- if (!payload.attribute_key || payload.attribute_key.trim() === '') {
13
- payload.attribute_key = payload.field_name
14
- .trim()
15
- .toLowerCase()
16
- .replace(/\s+/g, '_'); // replace spaces with underscore
17
- }
18
-
19
- // Pass to base class create method
20
- return super.createEntity(payload, loggedInUser);
21
- }
22
- }
@@ -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