rez_core 3.1.110 → 3.1.111

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (381) hide show
  1. package/.claude/settings.local.json +26 -0
  2. package/.idea/250218_nodejs_core.iml +9 -0
  3. package/.idea/codeStyles/Project.xml +59 -0
  4. package/.idea/codeStyles/codeStyleConfig.xml +5 -0
  5. package/.idea/copilot.data.migration.agent.xml +6 -0
  6. package/.idea/copilot.data.migration.ask.xml +6 -0
  7. package/.idea/copilot.data.migration.ask2agent.xml +6 -0
  8. package/.idea/copilot.data.migration.edit.xml +6 -0
  9. package/.idea/inspectionProfiles/Project_Default.xml +6 -0
  10. package/.idea/misc.xml +6 -0
  11. package/.idea/modules.xml +8 -0
  12. package/.idea/prettier.xml +6 -0
  13. package/.idea/vcs.xml +6 -0
  14. package/.prettierrc +3 -3
  15. package/README.md +99 -99
  16. package/dist/module/auth/guards/role.guard.js +3 -3
  17. package/dist/module/auth/services/auth.service.js +2 -2
  18. package/dist/module/filter/repository/saved-filter.repository.js +4 -4
  19. package/dist/module/filter/service/filter-evaluator.service.js +2 -2
  20. package/dist/module/filter/service/filter.service.js +7 -7
  21. package/dist/module/integration/examples/usage.example.js +9 -9
  22. package/dist/module/integration/service/integration.service.js +7 -6
  23. package/dist/module/integration/service/integration.service.js.map +1 -1
  24. package/dist/module/integration/service/wrapper.service.js +17 -17
  25. package/dist/module/listmaster/service/list-master-item.service.js +2 -2
  26. package/dist/module/listmaster/service/list-master.service.js +2 -2
  27. package/dist/module/mapper/service/field-mapper.service.js +4 -4
  28. package/dist/module/mapper/service/mapper.service.js +2 -2
  29. package/dist/module/meta/service/entity-dynamic.service.js +18 -18
  30. package/dist/module/meta/service/entity-list.service.js +3 -3
  31. package/dist/module/meta/service/entity-master.service.js +3 -3
  32. package/dist/module/meta/service/entity-relation.service.js +11 -11
  33. package/dist/module/meta/service/entity-service-impl.service.js +3 -3
  34. package/dist/module/meta/service/resolver.service.js +3 -3
  35. package/dist/module/module/repository/menu.repository.js +12 -12
  36. package/dist/module/notification/service/notification.service.js +12 -12
  37. package/dist/module/user/controller/login.controller.js +18 -18
  38. package/dist/module/user/service/role.service.js +4 -4
  39. package/dist/module/user/service/user-session.service.js +2 -2
  40. package/dist/module/workflow/repository/action.repository.js +16 -16
  41. package/dist/module/workflow/repository/comm-template.repository.js +6 -6
  42. package/dist/module/workflow/repository/form-master.repository.js +2 -2
  43. package/dist/module/workflow/repository/stage-group.repository.js +23 -23
  44. package/dist/module/workflow/repository/stage-movement.repository.js +11 -11
  45. package/dist/module/workflow/repository/stage.repository.js +8 -8
  46. package/dist/module/workflow/service/action-template-mapping.service.js +10 -10
  47. package/dist/module/workflow/service/action.service.js +7 -7
  48. package/dist/module/workflow/service/entity-modification.service.js +6 -6
  49. package/dist/module/workflow/service/stage-group.service.js +5 -5
  50. package/dist/module/workflow/service/stage.service.js +2 -2
  51. package/dist/module/workflow/service/task.service.js +33 -33
  52. package/dist/module/workflow/service/workflow-list-master.service.js +15 -15
  53. package/dist/module/workflow/service/workflow-meta.service.js +50 -50
  54. package/dist/module/workflow/service/workflow.service.js +2 -2
  55. package/dist/tsconfig.build.tsbuildinfo +1 -1
  56. package/dist/utils/service/reflection-helper.service.js +2 -2
  57. package/docs/modules/event-driven-integration-design.md +91 -91
  58. package/docs/modules/integration.md +250 -250
  59. package/eslint.config.mjs +34 -34
  60. package/nest-cli.json +14 -14
  61. package/package.json +118 -118
  62. package/server.log +850 -0
  63. package/src/app.controller.ts +12 -12
  64. package/src/app.module.ts +49 -49
  65. package/src/app.service.ts +8 -8
  66. package/src/config/config.module.ts +18 -18
  67. package/src/config/database.config.ts +23 -23
  68. package/src/constant/global.constant.ts +67 -67
  69. package/src/core.module.ts +81 -81
  70. package/src/decorators/roles.decorator.ts +7 -7
  71. package/src/dtos/response.dto.ts +6 -6
  72. package/src/dtos/response.ts +5 -5
  73. package/src/index.ts +1 -1
  74. package/src/module/auth/auth.module.ts +49 -49
  75. package/src/module/auth/controller/auth.controller.ts +28 -28
  76. package/src/module/auth/guards/google-auth.guard.ts +9 -9
  77. package/src/module/auth/guards/jwt.guard.ts +22 -22
  78. package/src/module/auth/guards/role.guard.ts +68 -68
  79. package/src/module/auth/services/auth.service.ts +50 -50
  80. package/src/module/auth/services/jwt.service.ts +11 -11
  81. package/src/module/auth/strategies/google.strategy.ts +54 -54
  82. package/src/module/auth/strategies/jwt.strategy.ts +58 -58
  83. package/src/module/auth/strategies/local.strategy.ts +13 -13
  84. package/src/module/dashboard/controller/dashboard.controller.ts +36 -36
  85. package/src/module/dashboard/dashboard.module.ts +21 -21
  86. package/src/module/dashboard/entity/dashboard_page_data.entity.ts +27 -27
  87. package/src/module/dashboard/entity/widget_master.entity.ts +18 -18
  88. package/src/module/dashboard/repository/dashboard.repository.ts +42 -42
  89. package/src/module/dashboard/service/dashboard.service.ts +73 -73
  90. package/src/module/dev/dev.module.ts +12 -12
  91. package/src/module/dev/service/dev.service.ts +7 -7
  92. package/src/module/enterprise/controller/organization.controller.ts +36 -36
  93. package/src/module/enterprise/enterprise.module.ts +30 -30
  94. package/src/module/enterprise/entity/enterprise.entity.ts +37 -37
  95. package/src/module/enterprise/entity/organization-app-mapping.entity.ts +13 -13
  96. package/src/module/enterprise/entity/organization.entity.ts +92 -92
  97. package/src/module/enterprise/repository/enterprise.repository.ts +31 -31
  98. package/src/module/enterprise/repository/organization.repository.ts +26 -26
  99. package/src/module/enterprise/repository/school.repository.ts +282 -282
  100. package/src/module/enterprise/service/brand.service.ts +5 -5
  101. package/src/module/enterprise/service/enterprise.service.ts +16 -16
  102. package/src/module/enterprise/service/organization-app-mapping.service.ts +4 -4
  103. package/src/module/enterprise/service/organization.service.ts +145 -145
  104. package/src/module/filter/controller/filter.controller.ts +84 -84
  105. package/src/module/filter/dto/filter-request.dto.ts +38 -38
  106. package/src/module/filter/entity/saved-filter-detail.entity.ts +41 -41
  107. package/src/module/filter/entity/saved-filter-master.entity.ts +23 -23
  108. package/src/module/filter/filter.module.ts +31 -31
  109. package/src/module/filter/repository/saved-filter.repository.ts +168 -168
  110. package/src/module/filter/service/filter-evaluator.service.ts +86 -86
  111. package/src/module/filter/service/filter.service.ts +841 -841
  112. package/src/module/filter/service/saved-filter.service.ts +170 -170
  113. package/src/module/ics/controller/ics.controller.ts +21 -21
  114. package/src/module/ics/dto/ics.dto.ts +55 -55
  115. package/src/module/ics/ics.module.ts +13 -13
  116. package/src/module/ics/service/ics.service.ts +60 -60
  117. package/src/module/integration/controller/calender-event.controller.ts +31 -31
  118. package/src/module/integration/controller/integration.controller.ts +662 -662
  119. package/src/module/integration/controller/wrapper.controller.ts +39 -39
  120. package/src/module/integration/dto/create-config.dto.ts +526 -526
  121. package/src/module/integration/entity/integration-config.entity.ts +112 -112
  122. package/src/module/integration/entity/integration-entity-mapper.entity.ts +14 -14
  123. package/src/module/integration/entity/integration-source.entity.ts +17 -17
  124. package/src/module/integration/entity/user-integration.entity.ts +70 -70
  125. package/src/module/integration/examples/usage.example.ts +338 -338
  126. package/src/module/integration/factories/base.factory.ts +7 -7
  127. package/src/module/integration/factories/email.factory.ts +49 -49
  128. package/src/module/integration/factories/integration.factory.ts +121 -121
  129. package/src/module/integration/factories/sms.factory.ts +51 -51
  130. package/src/module/integration/factories/telephone.factory.ts +41 -41
  131. package/src/module/integration/factories/whatsapp.factory.ts +56 -56
  132. package/src/module/integration/integration.module.ts +110 -110
  133. package/src/module/integration/service/calendar-event.service.ts +118 -118
  134. package/src/module/integration/service/integration-entity-mapper.service.ts +17 -17
  135. package/src/module/integration/service/integration-queue.service.ts +229 -229
  136. package/src/module/integration/service/integration.service.ts +2527 -2534
  137. package/src/module/integration/service/oauth.service.ts +224 -224
  138. package/src/module/integration/service/wrapper.service.ts +373 -373
  139. package/src/module/integration/strategies/email/gmail-api.strategy.ts +287 -287
  140. package/src/module/integration/strategies/email/outlook-api.strategy.ts +44 -44
  141. package/src/module/integration/strategies/email/outlook.strategy.ts +64 -64
  142. package/src/module/integration/strategies/email/sendgrid-api.strategy.ts +261 -261
  143. package/src/module/integration/strategies/integration.strategy.ts +96 -96
  144. package/src/module/integration/strategies/sms/gupshup-sms.strategy.ts +146 -146
  145. package/src/module/integration/strategies/sms/msg91-sms.strategy.ts +164 -164
  146. package/src/module/integration/strategies/sms/tubelight-sms.strategy.ts +163 -163
  147. package/src/module/integration/strategies/telephone/ozonetel-voice.strategy.ts +237 -237
  148. package/src/module/integration/strategies/telephone/tubelight-voice.strategy.ts +209 -209
  149. package/src/module/integration/strategies/whatsapp/gupshup-whatsapp.strategy.ts +359 -359
  150. package/src/module/integration/strategies/whatsapp/tubelight-whatsapp.strategy.ts +371 -371
  151. package/src/module/integration/strategies/whatsapp/whatsapp-cloud.strategy.ts +403 -403
  152. package/src/module/integration/strategies/whatsapp/whatsapp.strategy.ts +57 -57
  153. package/src/module/layout/controller/layout.controller.ts +47 -47
  154. package/src/module/layout/entity/header-items.entity.ts +28 -28
  155. package/src/module/layout/entity/header-section.entity.ts +19 -19
  156. package/src/module/layout/layout.module.ts +21 -21
  157. package/src/module/layout/repository/header-items.repository.ts +18 -18
  158. package/src/module/layout/repository/header-section.repository.ts +22 -22
  159. package/src/module/layout/service/header-section.service.ts +25 -25
  160. package/src/module/layout_preference/controller/layout_preference.controller.ts +47 -47
  161. package/src/module/layout_preference/entity/layout_preference.entity.ts +28 -28
  162. package/src/module/layout_preference/layout_preference.module.ts +18 -18
  163. package/src/module/layout_preference/repository/layout_preference.repository.ts +30 -30
  164. package/src/module/layout_preference/service/layout_preference.service.ts +140 -140
  165. package/src/module/lead/controller/lead.controller.ts +30 -30
  166. package/src/module/lead/lead.module.ts +14 -14
  167. package/src/module/lead/repository/lead.repository.ts +41 -41
  168. package/src/module/lead/service/lead.service.ts +54 -54
  169. package/src/module/listmaster/controller/list-master.controller.ts +143 -143
  170. package/src/module/listmaster/entity/list-master-items.entity.ts +41 -41
  171. package/src/module/listmaster/entity/list-master.entity.ts +32 -32
  172. package/src/module/listmaster/listmaster.module.ts +30 -30
  173. package/src/module/listmaster/repository/list-master-items.repository.ts +169 -169
  174. package/src/module/listmaster/repository/list-master.repository.ts +46 -46
  175. package/src/module/listmaster/service/list-master-item.service.ts +292 -292
  176. package/src/module/listmaster/service/list-master.service.ts +360 -360
  177. package/src/module/mapper/controller/field-mapper.controller.ts +69 -69
  178. package/src/module/mapper/controller/mapper.controller.ts +12 -12
  179. package/src/module/mapper/dto/field-mapper.dto.ts +14 -14
  180. package/src/module/mapper/entity/field-lovs.entity.ts +20 -20
  181. package/src/module/mapper/entity/field-mapper.entity.ts +37 -37
  182. package/src/module/mapper/entity/mapper.entity.ts +17 -17
  183. package/src/module/mapper/mapper.module.ts +34 -34
  184. package/src/module/mapper/repository/field-lovs.repository.ts +35 -35
  185. package/src/module/mapper/repository/field-mapper.repository.ts +42 -42
  186. package/src/module/mapper/repository/mapper.repository.ts +14 -14
  187. package/src/module/mapper/service/field-mapper.service.ts +223 -223
  188. package/src/module/mapper/service/mapper.service.ts +72 -72
  189. package/src/module/master/controller/master.controller.ts +74 -74
  190. package/src/module/master/service/master.service.ts +486 -486
  191. package/src/module/meta/controller/app-master.controller.ts +38 -38
  192. package/src/module/meta/controller/attribute-master.controller.ts +66 -66
  193. package/src/module/meta/controller/entity-dynamic.controller.ts +111 -111
  194. package/src/module/meta/controller/entity-master.controller.ts +28 -28
  195. package/src/module/meta/controller/entity-relation.controller.ts +36 -36
  196. package/src/module/meta/controller/entity.controller.ts +385 -385
  197. package/src/module/meta/controller/media.controller.ts +82 -82
  198. package/src/module/meta/controller/meta.controller.ts +96 -96
  199. package/src/module/meta/controller/view-master.controller.ts +86 -86
  200. package/src/module/meta/dto/entity-list-data.dto.ts +6 -6
  201. package/src/module/meta/dto/entity-tab.dto.ts +4 -4
  202. package/src/module/meta/dto/entity-table.dto.ts +9 -9
  203. package/src/module/meta/entity/app-master.entity.ts +34 -34
  204. package/src/module/meta/entity/attribute-master.entity.ts +87 -87
  205. package/src/module/meta/entity/base-entity.entity.ts +75 -75
  206. package/src/module/meta/entity/entity-master.entity.ts +78 -78
  207. package/src/module/meta/entity/entity-relation-data.entity.ts +29 -29
  208. package/src/module/meta/entity/entity-relation.entity.ts +23 -23
  209. package/src/module/meta/entity/entity-table-column.entity.ts +61 -61
  210. package/src/module/meta/entity/entity-table.entity.ts +50 -50
  211. package/src/module/meta/entity/media-data.entity.ts +32 -32
  212. package/src/module/meta/entity/preference.entity.ts +62 -62
  213. package/src/module/meta/entity/view-master.entity.ts +41 -41
  214. package/src/module/meta/entity.module.ts +156 -156
  215. package/src/module/meta/repository/app-master.repository.ts +20 -20
  216. package/src/module/meta/repository/attribute-master.repository.ts +110 -110
  217. package/src/module/meta/repository/entity-master.repository.ts +61 -61
  218. package/src/module/meta/repository/entity-table-column.repository.ts +39 -39
  219. package/src/module/meta/repository/entity-table.repository.ts +53 -53
  220. package/src/module/meta/repository/media-data.repository.ts +50 -50
  221. package/src/module/meta/repository/preference.repository.ts +20 -20
  222. package/src/module/meta/repository/user-app-mapping.repository.ts +28 -28
  223. package/src/module/meta/repository/view-master.repository.ts +42 -42
  224. package/src/module/meta/service/app-master.service.ts +37 -37
  225. package/src/module/meta/service/attribute-master.service.ts +117 -117
  226. package/src/module/meta/service/common.service.ts +9 -9
  227. package/src/module/meta/service/entity-dynamic.service.ts +718 -718
  228. package/src/module/meta/service/entity-list.service.ts +205 -205
  229. package/src/module/meta/service/entity-master.service.ts +164 -164
  230. package/src/module/meta/service/entity-realation-data.service.ts +9 -9
  231. package/src/module/meta/service/entity-relation.service.ts +69 -69
  232. package/src/module/meta/service/entity-service-impl.service.ts +513 -513
  233. package/src/module/meta/service/entity-table-column.service.ts +39 -39
  234. package/src/module/meta/service/entity-table.service.ts +150 -150
  235. package/src/module/meta/service/entity-validation.service.ts +185 -185
  236. package/src/module/meta/service/entity.service.ts +67 -67
  237. package/src/module/meta/service/field-group.service.ts +103 -103
  238. package/src/module/meta/service/media-data.service.ts +140 -140
  239. package/src/module/meta/service/populate-meta.service.ts +153 -153
  240. package/src/module/meta/service/preference.service.ts +16 -16
  241. package/src/module/meta/service/resolver.service.ts +256 -256
  242. package/src/module/meta/service/section-master.service.ts +104 -104
  243. package/src/module/meta/service/update-form-json.service.ts +22 -22
  244. package/src/module/meta/service/user-app-mapping.service.ts +17 -17
  245. package/src/module/meta/service/view-master.service.ts +91 -91
  246. package/src/module/module/controller/menu.controller.ts +15 -15
  247. package/src/module/module/controller/module-access.controller.ts +132 -132
  248. package/src/module/module/entity/menu.entity.ts +43 -43
  249. package/src/module/module/entity/module-access.entity.ts +25 -25
  250. package/src/module/module/entity/module-action.entity.ts +17 -17
  251. package/src/module/module/entity/module.entity.ts +52 -52
  252. package/src/module/module/module.module.ts +42 -42
  253. package/src/module/module/repository/menu.repository.ts +184 -184
  254. package/src/module/module/repository/module-access.repository.ts +324 -324
  255. package/src/module/module/service/menu.service.ts +82 -82
  256. package/src/module/module/service/module-access.service.ts +209 -209
  257. package/src/module/notification/controller/notification.controller.ts +58 -58
  258. package/src/module/notification/controller/otp.controller.ts +117 -117
  259. package/src/module/notification/entity/notification.entity.ts +23 -23
  260. package/src/module/notification/entity/otp.entity.ts +28 -28
  261. package/src/module/notification/firebase-admin.config.ts +22 -22
  262. package/src/module/notification/notification.module.ts +69 -69
  263. package/src/module/notification/repository/otp.repository.ts +27 -27
  264. package/src/module/notification/service/email.service.ts +127 -127
  265. package/src/module/notification/service/notification.service.ts +130 -130
  266. package/src/module/notification/service/otp.service.ts +121 -121
  267. package/src/module/third-party-module/entity/third-party-api-registry.entity.ts +52 -52
  268. package/src/module/third-party-module/repository/third-party-api-registry.repository.ts +20 -20
  269. package/src/module/third-party-module/service/api-registry.service.ts +13 -13
  270. package/src/module/third-party-module/third-party.module.ts +12 -12
  271. package/src/module/user/controller/login.controller.ts +197 -197
  272. package/src/module/user/controller/user.controller.ts +40 -40
  273. package/src/module/user/dto/create-user.dto.ts +62 -62
  274. package/src/module/user/dto/update-user.dto.ts +4 -4
  275. package/src/module/user/entity/role.entity.ts +33 -33
  276. package/src/module/user/entity/user-role-mapping.entity.ts +38 -38
  277. package/src/module/user/entity/user-session.entity.ts +61 -61
  278. package/src/module/user/entity/user.entity.ts +68 -68
  279. package/src/module/user/repository/role.repository.ts +96 -96
  280. package/src/module/user/repository/user-role-mapping.repository.ts +126 -126
  281. package/src/module/user/repository/user.repository.ts +50 -50
  282. package/src/module/user/repository/userSession.repository.ts +33 -33
  283. package/src/module/user/service/login.service.ts +280 -280
  284. package/src/module/user/service/role.service.ts +189 -189
  285. package/src/module/user/service/user-role-mapping.service.ts +98 -98
  286. package/src/module/user/service/user-session.service.ts +168 -168
  287. package/src/module/user/service/user.service.ts +353 -353
  288. package/src/module/user/user.module.ts +65 -65
  289. package/src/module/workflow/controller/action-category.controller.ts +54 -54
  290. package/src/module/workflow/controller/action-resource-mapping.controller.ts +23 -23
  291. package/src/module/workflow/controller/action-template-mapping.controller.ts +35 -35
  292. package/src/module/workflow/controller/action.controller.ts +95 -95
  293. package/src/module/workflow/controller/activity-log.controller.ts +55 -55
  294. package/src/module/workflow/controller/comm-template.controller.ts +34 -34
  295. package/src/module/workflow/controller/entity-modification.controller.ts +35 -35
  296. package/src/module/workflow/controller/form-master.controller.ts +43 -43
  297. package/src/module/workflow/controller/stage-group.controller.ts +48 -48
  298. package/src/module/workflow/controller/stage.controller.ts +47 -47
  299. package/src/module/workflow/controller/task.controller.ts +77 -77
  300. package/src/module/workflow/controller/workflow-list-master.controller.ts +44 -44
  301. package/src/module/workflow/controller/workflow-meta.controller.ts +80 -80
  302. package/src/module/workflow/controller/workflow.controller.ts +67 -67
  303. package/src/module/workflow/entity/action-category.entity.ts +38 -38
  304. package/src/module/workflow/entity/action-data.entity.ts +55 -55
  305. package/src/module/workflow/entity/action-resources-mapping.entity.ts +29 -29
  306. package/src/module/workflow/entity/action-template-mapping.entity.ts +17 -17
  307. package/src/module/workflow/entity/action.entity.ts +50 -50
  308. package/src/module/workflow/entity/activity-log.entity.ts +43 -43
  309. package/src/module/workflow/entity/comm-template.entity.ts +43 -43
  310. package/src/module/workflow/entity/entity-modification.entity.ts +38 -38
  311. package/src/module/workflow/entity/form-master.entity.ts +27 -27
  312. package/src/module/workflow/entity/form.entity.ts +25 -25
  313. package/src/module/workflow/entity/stage-action-mapping.entity.ts +17 -17
  314. package/src/module/workflow/entity/stage-group.entity.ts +23 -23
  315. package/src/module/workflow/entity/stage-movement-data.entity.ts +38 -38
  316. package/src/module/workflow/entity/stage.entity.ts +20 -20
  317. package/src/module/workflow/entity/task-data.entity.ts +88 -88
  318. package/src/module/workflow/entity/template-attach-mapper.entity.ts +30 -30
  319. package/src/module/workflow/entity/workflow-data.entity.ts +11 -11
  320. package/src/module/workflow/entity/workflow-level-mapping.entity.ts +18 -18
  321. package/src/module/workflow/entity/workflow.entity.ts +20 -20
  322. package/src/module/workflow/repository/action-category.repository.ts +79 -79
  323. package/src/module/workflow/repository/action-data.repository.ts +219 -219
  324. package/src/module/workflow/repository/action.repository.ts +277 -277
  325. package/src/module/workflow/repository/activity-log.repository.ts +121 -121
  326. package/src/module/workflow/repository/comm-template.repository.ts +142 -142
  327. package/src/module/workflow/repository/form-master.repository.ts +61 -61
  328. package/src/module/workflow/repository/stage-group.repository.ts +176 -176
  329. package/src/module/workflow/repository/stage-movement.repository.ts +227 -227
  330. package/src/module/workflow/repository/stage.repository.ts +118 -118
  331. package/src/module/workflow/repository/task.repository.ts +113 -113
  332. package/src/module/workflow/repository/workflow.repository.ts +42 -42
  333. package/src/module/workflow/service/action-category.service.ts +33 -33
  334. package/src/module/workflow/service/action-data.service.ts +62 -62
  335. package/src/module/workflow/service/action-resources-mapping.service.ts +10 -10
  336. package/src/module/workflow/service/action-template-mapping.service.ts +55 -55
  337. package/src/module/workflow/service/action.service.ts +247 -247
  338. package/src/module/workflow/service/activity-log.service.ts +107 -107
  339. package/src/module/workflow/service/comm-template.service.ts +121 -121
  340. package/src/module/workflow/service/entity-modification.service.ts +67 -67
  341. package/src/module/workflow/service/form-master.service.ts +35 -35
  342. package/src/module/workflow/service/populate-workflow.service.ts +326 -326
  343. package/src/module/workflow/service/stage-action-mapping.service.ts +5 -5
  344. package/src/module/workflow/service/stage-group.service.ts +300 -300
  345. package/src/module/workflow/service/stage.service.ts +140 -140
  346. package/src/module/workflow/service/task.service.ts +504 -504
  347. package/src/module/workflow/service/workflow-list-master.service.ts +60 -60
  348. package/src/module/workflow/service/workflow-meta.service.ts +564 -564
  349. package/src/module/workflow/service/workflow.service.ts +205 -205
  350. package/src/module/workflow/workflow.module.ts +176 -176
  351. package/src/module/workflow-automation/controller/workflow-automation.controller.ts +21 -21
  352. package/src/module/workflow-automation/entity/workflow-automation-action.entity.ts +26 -26
  353. package/src/module/workflow-automation/entity/workflow-automation.entity.ts +35 -35
  354. package/src/module/workflow-automation/interface/action.decorator.ts +7 -7
  355. package/src/module/workflow-automation/interface/action.interface.ts +5 -5
  356. package/src/module/workflow-automation/service/action-registery.service.ts +35 -35
  357. package/src/module/workflow-automation/service/workflow-automation-engine.service.ts +214 -214
  358. package/src/module/workflow-automation/service/workflow-automation.service.ts +343 -343
  359. package/src/module/workflow-automation/workflow-automation.module.ts +34 -34
  360. package/src/resources/dev.properties.yaml +30 -30
  361. package/src/resources/local.properties.yaml +23 -23
  362. package/src/resources/properties.module.ts +12 -12
  363. package/src/resources/properties.yaml.ts +11 -11
  364. package/src/resources/uat.properties.yaml +15 -15
  365. package/src/utils/dto/excel-data.dto.ts +14 -14
  366. package/src/utils/dto/excelsheet-data.dto.ts +5 -5
  367. package/src/utils/service/base64util.service.ts +18 -18
  368. package/src/utils/service/clockIDGenUtil.service.ts +21 -21
  369. package/src/utils/service/codeGenerator.service.ts +22 -22
  370. package/src/utils/service/dateUtil.service.ts +17 -17
  371. package/src/utils/service/encryptUtil.service.ts +97 -97
  372. package/src/utils/service/excel-helper.service.ts +72 -72
  373. package/src/utils/service/excelUtil.service.ts +15 -15
  374. package/src/utils/service/file-util.service.ts +11 -11
  375. package/src/utils/service/json-util.service.ts +23 -23
  376. package/src/utils/service/loggingUtil.service.ts +34 -34
  377. package/src/utils/service/reflection-helper.service.ts +62 -62
  378. package/src/utils/service/wbsCodeGen.service.ts +8 -8
  379. package/src/utils/utils.module.ts +25 -25
  380. package/tsconfig.build.json +4 -4
  381. package/tsconfig.json +24 -24
