rez_core 3.1.189 → 3.1.190

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 (383) 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 +1 -1
  23. package/dist/module/integration/service/wrapper.service.js +25 -25
  24. package/dist/module/listmaster/service/list-master-item.service.js +2 -2
  25. package/dist/module/listmaster/service/list-master.service.js +2 -2
  26. package/dist/module/mapper/service/field-mapper.service.js +4 -4
  27. package/dist/module/mapper/service/mapper.service.js +4 -4
  28. package/dist/module/meta/service/entity-dynamic.service.js +18 -18
  29. package/dist/module/meta/service/entity-list.service.js +3 -3
  30. package/dist/module/meta/service/entity-master.service.js +3 -3
  31. package/dist/module/meta/service/entity-relation.service.js +11 -11
  32. package/dist/module/meta/service/entity-service-impl.service.js +3 -3
  33. package/dist/module/meta/service/resolver.service.js +3 -3
  34. package/dist/module/module/repository/menu.repository.js +12 -12
  35. package/dist/module/notification/service/notification.service.js +12 -12
  36. package/dist/module/user/controller/login.controller.js +18 -18
  37. package/dist/module/user/service/role.service.js +4 -4
  38. package/dist/module/user/service/user-session.service.js +2 -2
  39. package/dist/module/workflow/repository/action.repository.js +16 -16
  40. package/dist/module/workflow/repository/comm-template.repository.js +6 -6
  41. package/dist/module/workflow/repository/form-master.repository.js +2 -2
  42. package/dist/module/workflow/repository/stage-group.repository.js +23 -23
  43. package/dist/module/workflow/repository/stage-movement.repository.js +11 -11
  44. package/dist/module/workflow/repository/stage.repository.js +8 -8
  45. package/dist/module/workflow/service/action-template-mapping.service.js +10 -10
  46. package/dist/module/workflow/service/action.service.js +7 -7
  47. package/dist/module/workflow/service/entity-modification.service.js +6 -6
  48. package/dist/module/workflow/service/stage-group.service.js +2 -2
  49. package/dist/module/workflow/service/stage.service.js +2 -2
  50. package/dist/module/workflow/service/task.service.js +33 -33
  51. package/dist/module/workflow/service/workflow-list-master.service.js +15 -15
  52. package/dist/module/workflow/service/workflow-meta.service.js +50 -50
  53. package/dist/module/workflow/service/workflow.service.js +2 -2
  54. package/dist/tsconfig.build.tsbuildinfo +1 -1
  55. package/dist/utils/service/reflection-helper.service.js +2 -2
  56. package/docs/modules/event-driven-integration-design.md +91 -91
  57. package/docs/modules/integration.md +250 -250
  58. package/eslint.config.mjs +34 -34
  59. package/nest-cli.json +14 -14
  60. package/package.json +118 -118
  61. package/server.log +850 -0
  62. package/src/app.controller.ts +12 -12
  63. package/src/app.module.ts +49 -49
  64. package/src/app.service.ts +8 -8
  65. package/src/config/config.module.ts +18 -18
  66. package/src/config/database.config.ts +23 -23
  67. package/src/constant/global.constant.ts +67 -67
  68. package/src/core.module.ts +81 -81
  69. package/src/decorators/roles.decorator.ts +7 -7
  70. package/src/dtos/response.dto.ts +6 -6
  71. package/src/dtos/response.ts +5 -5
  72. package/src/index.ts +1 -1
  73. package/src/module/auth/auth.module.ts +49 -49
  74. package/src/module/auth/controller/auth.controller.ts +28 -28
  75. package/src/module/auth/guards/google-auth.guard.ts +9 -9
  76. package/src/module/auth/guards/jwt.guard.ts +22 -22
  77. package/src/module/auth/guards/role.guard.ts +68 -68
  78. package/src/module/auth/services/auth.service.ts +50 -50
  79. package/src/module/auth/services/jwt.service.ts +11 -11
  80. package/src/module/auth/strategies/google.strategy.ts +54 -54
  81. package/src/module/auth/strategies/jwt.strategy.ts +58 -58
  82. package/src/module/auth/strategies/local.strategy.ts +13 -13
  83. package/src/module/dashboard/controller/dashboard.controller.ts +36 -36
  84. package/src/module/dashboard/dashboard.module.ts +21 -21
  85. package/src/module/dashboard/entity/dashboard_page_data.entity.ts +27 -27
  86. package/src/module/dashboard/entity/widget_master.entity.ts +18 -18
  87. package/src/module/dashboard/repository/dashboard.repository.ts +42 -42
  88. package/src/module/dashboard/service/dashboard.service.ts +73 -73
  89. package/src/module/dev/dev.module.ts +12 -12
  90. package/src/module/dev/service/dev.service.ts +7 -7
  91. package/src/module/enterprise/controller/organization.controller.ts +36 -36
  92. package/src/module/enterprise/enterprise.module.ts +30 -30
  93. package/src/module/enterprise/entity/enterprise.entity.ts +37 -37
  94. package/src/module/enterprise/entity/organization-app-mapping.entity.ts +13 -13
  95. package/src/module/enterprise/entity/organization.entity.ts +92 -92
  96. package/src/module/enterprise/repository/enterprise.repository.ts +31 -31
  97. package/src/module/enterprise/repository/organization.repository.ts +26 -26
  98. package/src/module/enterprise/repository/school.repository.ts +281 -281
  99. package/src/module/enterprise/service/brand.service.ts +5 -5
  100. package/src/module/enterprise/service/enterprise.service.ts +16 -16
  101. package/src/module/enterprise/service/organization-app-mapping.service.ts +4 -4
  102. package/src/module/enterprise/service/organization.service.ts +145 -145
  103. package/src/module/filter/controller/filter.controller.ts +84 -84
  104. package/src/module/filter/dto/filter-request.dto.ts +38 -38
  105. package/src/module/filter/entity/saved-filter-detail.entity.ts +41 -41
  106. package/src/module/filter/entity/saved-filter-master.entity.ts +23 -23
  107. package/src/module/filter/filter.module.ts +31 -31
  108. package/src/module/filter/repository/saved-filter.repository.ts +168 -168
  109. package/src/module/filter/service/filter-evaluator.service.ts +86 -86
  110. package/src/module/filter/service/filter.service.ts +868 -868
  111. package/src/module/filter/service/saved-filter.service.ts +170 -170
  112. package/src/module/ics/controller/ics.controller.ts +21 -21
  113. package/src/module/ics/dto/ics.dto.ts +55 -55
  114. package/src/module/ics/ics.module.ts +13 -13
  115. package/src/module/ics/service/ics.service.ts +57 -57
  116. package/src/module/integration/controller/calender-event.controller.ts +31 -31
  117. package/src/module/integration/controller/integration.controller.ts +662 -662
  118. package/src/module/integration/controller/wrapper.controller.ts +37 -37
  119. package/src/module/integration/dto/create-config.dto.ts +526 -526
  120. package/src/module/integration/entity/integration-config.entity.ts +112 -112
  121. package/src/module/integration/entity/integration-entity-mapper.entity.ts +14 -14
  122. package/src/module/integration/entity/integration-source.entity.ts +17 -17
  123. package/src/module/integration/entity/user-integration.entity.ts +71 -71
  124. package/src/module/integration/examples/usage.example.ts +338 -338
  125. package/src/module/integration/factories/base.factory.ts +7 -7
  126. package/src/module/integration/factories/email.factory.ts +49 -49
  127. package/src/module/integration/factories/integration.factory.ts +121 -121
  128. package/src/module/integration/factories/sms.factory.ts +51 -51
  129. package/src/module/integration/factories/telephone.factory.ts +41 -41
  130. package/src/module/integration/factories/whatsapp.factory.ts +56 -56
  131. package/src/module/integration/integration.module.ts +110 -110
  132. package/src/module/integration/service/calendar-event.service.ts +118 -118
  133. package/src/module/integration/service/integration-entity-mapper.service.ts +17 -17
  134. package/src/module/integration/service/integration-queue.service.ts +229 -229
  135. package/src/module/integration/service/integration.service.ts +2572 -2572
  136. package/src/module/integration/service/oauth.service.ts +224 -224
  137. package/src/module/integration/service/wrapper.service.ts +457 -457
  138. package/src/module/integration/strategies/email/gmail-api.strategy.ts +280 -280
  139. package/src/module/integration/strategies/email/outlook-api.strategy.ts +44 -44
  140. package/src/module/integration/strategies/email/outlook.strategy.ts +64 -64
  141. package/src/module/integration/strategies/email/sendgrid-api.strategy.ts +260 -260
  142. package/src/module/integration/strategies/integration.strategy.ts +97 -97
  143. package/src/module/integration/strategies/sms/gupshup-sms.strategy.ts +146 -146
  144. package/src/module/integration/strategies/sms/msg91-sms.strategy.ts +164 -164
  145. package/src/module/integration/strategies/sms/tubelight-sms.strategy.ts +163 -163
  146. package/src/module/integration/strategies/telephone/ozonetel-voice.strategy.ts +238 -238
  147. package/src/module/integration/strategies/telephone/tubelight-voice.strategy.ts +210 -210
  148. package/src/module/integration/strategies/whatsapp/gupshup-whatsapp.strategy.ts +359 -359
  149. package/src/module/integration/strategies/whatsapp/tubelight-whatsapp.strategy.ts +372 -372
  150. package/src/module/integration/strategies/whatsapp/whatsapp-cloud.strategy.ts +403 -403
  151. package/src/module/integration/strategies/whatsapp/whatsapp.strategy.ts +57 -57
  152. package/src/module/layout/controller/layout.controller.ts +47 -47
  153. package/src/module/layout/entity/header-items.entity.ts +28 -28
  154. package/src/module/layout/entity/header-section.entity.ts +19 -19
  155. package/src/module/layout/layout.module.ts +21 -21
  156. package/src/module/layout/repository/header-items.repository.ts +18 -18
  157. package/src/module/layout/repository/header-section.repository.ts +22 -22
  158. package/src/module/layout/service/header-section.service.ts +25 -25
  159. package/src/module/layout_preference/controller/layout_preference.controller.ts +47 -47
  160. package/src/module/layout_preference/entity/layout_preference.entity.ts +28 -28
  161. package/src/module/layout_preference/layout_preference.module.ts +18 -18
  162. package/src/module/layout_preference/repository/layout_preference.repository.ts +30 -30
  163. package/src/module/layout_preference/service/layout_preference.service.ts +172 -172
  164. package/src/module/lead/controller/lead.controller.ts +30 -30
  165. package/src/module/lead/lead.module.ts +14 -14
  166. package/src/module/lead/repository/lead.repository.ts +41 -41
  167. package/src/module/lead/service/lead.service.ts +54 -54
  168. package/src/module/listmaster/controller/list-master.controller.ts +187 -187
  169. package/src/module/listmaster/entity/list-master-items.entity.ts +41 -41
  170. package/src/module/listmaster/entity/list-master.entity.ts +32 -32
  171. package/src/module/listmaster/listmaster.module.ts +44 -44
  172. package/src/module/listmaster/repository/list-master-items.repository.ts +169 -169
  173. package/src/module/listmaster/repository/list-master.repository.ts +46 -46
  174. package/src/module/listmaster/service/list-master-engine.ts +19 -19
  175. package/src/module/listmaster/service/list-master-extension.interface.ts +4 -4
  176. package/src/module/listmaster/service/list-master-item.service.ts +292 -292
  177. package/src/module/listmaster/service/list-master-registry.ts +15 -15
  178. package/src/module/listmaster/service/list-master.service.ts +424 -424
  179. package/src/module/mapper/controller/field-mapper.controller.ts +69 -69
  180. package/src/module/mapper/controller/mapper.controller.ts +15 -15
  181. package/src/module/mapper/dto/field-mapper.dto.ts +14 -14
  182. package/src/module/mapper/entity/field-lovs.entity.ts +19 -19
  183. package/src/module/mapper/entity/field-mapper.entity.ts +53 -53
  184. package/src/module/mapper/entity/mapper.entity.ts +16 -16
  185. package/src/module/mapper/mapper.module.ts +34 -34
  186. package/src/module/mapper/repository/field-lovs.repository.ts +35 -35
  187. package/src/module/mapper/repository/field-mapper.repository.ts +42 -42
  188. package/src/module/mapper/repository/mapper.repository.ts +15 -15
  189. package/src/module/mapper/service/field-mapper.service.ts +245 -245
  190. package/src/module/mapper/service/mapper.service.ts +74 -74
  191. package/src/module/master/controller/master.controller.ts +74 -74
  192. package/src/module/master/service/master.service.ts +483 -483
  193. package/src/module/meta/controller/app-master.controller.ts +38 -38
  194. package/src/module/meta/controller/attribute-master.controller.ts +66 -66
  195. package/src/module/meta/controller/entity-dynamic.controller.ts +125 -125
  196. package/src/module/meta/controller/entity-master.controller.ts +28 -28
  197. package/src/module/meta/controller/entity-relation.controller.ts +36 -36
  198. package/src/module/meta/controller/entity.controller.ts +385 -385
  199. package/src/module/meta/controller/entity.public.controller.ts +75 -75
  200. package/src/module/meta/controller/media.controller.ts +82 -82
  201. package/src/module/meta/controller/meta.controller.ts +96 -96
  202. package/src/module/meta/controller/view-master.controller.ts +86 -86
  203. package/src/module/meta/dto/entity-list-data.dto.ts +6 -6
  204. package/src/module/meta/dto/entity-tab.dto.ts +4 -4
  205. package/src/module/meta/dto/entity-table.dto.ts +9 -9
  206. package/src/module/meta/entity/app-master.entity.ts +34 -34
  207. package/src/module/meta/entity/attribute-master.entity.ts +87 -87
  208. package/src/module/meta/entity/base-entity.entity.ts +75 -75
  209. package/src/module/meta/entity/entity-master.entity.ts +78 -78
  210. package/src/module/meta/entity/entity-relation-data.entity.ts +29 -29
  211. package/src/module/meta/entity/entity-relation.entity.ts +23 -23
  212. package/src/module/meta/entity/entity-table-column.entity.ts +61 -61
  213. package/src/module/meta/entity/entity-table.entity.ts +50 -50
  214. package/src/module/meta/entity/media-data.entity.ts +32 -32
  215. package/src/module/meta/entity/preference.entity.ts +62 -62
  216. package/src/module/meta/entity/view-master.entity.ts +41 -41
  217. package/src/module/meta/entity.module.ts +158 -158
  218. package/src/module/meta/repository/app-master.repository.ts +20 -20
  219. package/src/module/meta/repository/attribute-master.repository.ts +110 -110
  220. package/src/module/meta/repository/entity-master.repository.ts +69 -69
  221. package/src/module/meta/repository/entity-table-column.repository.ts +39 -39
  222. package/src/module/meta/repository/entity-table.repository.ts +53 -53
  223. package/src/module/meta/repository/media-data.repository.ts +50 -50
  224. package/src/module/meta/repository/preference.repository.ts +20 -20
  225. package/src/module/meta/repository/user-app-mapping.repository.ts +28 -28
  226. package/src/module/meta/repository/view-master.repository.ts +42 -42
  227. package/src/module/meta/service/app-master.service.ts +37 -37
  228. package/src/module/meta/service/attribute-master.service.ts +117 -117
  229. package/src/module/meta/service/common.service.ts +9 -9
  230. package/src/module/meta/service/entity-dynamic.service.ts +762 -762
  231. package/src/module/meta/service/entity-list.service.ts +205 -205
  232. package/src/module/meta/service/entity-master.service.ts +164 -164
  233. package/src/module/meta/service/entity-realation-data.service.ts +9 -9
  234. package/src/module/meta/service/entity-relation.service.ts +69 -69
  235. package/src/module/meta/service/entity-service-impl.service.ts +524 -524
  236. package/src/module/meta/service/entity-table-column.service.ts +39 -39
  237. package/src/module/meta/service/entity-table.service.ts +150 -150
  238. package/src/module/meta/service/entity-validation.service.ts +185 -185
  239. package/src/module/meta/service/entity.service.ts +67 -67
  240. package/src/module/meta/service/field-group.service.ts +103 -103
  241. package/src/module/meta/service/media-data.service.ts +149 -149
  242. package/src/module/meta/service/populate-meta.service.ts +173 -173
  243. package/src/module/meta/service/preference.service.ts +16 -16
  244. package/src/module/meta/service/resolver.service.ts +240 -240
  245. package/src/module/meta/service/section-master.service.ts +104 -104
  246. package/src/module/meta/service/update-form-json.service.ts +22 -22
  247. package/src/module/meta/service/user-app-mapping.service.ts +17 -17
  248. package/src/module/meta/service/view-master.service.ts +111 -111
  249. package/src/module/module/controller/menu.controller.ts +15 -15
  250. package/src/module/module/controller/module-access.controller.ts +134 -134
  251. package/src/module/module/entity/menu.entity.ts +43 -43
  252. package/src/module/module/entity/module-access.entity.ts +25 -25
  253. package/src/module/module/entity/module-action.entity.ts +17 -17
  254. package/src/module/module/entity/module.entity.ts +52 -52
  255. package/src/module/module/module.module.ts +42 -42
  256. package/src/module/module/repository/menu.repository.ts +184 -184
  257. package/src/module/module/repository/module-access.repository.ts +344 -344
  258. package/src/module/module/service/menu.service.ts +82 -82
  259. package/src/module/module/service/module-access.service.ts +209 -209
  260. package/src/module/notification/controller/notification.controller.ts +58 -58
  261. package/src/module/notification/controller/otp.controller.ts +117 -117
  262. package/src/module/notification/entity/notification.entity.ts +26 -26
  263. package/src/module/notification/entity/otp.entity.ts +28 -28
  264. package/src/module/notification/firebase-admin.config.ts +22 -22
  265. package/src/module/notification/notification.module.ts +69 -69
  266. package/src/module/notification/repository/otp.repository.ts +27 -27
  267. package/src/module/notification/service/email.service.ts +127 -127
  268. package/src/module/notification/service/notification.service.ts +138 -138
  269. package/src/module/notification/service/otp.service.ts +125 -125
  270. package/src/module/third-party-module/entity/third-party-api-registry.entity.ts +52 -52
  271. package/src/module/third-party-module/repository/third-party-api-registry.repository.ts +20 -20
  272. package/src/module/third-party-module/service/api-registry.service.ts +13 -13
  273. package/src/module/third-party-module/third-party.module.ts +12 -12
  274. package/src/module/user/controller/login.controller.ts +197 -197
  275. package/src/module/user/controller/user.controller.ts +40 -40
  276. package/src/module/user/dto/create-user.dto.ts +62 -62
  277. package/src/module/user/dto/update-user.dto.ts +4 -4
  278. package/src/module/user/entity/role.entity.ts +33 -33
  279. package/src/module/user/entity/user-role-mapping.entity.ts +38 -38
  280. package/src/module/user/entity/user-session.entity.ts +61 -61
  281. package/src/module/user/entity/user.entity.ts +71 -71
  282. package/src/module/user/repository/role.repository.ts +96 -96
  283. package/src/module/user/repository/user-role-mapping.repository.ts +126 -126
  284. package/src/module/user/repository/user.repository.ts +50 -50
  285. package/src/module/user/repository/userSession.repository.ts +33 -33
  286. package/src/module/user/service/login.service.ts +280 -280
  287. package/src/module/user/service/role.service.ts +189 -189
  288. package/src/module/user/service/user-role-mapping.service.ts +98 -98
  289. package/src/module/user/service/user-session.service.ts +168 -168
  290. package/src/module/user/service/user.service.ts +353 -353
  291. package/src/module/user/user.module.ts +65 -65
  292. package/src/module/workflow/controller/action-category.controller.ts +54 -54
  293. package/src/module/workflow/controller/action-resource-mapping.controller.ts +23 -23
  294. package/src/module/workflow/controller/action-template-mapping.controller.ts +35 -35
  295. package/src/module/workflow/controller/action.controller.ts +95 -95
  296. package/src/module/workflow/controller/activity-log.controller.ts +55 -55
  297. package/src/module/workflow/controller/comm-template.controller.ts +41 -41
  298. package/src/module/workflow/controller/entity-modification.controller.ts +35 -35
  299. package/src/module/workflow/controller/form-master.controller.ts +43 -43
  300. package/src/module/workflow/controller/stage-group.controller.ts +48 -48
  301. package/src/module/workflow/controller/stage.controller.ts +50 -50
  302. package/src/module/workflow/controller/task.controller.ts +77 -77
  303. package/src/module/workflow/controller/workflow-list-master.controller.ts +44 -44
  304. package/src/module/workflow/controller/workflow-meta.controller.ts +80 -80
  305. package/src/module/workflow/controller/workflow.controller.ts +67 -67
  306. package/src/module/workflow/entity/action-category.entity.ts +38 -38
  307. package/src/module/workflow/entity/action-data.entity.ts +55 -55
  308. package/src/module/workflow/entity/action-resources-mapping.entity.ts +29 -29
  309. package/src/module/workflow/entity/action-template-mapping.entity.ts +17 -17
  310. package/src/module/workflow/entity/action.entity.ts +50 -50
  311. package/src/module/workflow/entity/activity-log.entity.ts +43 -43
  312. package/src/module/workflow/entity/comm-template.entity.ts +43 -43
  313. package/src/module/workflow/entity/entity-modification.entity.ts +38 -38
  314. package/src/module/workflow/entity/form.entity.ts +25 -25
  315. package/src/module/workflow/entity/stage-action-mapping.entity.ts +17 -17
  316. package/src/module/workflow/entity/stage-group.entity.ts +23 -23
  317. package/src/module/workflow/entity/stage-movement-data.entity.ts +38 -38
  318. package/src/module/workflow/entity/stage.entity.ts +20 -20
  319. package/src/module/workflow/entity/task-data.entity.ts +88 -88
  320. package/src/module/workflow/entity/template-attach-mapper.entity.ts +30 -30
  321. package/src/module/workflow/entity/workflow-data.entity.ts +11 -11
  322. package/src/module/workflow/entity/workflow-level-mapping.entity.ts +18 -18
  323. package/src/module/workflow/entity/workflow.entity.ts +20 -20
  324. package/src/module/workflow/repository/action-category.repository.ts +79 -79
  325. package/src/module/workflow/repository/action-data.repository.ts +219 -219
  326. package/src/module/workflow/repository/action.repository.ts +277 -277
  327. package/src/module/workflow/repository/activity-log.repository.ts +121 -121
  328. package/src/module/workflow/repository/comm-template.repository.ts +149 -149
  329. package/src/module/workflow/repository/form-master.repository.ts +59 -59
  330. package/src/module/workflow/repository/stage-group.repository.ts +176 -176
  331. package/src/module/workflow/repository/stage-movement.repository.ts +227 -227
  332. package/src/module/workflow/repository/stage.repository.ts +172 -172
  333. package/src/module/workflow/repository/task.repository.ts +117 -117
  334. package/src/module/workflow/repository/workflow.repository.ts +42 -42
  335. package/src/module/workflow/service/action-category.service.ts +33 -33
  336. package/src/module/workflow/service/action-data.service.ts +62 -62
  337. package/src/module/workflow/service/action-resources-mapping.service.ts +10 -10
  338. package/src/module/workflow/service/action-template-mapping.service.ts +55 -55
  339. package/src/module/workflow/service/action.service.ts +263 -263
  340. package/src/module/workflow/service/activity-log.service.ts +107 -107
  341. package/src/module/workflow/service/comm-template.service.ts +176 -176
  342. package/src/module/workflow/service/entity-modification.service.ts +67 -67
  343. package/src/module/workflow/service/form-master.service.ts +35 -35
  344. package/src/module/workflow/service/populate-workflow.service.ts +303 -303
  345. package/src/module/workflow/service/stage-action-mapping.service.ts +5 -5
  346. package/src/module/workflow/service/stage-group.service.ts +330 -330
  347. package/src/module/workflow/service/stage.service.ts +199 -199
  348. package/src/module/workflow/service/task.service.ts +531 -531
  349. package/src/module/workflow/service/workflow-list-master.service.ts +60 -60
  350. package/src/module/workflow/service/workflow-meta.service.ts +581 -581
  351. package/src/module/workflow/service/workflow.service.ts +205 -205
  352. package/src/module/workflow/workflow.module.ts +174 -174
  353. package/src/module/workflow-automation/controller/workflow-automation.controller.ts +21 -21
  354. package/src/module/workflow-automation/entity/workflow-automation-action.entity.ts +26 -26
  355. package/src/module/workflow-automation/entity/workflow-automation.entity.ts +35 -35
  356. package/src/module/workflow-automation/interface/action.decorator.ts +7 -7
  357. package/src/module/workflow-automation/interface/action.interface.ts +5 -5
  358. package/src/module/workflow-automation/service/action-registery.service.ts +35 -35
  359. package/src/module/workflow-automation/service/workflow-automation-engine.service.ts +214 -214
  360. package/src/module/workflow-automation/service/workflow-automation.service.ts +345 -345
  361. package/src/module/workflow-automation/workflow-automation.module.ts +34 -34
  362. package/src/resources/dev.properties.yaml +30 -30
  363. package/src/resources/local.properties.yaml +27 -27
  364. package/src/resources/properties.module.ts +12 -12
  365. package/src/resources/properties.yaml.ts +11 -11
  366. package/src/resources/uat.properties.yaml +15 -15
  367. package/src/utils/dto/excel-data.dto.ts +14 -14
  368. package/src/utils/dto/excelsheet-data.dto.ts +5 -5
  369. package/src/utils/service/base64util.service.ts +18 -18
  370. package/src/utils/service/clockIDGenUtil.service.ts +21 -21
  371. package/src/utils/service/codeGenerator.service.ts +22 -22
  372. package/src/utils/service/dateUtil.service.ts +17 -17
  373. package/src/utils/service/encryptUtil.service.ts +97 -97
  374. package/src/utils/service/excel-helper.service.ts +72 -72
  375. package/src/utils/service/excelUtil.service.ts +15 -15
  376. package/src/utils/service/file-util.service.ts +11 -11
  377. package/src/utils/service/json-util.service.ts +23 -23
  378. package/src/utils/service/loggingUtil.service.ts +34 -34
  379. package/src/utils/service/reflection-helper.service.ts +62 -62
  380. package/src/utils/service/wbsCodeGen.service.ts +8 -8
  381. package/src/utils/utils.module.ts +25 -25
  382. package/tsconfig.build.json +4 -4
  383. package/tsconfig.json +24 -24
