rez_core 4.0.103 → 4.0.105

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 (401) 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 -25
  24. package/dist/module/listmaster/controller/list-master.controller.d.ts +2 -1
  25. package/dist/module/listmaster/controller/list-master.controller.js +20 -2
  26. package/dist/module/listmaster/controller/list-master.controller.js.map +1 -1
  27. package/dist/module/listmaster/service/list-master-item.service.js +2 -2
  28. package/dist/module/listmaster/service/list-master.service.d.ts +4 -1
  29. package/dist/module/listmaster/service/list-master.service.js +59 -3
  30. package/dist/module/listmaster/service/list-master.service.js.map +1 -1
  31. package/dist/module/mapper/service/field-mapper.service.js +4 -4
  32. package/dist/module/mapper/service/mapper.service.js +2 -2
  33. package/dist/module/meta/repository/attribute-master.repository.d.ts +1 -0
  34. package/dist/module/meta/repository/attribute-master.repository.js +7 -0
  35. package/dist/module/meta/repository/attribute-master.repository.js.map +1 -1
  36. package/dist/module/meta/service/attribute-master.service.d.ts +1 -0
  37. package/dist/module/meta/service/attribute-master.service.js +3 -0
  38. package/dist/module/meta/service/attribute-master.service.js.map +1 -1
  39. package/dist/module/meta/service/entity-dynamic.service.js +9 -9
  40. package/dist/module/meta/service/entity-list.service.js +3 -3
  41. package/dist/module/meta/service/entity-master.service.js +3 -3
  42. package/dist/module/meta/service/entity-relation.service.js +11 -11
  43. package/dist/module/meta/service/entity-service-impl.service.js +3 -3
  44. package/dist/module/meta/service/resolver.service.js +3 -3
  45. package/dist/module/module/repository/menu.repository.js +12 -12
  46. package/dist/module/notification/service/notification.service.js +9 -9
  47. package/dist/module/notification/service/otp.service.js +1 -1
  48. package/dist/module/notification/service/otp.service.js.map +1 -1
  49. package/dist/module/user/controller/login.controller.js +19 -19
  50. package/dist/module/user/controller/login.controller.js.map +1 -1
  51. package/dist/module/user/service/login.service.d.ts +1 -1
  52. package/dist/module/user/service/login.service.js +11 -5
  53. package/dist/module/user/service/login.service.js.map +1 -1
  54. package/dist/module/user/service/role.service.js +4 -4
  55. package/dist/module/user/service/user-session.service.js +2 -2
  56. package/dist/module/workflow/repository/action.repository.js +20 -20
  57. package/dist/module/workflow/repository/comm-template.repository.js +6 -6
  58. package/dist/module/workflow/repository/form-master.repository.js +2 -2
  59. package/dist/module/workflow/repository/stage-group.repository.js +23 -23
  60. package/dist/module/workflow/repository/stage-movement.repository.js +15 -15
  61. package/dist/module/workflow/repository/stage.repository.js +8 -8
  62. package/dist/module/workflow/service/action-template-mapping.service.js +22 -22
  63. package/dist/module/workflow/service/action.service.js +7 -7
  64. package/dist/module/workflow/service/entity-modification.service.js +6 -6
  65. package/dist/module/workflow/service/stage-group.service.js +2 -2
  66. package/dist/module/workflow/service/stage.service.js +2 -2
  67. package/dist/module/workflow/service/task.service.js +28 -28
  68. package/dist/module/workflow/service/workflow-list-master.service.js +15 -15
  69. package/dist/module/workflow/service/workflow-meta.service.js +35 -35
  70. package/dist/module/workflow/service/workflow.service.js +2 -2
  71. package/dist/tsconfig.build.tsbuildinfo +1 -1
  72. package/dist/utils/service/reflection-helper.service.js +2 -2
  73. package/docs/modules/event-driven-integration-design.md +91 -91
  74. package/docs/modules/integration.md +250 -250
  75. package/eslint.config.mjs +34 -34
  76. package/nest-cli.json +14 -14
  77. package/package.json +118 -118
  78. package/server.log +850 -0
  79. package/src/app.controller.ts +12 -12
  80. package/src/app.module.ts +49 -49
  81. package/src/app.service.ts +8 -8
  82. package/src/config/config.module.ts +18 -18
  83. package/src/config/database.config.ts +23 -23
  84. package/src/constant/global.constant.ts +67 -67
  85. package/src/core.module.ts +81 -81
  86. package/src/decorators/roles.decorator.ts +7 -7
  87. package/src/dtos/response.dto.ts +6 -6
  88. package/src/dtos/response.ts +5 -5
  89. package/src/index.ts +1 -1
  90. package/src/module/auth/auth.module.ts +49 -49
  91. package/src/module/auth/controller/auth.controller.ts +28 -28
  92. package/src/module/auth/guards/google-auth.guard.ts +9 -9
  93. package/src/module/auth/guards/jwt.guard.ts +22 -22
  94. package/src/module/auth/guards/role.guard.ts +68 -68
  95. package/src/module/auth/services/auth.service.ts +50 -50
  96. package/src/module/auth/services/jwt.service.ts +11 -11
  97. package/src/module/auth/strategies/google.strategy.ts +54 -54
  98. package/src/module/auth/strategies/jwt.strategy.ts +58 -58
  99. package/src/module/auth/strategies/local.strategy.ts +13 -13
  100. package/src/module/dashboard/controller/dashboard.controller.ts +36 -36
  101. package/src/module/dashboard/dashboard.module.ts +21 -21
  102. package/src/module/dashboard/entity/dashboard_page_data.entity.ts +27 -27
  103. package/src/module/dashboard/entity/widget_master.entity.ts +18 -18
  104. package/src/module/dashboard/repository/dashboard.repository.ts +42 -42
  105. package/src/module/dashboard/service/dashboard.service.ts +73 -73
  106. package/src/module/dev/dev.module.ts +12 -12
  107. package/src/module/dev/service/dev.service.ts +7 -7
  108. package/src/module/enterprise/controller/organization.controller.ts +36 -36
  109. package/src/module/enterprise/enterprise.module.ts +30 -30
  110. package/src/module/enterprise/entity/enterprise.entity.ts +37 -37
  111. package/src/module/enterprise/entity/organization-app-mapping.entity.ts +13 -13
  112. package/src/module/enterprise/entity/organization.entity.ts +92 -92
  113. package/src/module/enterprise/repository/enterprise.repository.ts +31 -31
  114. package/src/module/enterprise/repository/organization.repository.ts +26 -26
  115. package/src/module/enterprise/repository/school.repository.ts +278 -278
  116. package/src/module/enterprise/service/brand.service.ts +5 -5
  117. package/src/module/enterprise/service/enterprise.service.ts +16 -16
  118. package/src/module/enterprise/service/organization-app-mapping.service.ts +4 -4
  119. package/src/module/enterprise/service/organization.service.ts +145 -145
  120. package/src/module/filter/controller/filter.controller.ts +84 -84
  121. package/src/module/filter/dto/filter-request.dto.ts +38 -38
  122. package/src/module/filter/entity/saved-filter-detail.entity.ts +41 -41
  123. package/src/module/filter/entity/saved-filter-master.entity.ts +23 -23
  124. package/src/module/filter/filter.module.ts +31 -31
  125. package/src/module/filter/repository/saved-filter.repository.ts +168 -168
  126. package/src/module/filter/service/filter-evaluator.service.ts +86 -86
  127. package/src/module/filter/service/filter.service.ts +965 -965
  128. package/src/module/filter/service/saved-filter.service.ts +170 -170
  129. package/src/module/ics/controller/ics.controller.ts +21 -21
  130. package/src/module/ics/dto/ics.dto.ts +55 -55
  131. package/src/module/ics/ics.module.ts +13 -13
  132. package/src/module/ics/service/ics.service.ts +57 -57
  133. package/src/module/integration/controller/calender-event.controller.ts +31 -31
  134. package/src/module/integration/controller/integration.controller.ts +662 -662
  135. package/src/module/integration/controller/wrapper.controller.ts +37 -37
  136. package/src/module/integration/dto/create-config.dto.ts +526 -526
  137. package/src/module/integration/entity/integration-config.entity.ts +112 -112
  138. package/src/module/integration/entity/integration-entity-mapper.entity.ts +14 -14
  139. package/src/module/integration/entity/integration-source.entity.ts +17 -17
  140. package/src/module/integration/entity/user-integration.entity.ts +71 -71
  141. package/src/module/integration/examples/usage.example.ts +338 -338
  142. package/src/module/integration/factories/base.factory.ts +7 -7
  143. package/src/module/integration/factories/email.factory.ts +49 -49
  144. package/src/module/integration/factories/integration.factory.ts +121 -121
  145. package/src/module/integration/factories/sms.factory.ts +51 -51
  146. package/src/module/integration/factories/telephone.factory.ts +41 -41
  147. package/src/module/integration/factories/whatsapp.factory.ts +56 -56
  148. package/src/module/integration/integration.module.ts +110 -110
  149. package/src/module/integration/service/calendar-event.service.ts +118 -118
  150. package/src/module/integration/service/integration-entity-mapper.service.ts +17 -17
  151. package/src/module/integration/service/integration-queue.service.ts +229 -229
  152. package/src/module/integration/service/integration.service.ts +2633 -2633
  153. package/src/module/integration/service/oauth.service.ts +224 -224
  154. package/src/module/integration/service/wrapper.service.ts +493 -493
  155. package/src/module/integration/strategies/email/gmail-api.strategy.ts +280 -280
  156. package/src/module/integration/strategies/email/outlook-api.strategy.ts +44 -44
  157. package/src/module/integration/strategies/email/outlook.strategy.ts +64 -64
  158. package/src/module/integration/strategies/email/sendgrid-api.strategy.ts +260 -260
  159. package/src/module/integration/strategies/integration.strategy.ts +97 -97
  160. package/src/module/integration/strategies/sms/gupshup-sms.strategy.ts +146 -146
  161. package/src/module/integration/strategies/sms/msg91-sms.strategy.ts +164 -164
  162. package/src/module/integration/strategies/sms/tubelight-sms.strategy.ts +163 -163
  163. package/src/module/integration/strategies/telephone/ozonetel-voice.strategy.ts +238 -238
  164. package/src/module/integration/strategies/telephone/tubelight-voice.strategy.ts +210 -210
  165. package/src/module/integration/strategies/whatsapp/gupshup-whatsapp.strategy.ts +359 -359
  166. package/src/module/integration/strategies/whatsapp/tubelight-whatsapp.strategy.ts +372 -372
  167. package/src/module/integration/strategies/whatsapp/whatsapp-cloud.strategy.ts +403 -403
  168. package/src/module/integration/strategies/whatsapp/whatsapp.strategy.ts +57 -57
  169. package/src/module/layout/controller/layout.controller.ts +47 -47
  170. package/src/module/layout/entity/header-items.entity.ts +28 -28
  171. package/src/module/layout/entity/header-section.entity.ts +19 -19
  172. package/src/module/layout/layout.module.ts +21 -21
  173. package/src/module/layout/repository/header-items.repository.ts +18 -18
  174. package/src/module/layout/repository/header-section.repository.ts +22 -22
  175. package/src/module/layout/service/header-section.service.ts +25 -25
  176. package/src/module/layout_preference/controller/layout_preference.controller.ts +73 -73
  177. package/src/module/layout_preference/entity/layout_preference.entity.ts +28 -28
  178. package/src/module/layout_preference/layout_preference.module.ts +22 -22
  179. package/src/module/layout_preference/repository/layout_preference.repository.ts +65 -65
  180. package/src/module/layout_preference/service/layout_preference.service.ts +192 -192
  181. package/src/module/lead/controller/lead.controller.ts +30 -30
  182. package/src/module/lead/lead.module.ts +14 -14
  183. package/src/module/lead/repository/lead.repository.ts +41 -41
  184. package/src/module/lead/service/lead.service.ts +54 -54
  185. package/src/module/listmaster/controller/list-master.controller.ts +210 -187
  186. package/src/module/listmaster/entity/list-master-items.entity.ts +43 -43
  187. package/src/module/listmaster/entity/list-master.entity.ts +33 -33
  188. package/src/module/listmaster/listmaster.module.ts +44 -44
  189. package/src/module/listmaster/repository/list-master-items.repository.ts +169 -169
  190. package/src/module/listmaster/repository/list-master.repository.ts +46 -46
  191. package/src/module/listmaster/service/list-master-engine.ts +19 -19
  192. package/src/module/listmaster/service/list-master-extension.interface.ts +4 -4
  193. package/src/module/listmaster/service/list-master-item.service.ts +292 -292
  194. package/src/module/listmaster/service/list-master-registry.ts +15 -15
  195. package/src/module/listmaster/service/list-master.service.ts +542 -441
  196. package/src/module/mapper/controller/field-mapper.controller.ts +76 -76
  197. package/src/module/mapper/controller/mapper.controller.ts +20 -20
  198. package/src/module/mapper/dto/field-mapper.dto.ts +14 -14
  199. package/src/module/mapper/entity/field-lovs.entity.ts +19 -19
  200. package/src/module/mapper/entity/field-mapper.entity.ts +53 -53
  201. package/src/module/mapper/entity/mapper.entity.ts +16 -16
  202. package/src/module/mapper/mapper.module.ts +34 -34
  203. package/src/module/mapper/repository/field-lovs.repository.ts +35 -35
  204. package/src/module/mapper/repository/field-mapper.repository.ts +42 -42
  205. package/src/module/mapper/repository/mapper.repository.ts +15 -15
  206. package/src/module/mapper/service/field-mapper.service.ts +266 -266
  207. package/src/module/mapper/service/mapper.service.ts +79 -79
  208. package/src/module/master/controller/master.controller.ts +74 -74
  209. package/src/module/master/service/master.service.ts +483 -483
  210. package/src/module/meta/controller/app-master.controller.ts +38 -38
  211. package/src/module/meta/controller/attribute-master.controller.ts +66 -66
  212. package/src/module/meta/controller/entity-dynamic.controller.ts +125 -125
  213. package/src/module/meta/controller/entity-master.controller.ts +28 -28
  214. package/src/module/meta/controller/entity-relation.controller.ts +36 -36
  215. package/src/module/meta/controller/entity.controller.ts +392 -392
  216. package/src/module/meta/controller/entity.public.controller.ts +75 -75
  217. package/src/module/meta/controller/media.controller.ts +107 -107
  218. package/src/module/meta/controller/meta.controller.ts +96 -96
  219. package/src/module/meta/controller/view-master.controller.ts +86 -86
  220. package/src/module/meta/dto/entity-list-data.dto.ts +6 -6
  221. package/src/module/meta/dto/entity-tab.dto.ts +4 -4
  222. package/src/module/meta/dto/entity-table.dto.ts +9 -9
  223. package/src/module/meta/entity/app-master.entity.ts +34 -34
  224. package/src/module/meta/entity/attribute-master.entity.ts +89 -89
  225. package/src/module/meta/entity/base-entity.entity.ts +75 -75
  226. package/src/module/meta/entity/entity-master.entity.ts +85 -85
  227. package/src/module/meta/entity/entity-relation-data.entity.ts +29 -29
  228. package/src/module/meta/entity/entity-relation.entity.ts +23 -23
  229. package/src/module/meta/entity/entity-table-column.entity.ts +61 -61
  230. package/src/module/meta/entity/entity-table.entity.ts +50 -50
  231. package/src/module/meta/entity/media-data.entity.ts +32 -32
  232. package/src/module/meta/entity/preference.entity.ts +62 -62
  233. package/src/module/meta/entity/view-master.entity.ts +41 -41
  234. package/src/module/meta/entity.module.ts +158 -158
  235. package/src/module/meta/repository/app-master.repository.ts +20 -20
  236. package/src/module/meta/repository/attribute-master.repository.ts +118 -110
  237. package/src/module/meta/repository/entity-master.repository.ts +69 -69
  238. package/src/module/meta/repository/entity-table-column.repository.ts +39 -39
  239. package/src/module/meta/repository/entity-table.repository.ts +53 -53
  240. package/src/module/meta/repository/media-data.repository.ts +50 -50
  241. package/src/module/meta/repository/preference.repository.ts +20 -20
  242. package/src/module/meta/repository/user-app-mapping.repository.ts +28 -28
  243. package/src/module/meta/repository/view-master.repository.ts +42 -42
  244. package/src/module/meta/service/app-master.service.ts +37 -37
  245. package/src/module/meta/service/attribute-master.service.ts +126 -117
  246. package/src/module/meta/service/common.service.ts +9 -9
  247. package/src/module/meta/service/entity-dynamic.service.ts +819 -819
  248. package/src/module/meta/service/entity-list.service.ts +205 -205
  249. package/src/module/meta/service/entity-master.service.ts +169 -169
  250. package/src/module/meta/service/entity-realation-data.service.ts +9 -9
  251. package/src/module/meta/service/entity-relation.service.ts +69 -69
  252. package/src/module/meta/service/entity-service-impl.service.ts +525 -525
  253. package/src/module/meta/service/entity-table-column.service.ts +39 -39
  254. package/src/module/meta/service/entity-table.service.ts +150 -150
  255. package/src/module/meta/service/entity-validation.service.ts +187 -187
  256. package/src/module/meta/service/entity.service.ts +67 -67
  257. package/src/module/meta/service/field-group.service.ts +103 -103
  258. package/src/module/meta/service/media-data.service.ts +507 -507
  259. package/src/module/meta/service/populate-meta.service.ts +193 -193
  260. package/src/module/meta/service/preference.service.ts +16 -16
  261. package/src/module/meta/service/resolver.service.ts +267 -267
  262. package/src/module/meta/service/section-master.service.ts +104 -104
  263. package/src/module/meta/service/update-form-json.service.ts +22 -22
  264. package/src/module/meta/service/user-app-mapping.service.ts +17 -17
  265. package/src/module/meta/service/view-master.service.ts +127 -127
  266. package/src/module/module/controller/menu.controller.ts +15 -15
  267. package/src/module/module/controller/module-access.controller.ts +134 -134
  268. package/src/module/module/entity/menu.entity.ts +43 -43
  269. package/src/module/module/entity/module-access.entity.ts +25 -25
  270. package/src/module/module/entity/module-action.entity.ts +17 -17
  271. package/src/module/module/entity/module.entity.ts +52 -52
  272. package/src/module/module/module.module.ts +42 -42
  273. package/src/module/module/repository/menu.repository.ts +184 -184
  274. package/src/module/module/repository/module-access.repository.ts +344 -344
  275. package/src/module/module/service/menu.service.ts +82 -82
  276. package/src/module/module/service/module-access.service.ts +209 -209
  277. package/src/module/notification/controller/notification.controller.ts +58 -58
  278. package/src/module/notification/controller/otp.controller.ts +117 -117
  279. package/src/module/notification/entity/notification.entity.ts +26 -26
  280. package/src/module/notification/entity/otp.entity.ts +28 -28
  281. package/src/module/notification/firebase-admin.config.ts +22 -22
  282. package/src/module/notification/notification.module.ts +69 -69
  283. package/src/module/notification/repository/otp.repository.ts +27 -27
  284. package/src/module/notification/service/email.service.ts +127 -127
  285. package/src/module/notification/service/notification.service.ts +163 -163
  286. package/src/module/notification/service/otp.service.ts +132 -132
  287. package/src/module/third-party-module/entity/third-party-api-registry.entity.ts +52 -52
  288. package/src/module/third-party-module/repository/third-party-api-registry.repository.ts +20 -20
  289. package/src/module/third-party-module/service/api-registry.service.ts +13 -13
  290. package/src/module/third-party-module/third-party.module.ts +12 -12
  291. package/src/module/user/controller/login.controller.ts +197 -197
  292. package/src/module/user/controller/user.controller.ts +40 -40
  293. package/src/module/user/dto/create-user.dto.ts +62 -62
  294. package/src/module/user/dto/update-user.dto.ts +4 -4
  295. package/src/module/user/entity/role.entity.ts +33 -33
  296. package/src/module/user/entity/user-role-mapping.entity.ts +38 -38
  297. package/src/module/user/entity/user-session.entity.ts +73 -73
  298. package/src/module/user/entity/user.entity.ts +59 -59
  299. package/src/module/user/repository/role.repository.ts +96 -96
  300. package/src/module/user/repository/user-role-mapping.repository.ts +126 -126
  301. package/src/module/user/repository/user.repository.ts +50 -50
  302. package/src/module/user/repository/userSession.repository.ts +33 -33
  303. package/src/module/user/service/login.service.ts +290 -284
  304. package/src/module/user/service/role.service.ts +189 -189
  305. package/src/module/user/service/user-role-mapping.service.ts +98 -98
  306. package/src/module/user/service/user-session.service.ts +168 -168
  307. package/src/module/user/service/user.service.ts +365 -365
  308. package/src/module/user/user.module.ts +65 -65
  309. package/src/module/workflow/controller/action-category.controller.ts +54 -54
  310. package/src/module/workflow/controller/action-resource-mapping.controller.ts +23 -23
  311. package/src/module/workflow/controller/action-template-mapping.controller.ts +35 -35
  312. package/src/module/workflow/controller/action.controller.ts +111 -111
  313. package/src/module/workflow/controller/activity-log.controller.ts +55 -55
  314. package/src/module/workflow/controller/comm-template.controller.ts +43 -43
  315. package/src/module/workflow/controller/entity-modification.controller.ts +35 -35
  316. package/src/module/workflow/controller/form-master.controller.ts +43 -43
  317. package/src/module/workflow/controller/stage-group.controller.ts +48 -48
  318. package/src/module/workflow/controller/stage.controller.ts +50 -50
  319. package/src/module/workflow/controller/task.controller.ts +77 -77
  320. package/src/module/workflow/controller/workflow-list-master.controller.ts +44 -44
  321. package/src/module/workflow/controller/workflow-meta.controller.ts +80 -80
  322. package/src/module/workflow/controller/workflow.controller.ts +67 -67
  323. package/src/module/workflow/entity/action-category.entity.ts +38 -38
  324. package/src/module/workflow/entity/action-data.entity.ts +55 -55
  325. package/src/module/workflow/entity/action-resources-mapping.entity.ts +29 -29
  326. package/src/module/workflow/entity/action-template-mapping.entity.ts +17 -17
  327. package/src/module/workflow/entity/action.entity.ts +50 -50
  328. package/src/module/workflow/entity/activity-log.entity.ts +43 -43
  329. package/src/module/workflow/entity/comm-template.entity.ts +43 -43
  330. package/src/module/workflow/entity/entity-modification.entity.ts +38 -38
  331. package/src/module/workflow/entity/form.entity.ts +25 -25
  332. package/src/module/workflow/entity/stage-action-mapping.entity.ts +17 -17
  333. package/src/module/workflow/entity/stage-group.entity.ts +23 -23
  334. package/src/module/workflow/entity/stage-movement-data.entity.ts +38 -38
  335. package/src/module/workflow/entity/stage.entity.ts +20 -20
  336. package/src/module/workflow/entity/task-data.entity.ts +88 -88
  337. package/src/module/workflow/entity/template-attach-mapper.entity.ts +30 -30
  338. package/src/module/workflow/entity/workflow-data.entity.ts +11 -11
  339. package/src/module/workflow/entity/workflow-level-mapping.entity.ts +18 -18
  340. package/src/module/workflow/entity/workflow.entity.ts +20 -20
  341. package/src/module/workflow/repository/action-category.repository.ts +79 -79
  342. package/src/module/workflow/repository/action-data.repository.ts +333 -333
  343. package/src/module/workflow/repository/action.repository.ts +323 -323
  344. package/src/module/workflow/repository/activity-log.repository.ts +148 -148
  345. package/src/module/workflow/repository/comm-template.repository.ts +149 -149
  346. package/src/module/workflow/repository/form-master.repository.ts +59 -59
  347. package/src/module/workflow/repository/stage-group.repository.ts +176 -176
  348. package/src/module/workflow/repository/stage-movement.repository.ts +244 -244
  349. package/src/module/workflow/repository/stage.repository.ts +172 -172
  350. package/src/module/workflow/repository/task.repository.ts +127 -127
  351. package/src/module/workflow/repository/workflow.repository.ts +42 -42
  352. package/src/module/workflow/service/action-category.service.ts +33 -33
  353. package/src/module/workflow/service/action-data.service.ts +62 -62
  354. package/src/module/workflow/service/action-resources-mapping.service.ts +10 -10
  355. package/src/module/workflow/service/action-template-mapping.service.ts +106 -106
  356. package/src/module/workflow/service/action.service.ts +279 -279
  357. package/src/module/workflow/service/activity-log.service.ts +107 -107
  358. package/src/module/workflow/service/comm-template.service.ts +180 -180
  359. package/src/module/workflow/service/entity-modification.service.ts +67 -67
  360. package/src/module/workflow/service/form-master.service.ts +35 -35
  361. package/src/module/workflow/service/populate-workflow.service.ts +303 -303
  362. package/src/module/workflow/service/stage-action-mapping.service.ts +5 -5
  363. package/src/module/workflow/service/stage-group.service.ts +319 -319
  364. package/src/module/workflow/service/stage.service.ts +199 -199
  365. package/src/module/workflow/service/task.service.ts +560 -560
  366. package/src/module/workflow/service/workflow-list-master.service.ts +60 -60
  367. package/src/module/workflow/service/workflow-meta.service.ts +640 -640
  368. package/src/module/workflow/service/workflow.service.ts +205 -205
  369. package/src/module/workflow/workflow.module.ts +176 -176
  370. package/src/module/workflow-automation/controller/workflow-automation.controller.ts +21 -21
  371. package/src/module/workflow-automation/entity/workflow-automation-action.entity.ts +26 -26
  372. package/src/module/workflow-automation/entity/workflow-automation.entity.ts +35 -35
  373. package/src/module/workflow-automation/interface/action.decorator.ts +7 -7
  374. package/src/module/workflow-automation/interface/action.interface.ts +5 -5
  375. package/src/module/workflow-automation/service/action-registery.service.ts +35 -35
  376. package/src/module/workflow-automation/service/workflow-automation-engine.service.ts +214 -214
  377. package/src/module/workflow-automation/service/workflow-automation.service.ts +347 -347
  378. package/src/module/workflow-automation/workflow-automation.module.ts +34 -34
  379. package/src/resources/dev.properties.yaml +30 -30
  380. package/src/resources/local.properties.yaml +27 -27
  381. package/src/resources/properties.module.ts +12 -12
  382. package/src/resources/properties.yaml.ts +11 -11
  383. package/src/resources/uat.properties.yaml +31 -31
  384. package/src/table.config.ts +126 -126
  385. package/src/utils/dto/excel-data.dto.ts +14 -14
  386. package/src/utils/dto/excelsheet-data.dto.ts +5 -5
  387. package/src/utils/service/base64util.service.ts +18 -18
  388. package/src/utils/service/clockIDGenUtil.service.ts +21 -21
  389. package/src/utils/service/codeGenerator.service.ts +22 -22
  390. package/src/utils/service/dateUtil.service.ts +17 -17
  391. package/src/utils/service/encryptUtil.service.ts +97 -97
  392. package/src/utils/service/excel-helper.service.ts +72 -72
  393. package/src/utils/service/excelUtil.service.ts +15 -15
  394. package/src/utils/service/file-util.service.ts +11 -11
  395. package/src/utils/service/json-util.service.ts +23 -23
  396. package/src/utils/service/loggingUtil.service.ts +34 -34
  397. package/src/utils/service/reflection-helper.service.ts +62 -62
  398. package/src/utils/service/wbsCodeGen.service.ts +8 -8
  399. package/src/utils/utils.module.ts +25 -25
  400. package/tsconfig.build.json +4 -4
  401. package/tsconfig.json +24 -24
