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