@@ -1,263 +1,263 @@
1
- import { BadRequestException, Injectable } from '@nestjs/common';
2
- import { BaseEntity } from 'src/module/meta/entity/base-entity.entity';
3
- import { EntityServiceImpl } from 'src/module/meta/service/entity-service-impl.service';
4
- import { UserData } from 'src/module/user/entity/user.entity';
5
- import { DataSource, EntityManager, Repository } from 'typeorm';
6
- import { ActionRepository } from '../repository/action.repository';
7
- import { ActionEntity } from '../entity/action.entity';
8
-
9
- @Injectable()
10
- export class ActionService extends EntityServiceImpl {
11
- constructor(
12
- private readonly dataSource: DataSource,
13
- private readonly actionRepository: ActionRepository,
14
- ) {
15
- super();
16
- }
17
-
18
- async getEntityData(
19
- entityType: string,
20
- id: number,
21
- loggedInUser,
22
- ): Promise<any> {
23
- const actionData = await super.getEntityData(entityType, id, loggedInUser);
24
-
25
- if (!actionData) {
26
- return null;
27
- }
28
-
29
- const result = await this.dataSource.query(
30
- `SELECT template_code, form_id
31
- FROM cr_wf_action_resources_mapping
32
- WHERE stg_act_mapping_id IN (
33
- SELECT id
34
- FROM cr_wf_stage_action_mapping
35
- WHERE action_id = ? AND entity_type = 'WFSA'
36
- )`,
37
- [actionData.id],
38
- );
39
-
40
- const templates = result
41
- .filter((t) => t.template_code !== null)
42
- .map((t) => t.template_code);
43
-
44
- const form = result.find((f) => f.form_id !== null);
45
-
46
- return {
47
- ...actionData,
48
- template: templates,
49
- form: form?.form_id ?? null,
50
- };
51
- }
52
-
53
- async createEntity(
54
- entityData: BaseEntity,
55
- loggedInUser: UserData | null,
56
- manager?: EntityManager | null,
57
- appcode?: string,
58
- ): Promise<any> {
59
- const actionData = entityData as any;
60
-
61
- // Step 1: Create main action entity
62
- const action = await super.createEntity(entityData, loggedInUser);
63
-
64
- // Step 2: Create stage mapping
65
- const stageActionMapping = {
66
- action_id: action.id,
67
- stage_id: actionData.stage_id,
68
-
69
- entity_type: 'WFSA',
70
- } as any;
71
-
72
- if (entityData?.organization_id) {
73
- stageActionMapping.organization_id = entityData.organization_id;
74
- }
75
-
76
- const stageActionMappingData = await super.createEntity(
77
- stageActionMapping,
78
- loggedInUser,
79
- );
80
-
81
- // Step 3: Template mapping (existing)
82
- if (Array.isArray(actionData.template) && actionData.template.length > 0) {
83
- for (const templateCode of actionData.template) {
84
- // ➕ Step 4: Resource mapping for template
85
- const resourceMapping = {
86
- stg_act_mapping_id: stageActionMappingData.id,
87
- template_code: templateCode,
88
- type: 'template',
89
- entity_type: 'WFAR',
90
- } as any;
91
-
92
- if (entityData?.organization_id) {
93
- resourceMapping.organization_id = entityData.organization_id;
94
- }
95
-
96
- await super.createEntity(resourceMapping, loggedInUser);
97
- }
98
- }
99
-
100
- await this.dataSource.query(
101
- `DELETE FROM cr_wf_action_resources_mapping WHERE stg_act_mapping_id = ? AND type = 'form'`,
102
- [stageActionMappingData.id],
103
- );
104
-
105
- if (actionData.form) {
106
- const resourceMapping = {
107
- stg_act_mapping_id: stageActionMappingData.id,
108
- organization_id: entityData.organization_id,
109
- level_id: entityData.level_id,
110
- form_id: actionData.form,
111
- type: 'form',
112
- entity_type: 'WFAR',
113
- } as any;
114
-
115
- await super.createEntity(resourceMapping, loggedInUser);
116
- }
117
-
118
- return actionData;
119
- }
120
-
121
- async updateEntity(
122
- entityData: BaseEntity,
123
- loggedInUser: UserData,
124
- ): Promise<any> {
125
- // Extract template from entityData, keep the rest for ActionEntity
126
- const { template, stage_id, form, ...actionData } =
127
- entityData as ActionEntity & {
128
- template?: number[];
129
- stage_id?: string;
130
- form?: number;
131
- };
132
-
133
- // Pass only actionData (without template) to super.updateEntity
134
- const action = await super.updateEntity({ ...actionData }, loggedInUser);
135
-
136
- if (!action) {
137
- throw new Error('Action not found or could not be updated');
138
- }
139
-
140
- const stageMapID = await this.dataSource.query(
141
- `SELECT id FROM cr_wf_stage_action_mapping WHERE action_id = ? AND entity_type = 'WFSA'`,
142
- [action.id],
143
- );
144
-
145
- let stageActionMappingData;
146
-
147
- if (stageMapID.length > 0) {
148
- // Update existing mapping
149
- const stageActionMapping = {
150
- id: stageMapID[0].id,
151
- action_id: action.id,
152
- stage_id,
153
- entity_type: 'WFSA',
154
- } as any;
155
-
156
- stageActionMappingData = await super.updateEntity(
157
- stageActionMapping,
158
- loggedInUser,
159
- );
160
- } else {
161
- // Create new mapping
162
- const newStageMapping = {
163
- action_id: action.id,
164
- stage_id,
165
- entity_type: 'WFSA',
166
- organization_id: entityData.organization_id,
167
- } as any;
168
-
169
- stageActionMappingData = await super.createEntity(
170
- newStageMapping,
171
- loggedInUser,
172
- );
173
- }
174
-
175
- // delete existing template mappings for this action
176
- await this.dataSource.query(
177
- `DELETE FROM cr_wf_action_resources_mapping WHERE stg_act_mapping_id = ? AND type = 'template'`,
178
- [stageActionMappingData.id],
179
- );
180
-
181
- // Handle template mapping (using the extracted template)
182
- if (Array.isArray(template) && template.length > 0) {
183
- for (let i = 0; i < template.length; i++) {
184
- const templateCode = template[i];
185
-
186
- // Create Action-Template Mapping
187
- const resourceMapping = {
188
- stg_act_mapping_id: stageActionMappingData.id,
189
- template_code: templateCode,
190
- type: 'template',
191
- entity_type: 'WFAR',
192
- } as any;
193
-
194
- await super.createEntity(resourceMapping, loggedInUser);
195
- }
196
- }
197
-
198
- await this.dataSource.query(
199
- `DELETE FROM cr_wf_action_resources_mapping WHERE stg_act_mapping_id = ? AND type = 'form'`,
200
- [stageActionMappingData.id],
201
- );
202
-
203
- if (form) {
204
- const resourceMapping = {
205
- stg_act_mapping_id: stageActionMappingData.id,
206
- form_id: form,
207
- type: 'form',
208
- entity_type: 'WFAR',
209
- } as any;
210
-
211
- await super.createEntity(resourceMapping, loggedInUser);
212
- }
213
- return action; // Return the action entity instead of actionData
214
- }
215
-
216
- async deleteEntity(
217
- entityType: string,
218
- id: number,
219
- loggedInUser: UserData,
220
- ): Promise<any> {
221
- await this.dataSource.query(
222
- `DELETE FROM cr_wf_action_template_mapping WHERE stg_act_mapping_id IN (SELECT
223
- id FROM cr_wf_stage_action_mapping WHERE action_id = ? AND entity_type = 'WFSA')`,
224
- [id],
225
- );
226
-
227
- await this.dataSource.query(
228
- `DELETE FROM cr_wf_stage_action_mapping WHERE action_id = ? AND entity_type ='WFSA'`,
229
- [id],
230
- );
231
-
232
- const deleteAction = await super.deleteEntity(entityType, id, loggedInUser);
233
-
234
- return deleteAction;
235
- }
236
-
237
- async getReasonCode(loggedInUser: UserData): Promise<any> {
238
- return this.actionRepository.getReasonCode(loggedInUser);
239
- }
240
-
241
- async defaultReasonCode(list_type: string, loggedInUser: UserData) {
242
- return this.actionRepository.defaultReasonCode(list_type, loggedInUser);
243
- }
244
-
245
- async getActions(loggedInUser: UserData, stage_id: number) {
246
- return this.actionRepository.getActions(loggedInUser, stage_id);
247
- }
248
-
249
- async getAction(
250
- loggedInUser: UserData,
251
- stage_id: number,
252
- mapped_entity_id: number,
253
- mapped_entity_type: string,
254
- ) {
255
- const { organization_id } = loggedInUser;
256
- return this.actionRepository.getAction(
257
- organization_id,
258
- stage_id,
259
- mapped_entity_id,
260
- mapped_entity_type,
261
- );
262
- }
263
- }
1
+ import { BadRequestException, Injectable } from '@nestjs/common';
2
+ import { BaseEntity } from 'src/module/meta/entity/base-entity.entity';
3
+ import { EntityServiceImpl } from 'src/module/meta/service/entity-service-impl.service';
4
+ import { UserData } from 'src/module/user/entity/user.entity';
5
+ import { DataSource, EntityManager, Repository } from 'typeorm';
6
+ import { ActionRepository } from '../repository/action.repository';
7
+ import { ActionEntity } from '../entity/action.entity';
8
+
9
+ @Injectable()
10
+ export class ActionService extends EntityServiceImpl {
11
+ constructor(
12
+ private readonly dataSource: DataSource,
13
+ private readonly actionRepository: ActionRepository,
14
+ ) {
15
+ super();
16
+ }
17
+
18
+ async getEntityData(
19
+ entityType: string,
20
+ id: number,
21
+ loggedInUser,
22
+ ): Promise<any> {
23
+ const actionData = await super.getEntityData(entityType, id, loggedInUser);
24
+
25
+ if (!actionData) {
26
+ return null;
27
+ }
28
+
29
+ const result = await this.dataSource.query(
30
+ `SELECT template_code, form_id
31
+ FROM cr_wf_action_resources_mapping
32
+ WHERE stg_act_mapping_id IN (
33
+ SELECT id
34
+ FROM cr_wf_stage_action_mapping
35
+ WHERE action_id = ? AND entity_type = 'WFSA'
36
+ )`,
37
+ [actionData.id],
38
+ );
39
+
40
+ const templates = result
41
+ .filter((t) => t.template_code !== null)
42
+ .map((t) => t.template_code);
43
+
44
+ const form = result.find((f) => f.form_id !== null);
45
+
46
+ return {
47
+ ...actionData,
48
+ template: templates,
49
+ form: form?.form_id ?? null,
50
+ };
51
+ }
52
+
53
+ async createEntity(
54
+ entityData: BaseEntity,
55
+ loggedInUser: UserData | null,
56
+ manager?: EntityManager | null,
57
+ appcode?: string,
58
+ ): Promise<any> {
59
+ const actionData = entityData as any;
60
+
61
+ // Step 1: Create main action entity
62
+ const action = await super.createEntity(entityData, loggedInUser);
63
+
64
+ // Step 2: Create stage mapping
65
+ const stageActionMapping = {
66
+ action_id: action.id,
67
+ stage_id: actionData.stage_id,
68
+
69
+ entity_type: 'WFSA',
70
+ } as any;
71
+
72
+ if (entityData?.organization_id) {
73
+ stageActionMapping.organization_id = entityData.organization_id;
74
+ }
75
+
76
+ const stageActionMappingData = await super.createEntity(
77
+ stageActionMapping,
78
+ loggedInUser,
79
+ );
80
+
81
+ // Step 3: Template mapping (existing)
82
+ if (Array.isArray(actionData.template) && actionData.template.length > 0) {
83
+ for (const templateCode of actionData.template) {
84
+ // ➕ Step 4: Resource mapping for template
85
+ const resourceMapping = {
86
+ stg_act_mapping_id: stageActionMappingData.id,
87
+ template_code: templateCode,
88
+ type: 'template',
89
+ entity_type: 'WFAR',
90
+ } as any;
91
+
92
+ if (entityData?.organization_id) {
93
+ resourceMapping.organization_id = entityData.organization_id;
94
+ }
95
+
96
+ await super.createEntity(resourceMapping, loggedInUser);
97
+ }
98
+ }
99
+
100
+ await this.dataSource.query(
101
+ `DELETE FROM cr_wf_action_resources_mapping WHERE stg_act_mapping_id = ? AND type = 'form'`,
102
+ [stageActionMappingData.id],
103
+ );
104
+
105
+ if (actionData.form) {
106
+ const resourceMapping = {
107
+ stg_act_mapping_id: stageActionMappingData.id,
108
+ organization_id: entityData.organization_id,
109
+ level_id: entityData.level_id,
110
+ form_id: actionData.form,
111
+ type: 'form',
112
+ entity_type: 'WFAR',
113
+ } as any;
114
+
115
+ await super.createEntity(resourceMapping, loggedInUser);
116
+ }
117
+
118
+ return actionData;
119
+ }
120
+
121
+ async updateEntity(
122
+ entityData: BaseEntity,
123
+ loggedInUser: UserData,
124
+ ): Promise<any> {
125
+ // Extract template from entityData, keep the rest for ActionEntity
126
+ const { template, stage_id, form, ...actionData } =
127
+ entityData as ActionEntity & {
128
+ template?: number[];
129
+ stage_id?: string;
130
+ form?: number;
131
+ };
132
+
133
+ // Pass only actionData (without template) to super.updateEntity
134
+ const action = await super.updateEntity({ ...actionData }, loggedInUser);
135
+
136
+ if (!action) {
137
+ throw new Error('Action not found or could not be updated');
138
+ }
139
+
140
+ const stageMapID = await this.dataSource.query(
141
+ `SELECT id FROM cr_wf_stage_action_mapping WHERE action_id = ? AND entity_type = 'WFSA'`,
142
+ [action.id],
143
+ );
144
+
145
+ let stageActionMappingData;
146
+
147
+ if (stageMapID.length > 0) {
148
+ // Update existing mapping
149
+ const stageActionMapping = {
150
+ id: stageMapID[0].id,
151
+ action_id: action.id,
152
+ stage_id,
153
+ entity_type: 'WFSA',
154
+ } as any;
155
+
156
+ stageActionMappingData = await super.updateEntity(
157
+ stageActionMapping,
158
+ loggedInUser,
159
+ );
160
+ } else {
161
+ // Create new mapping
162
+ const newStageMapping = {
163
+ action_id: action.id,
164
+ stage_id,
165
+ entity_type: 'WFSA',
166
+ organization_id: entityData.organization_id,
167
+ } as any;
168
+
169
+ stageActionMappingData = await super.createEntity(
170
+ newStageMapping,
171
+ loggedInUser,
172
+ );
173
+ }
174
+
175
+ // delete existing template mappings for this action
176
+ await this.dataSource.query(
177
+ `DELETE FROM cr_wf_action_resources_mapping WHERE stg_act_mapping_id = ? AND type = 'template'`,
178
+ [stageActionMappingData.id],
179
+ );
180
+
181
+ // Handle template mapping (using the extracted template)
182
+ if (Array.isArray(template) && template.length > 0) {
183
+ for (let i = 0; i < template.length; i++) {
184
+ const templateCode = template[i];
185
+
186
+ // Create Action-Template Mapping
187
+ const resourceMapping = {
188
+ stg_act_mapping_id: stageActionMappingData.id,
189
+ template_code: templateCode,
190
+ type: 'template',
191
+ entity_type: 'WFAR',
192
+ } as any;
193
+
194
+ await super.createEntity(resourceMapping, loggedInUser);
195
+ }
196
+ }
197
+
198
+ await this.dataSource.query(
199
+ `DELETE FROM cr_wf_action_resources_mapping WHERE stg_act_mapping_id = ? AND type = 'form'`,
200
+ [stageActionMappingData.id],
201
+ );
202
+
203
+ if (form) {
204
+ const resourceMapping = {
205
+ stg_act_mapping_id: stageActionMappingData.id,
206
+ form_id: form,
207
+ type: 'form',
208
+ entity_type: 'WFAR',
209
+ } as any;
210
+
211
+ await super.createEntity(resourceMapping, loggedInUser);
212
+ }
213
+ return action; // Return the action entity instead of actionData
214
+ }
215
+
216
+ async deleteEntity(
217
+ entityType: string,
218
+ id: number,
219
+ loggedInUser: UserData,
220
+ ): Promise<any> {
221
+ await this.dataSource.query(
222
+ `DELETE FROM cr_wf_action_template_mapping WHERE stg_act_mapping_id IN (SELECT
223
+ id FROM cr_wf_stage_action_mapping WHERE action_id = ? AND entity_type = 'WFSA')`,
224
+ [id],
225
+ );
226
+
227
+ await this.dataSource.query(
228
+ `DELETE FROM cr_wf_stage_action_mapping WHERE action_id = ? AND entity_type ='WFSA'`,
229
+ [id],
230
+ );
231
+
232
+ const deleteAction = await super.deleteEntity(entityType, id, loggedInUser);
233
+
234
+ return deleteAction;
235
+ }
236
+
237
+ async getReasonCode(loggedInUser: UserData): Promise<any> {
238
+ return this.actionRepository.getReasonCode(loggedInUser);
239
+ }
240
+
241
+ async defaultReasonCode(list_type: string, loggedInUser: UserData) {
242
+ return this.actionRepository.defaultReasonCode(list_type, loggedInUser);
243
+ }
244
+
245
+ async getActions(loggedInUser: UserData, stage_id: number) {
246
+ return this.actionRepository.getActions(loggedInUser, stage_id);
247
+ }
248
+
249
+ async getAction(
250
+ loggedInUser: UserData,
251
+ stage_id: number,
252
+ mapped_entity_id: number,
253
+ mapped_entity_type: string,
254
+ ) {
255
+ const { organization_id } = loggedInUser;
256
+ return this.actionRepository.getAction(
257
+ organization_id,
258
+ stage_id,
259
+ mapped_entity_id,
260
+ mapped_entity_type,
261
+ );
262
+ }
263
+ }