rez_core 4.0.97 → 4.0.98

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 (384) 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/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 +22 -22
  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 -31
  24. package/dist/module/integration/service/wrapper.service.js.map +1 -1
  25. package/dist/module/listmaster/service/list-master-item.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 +2 -2
  28. package/dist/module/meta/service/entity-dynamic.service.js +16 -16
  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 +9 -9
  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 +20 -20
  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 +15 -15
  44. package/dist/module/workflow/repository/stage.repository.js +8 -8
  45. package/dist/module/workflow/service/action-template-mapping.service.js +22 -22
  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 +28 -28
  51. package/dist/module/workflow/service/workflow-list-master.service.js +15 -15
  52. package/dist/module/workflow/service/workflow-meta.service.js +35 -35
  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 +278 -278
  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 +941 -941
  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 +2633 -2633
  136. package/src/module/integration/service/oauth.service.ts +224 -224
  137. package/src/module/integration/service/wrapper.service.ts +493 -499
  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 +73 -73
  160. package/src/module/layout_preference/entity/layout_preference.entity.ts +28 -28
  161. package/src/module/layout_preference/layout_preference.module.ts +22 -22
  162. package/src/module/layout_preference/repository/layout_preference.repository.ts +65 -65
  163. package/src/module/layout_preference/service/layout_preference.service.ts +184 -184
  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 +43 -43
  170. package/src/module/listmaster/entity/list-master.entity.ts +33 -33
  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 +441 -441
  179. package/src/module/mapper/controller/field-mapper.controller.ts +76 -76
  180. package/src/module/mapper/controller/mapper.controller.ts +20 -20
  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 +266 -266
  190. package/src/module/mapper/service/mapper.service.ts +79 -79
  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 +392 -392
  199. package/src/module/meta/controller/entity.public.controller.ts +75 -75
  200. package/src/module/meta/controller/media.controller.ts +107 -107
  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 +89 -89
  208. package/src/module/meta/entity/base-entity.entity.ts +75 -75
  209. package/src/module/meta/entity/entity-master.entity.ts +85 -85
  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 +809 -809
  231. package/src/module/meta/service/entity-list.service.ts +205 -205
  232. package/src/module/meta/service/entity-master.service.ts +169 -169
  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 +525 -525
  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 +187 -187
  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 +507 -507
  242. package/src/module/meta/service/populate-meta.service.ts +193 -193
  243. package/src/module/meta/service/preference.service.ts +16 -16
  244. package/src/module/meta/service/resolver.service.ts +267 -267
  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 +127 -127
  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 +163 -163
  269. package/src/module/notification/service/otp.service.ts +132 -132
  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 +73 -73
  281. package/src/module/user/entity/user.entity.ts +59 -59
  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 +284 -284
  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 +365 -365
  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 +111 -111
  296. package/src/module/workflow/controller/activity-log.controller.ts +55 -55
  297. package/src/module/workflow/controller/comm-template.controller.ts +43 -43
  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 +333 -333
  326. package/src/module/workflow/repository/action.repository.ts +323 -323
  327. package/src/module/workflow/repository/activity-log.repository.ts +148 -148
  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 +244 -244
  332. package/src/module/workflow/repository/stage.repository.ts +172 -172
  333. package/src/module/workflow/repository/task.repository.ts +127 -127
  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 +106 -106
  339. package/src/module/workflow/service/action.service.ts +279 -279
  340. package/src/module/workflow/service/activity-log.service.ts +107 -107
  341. package/src/module/workflow/service/comm-template.service.ts +180 -180
  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 +319 -319
  347. package/src/module/workflow/service/stage.service.ts +199 -199
  348. package/src/module/workflow/service/task.service.ts +560 -560
  349. package/src/module/workflow/service/workflow-list-master.service.ts +60 -60
  350. package/src/module/workflow/service/workflow-meta.service.ts +640 -640
  351. package/src/module/workflow/service/workflow.service.ts +205 -205
  352. package/src/module/workflow/workflow.module.ts +176 -176
  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 +347 -347
  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 +31 -31
  367. package/src/table.config.ts +126 -126
  368. package/src/utils/dto/excel-data.dto.ts +14 -14
  369. package/src/utils/dto/excelsheet-data.dto.ts +5 -5
  370. package/src/utils/service/base64util.service.ts +18 -18
  371. package/src/utils/service/clockIDGenUtil.service.ts +21 -21
  372. package/src/utils/service/codeGenerator.service.ts +22 -22
  373. package/src/utils/service/dateUtil.service.ts +17 -17
  374. package/src/utils/service/encryptUtil.service.ts +97 -97
  375. package/src/utils/service/excel-helper.service.ts +72 -72
  376. package/src/utils/service/excelUtil.service.ts +15 -15
  377. package/src/utils/service/file-util.service.ts +11 -11
  378. package/src/utils/service/json-util.service.ts +23 -23
  379. package/src/utils/service/loggingUtil.service.ts +34 -34
  380. package/src/utils/service/reflection-helper.service.ts +62 -62
  381. package/src/utils/service/wbsCodeGen.service.ts +8 -8
  382. package/src/utils/utils.module.ts +25 -25
  383. package/tsconfig.build.json +4 -4
  384. package/tsconfig.json +24 -24
