rez_core 3.1.110 → 3.1.111

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 (381) 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/module/auth/guards/role.guard.js +3 -3
  17. package/dist/module/auth/services/auth.service.js +2 -2
  18. package/dist/module/filter/repository/saved-filter.repository.js +4 -4
  19. package/dist/module/filter/service/filter-evaluator.service.js +2 -2
  20. package/dist/module/filter/service/filter.service.js +7 -7
  21. package/dist/module/integration/examples/usage.example.js +9 -9
  22. package/dist/module/integration/service/integration.service.js +7 -6
  23. package/dist/module/integration/service/integration.service.js.map +1 -1
  24. package/dist/module/integration/service/wrapper.service.js +17 -17
  25. package/dist/module/listmaster/service/list-master-item.service.js +2 -2
  26. package/dist/module/listmaster/service/list-master.service.js +2 -2
  27. package/dist/module/mapper/service/field-mapper.service.js +4 -4
  28. package/dist/module/mapper/service/mapper.service.js +2 -2
  29. package/dist/module/meta/service/entity-dynamic.service.js +18 -18
  30. package/dist/module/meta/service/entity-list.service.js +3 -3
  31. package/dist/module/meta/service/entity-master.service.js +3 -3
  32. package/dist/module/meta/service/entity-relation.service.js +11 -11
  33. package/dist/module/meta/service/entity-service-impl.service.js +3 -3
  34. package/dist/module/meta/service/resolver.service.js +3 -3
  35. package/dist/module/module/repository/menu.repository.js +12 -12
  36. package/dist/module/notification/service/notification.service.js +12 -12
  37. package/dist/module/user/controller/login.controller.js +18 -18
  38. package/dist/module/user/service/role.service.js +4 -4
  39. package/dist/module/user/service/user-session.service.js +2 -2
  40. package/dist/module/workflow/repository/action.repository.js +16 -16
  41. package/dist/module/workflow/repository/comm-template.repository.js +6 -6
  42. package/dist/module/workflow/repository/form-master.repository.js +2 -2
  43. package/dist/module/workflow/repository/stage-group.repository.js +23 -23
  44. package/dist/module/workflow/repository/stage-movement.repository.js +11 -11
  45. package/dist/module/workflow/repository/stage.repository.js +8 -8
  46. package/dist/module/workflow/service/action-template-mapping.service.js +10 -10
  47. package/dist/module/workflow/service/action.service.js +7 -7
  48. package/dist/module/workflow/service/entity-modification.service.js +6 -6
  49. package/dist/module/workflow/service/stage-group.service.js +5 -5
  50. package/dist/module/workflow/service/stage.service.js +2 -2
  51. package/dist/module/workflow/service/task.service.js +33 -33
  52. package/dist/module/workflow/service/workflow-list-master.service.js +15 -15
  53. package/dist/module/workflow/service/workflow-meta.service.js +50 -50
  54. package/dist/module/workflow/service/workflow.service.js +2 -2
  55. package/dist/tsconfig.build.tsbuildinfo +1 -1
  56. package/dist/utils/service/reflection-helper.service.js +2 -2
  57. package/docs/modules/event-driven-integration-design.md +91 -91
  58. package/docs/modules/integration.md +250 -250
  59. package/eslint.config.mjs +34 -34
  60. package/nest-cli.json +14 -14
  61. package/package.json +118 -118
  62. package/server.log +850 -0
  63. package/src/app.controller.ts +12 -12
  64. package/src/app.module.ts +49 -49
  65. package/src/app.service.ts +8 -8
  66. package/src/config/config.module.ts +18 -18
  67. package/src/config/database.config.ts +23 -23
  68. package/src/constant/global.constant.ts +67 -67
  69. package/src/core.module.ts +81 -81
  70. package/src/decorators/roles.decorator.ts +7 -7
  71. package/src/dtos/response.dto.ts +6 -6
  72. package/src/dtos/response.ts +5 -5
  73. package/src/index.ts +1 -1
  74. package/src/module/auth/auth.module.ts +49 -49
  75. package/src/module/auth/controller/auth.controller.ts +28 -28
  76. package/src/module/auth/guards/google-auth.guard.ts +9 -9
  77. package/src/module/auth/guards/jwt.guard.ts +22 -22
  78. package/src/module/auth/guards/role.guard.ts +68 -68
  79. package/src/module/auth/services/auth.service.ts +50 -50
  80. package/src/module/auth/services/jwt.service.ts +11 -11
  81. package/src/module/auth/strategies/google.strategy.ts +54 -54
  82. package/src/module/auth/strategies/jwt.strategy.ts +58 -58
  83. package/src/module/auth/strategies/local.strategy.ts +13 -13
  84. package/src/module/dashboard/controller/dashboard.controller.ts +36 -36
  85. package/src/module/dashboard/dashboard.module.ts +21 -21
  86. package/src/module/dashboard/entity/dashboard_page_data.entity.ts +27 -27
  87. package/src/module/dashboard/entity/widget_master.entity.ts +18 -18
  88. package/src/module/dashboard/repository/dashboard.repository.ts +42 -42
  89. package/src/module/dashboard/service/dashboard.service.ts +73 -73
  90. package/src/module/dev/dev.module.ts +12 -12
  91. package/src/module/dev/service/dev.service.ts +7 -7
  92. package/src/module/enterprise/controller/organization.controller.ts +36 -36
  93. package/src/module/enterprise/enterprise.module.ts +30 -30
  94. package/src/module/enterprise/entity/enterprise.entity.ts +37 -37
  95. package/src/module/enterprise/entity/organization-app-mapping.entity.ts +13 -13
  96. package/src/module/enterprise/entity/organization.entity.ts +92 -92
  97. package/src/module/enterprise/repository/enterprise.repository.ts +31 -31
  98. package/src/module/enterprise/repository/organization.repository.ts +26 -26
  99. package/src/module/enterprise/repository/school.repository.ts +282 -282
  100. package/src/module/enterprise/service/brand.service.ts +5 -5
  101. package/src/module/enterprise/service/enterprise.service.ts +16 -16
  102. package/src/module/enterprise/service/organization-app-mapping.service.ts +4 -4
  103. package/src/module/enterprise/service/organization.service.ts +145 -145
  104. package/src/module/filter/controller/filter.controller.ts +84 -84
  105. package/src/module/filter/dto/filter-request.dto.ts +38 -38
  106. package/src/module/filter/entity/saved-filter-detail.entity.ts +41 -41
  107. package/src/module/filter/entity/saved-filter-master.entity.ts +23 -23
  108. package/src/module/filter/filter.module.ts +31 -31
  109. package/src/module/filter/repository/saved-filter.repository.ts +168 -168
  110. package/src/module/filter/service/filter-evaluator.service.ts +86 -86
  111. package/src/module/filter/service/filter.service.ts +841 -841
  112. package/src/module/filter/service/saved-filter.service.ts +170 -170
  113. package/src/module/ics/controller/ics.controller.ts +21 -21
  114. package/src/module/ics/dto/ics.dto.ts +55 -55
  115. package/src/module/ics/ics.module.ts +13 -13
  116. package/src/module/ics/service/ics.service.ts +60 -60
  117. package/src/module/integration/controller/calender-event.controller.ts +31 -31
  118. package/src/module/integration/controller/integration.controller.ts +662 -662
  119. package/src/module/integration/controller/wrapper.controller.ts +39 -39
  120. package/src/module/integration/dto/create-config.dto.ts +526 -526
  121. package/src/module/integration/entity/integration-config.entity.ts +112 -112
  122. package/src/module/integration/entity/integration-entity-mapper.entity.ts +14 -14
  123. package/src/module/integration/entity/integration-source.entity.ts +17 -17
  124. package/src/module/integration/entity/user-integration.entity.ts +70 -70
  125. package/src/module/integration/examples/usage.example.ts +338 -338
  126. package/src/module/integration/factories/base.factory.ts +7 -7
  127. package/src/module/integration/factories/email.factory.ts +49 -49
  128. package/src/module/integration/factories/integration.factory.ts +121 -121
  129. package/src/module/integration/factories/sms.factory.ts +51 -51
  130. package/src/module/integration/factories/telephone.factory.ts +41 -41
  131. package/src/module/integration/factories/whatsapp.factory.ts +56 -56
  132. package/src/module/integration/integration.module.ts +110 -110
  133. package/src/module/integration/service/calendar-event.service.ts +118 -118
  134. package/src/module/integration/service/integration-entity-mapper.service.ts +17 -17
  135. package/src/module/integration/service/integration-queue.service.ts +229 -229
  136. package/src/module/integration/service/integration.service.ts +2527 -2534
  137. package/src/module/integration/service/oauth.service.ts +224 -224
  138. package/src/module/integration/service/wrapper.service.ts +373 -373
  139. package/src/module/integration/strategies/email/gmail-api.strategy.ts +287 -287
  140. package/src/module/integration/strategies/email/outlook-api.strategy.ts +44 -44
  141. package/src/module/integration/strategies/email/outlook.strategy.ts +64 -64
  142. package/src/module/integration/strategies/email/sendgrid-api.strategy.ts +261 -261
  143. package/src/module/integration/strategies/integration.strategy.ts +96 -96
  144. package/src/module/integration/strategies/sms/gupshup-sms.strategy.ts +146 -146
  145. package/src/module/integration/strategies/sms/msg91-sms.strategy.ts +164 -164
  146. package/src/module/integration/strategies/sms/tubelight-sms.strategy.ts +163 -163
  147. package/src/module/integration/strategies/telephone/ozonetel-voice.strategy.ts +237 -237
  148. package/src/module/integration/strategies/telephone/tubelight-voice.strategy.ts +209 -209
  149. package/src/module/integration/strategies/whatsapp/gupshup-whatsapp.strategy.ts +359 -359
  150. package/src/module/integration/strategies/whatsapp/tubelight-whatsapp.strategy.ts +371 -371
  151. package/src/module/integration/strategies/whatsapp/whatsapp-cloud.strategy.ts +403 -403
  152. package/src/module/integration/strategies/whatsapp/whatsapp.strategy.ts +57 -57
  153. package/src/module/layout/controller/layout.controller.ts +47 -47
  154. package/src/module/layout/entity/header-items.entity.ts +28 -28
  155. package/src/module/layout/entity/header-section.entity.ts +19 -19
  156. package/src/module/layout/layout.module.ts +21 -21
  157. package/src/module/layout/repository/header-items.repository.ts +18 -18
  158. package/src/module/layout/repository/header-section.repository.ts +22 -22
  159. package/src/module/layout/service/header-section.service.ts +25 -25
  160. package/src/module/layout_preference/controller/layout_preference.controller.ts +47 -47
  161. package/src/module/layout_preference/entity/layout_preference.entity.ts +28 -28
  162. package/src/module/layout_preference/layout_preference.module.ts +18 -18
  163. package/src/module/layout_preference/repository/layout_preference.repository.ts +30 -30
  164. package/src/module/layout_preference/service/layout_preference.service.ts +140 -140
  165. package/src/module/lead/controller/lead.controller.ts +30 -30
  166. package/src/module/lead/lead.module.ts +14 -14
  167. package/src/module/lead/repository/lead.repository.ts +41 -41
  168. package/src/module/lead/service/lead.service.ts +54 -54
  169. package/src/module/listmaster/controller/list-master.controller.ts +143 -143
  170. package/src/module/listmaster/entity/list-master-items.entity.ts +41 -41
  171. package/src/module/listmaster/entity/list-master.entity.ts +32 -32
  172. package/src/module/listmaster/listmaster.module.ts +30 -30
  173. package/src/module/listmaster/repository/list-master-items.repository.ts +169 -169
  174. package/src/module/listmaster/repository/list-master.repository.ts +46 -46
  175. package/src/module/listmaster/service/list-master-item.service.ts +292 -292
  176. package/src/module/listmaster/service/list-master.service.ts +360 -360
  177. package/src/module/mapper/controller/field-mapper.controller.ts +69 -69
  178. package/src/module/mapper/controller/mapper.controller.ts +12 -12
  179. package/src/module/mapper/dto/field-mapper.dto.ts +14 -14
  180. package/src/module/mapper/entity/field-lovs.entity.ts +20 -20
  181. package/src/module/mapper/entity/field-mapper.entity.ts +37 -37
  182. package/src/module/mapper/entity/mapper.entity.ts +17 -17
  183. package/src/module/mapper/mapper.module.ts +34 -34
  184. package/src/module/mapper/repository/field-lovs.repository.ts +35 -35
  185. package/src/module/mapper/repository/field-mapper.repository.ts +42 -42
  186. package/src/module/mapper/repository/mapper.repository.ts +14 -14
  187. package/src/module/mapper/service/field-mapper.service.ts +223 -223
  188. package/src/module/mapper/service/mapper.service.ts +72 -72
  189. package/src/module/master/controller/master.controller.ts +74 -74
  190. package/src/module/master/service/master.service.ts +486 -486
  191. package/src/module/meta/controller/app-master.controller.ts +38 -38
  192. package/src/module/meta/controller/attribute-master.controller.ts +66 -66
  193. package/src/module/meta/controller/entity-dynamic.controller.ts +111 -111
  194. package/src/module/meta/controller/entity-master.controller.ts +28 -28
  195. package/src/module/meta/controller/entity-relation.controller.ts +36 -36
  196. package/src/module/meta/controller/entity.controller.ts +385 -385
  197. package/src/module/meta/controller/media.controller.ts +82 -82
  198. package/src/module/meta/controller/meta.controller.ts +96 -96
  199. package/src/module/meta/controller/view-master.controller.ts +86 -86
  200. package/src/module/meta/dto/entity-list-data.dto.ts +6 -6
  201. package/src/module/meta/dto/entity-tab.dto.ts +4 -4
  202. package/src/module/meta/dto/entity-table.dto.ts +9 -9
  203. package/src/module/meta/entity/app-master.entity.ts +34 -34
  204. package/src/module/meta/entity/attribute-master.entity.ts +87 -87
  205. package/src/module/meta/entity/base-entity.entity.ts +75 -75
  206. package/src/module/meta/entity/entity-master.entity.ts +78 -78
  207. package/src/module/meta/entity/entity-relation-data.entity.ts +29 -29
  208. package/src/module/meta/entity/entity-relation.entity.ts +23 -23
  209. package/src/module/meta/entity/entity-table-column.entity.ts +61 -61
  210. package/src/module/meta/entity/entity-table.entity.ts +50 -50
  211. package/src/module/meta/entity/media-data.entity.ts +32 -32
  212. package/src/module/meta/entity/preference.entity.ts +62 -62
  213. package/src/module/meta/entity/view-master.entity.ts +41 -41
  214. package/src/module/meta/entity.module.ts +156 -156
  215. package/src/module/meta/repository/app-master.repository.ts +20 -20
  216. package/src/module/meta/repository/attribute-master.repository.ts +110 -110
  217. package/src/module/meta/repository/entity-master.repository.ts +61 -61
  218. package/src/module/meta/repository/entity-table-column.repository.ts +39 -39
  219. package/src/module/meta/repository/entity-table.repository.ts +53 -53
  220. package/src/module/meta/repository/media-data.repository.ts +50 -50
  221. package/src/module/meta/repository/preference.repository.ts +20 -20
  222. package/src/module/meta/repository/user-app-mapping.repository.ts +28 -28
  223. package/src/module/meta/repository/view-master.repository.ts +42 -42
  224. package/src/module/meta/service/app-master.service.ts +37 -37
  225. package/src/module/meta/service/attribute-master.service.ts +117 -117
  226. package/src/module/meta/service/common.service.ts +9 -9
  227. package/src/module/meta/service/entity-dynamic.service.ts +718 -718
  228. package/src/module/meta/service/entity-list.service.ts +205 -205
  229. package/src/module/meta/service/entity-master.service.ts +164 -164
  230. package/src/module/meta/service/entity-realation-data.service.ts +9 -9
  231. package/src/module/meta/service/entity-relation.service.ts +69 -69
  232. package/src/module/meta/service/entity-service-impl.service.ts +513 -513
  233. package/src/module/meta/service/entity-table-column.service.ts +39 -39
  234. package/src/module/meta/service/entity-table.service.ts +150 -150
  235. package/src/module/meta/service/entity-validation.service.ts +185 -185
  236. package/src/module/meta/service/entity.service.ts +67 -67
  237. package/src/module/meta/service/field-group.service.ts +103 -103
  238. package/src/module/meta/service/media-data.service.ts +140 -140
  239. package/src/module/meta/service/populate-meta.service.ts +153 -153
  240. package/src/module/meta/service/preference.service.ts +16 -16
  241. package/src/module/meta/service/resolver.service.ts +256 -256
  242. package/src/module/meta/service/section-master.service.ts +104 -104
  243. package/src/module/meta/service/update-form-json.service.ts +22 -22
  244. package/src/module/meta/service/user-app-mapping.service.ts +17 -17
  245. package/src/module/meta/service/view-master.service.ts +91 -91
  246. package/src/module/module/controller/menu.controller.ts +15 -15
  247. package/src/module/module/controller/module-access.controller.ts +132 -132
  248. package/src/module/module/entity/menu.entity.ts +43 -43
  249. package/src/module/module/entity/module-access.entity.ts +25 -25
  250. package/src/module/module/entity/module-action.entity.ts +17 -17
  251. package/src/module/module/entity/module.entity.ts +52 -52
  252. package/src/module/module/module.module.ts +42 -42
  253. package/src/module/module/repository/menu.repository.ts +184 -184
  254. package/src/module/module/repository/module-access.repository.ts +324 -324
  255. package/src/module/module/service/menu.service.ts +82 -82
  256. package/src/module/module/service/module-access.service.ts +209 -209
  257. package/src/module/notification/controller/notification.controller.ts +58 -58
  258. package/src/module/notification/controller/otp.controller.ts +117 -117
  259. package/src/module/notification/entity/notification.entity.ts +23 -23
  260. package/src/module/notification/entity/otp.entity.ts +28 -28
  261. package/src/module/notification/firebase-admin.config.ts +22 -22
  262. package/src/module/notification/notification.module.ts +69 -69
  263. package/src/module/notification/repository/otp.repository.ts +27 -27
  264. package/src/module/notification/service/email.service.ts +127 -127
  265. package/src/module/notification/service/notification.service.ts +130 -130
  266. package/src/module/notification/service/otp.service.ts +121 -121
  267. package/src/module/third-party-module/entity/third-party-api-registry.entity.ts +52 -52
  268. package/src/module/third-party-module/repository/third-party-api-registry.repository.ts +20 -20
  269. package/src/module/third-party-module/service/api-registry.service.ts +13 -13
  270. package/src/module/third-party-module/third-party.module.ts +12 -12
  271. package/src/module/user/controller/login.controller.ts +197 -197
  272. package/src/module/user/controller/user.controller.ts +40 -40
  273. package/src/module/user/dto/create-user.dto.ts +62 -62
  274. package/src/module/user/dto/update-user.dto.ts +4 -4
  275. package/src/module/user/entity/role.entity.ts +33 -33
  276. package/src/module/user/entity/user-role-mapping.entity.ts +38 -38
  277. package/src/module/user/entity/user-session.entity.ts +61 -61
  278. package/src/module/user/entity/user.entity.ts +68 -68
  279. package/src/module/user/repository/role.repository.ts +96 -96
  280. package/src/module/user/repository/user-role-mapping.repository.ts +126 -126
  281. package/src/module/user/repository/user.repository.ts +50 -50
  282. package/src/module/user/repository/userSession.repository.ts +33 -33
  283. package/src/module/user/service/login.service.ts +280 -280
  284. package/src/module/user/service/role.service.ts +189 -189
  285. package/src/module/user/service/user-role-mapping.service.ts +98 -98
  286. package/src/module/user/service/user-session.service.ts +168 -168
  287. package/src/module/user/service/user.service.ts +353 -353
  288. package/src/module/user/user.module.ts +65 -65
  289. package/src/module/workflow/controller/action-category.controller.ts +54 -54
  290. package/src/module/workflow/controller/action-resource-mapping.controller.ts +23 -23
  291. package/src/module/workflow/controller/action-template-mapping.controller.ts +35 -35
  292. package/src/module/workflow/controller/action.controller.ts +95 -95
  293. package/src/module/workflow/controller/activity-log.controller.ts +55 -55
  294. package/src/module/workflow/controller/comm-template.controller.ts +34 -34
  295. package/src/module/workflow/controller/entity-modification.controller.ts +35 -35
  296. package/src/module/workflow/controller/form-master.controller.ts +43 -43
  297. package/src/module/workflow/controller/stage-group.controller.ts +48 -48
  298. package/src/module/workflow/controller/stage.controller.ts +47 -47
  299. package/src/module/workflow/controller/task.controller.ts +77 -77
  300. package/src/module/workflow/controller/workflow-list-master.controller.ts +44 -44
  301. package/src/module/workflow/controller/workflow-meta.controller.ts +80 -80
  302. package/src/module/workflow/controller/workflow.controller.ts +67 -67
  303. package/src/module/workflow/entity/action-category.entity.ts +38 -38
  304. package/src/module/workflow/entity/action-data.entity.ts +55 -55
  305. package/src/module/workflow/entity/action-resources-mapping.entity.ts +29 -29
  306. package/src/module/workflow/entity/action-template-mapping.entity.ts +17 -17
  307. package/src/module/workflow/entity/action.entity.ts +50 -50
  308. package/src/module/workflow/entity/activity-log.entity.ts +43 -43
  309. package/src/module/workflow/entity/comm-template.entity.ts +43 -43
  310. package/src/module/workflow/entity/entity-modification.entity.ts +38 -38
  311. package/src/module/workflow/entity/form-master.entity.ts +27 -27
  312. package/src/module/workflow/entity/form.entity.ts +25 -25
  313. package/src/module/workflow/entity/stage-action-mapping.entity.ts +17 -17
  314. package/src/module/workflow/entity/stage-group.entity.ts +23 -23
  315. package/src/module/workflow/entity/stage-movement-data.entity.ts +38 -38
  316. package/src/module/workflow/entity/stage.entity.ts +20 -20
  317. package/src/module/workflow/entity/task-data.entity.ts +88 -88
  318. package/src/module/workflow/entity/template-attach-mapper.entity.ts +30 -30
  319. package/src/module/workflow/entity/workflow-data.entity.ts +11 -11
  320. package/src/module/workflow/entity/workflow-level-mapping.entity.ts +18 -18
  321. package/src/module/workflow/entity/workflow.entity.ts +20 -20
  322. package/src/module/workflow/repository/action-category.repository.ts +79 -79
  323. package/src/module/workflow/repository/action-data.repository.ts +219 -219
  324. package/src/module/workflow/repository/action.repository.ts +277 -277
  325. package/src/module/workflow/repository/activity-log.repository.ts +121 -121
  326. package/src/module/workflow/repository/comm-template.repository.ts +142 -142
  327. package/src/module/workflow/repository/form-master.repository.ts +61 -61
  328. package/src/module/workflow/repository/stage-group.repository.ts +176 -176
  329. package/src/module/workflow/repository/stage-movement.repository.ts +227 -227
  330. package/src/module/workflow/repository/stage.repository.ts +118 -118
  331. package/src/module/workflow/repository/task.repository.ts +113 -113
  332. package/src/module/workflow/repository/workflow.repository.ts +42 -42
  333. package/src/module/workflow/service/action-category.service.ts +33 -33
  334. package/src/module/workflow/service/action-data.service.ts +62 -62
  335. package/src/module/workflow/service/action-resources-mapping.service.ts +10 -10
  336. package/src/module/workflow/service/action-template-mapping.service.ts +55 -55
  337. package/src/module/workflow/service/action.service.ts +247 -247
  338. package/src/module/workflow/service/activity-log.service.ts +107 -107
  339. package/src/module/workflow/service/comm-template.service.ts +121 -121
  340. package/src/module/workflow/service/entity-modification.service.ts +67 -67
  341. package/src/module/workflow/service/form-master.service.ts +35 -35
  342. package/src/module/workflow/service/populate-workflow.service.ts +326 -326
  343. package/src/module/workflow/service/stage-action-mapping.service.ts +5 -5
  344. package/src/module/workflow/service/stage-group.service.ts +300 -300
  345. package/src/module/workflow/service/stage.service.ts +140 -140
  346. package/src/module/workflow/service/task.service.ts +504 -504
  347. package/src/module/workflow/service/workflow-list-master.service.ts +60 -60
  348. package/src/module/workflow/service/workflow-meta.service.ts +564 -564
  349. package/src/module/workflow/service/workflow.service.ts +205 -205
  350. package/src/module/workflow/workflow.module.ts +176 -176
  351. package/src/module/workflow-automation/controller/workflow-automation.controller.ts +21 -21
  352. package/src/module/workflow-automation/entity/workflow-automation-action.entity.ts +26 -26
  353. package/src/module/workflow-automation/entity/workflow-automation.entity.ts +35 -35
  354. package/src/module/workflow-automation/interface/action.decorator.ts +7 -7
  355. package/src/module/workflow-automation/interface/action.interface.ts +5 -5
  356. package/src/module/workflow-automation/service/action-registery.service.ts +35 -35
  357. package/src/module/workflow-automation/service/workflow-automation-engine.service.ts +214 -214
  358. package/src/module/workflow-automation/service/workflow-automation.service.ts +343 -343
  359. package/src/module/workflow-automation/workflow-automation.module.ts +34 -34
  360. package/src/resources/dev.properties.yaml +30 -30
  361. package/src/resources/local.properties.yaml +23 -23
  362. package/src/resources/properties.module.ts +12 -12
  363. package/src/resources/properties.yaml.ts +11 -11
  364. package/src/resources/uat.properties.yaml +15 -15
  365. package/src/utils/dto/excel-data.dto.ts +14 -14
  366. package/src/utils/dto/excelsheet-data.dto.ts +5 -5
  367. package/src/utils/service/base64util.service.ts +18 -18
  368. package/src/utils/service/clockIDGenUtil.service.ts +21 -21
  369. package/src/utils/service/codeGenerator.service.ts +22 -22
  370. package/src/utils/service/dateUtil.service.ts +17 -17
  371. package/src/utils/service/encryptUtil.service.ts +97 -97
  372. package/src/utils/service/excel-helper.service.ts +72 -72
  373. package/src/utils/service/excelUtil.service.ts +15 -15
  374. package/src/utils/service/file-util.service.ts +11 -11
  375. package/src/utils/service/json-util.service.ts +23 -23
  376. package/src/utils/service/loggingUtil.service.ts +34 -34
  377. package/src/utils/service/reflection-helper.service.ts +62 -62
  378. package/src/utils/service/wbsCodeGen.service.ts +8 -8
  379. package/src/utils/utils.module.ts +25 -25
  380. package/tsconfig.build.json +4 -4
  381. package/tsconfig.json +24 -24
