rez_core 4.0.126 → 4.0.128

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