@@ -1,256 +1,256 @@
1
- import { Injectable } from '@nestjs/common';
2
- import { UserData } from 'src/module/user/entity/user.entity';
3
- import { DataSource } from 'typeorm';
4
-
5
- @Injectable()
6
- export class ResolverService {
7
- constructor(private readonly dataSource: DataSource,
8
-
9
- ) {}
10
-
11
- async getResolvedData(
12
- loggedInUser: any,
13
- entityData: any,
14
- entityType: string,
15
- ): Promise<any> {
16
- const attributeItems = await this.dataSource.query(
17
- `SELECT * FROM cr_attribute_master WHERE mapped_entity_type = ? AND organization_id = ?`,
18
- [entityType, loggedInUser.organization_id],
19
- );
20
-
21
- const resolvedEntityData = { ...entityData };
22
-
23
- for (const attr of attributeItems) {
24
- const field = attr.attribute_key;
25
- const codeValue = entityData[field];
26
-
27
- if (!codeValue) continue;
28
-
29
- // -------- ENTITY data_source_type --------
30
- if (attr.data_source_type === 'entity') {
31
- const [entityDef] = await this.dataSource.query(
32
- `SELECT * FROM cr_entity_master WHERE mapped_entity_type = ? AND organization_id = ?`,
33
- [attr.datasource_list, loggedInUser.organization_id],
34
- );
35
-
36
- if (!entityDef) {
37
- // fallback or skip if no mapping found
38
- resolvedEntityData[field] = codeValue;
39
- continue;
40
- }
41
-
42
- const tableName = entityDef.db_table_name;
43
-
44
- if (Array.isArray(codeValue)) {
45
- const resolvedValues: string[] = [];
46
-
47
- for (const code of codeValue) {
48
- if (tableName == 'cr_organization') {
49
- const [item] = await this.dataSource.query(
50
- `SELECT * FROM ${tableName} WHERE code = ?`,
51
- [code],
52
- );
53
- resolvedValues.push(item?.[attr.data_source_attribute] ?? code);
54
- } else {
55
- const [item] = await this.dataSource.query(
56
- `SELECT * FROM ${tableName} WHERE code = ? AND organization_id = ?`,
57
- [code, loggedInUser.organization_id],
58
- );
59
- resolvedValues.push(item?.[attr.data_source_attribute] ?? code);
60
- }
61
- }
62
-
63
- resolvedEntityData[field] = resolvedValues;
64
- } else {
65
- if (tableName == 'cr_organization') {
66
- const [item] = await this.dataSource.query(
67
- `SELECT * FROM ${tableName} WHERE id = ?`,
68
- [codeValue],
69
- );
70
- resolvedEntityData[field] =
71
- item?.[attr.data_source_attribute] ?? codeValue;
72
- } else {
73
- const [item] = await this.dataSource.query(
74
- `SELECT * FROM ${tableName} WHERE id = ? AND organization_id = ?`,
75
- [codeValue, loggedInUser.organization_id],
76
- );
77
- resolvedEntityData[field] =
78
- item?.[attr.data_source_attribute] ?? codeValue;
79
- }
80
- }
81
- }
82
-
83
- // -------- MASTER data_source_type --------
84
- else if (attr.data_source_type === 'master') {
85
- if (Array.isArray(codeValue)) {
86
- const resolvedValues: string[] = [];
87
-
88
- for (const code of codeValue) {
89
- const [item] = await this.dataSource.query(
90
- `SELECT * FROM cr_list_master_items WHERE id = ? AND organization_id = ?`,
91
- [code, loggedInUser.organization_id],
92
- );
93
- resolvedValues.push(item?.[attr.data_source_attribute] ?? code);
94
- }
95
-
96
- resolvedEntityData[field] = resolvedValues;
97
- } else {
98
- const [item] = await this.dataSource.query(
99
- `SELECT * FROM cr_list_master_items WHERE id = ? AND organization_id = ?`,
100
- [codeValue, loggedInUser.organization_id],
101
- );
102
-
103
- resolvedEntityData[field] =
104
- item?.[attr.data_source_attribute] ?? codeValue;
105
- }
106
- }
107
- }
108
-
109
- return resolvedEntityData;
110
- }
111
-
112
- async getResolvedValue(
113
- loggedInUser: UserData,
114
- attrKey: string,
115
- rawValue: any,
116
- entityType: string,
117
- ): Promise<any> {
118
- if (rawValue === null || rawValue === undefined || rawValue === '') {
119
- return rawValue;
120
- }
121
-
122
- // fetch attribute meta only for the given attributeKey
123
- const [attr] = await this.dataSource.query(
124
- `SELECT * FROM cr_attribute_master WHERE mapped_entity_type = ? AND organization_id = ? AND attribute_key = ?`,
125
- [entityType, loggedInUser.organization_id, attrKey],
126
- );
127
-
128
- if (!attr) return rawValue;
129
-
130
- // -------- ENTITY data_source_type --------
131
- if (attr.data_source_type === 'entity') {
132
- const [entityDef] = await this.dataSource.query(
133
- `SELECT * FROM cr_entity_master WHERE mapped_entity_type = ? AND organization_id = ?`,
134
- [attr.datasource_list, loggedInUser.organization_id],
135
- );
136
-
137
- if (!entityDef) return rawValue;
138
-
139
- const tableName = entityDef.db_table_name;
140
-
141
- if (Array.isArray(rawValue)) {
142
- const resolvedValues: string[] = [];
143
- for (const code of rawValue) {
144
- const query =
145
- tableName === 'cr_organization'
146
- ? `SELECT * FROM ${tableName} WHERE code = ?`
147
- : `SELECT * FROM ${tableName} WHERE id = ? AND organization_id = ?`;
148
-
149
- const params =
150
- tableName === 'cr_organization'
151
- ? [code]
152
- : [code, loggedInUser.organization_id];
153
-
154
- const [item] = await this.dataSource.query(query, params);
155
- resolvedValues.push(item?.[attr.data_source_attribute] ?? code);
156
- }
157
- return resolvedValues;
158
- } else {
159
- const query =
160
- tableName === 'cr_organization'
161
- ? `SELECT * FROM ${tableName} WHERE id = ?`
162
- : `SELECT * FROM ${tableName} WHERE id = ? AND organization_id = ?`;
163
-
164
- const params =
165
- tableName === 'cr_organization'
166
- ? [rawValue]
167
- : [rawValue, loggedInUser.organization_id];
168
-
169
- const [item] = await this.dataSource.query(query, params);
170
- return item?.[attr.data_source_attribute] ?? rawValue;
171
- }
172
- }
173
-
174
- // -------- MASTER data_source_type --------
175
- else if (attr.data_source_type === 'master') {
176
- if (Array.isArray(rawValue)) {
177
- const resolvedValues: string[] = [];
178
- for (const code of rawValue) {
179
- const [item] = await this.dataSource.query(
180
- `SELECT * FROM cr_list_master_items WHERE id = ? AND organization_id = ?`,
181
- [code, loggedInUser.organization_id],
182
- );
183
- resolvedValues.push(item?.[attr.data_source_attribute] ?? code);
184
- }
185
- return resolvedValues;
186
- } else {
187
- const [item] = await this.dataSource.query(
188
- `SELECT * FROM cr_list_master_items WHERE id = ? AND organization_id = ?`,
189
- [rawValue, loggedInUser.organization_id],
190
- );
191
- return item?.[attr.data_source_attribute] ?? rawValue;
192
- }
193
- }
194
-
195
- return rawValue;
196
- }
197
-
198
- async getResolvedId(
199
- loggedInUser: UserData,
200
- attrKey: string,
201
- displayValue: any,
202
- entityType: string,
203
- ): Promise<any> {
204
- if (displayValue === null || displayValue === undefined || displayValue === '') {
205
- return displayValue;
206
- }
207
-
208
- // fetch attribute meta
209
- const [attr] = await this.dataSource.query(
210
- `SELECT * FROM cr_attribute_master
211
- WHERE mapped_entity_type = ? AND organization_id = ? AND attribute_key = ?`,
212
- [entityType, loggedInUser.organization_id, attrKey],
213
- );
214
-
215
- if (!attr) return displayValue;
216
-
217
- // -------- ENTITY data_source_type --------
218
- if (attr.data_source_type === 'entity') {
219
- const [entityDef] = await this.dataSource.query(
220
- `SELECT * FROM cr_entity_master
221
- WHERE mapped_entity_type = ? AND organization_id = ?`,
222
- [attr.datasource_list, loggedInUser.organization_id],
223
- );
224
-
225
- if (!entityDef) return displayValue;
226
-
227
- const tableName = entityDef.db_table_name;
228
-
229
- const query =
230
- tableName === 'cr_organization'
231
- ? `SELECT id FROM ${tableName} WHERE ${attr.data_source_attribute} = ?`
232
- : `SELECT id FROM ${tableName} WHERE ${attr.data_source_attribute} = ? AND organization_id = ?`;
233
-
234
- const params =
235
- tableName === 'cr_organization'
236
- ? [displayValue]
237
- : [displayValue, loggedInUser.organization_id];
238
-
239
- const [item] = await this.dataSource.query(query, params);
240
- return item?.id ?? displayValue;
241
- }
242
-
243
- // -------- MASTER data_source_type --------
244
- else if (attr.data_source_type === 'master') {
245
- const [item] = await this.dataSource.query(
246
- `SELECT id FROM cr_list_master_items
247
- WHERE ${attr.data_source_attribute} = ? AND organization_id = ?`,
248
- [displayValue, loggedInUser.organization_id],
249
- );
250
- return item?.id ?? displayValue;
251
- }
252
-
253
- return displayValue;
254
- }
255
-
256
- }
1
+ import { Injectable } from '@nestjs/common';
2
+ import { UserData } from 'src/module/user/entity/user.entity';
3
+ import { DataSource } from 'typeorm';
4
+
5
+ @Injectable()
6
+ export class ResolverService {
7
+ constructor(private readonly dataSource: DataSource,
8
+
9
+ ) {}
10
+
11
+ async getResolvedData(
12
+ loggedInUser: any,
13
+ entityData: any,
14
+ entityType: string,
15
+ ): Promise<any> {
16
+ const attributeItems = await this.dataSource.query(
17
+ `SELECT * FROM cr_attribute_master WHERE mapped_entity_type = ? AND organization_id = ?`,
18
+ [entityType, loggedInUser.organization_id],
19
+ );
20
+
21
+ const resolvedEntityData = { ...entityData };
22
+
23
+ for (const attr of attributeItems) {
24
+ const field = attr.attribute_key;
25
+ const codeValue = entityData[field];
26
+
27
+ if (!codeValue) continue;
28
+
29
+ // -------- ENTITY data_source_type --------
30
+ if (attr.data_source_type === 'entity') {
31
+ const [entityDef] = await this.dataSource.query(
32
+ `SELECT * FROM cr_entity_master WHERE mapped_entity_type = ? AND organization_id = ?`,
33
+ [attr.datasource_list, loggedInUser.organization_id],
34
+ );
35
+
36
+ if (!entityDef) {
37
+ // fallback or skip if no mapping found
38
+ resolvedEntityData[field] = codeValue;
39
+ continue;
40
+ }
41
+
42
+ const tableName = entityDef.db_table_name;
43
+
44
+ if (Array.isArray(codeValue)) {
45
+ const resolvedValues: string[] = [];
46
+
47
+ for (const code of codeValue) {
48
+ if (tableName == 'cr_organization') {
49
+ const [item] = await this.dataSource.query(
50
+ `SELECT * FROM ${tableName} WHERE code = ?`,
51
+ [code],
52
+ );
53
+ resolvedValues.push(item?.[attr.data_source_attribute] ?? code);
54
+ } else {
55
+ const [item] = await this.dataSource.query(
56
+ `SELECT * FROM ${tableName} WHERE code = ? AND organization_id = ?`,
57
+ [code, loggedInUser.organization_id],
58
+ );
59
+ resolvedValues.push(item?.[attr.data_source_attribute] ?? code);
60
+ }
61
+ }
62
+
63
+ resolvedEntityData[field] = resolvedValues;
64
+ } else {
65
+ if (tableName == 'cr_organization') {
66
+ const [item] = await this.dataSource.query(
67
+ `SELECT * FROM ${tableName} WHERE id = ?`,
68
+ [codeValue],
69
+ );
70
+ resolvedEntityData[field] =
71
+ item?.[attr.data_source_attribute] ?? codeValue;
72
+ } else {
73
+ const [item] = await this.dataSource.query(
74
+ `SELECT * FROM ${tableName} WHERE id = ? AND organization_id = ?`,
75
+ [codeValue, loggedInUser.organization_id],
76
+ );
77
+ resolvedEntityData[field] =
78
+ item?.[attr.data_source_attribute] ?? codeValue;
79
+ }
80
+ }
81
+ }
82
+
83
+ // -------- MASTER data_source_type --------
84
+ else if (attr.data_source_type === 'master') {
85
+ if (Array.isArray(codeValue)) {
86
+ const resolvedValues: string[] = [];
87
+
88
+ for (const code of codeValue) {
89
+ const [item] = await this.dataSource.query(
90
+ `SELECT * FROM cr_list_master_items WHERE id = ? AND organization_id = ?`,
91
+ [code, loggedInUser.organization_id],
92
+ );
93
+ resolvedValues.push(item?.[attr.data_source_attribute] ?? code);
94
+ }
95
+
96
+ resolvedEntityData[field] = resolvedValues;
97
+ } else {
98
+ const [item] = await this.dataSource.query(
99
+ `SELECT * FROM cr_list_master_items WHERE id = ? AND organization_id = ?`,
100
+ [codeValue, loggedInUser.organization_id],
101
+ );
102
+
103
+ resolvedEntityData[field] =
104
+ item?.[attr.data_source_attribute] ?? codeValue;
105
+ }
106
+ }
107
+ }
108
+
109
+ return resolvedEntityData;
110
+ }
111
+
112
+ async getResolvedValue(
113
+ loggedInUser: UserData,
114
+ attrKey: string,
115
+ rawValue: any,
116
+ entityType: string,
117
+ ): Promise<any> {
118
+ if (rawValue === null || rawValue === undefined || rawValue === '') {
119
+ return rawValue;
120
+ }
121
+
122
+ // fetch attribute meta only for the given attributeKey
123
+ const [attr] = await this.dataSource.query(
124
+ `SELECT * FROM cr_attribute_master WHERE mapped_entity_type = ? AND organization_id = ? AND attribute_key = ?`,
125
+ [entityType, loggedInUser.organization_id, attrKey],
126
+ );
127
+
128
+ if (!attr) return rawValue;
129
+
130
+ // -------- ENTITY data_source_type --------
131
+ if (attr.data_source_type === 'entity') {
132
+ const [entityDef] = await this.dataSource.query(
133
+ `SELECT * FROM cr_entity_master WHERE mapped_entity_type = ? AND organization_id = ?`,
134
+ [attr.datasource_list, loggedInUser.organization_id],
135
+ );
136
+
137
+ if (!entityDef) return rawValue;
138
+
139
+ const tableName = entityDef.db_table_name;
140
+
141
+ if (Array.isArray(rawValue)) {
142
+ const resolvedValues: string[] = [];
143
+ for (const code of rawValue) {
144
+ const query =
145
+ tableName === 'cr_organization'
146
+ ? `SELECT * FROM ${tableName} WHERE code = ?`
147
+ : `SELECT * FROM ${tableName} WHERE id = ? AND organization_id = ?`;
148
+
149
+ const params =
150
+ tableName === 'cr_organization'
151
+ ? [code]
152
+ : [code, loggedInUser.organization_id];
153
+
154
+ const [item] = await this.dataSource.query(query, params);
155
+ resolvedValues.push(item?.[attr.data_source_attribute] ?? code);
156
+ }
157
+ return resolvedValues;
158
+ } else {
159
+ const query =
160
+ tableName === 'cr_organization'
161
+ ? `SELECT * FROM ${tableName} WHERE id = ?`
162
+ : `SELECT * FROM ${tableName} WHERE id = ? AND organization_id = ?`;
163
+
164
+ const params =
165
+ tableName === 'cr_organization'
166
+ ? [rawValue]
167
+ : [rawValue, loggedInUser.organization_id];
168
+
169
+ const [item] = await this.dataSource.query(query, params);
170
+ return item?.[attr.data_source_attribute] ?? rawValue;
171
+ }
172
+ }
173
+
174
+ // -------- MASTER data_source_type --------
175
+ else if (attr.data_source_type === 'master') {
176
+ if (Array.isArray(rawValue)) {
177
+ const resolvedValues: string[] = [];
178
+ for (const code of rawValue) {
179
+ const [item] = await this.dataSource.query(
180
+ `SELECT * FROM cr_list_master_items WHERE id = ? AND organization_id = ?`,
181
+ [code, loggedInUser.organization_id],
182
+ );
183
+ resolvedValues.push(item?.[attr.data_source_attribute] ?? code);
184
+ }
185
+ return resolvedValues;
186
+ } else {
187
+ const [item] = await this.dataSource.query(
188
+ `SELECT * FROM cr_list_master_items WHERE id = ? AND organization_id = ?`,
189
+ [rawValue, loggedInUser.organization_id],
190
+ );
191
+ return item?.[attr.data_source_attribute] ?? rawValue;
192
+ }
193
+ }
194
+
195
+ return rawValue;
196
+ }
197
+
198
+ async getResolvedId(
199
+ loggedInUser: UserData,
200
+ attrKey: string,
201
+ displayValue: any,
202
+ entityType: string,
203
+ ): Promise<any> {
204
+ if (displayValue === null || displayValue === undefined || displayValue === '') {
205
+ return displayValue;
206
+ }
207
+
208
+ // fetch attribute meta
209
+ const [attr] = await this.dataSource.query(
210
+ `SELECT * FROM cr_attribute_master
211
+ WHERE mapped_entity_type = ? AND organization_id = ? AND attribute_key = ?`,
212
+ [entityType, loggedInUser.organization_id, attrKey],
213
+ );
214
+
215
+ if (!attr) return displayValue;
216
+
217
+ // -------- ENTITY data_source_type --------
218
+ if (attr.data_source_type === 'entity') {
219
+ const [entityDef] = await this.dataSource.query(
220
+ `SELECT * FROM cr_entity_master
221
+ WHERE mapped_entity_type = ? AND organization_id = ?`,
222
+ [attr.datasource_list, loggedInUser.organization_id],
223
+ );
224
+
225
+ if (!entityDef) return displayValue;
226
+
227
+ const tableName = entityDef.db_table_name;
228
+
229
+ const query =
230
+ tableName === 'cr_organization'
231
+ ? `SELECT id FROM ${tableName} WHERE ${attr.data_source_attribute} = ?`
232
+ : `SELECT id FROM ${tableName} WHERE ${attr.data_source_attribute} = ? AND organization_id = ?`;
233
+
234
+ const params =
235
+ tableName === 'cr_organization'
236
+ ? [displayValue]
237
+ : [displayValue, loggedInUser.organization_id];
238
+
239
+ const [item] = await this.dataSource.query(query, params);
240
+ return item?.id ?? displayValue;
241
+ }
242
+
243
+ // -------- MASTER data_source_type --------
244
+ else if (attr.data_source_type === 'master') {
245
+ const [item] = await this.dataSource.query(
246
+ `SELECT id FROM cr_list_master_items
247
+ WHERE ${attr.data_source_attribute} = ? AND organization_id = ?`,
248
+ [displayValue, loggedInUser.organization_id],
249
+ );
250
+ return item?.id ?? displayValue;
251
+ }
252
+
253
+ return displayValue;
254
+ }
255
+
256
+ }