@@ -51,8 +51,8 @@ let ReflectionHelper = class ReflectionHelper {
51
51
  }
52
52
  }
53
53
  async getEntityData(id, tableName) {
54
- const entityList = await this.dataSource.query(`SELECT *
55
- FROM ${tableName}
54
+ const entityList = await this.dataSource.query(`SELECT *
55
+ FROM ${tableName}
56
56
  WHERE id = ?`, [id]);
57
57
  return entityList.length > 0 ? entityList[0] : null;
58
58
  }
@@ -1,92 +1,92 @@
1
- # Event-Driven Integration Module Design (NestJS)
2
-
3
- ## 1. Goal
4
- Introduce **Event-Driven Architecture (EDA)** into the integration module to:
5
- - Decouple producers (e.g., order service, user service) from message delivery logic.
6
- - Support asynchronous message processing, retries, and multi-level fallback.
7
- - Allow smooth transition from in-memory events to external brokers like Kafka or RabbitMQ.
8
-
9
- ---
10
-
11
- ## 2. Current State
12
- - **Database Tables**:
13
- - `cr_integration_config` (stores provider configuration JSON and level mapping)
14
- - **Factory Pattern**:
15
- - Uses `IntegrationFactory` to select strategies (e.g., Gmail API, Twilio SMS, WhatsApp Cloud).
16
- - **Service Layer**:
17
- - Provides methods for sending messages (generic and type-specific).
18
- - Currently invoked directly by producers.
19
- - **Fallback Hierarchy**:
20
- - Resolution order: user → team → project → department → organization.
21
-
22
- ### Limitation
23
- - Tight coupling between producers and `IntegrationService`.
24
- - Direct synchronous calls, no retry or async pipeline.
25
- - Fallback handled procedurally inside service.
26
-
27
- ---
28
-
29
- ## 3. Event-Driven Proposal
30
-
31
- ### Core Events
32
- - **IntegrationRequestedEvent** → emitted whenever any module requests integration.
33
- - **IntegrationSuccessEvent** → emitted when delivery succeeds.
34
- - **IntegrationFailedEvent** → emitted when delivery fails.
35
- - **FallbackRequestedEvent** → emitted when a level-specific config fails, triggering retry with the next fallback level.
36
-
37
- ### Event Flow
38
- 1. A producer (e.g., order service) emits a `IntegrationRequestedEvent`.
39
- 2. The integration module listens for this event.
40
- 3. Delivery attempt is made using the factory and service layer.
41
- 4. Depending on outcome:
42
- - Success → emit `IntegrationSuccessEvent`.
43
- - Failure → emit `IntegrationFailedEvent`.
44
- 5. If failure is due to invalid or unavailable provider, emit `FallbackRequestedEvent` and retry at the next level in hierarchy.
45
- 6. Outcome events (`success`/`failed`) can be consumed by analytics, logging, monitoring, or retry queues.
46
-
47
- ---
48
-
49
- ## 4. Components
50
-
51
- ### Event Producers
52
- - Any module in the system (order, billing, onboarding, etc.) can raise integration requests without depending on the integration module.
53
-
54
- ### Event Handlers
55
- - Dedicated handlers inside the integration module react to request events, coordinate with the factory and service layer, and trigger outcome events.
56
-
57
- ### Subscribers
58
- - Separate subscribers for success/failure events handle logging, retries, notifications, and analytics.
59
-
60
- ---
61
-
62
- ## 5. Multi-Level Fallback
63
- - Instead of handling fallback inside the service, use chained events.
64
- - When one provider fails, emit a `FallbackRequestedEvent` with the next priority level.
65
- - A fallback handler retries delivery using the new configuration.
66
- - This continues until a provider succeeds or the lowest-level configuration (organization) fails.
67
-
68
- ---
69
-
70
- ## 6. Module Wiring
71
- - Use NestJS `EventEmitterModule` or `@nestjs/cqrs` for in-memory event handling.
72
- - Define event classes and handlers within the integration module.
73
- - Export the integration module to make it available across the application.
74
- - Future enhancement: swap in-memory event emitter with Kafka, RabbitMQ, or Redis for distributed systems.
75
-
76
- ---
77
-
78
- ## 7. Benefits
79
- - **Loose coupling**: Producers only emit events, no dependency on the integration module.
80
- - **Resilience**: Fallback and retries managed via events rather than procedural logic.
81
- - **Scalability**: Easy to extend with new providers or migrate to distributed event brokers.
82
- - **Observability**: Success and failure events provide clear audit trails.
83
- - **Future-proof**: In-memory implementation today, external broker tomorrow without major refactor.
84
-
85
- ---
86
-
87
- ## 8. Next Steps
88
- 1. Define event classes and event bus integration.
89
- 2. Implement core handlers for request, success, failure, and fallback.
90
- 3. Add subscribers for logging and monitoring.
91
- 4. Extend fallback logic into event-driven retry mechanism.
1
+ # Event-Driven Integration Module Design (NestJS)
2
+
3
+ ## 1. Goal
4
+ Introduce **Event-Driven Architecture (EDA)** into the integration module to:
5
+ - Decouple producers (e.g., order service, user service) from message delivery logic.
6
+ - Support asynchronous message processing, retries, and multi-level fallback.
7
+ - Allow smooth transition from in-memory events to external brokers like Kafka or RabbitMQ.
8
+
9
+ ---
10
+
11
+ ## 2. Current State
12
+ - **Database Tables**:
13
+ - `cr_integration_config` (stores provider configuration JSON and level mapping)
14
+ - **Factory Pattern**:
15
+ - Uses `IntegrationFactory` to select strategies (e.g., Gmail API, Twilio SMS, WhatsApp Cloud).
16
+ - **Service Layer**:
17
+ - Provides methods for sending messages (generic and type-specific).
18
+ - Currently invoked directly by producers.
19
+ - **Fallback Hierarchy**:
20
+ - Resolution order: user → team → project → department → organization.
21
+
22
+ ### Limitation
23
+ - Tight coupling between producers and `IntegrationService`.
24
+ - Direct synchronous calls, no retry or async pipeline.
25
+ - Fallback handled procedurally inside service.
26
+
27
+ ---
28
+
29
+ ## 3. Event-Driven Proposal
30
+
31
+ ### Core Events
32
+ - **IntegrationRequestedEvent** → emitted whenever any module requests integration.
33
+ - **IntegrationSuccessEvent** → emitted when delivery succeeds.
34
+ - **IntegrationFailedEvent** → emitted when delivery fails.
35
+ - **FallbackRequestedEvent** → emitted when a level-specific config fails, triggering retry with the next fallback level.
36
+
37
+ ### Event Flow
38
+ 1. A producer (e.g., order service) emits a `IntegrationRequestedEvent`.
39
+ 2. The integration module listens for this event.
40
+ 3. Delivery attempt is made using the factory and service layer.
41
+ 4. Depending on outcome:
42
+ - Success → emit `IntegrationSuccessEvent`.
43
+ - Failure → emit `IntegrationFailedEvent`.
44
+ 5. If failure is due to invalid or unavailable provider, emit `FallbackRequestedEvent` and retry at the next level in hierarchy.
45
+ 6. Outcome events (`success`/`failed`) can be consumed by analytics, logging, monitoring, or retry queues.
46
+
47
+ ---
48
+
49
+ ## 4. Components
50
+
51
+ ### Event Producers
52
+ - Any module in the system (order, billing, onboarding, etc.) can raise integration requests without depending on the integration module.
53
+
54
+ ### Event Handlers
55
+ - Dedicated handlers inside the integration module react to request events, coordinate with the factory and service layer, and trigger outcome events.
56
+
57
+ ### Subscribers
58
+ - Separate subscribers for success/failure events handle logging, retries, notifications, and analytics.
59
+
60
+ ---
61
+
62
+ ## 5. Multi-Level Fallback
63
+ - Instead of handling fallback inside the service, use chained events.
64
+ - When one provider fails, emit a `FallbackRequestedEvent` with the next priority level.
65
+ - A fallback handler retries delivery using the new configuration.
66
+ - This continues until a provider succeeds or the lowest-level configuration (organization) fails.
67
+
68
+ ---
69
+
70
+ ## 6. Module Wiring
71
+ - Use NestJS `EventEmitterModule` or `@nestjs/cqrs` for in-memory event handling.
72
+ - Define event classes and handlers within the integration module.
73
+ - Export the integration module to make it available across the application.
74
+ - Future enhancement: swap in-memory event emitter with Kafka, RabbitMQ, or Redis for distributed systems.
75
+
76
+ ---
77
+
78
+ ## 7. Benefits
79
+ - **Loose coupling**: Producers only emit events, no dependency on the integration module.
80
+ - **Resilience**: Fallback and retries managed via events rather than procedural logic.
81
+ - **Scalability**: Easy to extend with new providers or migrate to distributed event brokers.
82
+ - **Observability**: Success and failure events provide clear audit trails.
83
+ - **Future-proof**: In-memory implementation today, external broker tomorrow without major refactor.
84
+
85
+ ---
86
+
87
+ ## 8. Next Steps
88
+ 1. Define event classes and event bus integration.
89
+ 2. Implement core handlers for request, success, failure, and fallback.
90
+ 3. Add subscribers for logging and monitoring.
91
+ 4. Extend fallback logic into event-driven retry mechanism.
92
92
  5. Plan for integration with Kafka/RabbitMQ for production scalability.