rez_core 3.1.155 → 3.1.157

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 (391) 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/ics/service/ics.service.d.ts +1 -1
  22. package/dist/module/ics/service/ics.service.js +2 -2
  23. package/dist/module/ics/service/ics.service.js.map +1 -1
  24. package/dist/module/integration/controller/wrapper.controller.d.ts +3 -3
  25. package/dist/module/integration/controller/wrapper.controller.js +4 -3
  26. package/dist/module/integration/controller/wrapper.controller.js.map +1 -1
  27. package/dist/module/integration/examples/usage.example.js +9 -9
  28. package/dist/module/integration/service/integration.service.js +1 -1
  29. package/dist/module/integration/service/wrapper.service.d.ts +3 -3
  30. package/dist/module/integration/service/wrapper.service.js +36 -59
  31. package/dist/module/integration/service/wrapper.service.js.map +1 -1
  32. package/dist/module/listmaster/service/list-master-item.service.js +2 -2
  33. package/dist/module/listmaster/service/list-master.service.js +2 -2
  34. package/dist/module/mapper/service/field-mapper.service.js +4 -4
  35. package/dist/module/mapper/service/mapper.service.js +2 -2
  36. package/dist/module/meta/service/entity-dynamic.service.js +18 -18
  37. package/dist/module/meta/service/entity-list.service.js +3 -3
  38. package/dist/module/meta/service/entity-master.service.js +3 -3
  39. package/dist/module/meta/service/entity-relation.service.js +11 -11
  40. package/dist/module/meta/service/entity-service-impl.service.js +3 -3
  41. package/dist/module/meta/service/resolver.service.js +3 -3
  42. package/dist/module/module/repository/menu.repository.js +12 -12
  43. package/dist/module/notification/service/notification.service.js +12 -12
  44. package/dist/module/user/controller/login.controller.js +18 -18
  45. package/dist/module/user/service/role.service.js +4 -4
  46. package/dist/module/user/service/user-session.service.js +2 -2
  47. package/dist/module/workflow/repository/action.repository.js +16 -16
  48. package/dist/module/workflow/repository/comm-template.repository.js +6 -6
  49. package/dist/module/workflow/repository/form-master.repository.js +2 -2
  50. package/dist/module/workflow/repository/stage-group.repository.js +23 -23
  51. package/dist/module/workflow/repository/stage-movement.repository.js +11 -11
  52. package/dist/module/workflow/repository/stage.repository.js +8 -8
  53. package/dist/module/workflow/service/action-template-mapping.service.js +10 -10
  54. package/dist/module/workflow/service/action.service.js +7 -7
  55. package/dist/module/workflow/service/entity-modification.service.js +6 -6
  56. package/dist/module/workflow/service/stage-group.service.js +5 -5
  57. package/dist/module/workflow/service/stage.service.js +2 -2
  58. package/dist/module/workflow/service/task.service.js +33 -33
  59. package/dist/module/workflow/service/workflow-list-master.service.js +15 -15
  60. package/dist/module/workflow/service/workflow-meta.service.js +50 -50
  61. package/dist/module/workflow/service/workflow.service.js +2 -2
  62. package/dist/tsconfig.build.tsbuildinfo +1 -1
  63. package/dist/utils/service/reflection-helper.service.js +2 -2
  64. package/docs/modules/event-driven-integration-design.md +91 -91
  65. package/docs/modules/integration.md +250 -250
  66. package/eslint.config.mjs +34 -34
  67. package/nest-cli.json +14 -14
  68. package/package.json +118 -118
  69. package/server.log +850 -0
  70. package/src/app.controller.ts +12 -12
  71. package/src/app.module.ts +49 -49
  72. package/src/app.service.ts +8 -8
  73. package/src/config/config.module.ts +18 -18
  74. package/src/config/database.config.ts +23 -23
  75. package/src/constant/global.constant.ts +67 -67
  76. package/src/core.module.ts +81 -81
  77. package/src/decorators/roles.decorator.ts +7 -7
  78. package/src/dtos/response.dto.ts +6 -6
  79. package/src/dtos/response.ts +5 -5
  80. package/src/index.ts +1 -1
  81. package/src/module/auth/auth.module.ts +49 -49
  82. package/src/module/auth/controller/auth.controller.ts +28 -28
  83. package/src/module/auth/guards/google-auth.guard.ts +9 -9
  84. package/src/module/auth/guards/jwt.guard.ts +22 -22
  85. package/src/module/auth/guards/role.guard.ts +68 -68
  86. package/src/module/auth/services/auth.service.ts +50 -50
  87. package/src/module/auth/services/jwt.service.ts +11 -11
  88. package/src/module/auth/strategies/google.strategy.ts +54 -54
  89. package/src/module/auth/strategies/jwt.strategy.ts +58 -58
  90. package/src/module/auth/strategies/local.strategy.ts +13 -13
  91. package/src/module/dashboard/controller/dashboard.controller.ts +36 -36
  92. package/src/module/dashboard/dashboard.module.ts +21 -21
  93. package/src/module/dashboard/entity/dashboard_page_data.entity.ts +27 -27
  94. package/src/module/dashboard/entity/widget_master.entity.ts +18 -18
  95. package/src/module/dashboard/repository/dashboard.repository.ts +42 -42
  96. package/src/module/dashboard/service/dashboard.service.ts +73 -73
  97. package/src/module/dev/dev.module.ts +12 -12
  98. package/src/module/dev/service/dev.service.ts +7 -7
  99. package/src/module/enterprise/controller/organization.controller.ts +36 -36
  100. package/src/module/enterprise/enterprise.module.ts +30 -30
  101. package/src/module/enterprise/entity/enterprise.entity.ts +37 -37
  102. package/src/module/enterprise/entity/organization-app-mapping.entity.ts +13 -13
  103. package/src/module/enterprise/entity/organization.entity.ts +92 -92
  104. package/src/module/enterprise/repository/enterprise.repository.ts +31 -31
  105. package/src/module/enterprise/repository/organization.repository.ts +26 -26
  106. package/src/module/enterprise/repository/school.repository.ts +281 -281
  107. package/src/module/enterprise/service/brand.service.ts +5 -5
  108. package/src/module/enterprise/service/enterprise.service.ts +16 -16
  109. package/src/module/enterprise/service/organization-app-mapping.service.ts +4 -4
  110. package/src/module/enterprise/service/organization.service.ts +145 -145
  111. package/src/module/filter/controller/filter.controller.ts +84 -84
  112. package/src/module/filter/dto/filter-request.dto.ts +38 -38
  113. package/src/module/filter/entity/saved-filter-detail.entity.ts +41 -41
  114. package/src/module/filter/entity/saved-filter-master.entity.ts +23 -23
  115. package/src/module/filter/filter.module.ts +31 -31
  116. package/src/module/filter/repository/saved-filter.repository.ts +168 -168
  117. package/src/module/filter/service/filter-evaluator.service.ts +86 -86
  118. package/src/module/filter/service/filter.service.ts +841 -841
  119. package/src/module/filter/service/saved-filter.service.ts +170 -170
  120. package/src/module/ics/controller/ics.controller.ts +21 -21
  121. package/src/module/ics/dto/ics.dto.ts +55 -55
  122. package/src/module/ics/ics.module.ts +13 -13
  123. package/src/module/ics/service/ics.service.ts +57 -57
  124. package/src/module/integration/controller/calender-event.controller.ts +31 -31
  125. package/src/module/integration/controller/integration.controller.ts +662 -662
  126. package/src/module/integration/controller/wrapper.controller.ts +37 -39
  127. package/src/module/integration/dto/create-config.dto.ts +526 -526
  128. package/src/module/integration/entity/integration-config.entity.ts +112 -112
  129. package/src/module/integration/entity/integration-entity-mapper.entity.ts +14 -14
  130. package/src/module/integration/entity/integration-source.entity.ts +17 -17
  131. package/src/module/integration/entity/user-integration.entity.ts +71 -71
  132. package/src/module/integration/examples/usage.example.ts +338 -338
  133. package/src/module/integration/factories/base.factory.ts +7 -7
  134. package/src/module/integration/factories/email.factory.ts +49 -49
  135. package/src/module/integration/factories/integration.factory.ts +121 -121
  136. package/src/module/integration/factories/sms.factory.ts +51 -51
  137. package/src/module/integration/factories/telephone.factory.ts +41 -41
  138. package/src/module/integration/factories/whatsapp.factory.ts +56 -56
  139. package/src/module/integration/integration.module.ts +110 -110
  140. package/src/module/integration/service/calendar-event.service.ts +118 -118
  141. package/src/module/integration/service/integration-entity-mapper.service.ts +17 -17
  142. package/src/module/integration/service/integration-queue.service.ts +229 -229
  143. package/src/module/integration/service/integration.service.ts +2572 -2572
  144. package/src/module/integration/service/oauth.service.ts +224 -224
  145. package/src/module/integration/service/wrapper.service.ts +439 -513
  146. package/src/module/integration/strategies/email/gmail-api.strategy.ts +280 -280
  147. package/src/module/integration/strategies/email/outlook-api.strategy.ts +44 -44
  148. package/src/module/integration/strategies/email/outlook.strategy.ts +64 -64
  149. package/src/module/integration/strategies/email/sendgrid-api.strategy.ts +260 -260
  150. package/src/module/integration/strategies/integration.strategy.ts +97 -97
  151. package/src/module/integration/strategies/sms/gupshup-sms.strategy.ts +146 -146
  152. package/src/module/integration/strategies/sms/msg91-sms.strategy.ts +164 -164
  153. package/src/module/integration/strategies/sms/tubelight-sms.strategy.ts +163 -163
  154. package/src/module/integration/strategies/telephone/ozonetel-voice.strategy.ts +238 -238
  155. package/src/module/integration/strategies/telephone/tubelight-voice.strategy.ts +210 -210
  156. package/src/module/integration/strategies/whatsapp/gupshup-whatsapp.strategy.ts +359 -359
  157. package/src/module/integration/strategies/whatsapp/tubelight-whatsapp.strategy.ts +372 -372
  158. package/src/module/integration/strategies/whatsapp/whatsapp-cloud.strategy.ts +403 -403
  159. package/src/module/integration/strategies/whatsapp/whatsapp.strategy.ts +57 -57
  160. package/src/module/layout/controller/layout.controller.ts +47 -47
  161. package/src/module/layout/entity/header-items.entity.ts +28 -28
  162. package/src/module/layout/entity/header-section.entity.ts +19 -19
  163. package/src/module/layout/layout.module.ts +21 -21
  164. package/src/module/layout/repository/header-items.repository.ts +18 -18
  165. package/src/module/layout/repository/header-section.repository.ts +22 -22
  166. package/src/module/layout/service/header-section.service.ts +25 -25
  167. package/src/module/layout_preference/controller/layout_preference.controller.ts +47 -47
  168. package/src/module/layout_preference/entity/layout_preference.entity.ts +28 -28
  169. package/src/module/layout_preference/layout_preference.module.ts +18 -18
  170. package/src/module/layout_preference/repository/layout_preference.repository.ts +30 -30
  171. package/src/module/layout_preference/service/layout_preference.service.ts +172 -172
  172. package/src/module/lead/controller/lead.controller.ts +30 -30
  173. package/src/module/lead/lead.module.ts +14 -14
  174. package/src/module/lead/repository/lead.repository.ts +41 -41
  175. package/src/module/lead/service/lead.service.ts +54 -54
  176. package/src/module/listmaster/controller/list-master.controller.ts +143 -143
  177. package/src/module/listmaster/entity/list-master-items.entity.ts +41 -41
  178. package/src/module/listmaster/entity/list-master.entity.ts +32 -32
  179. package/src/module/listmaster/listmaster.module.ts +44 -44
  180. package/src/module/listmaster/repository/list-master-items.repository.ts +169 -169
  181. package/src/module/listmaster/repository/list-master.repository.ts +46 -46
  182. package/src/module/listmaster/service/list-master-engine.ts +19 -19
  183. package/src/module/listmaster/service/list-master-extension.interface.ts +4 -4
  184. package/src/module/listmaster/service/list-master-item.service.ts +292 -292
  185. package/src/module/listmaster/service/list-master-registry.ts +15 -15
  186. package/src/module/listmaster/service/list-master.service.ts +375 -375
  187. package/src/module/mapper/controller/field-mapper.controller.ts +69 -69
  188. package/src/module/mapper/controller/mapper.controller.ts +14 -14
  189. package/src/module/mapper/dto/field-mapper.dto.ts +14 -14
  190. package/src/module/mapper/entity/field-lovs.entity.ts +19 -19
  191. package/src/module/mapper/entity/field-mapper.entity.ts +53 -53
  192. package/src/module/mapper/entity/mapper.entity.ts +16 -16
  193. package/src/module/mapper/mapper.module.ts +34 -34
  194. package/src/module/mapper/repository/field-lovs.repository.ts +35 -35
  195. package/src/module/mapper/repository/field-mapper.repository.ts +42 -42
  196. package/src/module/mapper/repository/mapper.repository.ts +15 -15
  197. package/src/module/mapper/service/field-mapper.service.ts +223 -223
  198. package/src/module/mapper/service/mapper.service.ts +72 -72
  199. package/src/module/master/controller/master.controller.ts +74 -74
  200. package/src/module/master/service/master.service.ts +483 -483
  201. package/src/module/meta/controller/app-master.controller.ts +38 -38
  202. package/src/module/meta/controller/attribute-master.controller.ts +66 -66
  203. package/src/module/meta/controller/entity-dynamic.controller.ts +125 -125
  204. package/src/module/meta/controller/entity-master.controller.ts +28 -28
  205. package/src/module/meta/controller/entity-relation.controller.ts +36 -36
  206. package/src/module/meta/controller/entity.controller.ts +385 -385
  207. package/src/module/meta/controller/media.controller.ts +82 -82
  208. package/src/module/meta/controller/meta.controller.ts +96 -96
  209. package/src/module/meta/controller/view-master.controller.ts +86 -86
  210. package/src/module/meta/dto/entity-list-data.dto.ts +6 -6
  211. package/src/module/meta/dto/entity-tab.dto.ts +4 -4
  212. package/src/module/meta/dto/entity-table.dto.ts +9 -9
  213. package/src/module/meta/entity/app-master.entity.ts +34 -34
  214. package/src/module/meta/entity/attribute-master.entity.ts +87 -87
  215. package/src/module/meta/entity/base-entity.entity.ts +75 -75
  216. package/src/module/meta/entity/entity-master.entity.ts +78 -78
  217. package/src/module/meta/entity/entity-relation-data.entity.ts +29 -29
  218. package/src/module/meta/entity/entity-relation.entity.ts +23 -23
  219. package/src/module/meta/entity/entity-table-column.entity.ts +61 -61
  220. package/src/module/meta/entity/entity-table.entity.ts +50 -50
  221. package/src/module/meta/entity/media-data.entity.ts +32 -32
  222. package/src/module/meta/entity/preference.entity.ts +62 -62
  223. package/src/module/meta/entity/view-master.entity.ts +41 -41
  224. package/src/module/meta/entity.module.ts +156 -156
  225. package/src/module/meta/repository/app-master.repository.ts +20 -20
  226. package/src/module/meta/repository/attribute-master.repository.ts +110 -110
  227. package/src/module/meta/repository/entity-master.repository.ts +69 -69
  228. package/src/module/meta/repository/entity-table-column.repository.ts +39 -39
  229. package/src/module/meta/repository/entity-table.repository.ts +53 -53
  230. package/src/module/meta/repository/media-data.repository.ts +50 -50
  231. package/src/module/meta/repository/preference.repository.ts +20 -20
  232. package/src/module/meta/repository/user-app-mapping.repository.ts +28 -28
  233. package/src/module/meta/repository/view-master.repository.ts +42 -42
  234. package/src/module/meta/service/app-master.service.ts +37 -37
  235. package/src/module/meta/service/attribute-master.service.ts +117 -117
  236. package/src/module/meta/service/common.service.ts +9 -9
  237. package/src/module/meta/service/entity-dynamic.service.ts +762 -762
  238. package/src/module/meta/service/entity-list.service.ts +205 -205
  239. package/src/module/meta/service/entity-master.service.ts +164 -164
  240. package/src/module/meta/service/entity-realation-data.service.ts +9 -9
  241. package/src/module/meta/service/entity-relation.service.ts +69 -69
  242. package/src/module/meta/service/entity-service-impl.service.ts +524 -524
  243. package/src/module/meta/service/entity-table-column.service.ts +39 -39
  244. package/src/module/meta/service/entity-table.service.ts +150 -150
  245. package/src/module/meta/service/entity-validation.service.ts +185 -185
  246. package/src/module/meta/service/entity.service.ts +67 -67
  247. package/src/module/meta/service/field-group.service.ts +103 -103
  248. package/src/module/meta/service/media-data.service.ts +140 -140
  249. package/src/module/meta/service/populate-meta.service.ts +173 -173
  250. package/src/module/meta/service/preference.service.ts +16 -16
  251. package/src/module/meta/service/resolver.service.ts +274 -274
  252. package/src/module/meta/service/section-master.service.ts +104 -104
  253. package/src/module/meta/service/update-form-json.service.ts +22 -22
  254. package/src/module/meta/service/user-app-mapping.service.ts +17 -17
  255. package/src/module/meta/service/view-master.service.ts +111 -111
  256. package/src/module/module/controller/menu.controller.ts +15 -15
  257. package/src/module/module/controller/module-access.controller.ts +132 -132
  258. package/src/module/module/entity/menu.entity.ts +43 -43
  259. package/src/module/module/entity/module-access.entity.ts +25 -25
  260. package/src/module/module/entity/module-action.entity.ts +17 -17
  261. package/src/module/module/entity/module.entity.ts +52 -52
  262. package/src/module/module/module.module.ts +42 -42
  263. package/src/module/module/repository/menu.repository.ts +184 -184
  264. package/src/module/module/repository/module-access.repository.ts +331 -331
  265. package/src/module/module/service/menu.service.ts +82 -82
  266. package/src/module/module/service/module-access.service.ts +209 -209
  267. package/src/module/notification/controller/notification.controller.ts +58 -58
  268. package/src/module/notification/controller/otp.controller.ts +117 -117
  269. package/src/module/notification/entity/notification.entity.ts +23 -23
  270. package/src/module/notification/entity/otp.entity.ts +28 -28
  271. package/src/module/notification/firebase-admin.config.ts +22 -22
  272. package/src/module/notification/notification.module.ts +69 -69
  273. package/src/module/notification/repository/otp.repository.ts +27 -27
  274. package/src/module/notification/service/email.service.ts +127 -127
  275. package/src/module/notification/service/notification.service.ts +138 -138
  276. package/src/module/notification/service/otp.service.ts +121 -121
  277. package/src/module/third-party-module/entity/third-party-api-registry.entity.ts +52 -52
  278. package/src/module/third-party-module/repository/third-party-api-registry.repository.ts +20 -20
  279. package/src/module/third-party-module/service/api-registry.service.ts +13 -13
  280. package/src/module/third-party-module/third-party.module.ts +12 -12
  281. package/src/module/user/controller/login.controller.ts +197 -197
  282. package/src/module/user/controller/user.controller.ts +40 -40
  283. package/src/module/user/dto/create-user.dto.ts +62 -62
  284. package/src/module/user/dto/update-user.dto.ts +4 -4
  285. package/src/module/user/entity/role.entity.ts +33 -33
  286. package/src/module/user/entity/user-role-mapping.entity.ts +38 -38
  287. package/src/module/user/entity/user-session.entity.ts +61 -61
  288. package/src/module/user/entity/user.entity.ts +68 -68
  289. package/src/module/user/repository/role.repository.ts +96 -96
  290. package/src/module/user/repository/user-role-mapping.repository.ts +126 -126
  291. package/src/module/user/repository/user.repository.ts +50 -50
  292. package/src/module/user/repository/userSession.repository.ts +33 -33
  293. package/src/module/user/service/login.service.ts +280 -280
  294. package/src/module/user/service/role.service.ts +189 -189
  295. package/src/module/user/service/user-role-mapping.service.ts +98 -98
  296. package/src/module/user/service/user-session.service.ts +168 -168
  297. package/src/module/user/service/user.service.ts +353 -353
  298. package/src/module/user/user.module.ts +65 -65
  299. package/src/module/workflow/controller/action-category.controller.ts +54 -54
  300. package/src/module/workflow/controller/action-resource-mapping.controller.ts +23 -23
  301. package/src/module/workflow/controller/action-template-mapping.controller.ts +35 -35
  302. package/src/module/workflow/controller/action.controller.ts +95 -95
  303. package/src/module/workflow/controller/activity-log.controller.ts +55 -55
  304. package/src/module/workflow/controller/comm-template.controller.ts +34 -34
  305. package/src/module/workflow/controller/entity-modification.controller.ts +35 -35
  306. package/src/module/workflow/controller/form-master.controller.ts +43 -43
  307. package/src/module/workflow/controller/stage-group.controller.ts +48 -48
  308. package/src/module/workflow/controller/stage.controller.ts +50 -50
  309. package/src/module/workflow/controller/task.controller.ts +77 -77
  310. package/src/module/workflow/controller/workflow-list-master.controller.ts +44 -44
  311. package/src/module/workflow/controller/workflow-meta.controller.ts +80 -80
  312. package/src/module/workflow/controller/workflow.controller.ts +67 -67
  313. package/src/module/workflow/entity/action-category.entity.ts +38 -38
  314. package/src/module/workflow/entity/action-data.entity.ts +55 -55
  315. package/src/module/workflow/entity/action-resources-mapping.entity.ts +29 -29
  316. package/src/module/workflow/entity/action-template-mapping.entity.ts +17 -17
  317. package/src/module/workflow/entity/action.entity.ts +50 -50
  318. package/src/module/workflow/entity/activity-log.entity.ts +43 -43
  319. package/src/module/workflow/entity/comm-template.entity.ts +43 -43
  320. package/src/module/workflow/entity/entity-modification.entity.ts +38 -38
  321. package/src/module/workflow/entity/form.entity.ts +25 -25
  322. package/src/module/workflow/entity/stage-action-mapping.entity.ts +17 -17
  323. package/src/module/workflow/entity/stage-group.entity.ts +23 -23
  324. package/src/module/workflow/entity/stage-movement-data.entity.ts +38 -38
  325. package/src/module/workflow/entity/stage.entity.ts +20 -20
  326. package/src/module/workflow/entity/task-data.entity.ts +88 -88
  327. package/src/module/workflow/entity/template-attach-mapper.entity.ts +30 -30
  328. package/src/module/workflow/entity/workflow-data.entity.ts +11 -11
  329. package/src/module/workflow/entity/workflow-level-mapping.entity.ts +18 -18
  330. package/src/module/workflow/entity/workflow.entity.ts +20 -20
  331. package/src/module/workflow/repository/action-category.repository.ts +79 -79
  332. package/src/module/workflow/repository/action-data.repository.ts +219 -219
  333. package/src/module/workflow/repository/action.repository.ts +277 -277
  334. package/src/module/workflow/repository/activity-log.repository.ts +121 -121
  335. package/src/module/workflow/repository/comm-template.repository.ts +142 -142
  336. package/src/module/workflow/repository/form-master.repository.ts +59 -59
  337. package/src/module/workflow/repository/stage-group.repository.ts +176 -176
  338. package/src/module/workflow/repository/stage-movement.repository.ts +227 -227
  339. package/src/module/workflow/repository/stage.repository.ts +172 -172
  340. package/src/module/workflow/repository/task.repository.ts +113 -113
  341. package/src/module/workflow/repository/workflow.repository.ts +42 -42
  342. package/src/module/workflow/service/action-category.service.ts +33 -33
  343. package/src/module/workflow/service/action-data.service.ts +62 -62
  344. package/src/module/workflow/service/action-resources-mapping.service.ts +10 -10
  345. package/src/module/workflow/service/action-template-mapping.service.ts +55 -55
  346. package/src/module/workflow/service/action.service.ts +263 -263
  347. package/src/module/workflow/service/activity-log.service.ts +107 -107
  348. package/src/module/workflow/service/comm-template.service.ts +121 -121
  349. package/src/module/workflow/service/entity-modification.service.ts +67 -67
  350. package/src/module/workflow/service/form-master.service.ts +35 -35
  351. package/src/module/workflow/service/populate-workflow.service.ts +303 -303
  352. package/src/module/workflow/service/stage-action-mapping.service.ts +5 -5
  353. package/src/module/workflow/service/stage-group.service.ts +300 -300
  354. package/src/module/workflow/service/stage.service.ts +199 -199
  355. package/src/module/workflow/service/task.service.ts +504 -504
  356. package/src/module/workflow/service/workflow-list-master.service.ts +60 -60
  357. package/src/module/workflow/service/workflow-meta.service.ts +581 -581
  358. package/src/module/workflow/service/workflow.service.ts +205 -205
  359. package/src/module/workflow/workflow.module.ts +172 -172
  360. package/src/module/workflow-automation/controller/workflow-automation.controller.ts +21 -21
  361. package/src/module/workflow-automation/entity/workflow-automation-action.entity.ts +26 -26
  362. package/src/module/workflow-automation/entity/workflow-automation.entity.ts +35 -35
  363. package/src/module/workflow-automation/interface/action.decorator.ts +7 -7
  364. package/src/module/workflow-automation/interface/action.interface.ts +5 -5
  365. package/src/module/workflow-automation/service/action-registery.service.ts +35 -35
  366. package/src/module/workflow-automation/service/workflow-automation-engine.service.ts +214 -214
  367. package/src/module/workflow-automation/service/workflow-automation.service.ts +345 -345
  368. package/src/module/workflow-automation/workflow-automation.module.ts +34 -34
  369. package/src/resources/dev.properties.yaml +30 -30
  370. package/src/resources/local.properties.yaml +27 -27
  371. package/src/resources/properties.module.ts +12 -12
  372. package/src/resources/properties.yaml.ts +11 -11
  373. package/src/resources/uat.properties.yaml +15 -15
  374. package/src/utils/dto/excel-data.dto.ts +14 -14
  375. package/src/utils/dto/excelsheet-data.dto.ts +5 -5
  376. package/src/utils/service/base64util.service.ts +18 -18
  377. package/src/utils/service/clockIDGenUtil.service.ts +21 -21
  378. package/src/utils/service/codeGenerator.service.ts +22 -22
  379. package/src/utils/service/dateUtil.service.ts +17 -17
  380. package/src/utils/service/encryptUtil.service.ts +97 -97
  381. package/src/utils/service/excel-helper.service.ts +72 -72
  382. package/src/utils/service/excelUtil.service.ts +15 -15
  383. package/src/utils/service/file-util.service.ts +11 -11
  384. package/src/utils/service/json-util.service.ts +23 -23
  385. package/src/utils/service/loggingUtil.service.ts +34 -34
  386. package/src/utils/service/reflection-helper.service.ts +62 -62
  387. package/src/utils/service/wbsCodeGen.service.ts +8 -8
  388. package/src/utils/utils.module.ts +25 -25
  389. package/tsconfig.build.json +4 -4
  390. package/tsconfig.json +24 -24
  391. package/.vscode/extensions.json +0 -5