@@ -1,172 +1,172 @@
1
- import {
2
- BadRequestException,
3
- Inject,
4
- Injectable,
5
- NotFoundException,
6
- } from '@nestjs/common';
7
- import { StageGroup } from '../entity/stage-group.entity';
8
- import { InjectRepository } from '@nestjs/typeorm';
9
- import { DataSource, Repository } from 'typeorm';
10
- import { Stage } from '../entity/stage.entity';
11
-
12
- @Injectable()
13
- export class StageRepository {
14
- constructor(
15
- @InjectRepository(Stage)
16
- private readonly stageRepository: Repository<Stage>,
17
- private readonly dataSource: DataSource,
18
- ) {}
19
-
20
- async getAllStage(stage_group_id: number, organization_id: number) {
21
- if (!stage_group_id) {
22
- throw new BadRequestException('stage_group_id is required');
23
- }
24
-
25
- // 1. Get stage group name
26
- const stageGroup = (await this.dataSource.manager.findOne(
27
- 'frm_wf_stage_group',
28
- {
29
- where: { id: stage_group_id },
30
- },
31
- )) as StageGroup;
32
-
33
- if (!stageGroup) {
34
- throw new NotFoundException('Stage group not found');
35
- }
36
-
37
- const stageGroupName = stageGroup.name;
38
-
39
- // 2. Get all stages under that group
40
- const result = await this.stageRepository.find({
41
- where: {
42
- stage_group_id,
43
- organization_id,
44
- },
45
- order: {
46
- sequence: 'ASC',
47
- },
48
- });
49
-
50
- if (!result || result.length === 0) {
51
- return [];
52
- }
53
-
54
- // 3. Modify stage names
55
- const updatedStages = result.map((stage) => ({
56
- ...stage,
57
- name: stage.name,
58
- full_name: `${stageGroupName} - ${stage.name}`,
59
- }));
60
-
61
- return updatedStages;
62
- }
63
-
64
- async getStageGroupsWithStagesByWorkflowId(
65
- stage_group_id: number,
66
- organization_id: number,
67
- ): Promise<any[]> {
68
- if (!stage_group_id) {
69
- throw new BadRequestException('stage_group_id is required');
70
- }
71
-
72
- // 1. Find the stage group to get workflow_id
73
- const stageGroup = (await this.dataSource.manager.findOne(
74
- 'frm_wf_stage_group',
75
- {
76
- where: { id: stage_group_id, organization_id },
77
- },
78
- )) as StageGroup;
79
-
80
- if (!stageGroup) {
81
- return [];
82
- }
83
-
84
- // 2. Fetch all groups + stages in one query
85
- const rows = await this.dataSource.query(
86
- `
87
- SELECT
88
- g.id as stage_group_id, g.name as stage_group_name, g.workflow_id,
89
- s.*
90
- FROM frm_wf_stage_group g
91
- INNER JOIN frm_wf_stage s ON s.stage_group_id = g.id
92
- WHERE g.workflow_id = ? AND g.organization_id = ? AND g.id = ?
93
- ORDER BY g.id, s.id
94
- `,
95
- [stageGroup.workflow_id, organization_id, stage_group_id],
96
- );
97
- // const rows2 = await this.dataSource.query(
98
- // `
99
- // SELECT
100
- // g.id as stage_group_id, g.name as stage_group_name, g.workflow_id,
101
- // s.*
102
- // FROM frm_wf_stage_group g
103
- // INNER JOIN frm_wf_stage s ON s.stage_group_id = g.id
104
- // WHERE g.workflow_id = ? AND g.organization_id = ?
105
- // ORDER BY g.id, s.id
106
- // `,
107
- // [stageGroup.workflow_id, organization_id],
108
- // );
109
-
110
- // console.log(rows2, '-----------INNER JOIN----------');
111
-
112
- if (!rows || rows.length === 0) {
113
- return [];
114
- }
115
-
116
- return rows;
117
- }
118
-
119
- async getAllStageGroupAndStageByStageMovement(
120
- stage_group_id: number,
121
- organization_id: number,
122
- ) {
123
- // 1. Find the current stage group
124
- const currentStageGroup = await this.dataSource.manager.findOne<any>(
125
- 'frm_wf_stage_group',
126
- { where: { id: stage_group_id, organization_id } },
127
- );
128
-
129
- if (!currentStageGroup) {
130
- return [];
131
- }
132
-
133
- // 2. Get all stage groups in the same workflow with sequence <= current
134
- const stageGroups = await this.dataSource.manager.find<any>(
135
- 'frm_wf_stage_group',
136
- {
137
- where: {
138
- workflow_id: currentStageGroup.workflow_id,
139
- organization_id,
140
- },
141
- order: { sequence: 'ASC' },
142
- },
143
- );
144
-
145
- // Filter only groups with sequence <= current
146
- const eligibleGroups = stageGroups.filter(
147
- (g) => g.sequence <= currentStageGroup.sequence,
148
- );
149
-
150
- const flatResults: any[] = [];
151
-
152
- // 3. For each eligible group, fetch its stages
153
- for (const group of eligibleGroups) {
154
- const stages = await this.stageRepository.find({
155
- where: { stage_group_id: group.id, organization_id },
156
- order: { sequence: 'ASC' },
157
- });
158
-
159
- if (!stages || stages.length === 0) continue;
160
-
161
- // 4. Flatten into result with full_name
162
- for (const stage of stages) {
163
- flatResults.push({
164
- ...stage,
165
- full_name: `${group.name} - ${stage.name}`,
166
- });
167
- }
168
- }
169
-
170
- return flatResults;
171
- }
172
- }
1
+ import {
2
+ BadRequestException,
3
+ Inject,
4
+ Injectable,
5
+ NotFoundException,
6
+ } from '@nestjs/common';
7
+ import { StageGroup } from '../entity/stage-group.entity';
8
+ import { InjectRepository } from '@nestjs/typeorm';
9
+ import { DataSource, Repository } from 'typeorm';
10
+ import { Stage } from '../entity/stage.entity';
11
+
12
+ @Injectable()
13
+ export class StageRepository {
14
+ constructor(
15
+ @InjectRepository(Stage)
16
+ private readonly stageRepository: Repository<Stage>,
17
+ private readonly dataSource: DataSource,
18
+ ) {}
19
+
20
+ async getAllStage(stage_group_id: number, organization_id: number) {
21
+ if (!stage_group_id) {
22
+ throw new BadRequestException('stage_group_id is required');
23
+ }
24
+
25
+ // 1. Get stage group name
26
+ const stageGroup = (await this.dataSource.manager.findOne(
27
+ 'frm_wf_stage_group',
28
+ {
29
+ where: { id: stage_group_id },
30
+ },
31
+ )) as StageGroup;
32
+
33
+ if (!stageGroup) {
34
+ throw new NotFoundException('Stage group not found');
35
+ }
36
+
37
+ const stageGroupName = stageGroup.name;
38
+
39
+ // 2. Get all stages under that group
40
+ const result = await this.stageRepository.find({
41
+ where: {
42
+ stage_group_id,
43
+ organization_id,
44
+ },
45
+ order: {
46
+ sequence: 'ASC',
47
+ },
48
+ });
49
+
50
+ if (!result || result.length === 0) {
51
+ return [];
52
+ }
53
+
54
+ // 3. Modify stage names
55
+ const updatedStages = result.map((stage) => ({
56
+ ...stage,
57
+ name: stage.name,
58
+ full_name: `${stageGroupName} - ${stage.name}`,
59
+ }));
60
+
61
+ return updatedStages;
62
+ }
63
+
64
+ async getStageGroupsWithStagesByWorkflowId(
65
+ stage_group_id: number,
66
+ organization_id: number,
67
+ ): Promise<any[]> {
68
+ if (!stage_group_id) {
69
+ throw new BadRequestException('stage_group_id is required');
70
+ }
71
+
72
+ // 1. Find the stage group to get workflow_id
73
+ const stageGroup = (await this.dataSource.manager.findOne(
74
+ 'frm_wf_stage_group',
75
+ {
76
+ where: { id: stage_group_id, organization_id },
77
+ },
78
+ )) as StageGroup;
79
+
80
+ if (!stageGroup) {
81
+ return [];
82
+ }
83
+
84
+ // 2. Fetch all groups + stages in one query
85
+ const rows = await this.dataSource.query(
86
+ `
87
+ SELECT
88
+ g.id as stage_group_id, g.name as stage_group_name, g.workflow_id,
89
+ s.*
90
+ FROM frm_wf_stage_group g
91
+ INNER JOIN frm_wf_stage s ON s.stage_group_id = g.id
92
+ WHERE g.workflow_id = ? AND g.organization_id = ? AND g.id = ?
93
+ ORDER BY g.id, s.id
94
+ `,
95
+ [stageGroup.workflow_id, organization_id, stage_group_id],
96
+ );
97
+ // const rows2 = await this.dataSource.query(
98
+ // `
99
+ // SELECT
100
+ // g.id as stage_group_id, g.name as stage_group_name, g.workflow_id,
101
+ // s.*
102
+ // FROM frm_wf_stage_group g
103
+ // INNER JOIN frm_wf_stage s ON s.stage_group_id = g.id
104
+ // WHERE g.workflow_id = ? AND g.organization_id = ?
105
+ // ORDER BY g.id, s.id
106
+ // `,
107
+ // [stageGroup.workflow_id, organization_id],
108
+ // );
109
+
110
+ // console.log(rows2, '-----------INNER JOIN----------');
111
+
112
+ if (!rows || rows.length === 0) {
113
+ return [];
114
+ }
115
+
116
+ return rows;
117
+ }
118
+
119
+ async getAllStageGroupAndStageByStageMovement(
120
+ stage_group_id: number,
121
+ organization_id: number,
122
+ ) {
123
+ // 1. Find the current stage group
124
+ const currentStageGroup = await this.dataSource.manager.findOne<any>(
125
+ 'frm_wf_stage_group',
126
+ { where: { id: stage_group_id, organization_id } },
127
+ );
128
+
129
+ if (!currentStageGroup) {
130
+ return [];
131
+ }
132
+
133
+ // 2. Get all stage groups in the same workflow with sequence <= current
134
+ const stageGroups = await this.dataSource.manager.find<any>(
135
+ 'frm_wf_stage_group',
136
+ {
137
+ where: {
138
+ workflow_id: currentStageGroup.workflow_id,
139
+ organization_id,
140
+ },
141
+ order: { sequence: 'ASC' },
142
+ },
143
+ );
144
+
145
+ // Filter only groups with sequence <= current
146
+ const eligibleGroups = stageGroups.filter(
147
+ (g) => g.sequence <= currentStageGroup.sequence,
148
+ );
149
+
150
+ const flatResults: any[] = [];
151
+
152
+ // 3. For each eligible group, fetch its stages
153
+ for (const group of eligibleGroups) {
154
+ const stages = await this.stageRepository.find({
155
+ where: { stage_group_id: group.id, organization_id },
156
+ order: { sequence: 'ASC' },
157
+ });
158
+
159
+ if (!stages || stages.length === 0) continue;
160
+
161
+ // 4. Flatten into result with full_name
162
+ for (const stage of stages) {
163
+ flatResults.push({
164
+ ...stage,
165
+ full_name: `${group.name} - ${stage.name}`,
166
+ });
167
+ }
168
+ }
169
+
170
+ return flatResults;
171
+ }
172
+ }
@@ -1,127 +1,127 @@
1
- import { BadRequestException, Injectable } from '@nestjs/common';
2
- import { InjectRepository } from '@nestjs/typeorm';
3
- import { TaskDataEntity } from '../entity/task-data.entity';
4
- import { DataSource, Repository } from 'typeorm';
5
-
6
- @Injectable()
7
- export class TaskRepository {
8
- constructor(
9
- @InjectRepository(TaskDataEntity)
10
- private readonly TaskRepository: Repository<TaskDataEntity>,
11
- private readonly dataSource: DataSource,
12
- ) {}
13
-
14
- async getAllTaskByUserIdAndStageId(condition) {
15
- const result = await this.TaskRepository.find({
16
- where: {
17
- ...condition,
18
- },
19
- });
20
-
21
- return result;
22
- }
23
-
24
- async saveActionDataInTask(
25
- action: any,
26
- loggedInUser,
27
- mapped_entity_id: number,
28
- mapped_entity_type: string,
29
- ): Promise<any> {
30
- if (!action?.length) return;
31
-
32
- const todoListMasterItemId = await this.dataSource.query(
33
- `SELECT id FROM frm_list_master_items WHERE code = 'in_progress' and organization_id = ? and listtype = 'TKST' LIMIT 1;`,
34
- [loggedInUser.organization_id],
35
- );
36
-
37
- const leadData = await this.dataSource.query(
38
- `SELECT * FROM crm_lead WHERE id = ?`,
39
- [mapped_entity_id],
40
- );
41
-
42
- // Find the action with the lowest sequence
43
-
44
- if (action.length > 0) {
45
- for (const act of action) {
46
- // search that is_mandatory is true or not in list_master_items for the given organization
47
-
48
- const is_mandatory = await this.dataSource.query(
49
- `SELECT code FROM frm_list_master_items WHERE id = ? and organization_id = ? LIMIT 1;`,
50
- [act.action_requirement, loggedInUser.organization_id],
51
- );
52
-
53
- const now = new Date();
54
- const dueDateTime = new Date(now);
55
- dueDateTime.setDate(dueDateTime.getDate() + 2);
56
-
57
- // Force conversion to IST
58
- const istFormatterDate = new Intl.DateTimeFormat('en-CA', {
59
- timeZone: 'Asia/Kolkata'
60
- });
61
- const istFormatterTime = new Intl.DateTimeFormat('en-US', {
62
- timeZone: 'Asia/Kolkata',
63
- hour: '2-digit',
64
- minute: '2-digit',
65
- hour12: true
66
- });
67
-
68
- const due_date = istFormatterDate.format(dueDateTime); // YYYY-MM-DD in IST
69
- const due_time = istFormatterTime.format(dueDateTime); // e.g. "03:14 AM"
70
-
71
- console.log({ due_date, due_time });
72
-
73
-
74
- const taskData = this.TaskRepository.create({
75
- stage_id: act.stage_id,
76
- user_id: loggedInUser.id,
77
- action_id: act.id,
78
- organization_id: loggedInUser.organization_id,
79
- level_type: loggedInUser.level_type,
80
- level_id: loggedInUser.level_id,
81
- name: act.name,
82
- sequence: act.sequence,
83
- is_mandatory: is_mandatory[0]?.code === 'mandatory' ? true : false,
84
- mapped_entity_id,
85
- mapped_entity_type,
86
- due_date,
87
- due_time,
88
- is_system: true,
89
- status: todoListMasterItemId[0]?.id,
90
- category: act?.action_category_code,
91
- task_owner: leadData[0]?.lead_owner,
92
- });
93
- await this.TaskRepository.save(taskData);
94
- }
95
- }
96
- }
97
-
98
- // update task status
99
- async updateTaskStatus(
100
- loggedInUser,
101
- mapped_entity_type,
102
- mapped_entity_id,
103
- stage_id,
104
- action_id,
105
- ): Promise<any> {
106
- const task = await this.TaskRepository.findOneBy({
107
- action_id,
108
- mapped_entity_type,
109
- mapped_entity_id,
110
- stage_id,
111
- });
112
-
113
- if (!task) return;
114
-
115
- const completedListMasterItemId = await this.dataSource.query(
116
- `SELECT id FROM frm_list_master_items WHERE code = 'completed' and organization_id = ? and listtype = 'TKST' LIMIT 1;`,
117
- [loggedInUser.organization_id],
118
- );
119
-
120
- task.modified_by = loggedInUser.id;
121
- task.modified_date = new Date();
122
- task.is_done = true;
123
- task.status = completedListMasterItemId[0]?.id;
124
-
125
- await this.TaskRepository.update(task.id, task);
126
- }
127
- }
1
+ import { BadRequestException, Injectable } from '@nestjs/common';
2
+ import { InjectRepository } from '@nestjs/typeorm';
3
+ import { TaskDataEntity } from '../entity/task-data.entity';
4
+ import { DataSource, Repository } from 'typeorm';
5
+
6
+ @Injectable()
7
+ export class TaskRepository {
8
+ constructor(
9
+ @InjectRepository(TaskDataEntity)
10
+ private readonly TaskRepository: Repository<TaskDataEntity>,
11
+ private readonly dataSource: DataSource,
12
+ ) {}
13
+
14
+ async getAllTaskByUserIdAndStageId(condition) {
15
+ const result = await this.TaskRepository.find({
16
+ where: {
17
+ ...condition,
18
+ },
19
+ });
20
+
21
+ return result;
22
+ }
23
+
24
+ async saveActionDataInTask(
25
+ action: any,
26
+ loggedInUser,
27
+ mapped_entity_id: number,
28
+ mapped_entity_type: string,
29
+ ): Promise<any> {
30
+ if (!action?.length) return;
31
+
32
+ const todoListMasterItemId = await this.dataSource.query(
33
+ `SELECT id FROM frm_list_master_items WHERE code = 'in_progress' and organization_id = ? and listtype = 'TKST' LIMIT 1;`,
34
+ [loggedInUser.organization_id],
35
+ );
36
+
37
+ const leadData = await this.dataSource.query(
38
+ `SELECT * FROM crm_lead WHERE id = ?`,
39
+ [mapped_entity_id],
40
+ );
41
+
42
+ // Find the action with the lowest sequence
43
+
44
+ if (action.length > 0) {
45
+ for (const act of action) {
46
+ // search that is_mandatory is true or not in list_master_items for the given organization
47
+
48
+ const is_mandatory = await this.dataSource.query(
49
+ `SELECT code FROM frm_list_master_items WHERE id = ? and organization_id = ? LIMIT 1;`,
50
+ [act.action_requirement, loggedInUser.organization_id],
51
+ );
52
+
53
+ const now = new Date();
54
+ const dueDateTime = new Date(now);
55
+ dueDateTime.setDate(dueDateTime.getDate() + 2);
56
+
57
+ // Force conversion to IST
58
+ const istFormatterDate = new Intl.DateTimeFormat('en-CA', {
59
+ timeZone: 'Asia/Kolkata'
60
+ });
61
+ const istFormatterTime = new Intl.DateTimeFormat('en-US', {
62
+ timeZone: 'Asia/Kolkata',
63
+ hour: '2-digit',
64
+ minute: '2-digit',
65
+ hour12: true
66
+ });
67
+
68
+ const due_date = istFormatterDate.format(dueDateTime); // YYYY-MM-DD in IST
69
+ const due_time = istFormatterTime.format(dueDateTime); // e.g. "03:14 AM"
70
+
71
+ console.log({ due_date, due_time });
72
+
73
+
74
+ const taskData = this.TaskRepository.create({
75
+ stage_id: act.stage_id,
76
+ user_id: loggedInUser.id,
77
+ action_id: act.id,
78
+ organization_id: loggedInUser.organization_id,
79
+ level_type: loggedInUser.level_type,
80
+ level_id: loggedInUser.level_id,
81
+ name: act.name,
82
+ sequence: act.sequence,
83
+ is_mandatory: is_mandatory[0]?.code === 'mandatory' ? true : false,
84
+ mapped_entity_id,
85
+ mapped_entity_type,
86
+ due_date,
87
+ due_time,
88
+ is_system: true,
89
+ status: todoListMasterItemId[0]?.id,
90
+ category: act?.action_category_code,
91
+ task_owner: leadData[0]?.lead_owner,
92
+ });
93
+ await this.TaskRepository.save(taskData);
94
+ }
95
+ }
96
+ }
97
+
98
+ // update task status
99
+ async updateTaskStatus(
100
+ loggedInUser,
101
+ mapped_entity_type,
102
+ mapped_entity_id,
103
+ stage_id,
104
+ action_id,
105
+ ): Promise<any> {
106
+ const task = await this.TaskRepository.findOneBy({
107
+ action_id,
108
+ mapped_entity_type,
109
+ mapped_entity_id,
110
+ stage_id,
111
+ });
112
+
113
+ if (!task) return;
114
+
115
+ const completedListMasterItemId = await this.dataSource.query(
116
+ `SELECT id FROM frm_list_master_items WHERE code = 'completed' and organization_id = ? and listtype = 'TKST' LIMIT 1;`,
117
+ [loggedInUser.organization_id],
118
+ );
119
+
120
+ task.modified_by = loggedInUser.id;
121
+ task.modified_date = new Date();
122
+ task.is_done = true;
123
+ task.status = completedListMasterItemId[0]?.id;
124
+
125
+ await this.TaskRepository.update(task.id, task);
126
+ }
127
+ }
@@ -1,42 +1,42 @@
1
- import { Injectable, NotFoundException } from '@nestjs/common';
2
- import { InjectRepository } from '@nestjs/typeorm';
3
- import { Workflow } from '../entity/workflow.entity';
4
- import { Repository } from 'typeorm';
5
-
6
- @Injectable()
7
- export class WorkflowRepository {
8
- constructor(
9
- @InjectRepository(Workflow)
10
- private readonly workflowRepository: Repository<Workflow>,
11
- ) {}
12
-
13
- // async getWorkflowById(id: number) {
14
- // return this.workflowRepository.findOne(id);
15
- // }
16
-
17
- async getAllWorkflowsByFilters(
18
- entity_type: string,
19
- level_id: string,
20
- level_type: string,
21
- ): Promise<Workflow[]> {
22
- return this.workflowRepository.find({
23
- where: {
24
- mapped_entity_type: entity_type,
25
- level_id,
26
- level_type,
27
- },
28
- });
29
- }
30
-
31
- async deleteWorkflowById(id: number) {
32
- const result = await this.workflowRepository.delete(id);
33
-
34
- if (result.affected === 0) {
35
- throw new NotFoundException(`Workflow with ID ${id} not found`);
36
- }
37
-
38
- return {
39
- message: `Workflow has been successfully deleted.`,
40
- };
41
- }
42
- }
1
+ import { Injectable, NotFoundException } from '@nestjs/common';
2
+ import { InjectRepository } from '@nestjs/typeorm';
3
+ import { Workflow } from '../entity/workflow.entity';
4
+ import { Repository } from 'typeorm';
5
+
6
+ @Injectable()
7
+ export class WorkflowRepository {
8
+ constructor(
9
+ @InjectRepository(Workflow)
10
+ private readonly workflowRepository: Repository<Workflow>,
11
+ ) {}
12
+
13
+ // async getWorkflowById(id: number) {
14
+ // return this.workflowRepository.findOne(id);
15
+ // }
16
+
17
+ async getAllWorkflowsByFilters(
18
+ entity_type: string,
19
+ level_id: string,
20
+ level_type: string,
21
+ ): Promise<Workflow[]> {
22
+ return this.workflowRepository.find({
23
+ where: {
24
+ mapped_entity_type: entity_type,
25
+ level_id,
26
+ level_type,
27
+ },
28
+ });
29
+ }
30
+
31
+ async deleteWorkflowById(id: number) {
32
+ const result = await this.workflowRepository.delete(id);
33
+
34
+ if (result.affected === 0) {
35
+ throw new NotFoundException(`Workflow with ID ${id} not found`);
36
+ }
37
+
38
+ return {
39
+ message: `Workflow has been successfully deleted.`,
40
+ };
41
+ }
42
+ }