@@ -1,266 +1,266 @@
1
- import { Inject, Injectable, Logger, LoggerService } from '@nestjs/common';
2
- import { FieldMapperRepository } from '../repository/field-mapper.repository';
3
- import { FieldMapperDto } from '../dto/field-mapper.dto';
4
- import { EntityServiceImpl } from '../../meta/service/entity-service-impl.service';
5
- import { UserData } from '../../user/entity/user.entity';
6
- import { FieldLovsRepository } from '../repository/field-lovs.repository';
7
- import { DataSource } from 'typeorm';
8
- import { FilterService } from 'src/module/filter/service/filter.service';
9
- import { BaseEntity } from '../../meta/entity/base-entity.entity';
10
- import { LoggingService } from 'src/utils/service/loggingUtil.service';
11
-
12
- @Injectable()
13
- export class FieldMapperService extends EntityServiceImpl {
14
- constructor(
15
- private readonly fieldMapperRepository: FieldMapperRepository,
16
- private readonly fieldLovsRepository: FieldLovsRepository,
17
- private readonly datasource: DataSource,
18
- private readonly filterService: FilterService,
19
- @Inject() protected readonly loggingService: LoggingService,
20
- ) {
21
- super();
22
- }
23
-
24
- async createEntity(dto: FieldMapperDto, loggedInUser: UserData) {
25
- let savedEntity = await super.createEntity(dto, loggedInUser);
26
-
27
- if (dto.field_lovs) {
28
- for (const lov of dto.field_lovs) {
29
- lov.mapper_field_id = savedEntity.id;
30
- lov.entity_type = 'FLOV';
31
- }
32
- await this.fieldLovsRepository.saveBulk(dto.field_lovs);
33
- }
34
- return savedEntity;
35
- }
36
-
37
- async updateEntity(dto: FieldMapperDto, loggedInUser: UserData) {
38
- return super.updateEntity(dto, loggedInUser);
39
- }
40
-
41
- async createFieldMappers(dtos: FieldMapperDto[], loggedInUser: UserData) {
42
- let mapperId = dtos[0].mapper_id;
43
-
44
- let existingMappers =
45
- await this.fieldMapperRepository.findByMapperId(mapperId);
46
-
47
- for (const mapper of existingMappers) {
48
- await this.fieldLovsRepository.deleteByMapperFieldId(mapper.id);
49
- }
50
-
51
- await this.fieldMapperRepository.deleteByMapperId(mapperId);
52
-
53
- let result: BaseEntity[] = [];
54
- for (const dto of dtos) {
55
- const fieldMapper = await this.createEntity(dto, loggedInUser);
56
- result.push(fieldMapper);
57
- }
58
- return result;
59
- }
60
-
61
- async updateFieldMappers(dtos: FieldMapperDto[], loggedInUser: UserData) {
62
- let result: BaseEntity[] = [];
63
- for (const dto of dtos) {
64
- const fieldMapper = await super.updateEntity(dto, loggedInUser);
65
- result.push(fieldMapper);
66
- }
67
- return result;
68
- }
69
-
70
- async getMapperFields(mapperId: number, mapper_entity_type: string) {
71
- let fieldMappers =
72
- await this.fieldMapperRepository.findByMapperIdAndMapperEntityType(
73
- mapperId,
74
- mapper_entity_type,
75
- );
76
- const fieldMapperDtos = fieldMappers as unknown as FieldMapperDto[];
77
- for (const fieldMapper of fieldMapperDtos) {
78
- fieldMapper.field_lovs =
79
- await this.fieldLovsRepository.findByMapperFieldId(fieldMapper.id);
80
- }
81
- return fieldMapperDtos;
82
- }
83
-
84
- async getFieldLovs(mapperFieldId: number) {
85
- return await this.fieldLovsRepository.findByMapperFieldId(mapperFieldId);
86
- }
87
-
88
- async resolveData(
89
- mapper_id: number,
90
- action: 'LOOKUP' | 'LOAD',
91
- parent_type: string,
92
- parent_id: number,
93
- userData: UserData,
94
- inputJson?: Record<string, any>,
95
- mappedEntities?: Record<string, any>,
96
- overwrite?: boolean,
97
- entity_data?: any,
98
- ) {
99
- // Fetch field mappings for this mapper
100
- const fieldMappers =
101
- await this.fieldMapperRepository.findByMapperId(mapper_id);
102
-
103
- // Initialize the final response (generic)
104
- let result: any;
105
-
106
- if (action === 'LOOKUP') result = new Map<string, any>();
107
- else if (action === 'LOAD')
108
- result = {
109
- entity_type: parent_type,
110
- mappedEntities: {},
111
- };
112
-
113
- const inMemory: Record<string, Record<string, any>> = {}; // cache per entity-type + filter
114
-
115
- for (const field of fieldMappers) {
116
- const entityType = field.mapped_entity_type || field.mapper_entity_type;
117
- const filterCode = field.filter_code || 'default';
118
-
119
- // ----------------------------------------------------------------
120
- // LOOKUP (System → External)
121
- // ----------------------------------------------------------------
122
- if (action === 'LOOKUP') {
123
- if (!inMemory[entityType]) inMemory[entityType] = {};
124
-
125
- if (!inMemory[entityType][filterCode]) {
126
- if (field.mapped_entity_type === field.mapper_entity_type) {
127
- inMemory[entityType][filterCode] =
128
- await super.getResolvedEntityDataByDataSource(
129
- entityType,
130
- parent_id,
131
- userData,
132
- );
133
- } else {
134
- if (
135
- overwrite &&
136
- entity_data &&
137
- entity_data[field.mapped_entity_type]
138
- ) {
139
- inMemory[entityType][filterCode] =
140
- entity_data[field.mapped_entity_type];
141
- } else {
142
- const relations = await this.datasource.query(
143
- `SELECT target_entity_id
144
- FROM frm_entity_relation_data
145
- WHERE source_entity_type = ?
146
- AND source_entity_id = ?
147
- AND target_entity_type = ?`,
148
- [parent_type, parent_id, field.mapped_entity_type],
149
- );
150
-
151
- const targetEntityIds = relations.map((r) => r.target_entity_id);
152
-
153
- this.loggingService.log(
154
- 'package',
155
- 'fieldMapperService',
156
- 'targetEntityIds',
157
- targetEntityIds,
158
- );
159
-
160
- if (targetEntityIds.length > 0) {
161
- if (filterCode && filterCode !== 'default') {
162
- let filterResponse =
163
- await this.filterService.applyFilterWrapper({
164
- entity_type: entityType,
165
- savedFilterCode: filterCode,
166
- quickFilter: [
167
- {
168
- filter_attribute: 'id',
169
- filter_operator: 'equal',
170
- filter_value: targetEntityIds,
171
- filter_entity_type: entityType,
172
- },
173
- ],
174
- attributeFilter: [],
175
- loggedInUser: userData,
176
- queryParams: {},
177
- });
178
-
179
- this.loggingService.log(
180
- 'package',
181
- 'fieldMapperService',
182
- 'filterResponse',
183
- `${filterResponse}`,
184
- );
185
-
186
- inMemory[entityType][filterCode] =
187
- filterResponse?.data?.entity_list[0];
188
- } else {
189
- let firstId = targetEntityIds[0];
190
-
191
- if (
192
- mappedEntities &&
193
- entityType in mappedEntities &&
194
- mappedEntities[entityType]
195
- ) {
196
- firstId = mappedEntities[entityType];
197
- }
198
-
199
- inMemory[entityType][filterCode] =
200
- await super.getResolvedEntityData(
201
- entityType,
202
- firstId,
203
- userData,
204
- );
205
- }
206
- } else {
207
- inMemory[entityType][filterCode] = null;
208
- }
209
- }
210
- }
211
- }
212
-
213
- // Extract and transform values
214
- const entityData = inMemory[entityType][filterCode];
215
- if (entityData) {
216
- let value = entityData[field.attribute_key];
217
-
218
- // Apply LOV mapping (System → External)
219
- if (field.is_lov_present) {
220
- const fieldLovMapper =
221
- await this.fieldLovsRepository.findByMapperFieldIdAndDestinationAttributeValue(
222
- field.id,
223
- value,
224
- );
225
- if (fieldLovMapper) {
226
- value = fieldLovMapper.source_attribute_value;
227
- }
228
- }
229
-
230
- // Add to result
231
- result.set(field.source_attribute, value);
232
- }
233
- }
234
-
235
- // ----------------------------------------------------------------
236
- // LOAD (External → System)
237
- // ----------------------------------------------------------------
238
- else if (action === 'LOAD' && inputJson) {
239
- let value = inputJson[field.source_attribute];
240
-
241
- if (field.is_lov_present && value !== undefined && value !== null) {
242
- const fieldLovMapper =
243
- await this.fieldLovsRepository.findByMapperFieldIdAndSourceAttributeValue(
244
- field.id,
245
- value,
246
- );
247
- if (fieldLovMapper)
248
- value = fieldLovMapper.destination_attribute_value;
249
- }
250
-
251
- // If field belongs to main entity type → put at top level
252
- if (entityType === parent_type) {
253
- result[field.attribute_key] = value;
254
- } else {
255
- if (!result.mappedEntities[entityType])
256
- result.mappedEntities[entityType] = [{}];
257
- result.mappedEntities[entityType][0][field.attribute_key] = value;
258
- }
259
- }
260
- }
261
- if (action === 'LOOKUP') {
262
- return Object.fromEntries(result);
263
- }
264
- return result;
265
- }
266
- }
1
+ import { Inject, Injectable, Logger, LoggerService } from '@nestjs/common';
2
+ import { FieldMapperRepository } from '../repository/field-mapper.repository';
3
+ import { FieldMapperDto } from '../dto/field-mapper.dto';
4
+ import { EntityServiceImpl } from '../../meta/service/entity-service-impl.service';
5
+ import { UserData } from '../../user/entity/user.entity';
6
+ import { FieldLovsRepository } from '../repository/field-lovs.repository';
7
+ import { DataSource } from 'typeorm';
8
+ import { FilterService } from 'src/module/filter/service/filter.service';
9
+ import { BaseEntity } from '../../meta/entity/base-entity.entity';
10
+ import { LoggingService } from 'src/utils/service/loggingUtil.service';
11
+
12
+ @Injectable()
13
+ export class FieldMapperService extends EntityServiceImpl {
14
+ constructor(
15
+ private readonly fieldMapperRepository: FieldMapperRepository,
16
+ private readonly fieldLovsRepository: FieldLovsRepository,
17
+ private readonly datasource: DataSource,
18
+ private readonly filterService: FilterService,
19
+ @Inject() protected readonly loggingService: LoggingService,
20
+ ) {
21
+ super();
22
+ }
23
+
24
+ async createEntity(dto: FieldMapperDto, loggedInUser: UserData) {
25
+ let savedEntity = await super.createEntity(dto, loggedInUser);
26
+
27
+ if (dto.field_lovs) {
28
+ for (const lov of dto.field_lovs) {
29
+ lov.mapper_field_id = savedEntity.id;
30
+ lov.entity_type = 'FLOV';
31
+ }
32
+ await this.fieldLovsRepository.saveBulk(dto.field_lovs);
33
+ }
34
+ return savedEntity;
35
+ }
36
+
37
+ async updateEntity(dto: FieldMapperDto, loggedInUser: UserData) {
38
+ return super.updateEntity(dto, loggedInUser);
39
+ }
40
+
41
+ async createFieldMappers(dtos: FieldMapperDto[], loggedInUser: UserData) {
42
+ let mapperId = dtos[0].mapper_id;
43
+
44
+ let existingMappers =
45
+ await this.fieldMapperRepository.findByMapperId(mapperId);
46
+
47
+ for (const mapper of existingMappers) {
48
+ await this.fieldLovsRepository.deleteByMapperFieldId(mapper.id);
49
+ }
50
+
51
+ await this.fieldMapperRepository.deleteByMapperId(mapperId);
52
+
53
+ let result: BaseEntity[] = [];
54
+ for (const dto of dtos) {
55
+ const fieldMapper = await this.createEntity(dto, loggedInUser);
56
+ result.push(fieldMapper);
57
+ }
58
+ return result;
59
+ }
60
+
61
+ async updateFieldMappers(dtos: FieldMapperDto[], loggedInUser: UserData) {
62
+ let result: BaseEntity[] = [];
63
+ for (const dto of dtos) {
64
+ const fieldMapper = await super.updateEntity(dto, loggedInUser);
65
+ result.push(fieldMapper);
66
+ }
67
+ return result;
68
+ }
69
+
70
+ async getMapperFields(mapperId: number, mapper_entity_type: string) {
71
+ let fieldMappers =
72
+ await this.fieldMapperRepository.findByMapperIdAndMapperEntityType(
73
+ mapperId,
74
+ mapper_entity_type,
75
+ );
76
+ const fieldMapperDtos = fieldMappers as unknown as FieldMapperDto[];
77
+ for (const fieldMapper of fieldMapperDtos) {
78
+ fieldMapper.field_lovs =
79
+ await this.fieldLovsRepository.findByMapperFieldId(fieldMapper.id);
80
+ }
81
+ return fieldMapperDtos;
82
+ }
83
+
84
+ async getFieldLovs(mapperFieldId: number) {
85
+ return await this.fieldLovsRepository.findByMapperFieldId(mapperFieldId);
86
+ }
87
+
88
+ async resolveData(
89
+ mapper_id: number,
90
+ action: 'LOOKUP' | 'LOAD',
91
+ parent_type: string,
92
+ parent_id: number,
93
+ userData: UserData,
94
+ inputJson?: Record<string, any>,
95
+ mappedEntities?: Record<string, any>,
96
+ overwrite?: boolean,
97
+ entity_data?: any,
98
+ ) {
99
+ // Fetch field mappings for this mapper
100
+ const fieldMappers =
101
+ await this.fieldMapperRepository.findByMapperId(mapper_id);
102
+
103
+ // Initialize the final response (generic)
104
+ let result: any;
105
+
106
+ if (action === 'LOOKUP') result = new Map<string, any>();
107
+ else if (action === 'LOAD')
108
+ result = {
109
+ entity_type: parent_type,
110
+ mappedEntities: {},
111
+ };
112
+
113
+ const inMemory: Record<string, Record<string, any>> = {}; // cache per entity-type + filter
114
+
115
+ for (const field of fieldMappers) {
116
+ const entityType = field.mapped_entity_type || field.mapper_entity_type;
117
+ const filterCode = field.filter_code || 'default';
118
+
119
+ // ----------------------------------------------------------------
120
+ // LOOKUP (System → External)
121
+ // ----------------------------------------------------------------
122
+ if (action === 'LOOKUP') {
123
+ if (!inMemory[entityType]) inMemory[entityType] = {};
124
+
125
+ if (!inMemory[entityType][filterCode]) {
126
+ if (field.mapped_entity_type === field.mapper_entity_type) {
127
+ inMemory[entityType][filterCode] =
128
+ await super.getResolvedEntityDataByDataSource(
129
+ entityType,
130
+ parent_id,
131
+ userData,
132
+ );
133
+ } else {
134
+ if (
135
+ overwrite &&
136
+ entity_data &&
137
+ entity_data[field.mapped_entity_type]
138
+ ) {
139
+ inMemory[entityType][filterCode] =
140
+ entity_data[field.mapped_entity_type];
141
+ } else {
142
+ const relations = await this.datasource.query(
143
+ `SELECT target_entity_id
144
+ FROM frm_entity_relation_data
145
+ WHERE source_entity_type = ?
146
+ AND source_entity_id = ?
147
+ AND target_entity_type = ?`,
148
+ [parent_type, parent_id, field.mapped_entity_type],
149
+ );
150
+
151
+ const targetEntityIds = relations.map((r) => r.target_entity_id);
152
+
153
+ this.loggingService.log(
154
+ 'package',
155
+ 'fieldMapperService',
156
+ 'targetEntityIds',
157
+ targetEntityIds,
158
+ );
159
+
160
+ if (targetEntityIds.length > 0) {
161
+ if (filterCode && filterCode !== 'default') {
162
+ let filterResponse =
163
+ await this.filterService.applyFilterWrapper({
164
+ entity_type: entityType,
165
+ savedFilterCode: filterCode,
166
+ quickFilter: [
167
+ {
168
+ filter_attribute: 'id',
169
+ filter_operator: 'equal',
170
+ filter_value: targetEntityIds,
171
+ filter_entity_type: entityType,
172
+ },
173
+ ],
174
+ attributeFilter: [],
175
+ loggedInUser: userData,
176
+ queryParams: {},
177
+ });
178
+
179
+ this.loggingService.log(
180
+ 'package',
181
+ 'fieldMapperService',
182
+ 'filterResponse',
183
+ `${filterResponse}`,
184
+ );
185
+
186
+ inMemory[entityType][filterCode] =
187
+ filterResponse?.data?.entity_list[0];
188
+ } else {
189
+ let firstId = targetEntityIds[0];
190
+
191
+ if (
192
+ mappedEntities &&
193
+ entityType in mappedEntities &&
194
+ mappedEntities[entityType]
195
+ ) {
196
+ firstId = mappedEntities[entityType];
197
+ }
198
+
199
+ inMemory[entityType][filterCode] =
200
+ await super.getResolvedEntityData(
201
+ entityType,
202
+ firstId,
203
+ userData,
204
+ );
205
+ }
206
+ } else {
207
+ inMemory[entityType][filterCode] = null;
208
+ }
209
+ }
210
+ }
211
+ }
212
+
213
+ // Extract and transform values
214
+ const entityData = inMemory[entityType][filterCode];
215
+ if (entityData) {
216
+ let value = entityData[field.attribute_key];
217
+
218
+ // Apply LOV mapping (System → External)
219
+ if (field.is_lov_present) {
220
+ const fieldLovMapper =
221
+ await this.fieldLovsRepository.findByMapperFieldIdAndDestinationAttributeValue(
222
+ field.id,
223
+ value,
224
+ );
225
+ if (fieldLovMapper) {
226
+ value = fieldLovMapper.source_attribute_value;
227
+ }
228
+ }
229
+
230
+ // Add to result
231
+ result.set(field.source_attribute, value);
232
+ }
233
+ }
234
+
235
+ // ----------------------------------------------------------------
236
+ // LOAD (External → System)
237
+ // ----------------------------------------------------------------
238
+ else if (action === 'LOAD' && inputJson) {
239
+ let value = inputJson[field.source_attribute];
240
+
241
+ if (field.is_lov_present && value !== undefined && value !== null) {
242
+ const fieldLovMapper =
243
+ await this.fieldLovsRepository.findByMapperFieldIdAndSourceAttributeValue(
244
+ field.id,
245
+ value,
246
+ );
247
+ if (fieldLovMapper)
248
+ value = fieldLovMapper.destination_attribute_value;
249
+ }
250
+
251
+ // If field belongs to main entity type → put at top level
252
+ if (entityType === parent_type) {
253
+ result[field.attribute_key] = value;
254
+ } else {
255
+ if (!result.mappedEntities[entityType])
256
+ result.mappedEntities[entityType] = [{}];
257
+ result.mappedEntities[entityType][0][field.attribute_key] = value;
258
+ }
259
+ }
260
+ }
261
+ if (action === 'LOOKUP') {
262
+ return Object.fromEntries(result);
263
+ }
264
+ return result;
265
+ }
266
+ }