@@ -1,199 +1,199 @@
1
- import { ActionService } from './action.service';
2
- import {
3
- BadRequestException,
4
- Inject,
5
- Injectable,
6
- Logger,
7
- NotFoundException,
8
- } from '@nestjs/common';
9
- import { EntityServiceImpl } from 'src/module/meta/service/entity-service-impl.service';
10
- import { BaseEntity } from 'src/module/meta/entity/base-entity.entity';
11
- import { UserData } from 'src/module/user/entity/user.entity';
12
- import { StageRepository } from '../repository/stage.repository';
13
- import { DataSource, Repository } from 'typeorm';
14
- import { StageGroupRepository } from '../repository/stage-group.repository';
15
- import { InjectRepository } from '@nestjs/typeorm';
16
- import { StageMovementData } from '../entity/stage-movement-data.entity';
17
-
18
- @Injectable()
19
- export class StageService extends EntityServiceImpl {
20
- private readonly logger = new Logger(StageService.name);
21
-
22
- constructor(
23
- private readonly stageRepository: StageRepository,
24
- private readonly stageGroupRepository: StageGroupRepository,
25
- @InjectRepository(StageMovementData)
26
- private readonly stageMovementRepo: Repository<StageMovementData>,
27
- private readonly dataSource: DataSource,
28
- @Inject('ActionService')
29
- private readonly actionService: ActionService,
30
- ) {
31
- super();
32
- }
33
-
34
- async getAllStage(
35
- payload: {
36
- stage_group_id: number;
37
- mapped_entity_id: number;
38
- },
39
- organization_id: number,
40
- show_previous: boolean,
41
- ) {
42
- if (!show_previous) {
43
- const allStages = await this.stageRepository.getAllStage(
44
- payload.stage_group_id,
45
- organization_id,
46
- );
47
-
48
- const statusListMaster = await this.dataSource.query(
49
- `SELECT id, name
50
- FROM cr_list_master_items
51
- WHERE listtype = 'STS' AND organization_id = ?`,
52
- [organization_id],
53
- );
54
-
55
- // Build a lookup map: id → name
56
- const statusMap = new Map(
57
- statusListMaster.map((s) => [String(s.id), s.name]),
58
- );
59
-
60
- for (const stage of allStages) {
61
- stage.status = statusMap.get(String(stage.status)) as any;
62
- }
63
-
64
- return allStages;
65
- }
66
-
67
- // 1. Get all stages up to the current stage group
68
- const allStageWithStageGroup =
69
- await this.stageRepository.getAllStageGroupAndStageByStageMovement(
70
- payload.stage_group_id,
71
- organization_id,
72
- );
73
-
74
- // 2. Get stage movement history for this entity
75
- const allStageMovementData = await this.dataSource.manager.find<{
76
- id: number;
77
- stage_group_id: number;
78
- stage_id: number;
79
- mapped_entity_id: number;
80
- mapped_entity_type: string;
81
- is_current: string;
82
- }>('cr_wf_stage_movement_data', {
83
- where: {
84
- mapped_entity_id: payload.mapped_entity_id,
85
- mapped_entity_type: 'LEAD',
86
- },
87
- order: { id: 'ASC' },
88
- });
89
-
90
- if (!allStageMovementData || allStageMovementData.length === 0) {
91
- return allStageWithStageGroup;
92
- }
93
-
94
- // 3. Find the current stage movement (is_current === 'Y')
95
- const currentMovement = allStageMovementData.find(
96
- (m) => m.is_current === 'Y',
97
- );
98
-
99
- if (!currentMovement) {
100
- return allStageWithStageGroup;
101
- }
102
-
103
- // 4. Filter stages up to and including the current stage_id
104
- const filteredStages: any[] = [];
105
- for (const stage of allStageWithStageGroup) {
106
- filteredStages.push(stage);
107
- if (stage.id === currentMovement.stage_id) {
108
- break; // stop once we reach the current stage
109
- }
110
- }
111
-
112
- return filteredStages;
113
- }
114
-
115
- async updateEntity(
116
- entityData: BaseEntity,
117
- loggedInUser: UserData,
118
- ): Promise<any> {
119
- return await super.updateEntity(entityData, loggedInUser);
120
- }
121
-
122
- async getEntityData(
123
- entityType: string,
124
- id: number,
125
- loggedInUser?: UserData,
126
- ): Promise<BaseEntity | null> {
127
- return await super.getEntityData(entityType, id, loggedInUser);
128
- }
129
-
130
- async deleteEntity(
131
- entityType: string,
132
- id: number,
133
- loggedInUser: UserData,
134
- ): Promise<any> {
135
- const getAllStageAction = await this.dataSource.query(
136
- `SELECT action_id FROM cr_wf_stage_action_mapping WHERE stage_id = ? AND entity_type = 'WFSA'`,
137
- [id],
138
- );
139
-
140
- if (getAllStageAction.length > 0) {
141
- for (const action of getAllStageAction) {
142
- await this.actionService.deleteEntity(
143
- 'WFAC',
144
- action.action_id,
145
- loggedInUser,
146
- );
147
- }
148
- }
149
-
150
- const deleteStage = await super.deleteEntity(entityType, id, loggedInUser);
151
-
152
- return deleteStage;
153
- }
154
-
155
- async getStagesWithGroupName(workflow_id: number, organization_id: number) {
156
- if (!workflow_id) {
157
- throw new BadRequestException('workflow_id is required');
158
- }
159
-
160
- const stageGroups = await this.stageGroupRepository.getAllStageGroup(
161
- workflow_id,
162
- organization_id,
163
- );
164
-
165
- const stageGroupIds = stageGroups.map((group) => group.id);
166
- const groupNameMap = new Map<number, string>(
167
- stageGroups.map((group) => [Number(group.id), group.name]),
168
- );
169
-
170
- // Get all stages for all stageGroups
171
- const allStages: any = [];
172
- for (const groupId of stageGroupIds) {
173
- try {
174
- const stages = await this.stageRepository.getAllStage(
175
- groupId,
176
- organization_id,
177
- );
178
- allStages.push(...stages);
179
- } catch (err) {
180
- if (err instanceof NotFoundException) {
181
- this.logger.warn(`No stages for group ID ${groupId}`);
182
- continue;
183
- }
184
- throw err;
185
- }
186
- }
187
-
188
- // Build "StageGroupName - StageName"
189
- const result = allStages.map((stage) => {
190
- const groupName = groupNameMap.get(Number(stage.stage_group_id)) || '';
191
- return {
192
- stage_id: stage.id,
193
- full_name: `${groupName} - ${stage.name}`, // Combined format
194
- };
195
- });
196
-
197
- return result;
198
- }
199
- }
1
+ import { ActionService } from './action.service';
2
+ import {
3
+ BadRequestException,
4
+ Inject,
5
+ Injectable,
6
+ Logger,
7
+ NotFoundException,
8
+ } from '@nestjs/common';
9
+ import { EntityServiceImpl } from 'src/module/meta/service/entity-service-impl.service';
10
+ import { BaseEntity } from 'src/module/meta/entity/base-entity.entity';
11
+ import { UserData } from 'src/module/user/entity/user.entity';
12
+ import { StageRepository } from '../repository/stage.repository';
13
+ import { DataSource, Repository } from 'typeorm';
14
+ import { StageGroupRepository } from '../repository/stage-group.repository';
15
+ import { InjectRepository } from '@nestjs/typeorm';
16
+ import { StageMovementData } from '../entity/stage-movement-data.entity';
17
+
18
+ @Injectable()
19
+ export class StageService extends EntityServiceImpl {
20
+ private readonly logger = new Logger(StageService.name);
21
+
22
+ constructor(
23
+ private readonly stageRepository: StageRepository,
24
+ private readonly stageGroupRepository: StageGroupRepository,
25
+ @InjectRepository(StageMovementData)
26
+ private readonly stageMovementRepo: Repository<StageMovementData>,
27
+ private readonly dataSource: DataSource,
28
+ @Inject('ActionService')
29
+ private readonly actionService: ActionService,
30
+ ) {
31
+ super();
32
+ }
33
+
34
+ async getAllStage(
35
+ payload: {
36
+ stage_group_id: number;
37
+ mapped_entity_id: number;
38
+ },
39
+ organization_id: number,
40
+ show_previous: boolean,
41
+ ) {
42
+ if (!show_previous) {
43
+ const allStages = await this.stageRepository.getAllStage(
44
+ payload.stage_group_id,
45
+ organization_id,
46
+ );
47
+
48
+ const statusListMaster = await this.dataSource.query(
49
+ `SELECT id, name
50
+ FROM cr_list_master_items
51
+ WHERE listtype = 'STS' AND organization_id = ?`,
52
+ [organization_id],
53
+ );
54
+
55
+ // Build a lookup map: id → name
56
+ const statusMap = new Map(
57
+ statusListMaster.map((s) => [String(s.id), s.name]),
58
+ );
59
+
60
+ for (const stage of allStages) {
61
+ stage.status = statusMap.get(String(stage.status)) as any;
62
+ }
63
+
64
+ return allStages;
65
+ }
66
+
67
+ // 1. Get all stages up to the current stage group
68
+ const allStageWithStageGroup =
69
+ await this.stageRepository.getAllStageGroupAndStageByStageMovement(
70
+ payload.stage_group_id,
71
+ organization_id,
72
+ );
73
+
74
+ // 2. Get stage movement history for this entity
75
+ const allStageMovementData = await this.dataSource.manager.find<{
76
+ id: number;
77
+ stage_group_id: number;
78
+ stage_id: number;
79
+ mapped_entity_id: number;
80
+ mapped_entity_type: string;
81
+ is_current: string;
82
+ }>('cr_wf_stage_movement_data', {
83
+ where: {
84
+ mapped_entity_id: payload.mapped_entity_id,
85
+ mapped_entity_type: 'LEAD',
86
+ },
87
+ order: { id: 'ASC' },
88
+ });
89
+
90
+ if (!allStageMovementData || allStageMovementData.length === 0) {
91
+ return allStageWithStageGroup;
92
+ }
93
+
94
+ // 3. Find the current stage movement (is_current === 'Y')
95
+ const currentMovement = allStageMovementData.find(
96
+ (m) => m.is_current === 'Y',
97
+ );
98
+
99
+ if (!currentMovement) {
100
+ return allStageWithStageGroup;
101
+ }
102
+
103
+ // 4. Filter stages up to and including the current stage_id
104
+ const filteredStages: any[] = [];
105
+ for (const stage of allStageWithStageGroup) {
106
+ filteredStages.push(stage);
107
+ if (stage.id === currentMovement.stage_id) {
108
+ break; // stop once we reach the current stage
109
+ }
110
+ }
111
+
112
+ return filteredStages;
113
+ }
114
+
115
+ async updateEntity(
116
+ entityData: BaseEntity,
117
+ loggedInUser: UserData,
118
+ ): Promise<any> {
119
+ return await super.updateEntity(entityData, loggedInUser);
120
+ }
121
+
122
+ async getEntityData(
123
+ entityType: string,
124
+ id: number,
125
+ loggedInUser?: UserData,
126
+ ): Promise<BaseEntity | null> {
127
+ return await super.getEntityData(entityType, id, loggedInUser);
128
+ }
129
+
130
+ async deleteEntity(
131
+ entityType: string,
132
+ id: number,
133
+ loggedInUser: UserData,
134
+ ): Promise<any> {
135
+ const getAllStageAction = await this.dataSource.query(
136
+ `SELECT action_id FROM cr_wf_stage_action_mapping WHERE stage_id = ? AND entity_type = 'WFSA'`,
137
+ [id],
138
+ );
139
+
140
+ if (getAllStageAction.length > 0) {
141
+ for (const action of getAllStageAction) {
142
+ await this.actionService.deleteEntity(
143
+ 'WFAC',
144
+ action.action_id,
145
+ loggedInUser,
146
+ );
147
+ }
148
+ }
149
+
150
+ const deleteStage = await super.deleteEntity(entityType, id, loggedInUser);
151
+
152
+ return deleteStage;
153
+ }
154
+
155
+ async getStagesWithGroupName(workflow_id: number, organization_id: number) {
156
+ if (!workflow_id) {
157
+ throw new BadRequestException('workflow_id is required');
158
+ }
159
+
160
+ const stageGroups = await this.stageGroupRepository.getAllStageGroup(
161
+ workflow_id,
162
+ organization_id,
163
+ );
164
+
165
+ const stageGroupIds = stageGroups.map((group) => group.id);
166
+ const groupNameMap = new Map<number, string>(
167
+ stageGroups.map((group) => [Number(group.id), group.name]),
168
+ );
169
+
170
+ // Get all stages for all stageGroups
171
+ const allStages: any = [];
172
+ for (const groupId of stageGroupIds) {
173
+ try {
174
+ const stages = await this.stageRepository.getAllStage(
175
+ groupId,
176
+ organization_id,
177
+ );
178
+ allStages.push(...stages);
179
+ } catch (err) {
180
+ if (err instanceof NotFoundException) {
181
+ this.logger.warn(`No stages for group ID ${groupId}`);
182
+ continue;
183
+ }
184
+ throw err;
185
+ }
186
+ }
187
+
188
+ // Build "StageGroupName - StageName"
189
+ const result = allStages.map((stage) => {
190
+ const groupName = groupNameMap.get(Number(stage.stage_group_id)) || '';
191
+ return {
192
+ stage_id: stage.id,
193
+ full_name: `${groupName} - ${stage.name}`, // Combined format
194
+ };
195
+ });
196
+
197
+ return result;
198
+ }
199
+ }