rez_core 4.0.167 → 4.0.172

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 (604) hide show
  1. package/.prettierrc +3 -3
  2. package/README.md +99 -99
  3. package/dist/app.module.js +9 -0
  4. package/dist/app.module.js.map +1 -1
  5. package/dist/config/bull.config.d.ts +10 -0
  6. package/dist/config/bull.config.js +66 -0
  7. package/dist/config/bull.config.js.map +1 -0
  8. package/dist/config/config.module.js +2 -2
  9. package/dist/config/config.module.js.map +1 -1
  10. package/dist/config/database.config.d.ts +1 -1
  11. package/dist/config/database.config.js +12 -16
  12. package/dist/config/database.config.js.map +1 -1
  13. package/dist/core.module.d.ts +1 -1
  14. package/dist/core.module.js +7 -7
  15. package/dist/core.module.js.map +1 -1
  16. package/dist/main.js +1 -1
  17. package/dist/main.js.map +1 -1
  18. package/dist/module/auth/guards/role.guard.js +3 -3
  19. package/dist/module/auth/services/auth.service.js +3 -3
  20. package/dist/module/auth/services/auth.service.js.map +1 -1
  21. package/dist/module/enterprise/entity/organization.entity.js +1 -1
  22. package/dist/module/enterprise/repository/school.repository.js +3 -3
  23. package/dist/module/enterprise/repository/school.repository.js.map +1 -1
  24. package/dist/module/entity_json/controller/entity_json.controller.d.ts +8 -0
  25. package/dist/module/entity_json/controller/entity_json.controller.js +42 -0
  26. package/dist/module/entity_json/controller/entity_json.controller.js.map +1 -0
  27. package/dist/module/entity_json/entity_json.module.d.ts +2 -0
  28. package/dist/module/entity_json/entity_json.module.js +26 -0
  29. package/dist/module/entity_json/entity_json.module.js.map +1 -0
  30. package/dist/module/entity_json/service/entity_json.service.d.ts +7 -0
  31. package/dist/module/entity_json/service/entity_json.service.js +80 -0
  32. package/dist/module/entity_json/service/entity_json.service.js.map +1 -0
  33. package/dist/module/filter/repository/saved-filter.repository.js +4 -4
  34. package/dist/module/filter/service/filter-evaluator.service.js +3 -3
  35. package/dist/module/filter/service/filter-evaluator.service.js.map +1 -1
  36. package/dist/module/filter/service/filter.service.d.ts +1 -4
  37. package/dist/module/filter/service/filter.service.js +39 -69
  38. package/dist/module/filter/service/filter.service.js.map +1 -1
  39. package/dist/module/integration/entity/integration-config.entity.js +6 -6
  40. package/dist/module/integration/entity/integration-config.entity.js.map +1 -1
  41. package/dist/module/integration/entity/integration-entity-mapper.entity.js +1 -1
  42. package/dist/module/integration/entity/integration-entity-mapper.entity.js.map +1 -1
  43. package/dist/module/integration/entity/integration-source.entity.js +4 -4
  44. package/dist/module/integration/entity/integration-source.entity.js.map +1 -1
  45. package/dist/module/integration/entity/user-integration.entity.js +4 -4
  46. package/dist/module/integration/entity/user-integration.entity.js.map +1 -1
  47. package/dist/module/integration/examples/usage.example.js +9 -9
  48. package/dist/module/integration/service/integration.service.js +1 -1
  49. package/dist/module/integration/service/wrapper.service.d.ts +3 -1
  50. package/dist/module/integration/service/wrapper.service.js +67 -65
  51. package/dist/module/integration/service/wrapper.service.js.map +1 -1
  52. package/dist/module/linked_attributes/controller/linked_attributes.controller.d.ts +5 -0
  53. package/dist/module/linked_attributes/controller/linked_attributes.controller.js +29 -0
  54. package/dist/module/linked_attributes/controller/linked_attributes.controller.js.map +1 -0
  55. package/dist/module/linked_attributes/entity/linked_attribute.entity.d.ts +9 -0
  56. package/dist/module/linked_attributes/entity/linked_attribute.entity.js +70 -0
  57. package/dist/module/linked_attributes/entity/linked_attribute.entity.js.map +1 -0
  58. package/dist/module/linked_attributes/linked_attributes.module.d.ts +2 -0
  59. package/dist/module/linked_attributes/linked_attributes.module.js +29 -0
  60. package/dist/module/linked_attributes/linked_attributes.module.js.map +1 -0
  61. package/dist/module/linked_attributes/repository/linked_attribute.repository.d.ts +6 -0
  62. package/dist/module/linked_attributes/repository/linked_attribute.repository.js +31 -0
  63. package/dist/module/linked_attributes/repository/linked_attribute.repository.js.map +1 -0
  64. package/dist/module/linked_attributes/service/linked_attributes.service.d.ts +5 -0
  65. package/dist/module/linked_attributes/service/linked_attributes.service.js +34 -0
  66. package/dist/module/linked_attributes/service/linked_attributes.service.js.map +1 -0
  67. package/dist/module/listmaster/entity/list-master-items.entity.js +3 -3
  68. package/dist/module/listmaster/entity/list-master-items.entity.js.map +1 -1
  69. package/dist/module/listmaster/entity/list-master.entity.js +4 -4
  70. package/dist/module/listmaster/entity/list-master.entity.js.map +1 -1
  71. package/dist/module/listmaster/service/list-master-item.service.js +3 -3
  72. package/dist/module/listmaster/service/list-master-item.service.js.map +1 -1
  73. package/dist/module/mapper/entity/field-mapper.entity.js +6 -6
  74. package/dist/module/mapper/entity/field-mapper.entity.js.map +1 -1
  75. package/dist/module/mapper/service/field-mapper.service.js +7 -7
  76. package/dist/module/mapper/service/field-mapper.service.js.map +1 -1
  77. package/dist/module/mapper/service/mapper.service.js +4 -4
  78. package/dist/module/mapper/service/mapper.service.js.map +1 -1
  79. package/dist/module/meta/controller/attribute-master.controller.d.ts +4 -1
  80. package/dist/module/meta/controller/attribute-master.controller.js +15 -2
  81. package/dist/module/meta/controller/attribute-master.controller.js.map +1 -1
  82. package/dist/module/meta/entity/app-master.entity.d.ts +2 -2
  83. package/dist/module/meta/entity/app-master.entity.js +4 -4
  84. package/dist/module/meta/entity/entity-master.entity.js +1 -1
  85. package/dist/module/meta/entity/entity-master.entity.js.map +1 -1
  86. package/dist/module/meta/entity/view-master.entity.js +1 -1
  87. package/dist/module/meta/entity/view-master.entity.js.map +1 -1
  88. package/dist/module/meta/entity.module.js +7 -0
  89. package/dist/module/meta/entity.module.js.map +1 -1
  90. package/dist/module/meta/repository/attribute-master.repository.js +2 -2
  91. package/dist/module/meta/repository/attribute-master.repository.js.map +1 -1
  92. package/dist/module/meta/repository/entity-attribute-update.repository.d.ts +6 -0
  93. package/dist/module/meta/repository/entity-attribute-update.repository.js +44 -0
  94. package/dist/module/meta/repository/entity-attribute-update.repository.js.map +1 -0
  95. package/dist/module/meta/repository/entity-master.repository.js +2 -2
  96. package/dist/module/meta/repository/entity-master.repository.js.map +1 -1
  97. package/dist/module/meta/service/attribute-master.service.js +1 -1
  98. package/dist/module/meta/service/attribute-master.service.js.map +1 -1
  99. package/dist/module/meta/service/entity-attribute-update.service.d.ts +7 -0
  100. package/dist/module/meta/service/entity-attribute-update.service.js +36 -0
  101. package/dist/module/meta/service/entity-attribute-update.service.js.map +1 -0
  102. package/dist/module/meta/service/entity-dynamic.service.js +27 -27
  103. package/dist/module/meta/service/entity-dynamic.service.js.map +1 -1
  104. package/dist/module/meta/service/entity-list.service.js +3 -3
  105. package/dist/module/meta/service/entity-master.service.js +4 -4
  106. package/dist/module/meta/service/entity-master.service.js.map +1 -1
  107. package/dist/module/meta/service/entity-relation.service.js +13 -13
  108. package/dist/module/meta/service/entity-relation.service.js.map +1 -1
  109. package/dist/module/meta/service/entity-service-impl.service.js +3 -3
  110. package/dist/module/meta/service/media-data.service.js +9 -9
  111. package/dist/module/meta/service/media-data.service.js.map +1 -1
  112. package/dist/module/meta/service/resolver.service.js +19 -19
  113. package/dist/module/meta/service/resolver.service.js.map +1 -1
  114. package/dist/module/module/repository/menu.repository.js +12 -12
  115. package/dist/module/notification/entity/otp.entity.js +1 -1
  116. package/dist/module/notification/entity/otp.entity.js.map +1 -1
  117. package/dist/module/notification/service/notification.service.js +9 -9
  118. package/dist/module/user/controller/login.controller.js +18 -18
  119. package/dist/module/user/entity/user-role-mapping.entity.js +1 -1
  120. package/dist/module/user/entity/user-role-mapping.entity.js.map +1 -1
  121. package/dist/module/user/service/login.service.js +1 -1
  122. package/dist/module/user/service/login.service.js.map +1 -1
  123. package/dist/module/user/service/role.service.js +4 -4
  124. package/dist/module/user/service/user-session.service.js +4 -4
  125. package/dist/module/user/service/user-session.service.js.map +1 -1
  126. package/dist/module/workflow/entity/action-category.entity.d.ts +1 -1
  127. package/dist/module/workflow/entity/action-category.entity.js +1 -1
  128. package/dist/module/workflow/entity/action-data.entity.js +1 -1
  129. package/dist/module/workflow/entity/action-data.entity.js.map +1 -1
  130. package/dist/module/workflow/entity/action.entity.d.ts +1 -0
  131. package/dist/module/workflow/entity/action.entity.js +5 -1
  132. package/dist/module/workflow/entity/action.entity.js.map +1 -1
  133. package/dist/module/workflow/entity/comm-template.entity.js +1 -1
  134. package/dist/module/workflow/entity/comm-template.entity.js.map +1 -1
  135. package/dist/module/workflow/entity/template-attach-mapper.entity.js +1 -1
  136. package/dist/module/workflow/entity/template-attach-mapper.entity.js.map +1 -1
  137. package/dist/module/workflow/repository/action-data.repository.js +5 -4
  138. package/dist/module/workflow/repository/action-data.repository.js.map +1 -1
  139. package/dist/module/workflow/repository/action.repository.js +21 -21
  140. package/dist/module/workflow/repository/action.repository.js.map +1 -1
  141. package/dist/module/workflow/repository/comm-template.repository.js +7 -7
  142. package/dist/module/workflow/repository/comm-template.repository.js.map +1 -1
  143. package/dist/module/workflow/repository/form-master.repository.js +3 -3
  144. package/dist/module/workflow/repository/form-master.repository.js.map +1 -1
  145. package/dist/module/workflow/repository/stage-group.repository.js +23 -23
  146. package/dist/module/workflow/repository/stage-movement.repository.js +17 -17
  147. package/dist/module/workflow/repository/stage-movement.repository.js.map +1 -1
  148. package/dist/module/workflow/repository/stage.repository.js +8 -8
  149. package/dist/module/workflow/repository/task.repository.d.ts +3 -1
  150. package/dist/module/workflow/repository/task.repository.js +10 -5
  151. package/dist/module/workflow/repository/task.repository.js.map +1 -1
  152. package/dist/module/workflow/service/action-template-mapping.service.js +22 -22
  153. package/dist/module/workflow/service/action.service.js +13 -13
  154. package/dist/module/workflow/service/action.service.js.map +1 -1
  155. package/dist/module/workflow/service/entity-modification.service.js +6 -6
  156. package/dist/module/workflow/service/populate-workflow.service.js +8 -8
  157. package/dist/module/workflow/service/populate-workflow.service.js.map +1 -1
  158. package/dist/module/workflow/service/stage-group.service.js +6 -6
  159. package/dist/module/workflow/service/stage-group.service.js.map +1 -1
  160. package/dist/module/workflow/service/stage.service.js +4 -4
  161. package/dist/module/workflow/service/stage.service.js.map +1 -1
  162. package/dist/module/workflow/service/task.service.js +68 -54
  163. package/dist/module/workflow/service/task.service.js.map +1 -1
  164. package/dist/module/workflow/service/workflow-list-master.service.js +16 -16
  165. package/dist/module/workflow/service/workflow-list-master.service.js.map +1 -1
  166. package/dist/module/workflow/service/workflow-meta.service.js +53 -51
  167. package/dist/module/workflow/service/workflow-meta.service.js.map +1 -1
  168. package/dist/module/workflow/service/workflow.service.js +5 -5
  169. package/dist/module/workflow/service/workflow.service.js.map +1 -1
  170. package/dist/module/workflow-automation/controller/workflow-automation.controller.d.ts +6 -0
  171. package/dist/module/workflow-automation/controller/workflow-automation.controller.js +16 -0
  172. package/dist/module/workflow-automation/controller/workflow-automation.controller.js.map +1 -1
  173. package/dist/module/workflow-automation/entity/workflow-automation-action.entity.d.ts +1 -1
  174. package/dist/module/workflow-automation/entity/workflow-automation-action.entity.js +1 -1
  175. package/dist/module/workflow-automation/entity/workflow-automation.entity.d.ts +2 -0
  176. package/dist/module/workflow-automation/entity/workflow-automation.entity.js +8 -0
  177. package/dist/module/workflow-automation/entity/workflow-automation.entity.js.map +1 -1
  178. package/dist/module/workflow-automation/service/schedule-handler.service.d.ts +16 -0
  179. package/dist/module/workflow-automation/service/schedule-handler.service.js +109 -0
  180. package/dist/module/workflow-automation/service/schedule-handler.service.js.map +1 -0
  181. package/dist/module/workflow-automation/service/workflow-automation-engine.service.d.ts +1 -1
  182. package/dist/module/workflow-automation/service/workflow-automation-engine.service.js +1 -1
  183. package/dist/module/workflow-automation/service/workflow-automation-engine.service.js.map +1 -1
  184. package/dist/module/workflow-automation/service/workflow-automation.service.d.ts +13 -1
  185. package/dist/module/workflow-automation/service/workflow-automation.service.js +115 -6
  186. package/dist/module/workflow-automation/service/workflow-automation.service.js.map +1 -1
  187. package/dist/module/workflow-automation/workflow-automation.module.js +14 -1
  188. package/dist/module/workflow-automation/workflow-automation.module.js.map +1 -1
  189. package/dist/module/workflow-schedule/constants/schedule.constants.d.ts +27 -0
  190. package/dist/module/workflow-schedule/constants/schedule.constants.js +31 -0
  191. package/dist/module/workflow-schedule/constants/schedule.constants.js.map +1 -0
  192. package/dist/module/workflow-schedule/controller/workflow-schedule.controller.d.ts +83 -0
  193. package/dist/module/workflow-schedule/controller/workflow-schedule.controller.js +220 -0
  194. package/dist/module/workflow-schedule/controller/workflow-schedule.controller.js.map +1 -0
  195. package/dist/module/workflow-schedule/dto/create-schedule.dto.d.ts +32 -0
  196. package/dist/module/workflow-schedule/dto/create-schedule.dto.js +163 -0
  197. package/dist/module/workflow-schedule/dto/create-schedule.dto.js.map +1 -0
  198. package/dist/module/workflow-schedule/dto/get-execution-logs.dto.d.ts +35 -0
  199. package/dist/module/workflow-schedule/dto/get-execution-logs.dto.js +124 -0
  200. package/dist/module/workflow-schedule/dto/get-execution-logs.dto.js.map +1 -0
  201. package/dist/module/workflow-schedule/dto/update-schedule.dto.d.ts +19 -0
  202. package/dist/module/workflow-schedule/dto/update-schedule.dto.js +106 -0
  203. package/dist/module/workflow-schedule/dto/update-schedule.dto.js.map +1 -0
  204. package/dist/module/workflow-schedule/entities/scheduled-workflow.entity.d.ts +30 -0
  205. package/dist/module/workflow-schedule/entities/scheduled-workflow.entity.js +113 -0
  206. package/dist/module/workflow-schedule/entities/scheduled-workflow.entity.js.map +1 -0
  207. package/dist/module/workflow-schedule/entities/workflow-execution-log.entity.d.ts +34 -0
  208. package/dist/module/workflow-schedule/entities/workflow-execution-log.entity.js +118 -0
  209. package/dist/module/workflow-schedule/entities/workflow-execution-log.entity.js.map +1 -0
  210. package/dist/module/workflow-schedule/interfaces/schedule-job-data.interface.d.ts +44 -0
  211. package/dist/module/workflow-schedule/interfaces/schedule-job-data.interface.js +3 -0
  212. package/dist/module/workflow-schedule/interfaces/schedule-job-data.interface.js.map +1 -0
  213. package/dist/module/workflow-schedule/processors/schedule.processor.d.ts +31 -0
  214. package/dist/module/workflow-schedule/processors/schedule.processor.js +409 -0
  215. package/dist/module/workflow-schedule/processors/schedule.processor.js.map +1 -0
  216. package/dist/module/workflow-schedule/service/workflow-schedule.service.d.ts +44 -0
  217. package/dist/module/workflow-schedule/service/workflow-schedule.service.js +434 -0
  218. package/dist/module/workflow-schedule/service/workflow-schedule.service.js.map +1 -0
  219. package/dist/module/workflow-schedule/workflow-schedule.module.d.ts +2 -0
  220. package/dist/module/workflow-schedule/workflow-schedule.module.js +44 -0
  221. package/dist/module/workflow-schedule/workflow-schedule.module.js.map +1 -0
  222. package/dist/table.config.js +5 -1
  223. package/dist/table.config.js.map +1 -1
  224. package/dist/tsconfig.build.tsbuildinfo +1 -1
  225. package/dist/utils/service/loggingUtil.service.d.ts +9 -2
  226. package/dist/utils/service/loggingUtil.service.js +65 -14
  227. package/dist/utils/service/loggingUtil.service.js.map +1 -1
  228. package/dist/utils/service/reflection-helper.service.js +3 -3
  229. package/dist/utils/service/reflection-helper.service.js.map +1 -1
  230. package/dist/utils/utils.module.js +2 -0
  231. package/dist/utils/utils.module.js.map +1 -1
  232. package/docs/modules/event-driven-integration-design.md +91 -91
  233. package/docs/modules/integration.md +250 -250
  234. package/eslint.config.mjs +34 -34
  235. package/nest-cli.json +14 -14
  236. package/package.json +124 -120
  237. package/src/app.controller.ts +12 -12
  238. package/src/app.module.ts +62 -52
  239. package/src/app.service.ts +8 -8
  240. package/src/config/bull.config.ts +69 -0
  241. package/src/config/config.module.ts +18 -17
  242. package/src/config/database.config.ts +23 -48
  243. package/src/constant/global.constant.ts +67 -67
  244. package/src/core.module.ts +86 -81
  245. package/src/decorators/roles.decorator.ts +7 -7
  246. package/src/dtos/response.dto.ts +6 -6
  247. package/src/dtos/response.ts +5 -5
  248. package/src/index.ts +1 -1
  249. package/src/module/auth/auth.module.ts +49 -49
  250. package/src/module/auth/controller/auth.controller.ts +28 -28
  251. package/src/module/auth/guards/google-auth.guard.ts +9 -9
  252. package/src/module/auth/guards/jwt.guard.ts +22 -22
  253. package/src/module/auth/guards/role.guard.ts +68 -68
  254. package/src/module/auth/services/auth.service.ts +50 -50
  255. package/src/module/auth/services/jwt.service.ts +11 -11
  256. package/src/module/auth/strategies/google.strategy.ts +54 -54
  257. package/src/module/auth/strategies/jwt.strategy.ts +58 -58
  258. package/src/module/auth/strategies/local.strategy.ts +13 -13
  259. package/src/module/dashboard/controller/dashboard.controller.ts +36 -36
  260. package/src/module/dashboard/dashboard.module.ts +21 -21
  261. package/src/module/dashboard/entity/dashboard_page_data.entity.ts +27 -27
  262. package/src/module/dashboard/entity/widget_master.entity.ts +18 -18
  263. package/src/module/dashboard/repository/dashboard.repository.ts +42 -42
  264. package/src/module/dashboard/service/dashboard.service.ts +73 -73
  265. package/src/module/dev/dev.module.ts +12 -12
  266. package/src/module/dev/service/dev.service.ts +7 -7
  267. package/src/module/enterprise/controller/organization.controller.ts +36 -36
  268. package/src/module/enterprise/enterprise.module.ts +30 -30
  269. package/src/module/enterprise/entity/enterprise.entity.ts +37 -37
  270. package/src/module/enterprise/entity/organization-app-mapping.entity.ts +13 -13
  271. package/src/module/enterprise/entity/organization.entity.ts +92 -92
  272. package/src/module/enterprise/repository/enterprise.repository.ts +31 -31
  273. package/src/module/enterprise/repository/organization.repository.ts +26 -26
  274. package/src/module/enterprise/repository/school.repository.ts +278 -278
  275. package/src/module/enterprise/service/brand.service.ts +5 -5
  276. package/src/module/enterprise/service/enterprise.service.ts +16 -16
  277. package/src/module/enterprise/service/organization-app-mapping.service.ts +4 -4
  278. package/src/module/enterprise/service/organization.service.ts +145 -145
  279. package/src/module/entity_json/controller/entity_json.controller.ts +21 -0
  280. package/src/module/entity_json/entity_json.module.ts +13 -0
  281. package/src/module/entity_json/service/entity_json.service.ts +88 -0
  282. package/src/module/filter/controller/filter.controller.ts +84 -84
  283. package/src/module/filter/dto/filter-request.dto.ts +38 -38
  284. package/src/module/filter/entity/saved-filter-detail.entity.ts +41 -41
  285. package/src/module/filter/entity/saved-filter-master.entity.ts +23 -23
  286. package/src/module/filter/filter.module.ts +31 -31
  287. package/src/module/filter/repository/saved-filter.repository.ts +168 -168
  288. package/src/module/filter/service/filter-evaluator.service.ts +86 -86
  289. package/src/module/filter/service/filter.service.ts +1005 -1053
  290. package/src/module/filter/service/saved-filter.service.ts +170 -170
  291. package/src/module/ics/controller/ics.controller.ts +21 -21
  292. package/src/module/ics/dto/ics.dto.ts +55 -55
  293. package/src/module/ics/ics.module.ts +13 -13
  294. package/src/module/ics/service/ics.service.ts +57 -57
  295. package/src/module/integration/controller/calender-event.controller.ts +31 -31
  296. package/src/module/integration/controller/integration.controller.ts +662 -662
  297. package/src/module/integration/controller/wrapper.controller.ts +37 -37
  298. package/src/module/integration/dto/create-config.dto.ts +526 -526
  299. package/src/module/integration/entity/integration-config.entity.ts +112 -112
  300. package/src/module/integration/entity/integration-entity-mapper.entity.ts +14 -14
  301. package/src/module/integration/entity/integration-source.entity.ts +17 -17
  302. package/src/module/integration/entity/user-integration.entity.ts +71 -71
  303. package/src/module/integration/examples/usage.example.ts +338 -338
  304. package/src/module/integration/factories/base.factory.ts +7 -7
  305. package/src/module/integration/factories/email.factory.ts +49 -49
  306. package/src/module/integration/factories/integration.factory.ts +121 -121
  307. package/src/module/integration/factories/sms.factory.ts +51 -51
  308. package/src/module/integration/factories/telephone.factory.ts +41 -41
  309. package/src/module/integration/factories/whatsapp.factory.ts +56 -56
  310. package/src/module/integration/integration.module.ts +110 -110
  311. package/src/module/integration/service/calendar-event.service.ts +118 -118
  312. package/src/module/integration/service/integration-entity-mapper.service.ts +17 -17
  313. package/src/module/integration/service/integration-queue.service.ts +229 -229
  314. package/src/module/integration/service/integration.service.ts +2633 -2633
  315. package/src/module/integration/service/oauth.service.ts +224 -224
  316. package/src/module/integration/service/wrapper.service.ts +700 -494
  317. package/src/module/integration/strategies/email/gmail-api.strategy.ts +280 -280
  318. package/src/module/integration/strategies/email/outlook-api.strategy.ts +44 -44
  319. package/src/module/integration/strategies/email/outlook.strategy.ts +64 -64
  320. package/src/module/integration/strategies/email/sendgrid-api.strategy.ts +260 -260
  321. package/src/module/integration/strategies/integration.strategy.ts +97 -97
  322. package/src/module/integration/strategies/sms/gupshup-sms.strategy.ts +146 -146
  323. package/src/module/integration/strategies/sms/msg91-sms.strategy.ts +164 -164
  324. package/src/module/integration/strategies/sms/tubelight-sms.strategy.ts +163 -163
  325. package/src/module/integration/strategies/telephone/ozonetel-voice.strategy.ts +238 -238
  326. package/src/module/integration/strategies/telephone/tubelight-voice.strategy.ts +210 -210
  327. package/src/module/integration/strategies/whatsapp/gupshup-whatsapp.strategy.ts +359 -359
  328. package/src/module/integration/strategies/whatsapp/tubelight-whatsapp.strategy.ts +372 -372
  329. package/src/module/integration/strategies/whatsapp/whatsapp-cloud.strategy.ts +403 -403
  330. package/src/module/integration/strategies/whatsapp/whatsapp.strategy.ts +57 -57
  331. package/src/module/layout/controller/layout.controller.ts +47 -47
  332. package/src/module/layout/entity/header-items.entity.ts +28 -28
  333. package/src/module/layout/entity/header-section.entity.ts +19 -19
  334. package/src/module/layout/layout.module.ts +21 -21
  335. package/src/module/layout/repository/header-items.repository.ts +18 -18
  336. package/src/module/layout/repository/header-section.repository.ts +22 -22
  337. package/src/module/layout/service/header-section.service.ts +25 -25
  338. package/src/module/layout_preference/controller/layout_preference.controller.ts +73 -73
  339. package/src/module/layout_preference/entity/layout_preference.entity.ts +28 -28
  340. package/src/module/layout_preference/layout_preference.module.ts +22 -22
  341. package/src/module/layout_preference/repository/layout_preference.repository.ts +65 -65
  342. package/src/module/layout_preference/service/layout_preference.service.ts +191 -191
  343. package/src/module/lead/controller/lead.controller.ts +30 -30
  344. package/src/module/lead/lead.module.ts +14 -14
  345. package/src/module/lead/repository/lead.repository.ts +41 -41
  346. package/src/module/lead/service/lead.service.ts +54 -54
  347. package/src/module/linked_attributes/controller/linked_attributes.controller.ts +10 -0
  348. package/src/module/linked_attributes/entity/linked_attribute.entity.ts +48 -0
  349. package/src/module/linked_attributes/linked_attributes.module.ts +16 -0
  350. package/src/module/linked_attributes/repository/linked_attribute.repository.ts +12 -0
  351. package/src/module/linked_attributes/service/linked_attributes.service.ts +22 -0
  352. package/src/module/listmaster/controller/list-master.controller.ts +230 -230
  353. package/src/module/listmaster/entity/list-master-items.entity.ts +43 -43
  354. package/src/module/listmaster/entity/list-master.entity.ts +33 -33
  355. package/src/module/listmaster/listmaster.module.ts +46 -46
  356. package/src/module/listmaster/repository/list-master-items.repository.ts +169 -169
  357. package/src/module/listmaster/repository/list-master.repository.ts +46 -46
  358. package/src/module/listmaster/service/list-master-engine.ts +19 -19
  359. package/src/module/listmaster/service/list-master-extension.interface.ts +4 -4
  360. package/src/module/listmaster/service/list-master-item.service.ts +292 -292
  361. package/src/module/listmaster/service/list-master-registry.ts +15 -15
  362. package/src/module/listmaster/service/list-master.service.ts +535 -535
  363. package/src/module/mapper/controller/field-mapper.controller.ts +76 -76
  364. package/src/module/mapper/controller/mapper.controller.ts +20 -20
  365. package/src/module/mapper/dto/field-mapper.dto.ts +14 -14
  366. package/src/module/mapper/entity/field-lovs.entity.ts +19 -19
  367. package/src/module/mapper/entity/field-mapper.entity.ts +53 -53
  368. package/src/module/mapper/entity/mapper.entity.ts +16 -16
  369. package/src/module/mapper/mapper.module.ts +34 -34
  370. package/src/module/mapper/repository/field-lovs.repository.ts +35 -35
  371. package/src/module/mapper/repository/field-mapper.repository.ts +42 -42
  372. package/src/module/mapper/repository/mapper.repository.ts +15 -15
  373. package/src/module/mapper/service/field-mapper.service.ts +271 -266
  374. package/src/module/mapper/service/mapper.service.ts +79 -79
  375. package/src/module/master/controller/master.controller.ts +74 -74
  376. package/src/module/master/service/master.service.ts +483 -483
  377. package/src/module/meta/controller/app-master.controller.ts +38 -38
  378. package/src/module/meta/controller/attribute-master.controller.ts +74 -66
  379. package/src/module/meta/controller/entity-dynamic.controller.ts +125 -125
  380. package/src/module/meta/controller/entity-master.controller.ts +28 -28
  381. package/src/module/meta/controller/entity-relation.controller.ts +36 -36
  382. package/src/module/meta/controller/entity.controller.ts +392 -392
  383. package/src/module/meta/controller/entity.public.controller.ts +75 -75
  384. package/src/module/meta/controller/media.controller.ts +107 -107
  385. package/src/module/meta/controller/meta.controller.ts +96 -96
  386. package/src/module/meta/controller/view-master.controller.ts +86 -86
  387. package/src/module/meta/dto/entity-list-data.dto.ts +6 -6
  388. package/src/module/meta/dto/entity-tab.dto.ts +4 -4
  389. package/src/module/meta/dto/entity-table.dto.ts +9 -9
  390. package/src/module/meta/entity/app-master.entity.ts +34 -34
  391. package/src/module/meta/entity/attribute-master.entity.ts +89 -89
  392. package/src/module/meta/entity/base-entity.entity.ts +75 -75
  393. package/src/module/meta/entity/entity-master.entity.ts +85 -85
  394. package/src/module/meta/entity/entity-relation-data.entity.ts +29 -29
  395. package/src/module/meta/entity/entity-relation.entity.ts +23 -23
  396. package/src/module/meta/entity/entity-table-column.entity.ts +61 -61
  397. package/src/module/meta/entity/entity-table.entity.ts +50 -50
  398. package/src/module/meta/entity/media-data.entity.ts +32 -32
  399. package/src/module/meta/entity/preference.entity.ts +62 -62
  400. package/src/module/meta/entity/view-master.entity.ts +41 -41
  401. package/src/module/meta/entity.module.ts +166 -158
  402. package/src/module/meta/repository/app-master.repository.ts +20 -20
  403. package/src/module/meta/repository/attribute-master.repository.ts +118 -118
  404. package/src/module/meta/repository/entity-attribute-update.repository.ts +44 -0
  405. package/src/module/meta/repository/entity-master.repository.ts +69 -69
  406. package/src/module/meta/repository/entity-table-column.repository.ts +39 -39
  407. package/src/module/meta/repository/entity-table.repository.ts +53 -53
  408. package/src/module/meta/repository/media-data.repository.ts +50 -50
  409. package/src/module/meta/repository/preference.repository.ts +20 -20
  410. package/src/module/meta/repository/user-app-mapping.repository.ts +28 -28
  411. package/src/module/meta/repository/view-master.repository.ts +42 -42
  412. package/src/module/meta/service/app-master.service.ts +37 -37
  413. package/src/module/meta/service/attribute-master.service.ts +126 -126
  414. package/src/module/meta/service/common.service.ts +9 -9
  415. package/src/module/meta/service/entity-attribute-update.service.ts +29 -0
  416. package/src/module/meta/service/entity-dynamic.service.ts +819 -819
  417. package/src/module/meta/service/entity-list.service.ts +205 -205
  418. package/src/module/meta/service/entity-master.service.ts +169 -169
  419. package/src/module/meta/service/entity-realation-data.service.ts +9 -9
  420. package/src/module/meta/service/entity-relation.service.ts +69 -69
  421. package/src/module/meta/service/entity-service-impl.service.ts +525 -525
  422. package/src/module/meta/service/entity-table-column.service.ts +39 -39
  423. package/src/module/meta/service/entity-table.service.ts +150 -150
  424. package/src/module/meta/service/entity-validation.service.ts +187 -187
  425. package/src/module/meta/service/entity.service.ts +67 -67
  426. package/src/module/meta/service/field-group.service.ts +103 -103
  427. package/src/module/meta/service/media-data.service.ts +507 -507
  428. package/src/module/meta/service/populate-meta.service.ts +193 -193
  429. package/src/module/meta/service/preference.service.ts +16 -16
  430. package/src/module/meta/service/resolver.service.ts +267 -267
  431. package/src/module/meta/service/section-master.service.ts +104 -104
  432. package/src/module/meta/service/update-form-json.service.ts +22 -22
  433. package/src/module/meta/service/user-app-mapping.service.ts +17 -17
  434. package/src/module/meta/service/view-master.service.ts +127 -127
  435. package/src/module/microservice-client/microservice-clients.module.ts +13 -13
  436. package/src/module/microservice-client/service/microservice-client-factory.ts +37 -37
  437. package/src/module/microservice-client/service/microservice-clients.ts +4 -4
  438. package/src/module/module/controller/menu.controller.ts +15 -15
  439. package/src/module/module/controller/module-access.controller.ts +134 -134
  440. package/src/module/module/entity/menu.entity.ts +43 -43
  441. package/src/module/module/entity/module-access.entity.ts +25 -25
  442. package/src/module/module/entity/module-action.entity.ts +17 -17
  443. package/src/module/module/entity/module.entity.ts +52 -52
  444. package/src/module/module/module.module.ts +42 -42
  445. package/src/module/module/repository/menu.repository.ts +184 -184
  446. package/src/module/module/repository/module-access.repository.ts +344 -344
  447. package/src/module/module/service/menu.service.ts +82 -82
  448. package/src/module/module/service/module-access.service.ts +209 -209
  449. package/src/module/notification/controller/notification.controller.ts +58 -58
  450. package/src/module/notification/controller/otp.controller.ts +117 -117
  451. package/src/module/notification/entity/notification.entity.ts +26 -26
  452. package/src/module/notification/entity/otp.entity.ts +28 -28
  453. package/src/module/notification/firebase-admin.config.ts +22 -22
  454. package/src/module/notification/notification.module.ts +69 -69
  455. package/src/module/notification/repository/otp.repository.ts +27 -27
  456. package/src/module/notification/service/email.service.ts +127 -127
  457. package/src/module/notification/service/notification.service.ts +163 -163
  458. package/src/module/notification/service/otp.service.ts +132 -132
  459. package/src/module/third-party-module/entity/third-party-api-registry.entity.ts +52 -52
  460. package/src/module/third-party-module/repository/third-party-api-registry.repository.ts +20 -20
  461. package/src/module/third-party-module/service/api-registry.service.ts +13 -13
  462. package/src/module/third-party-module/third-party.module.ts +12 -12
  463. package/src/module/user/controller/login.controller.ts +197 -197
  464. package/src/module/user/controller/user.controller.ts +40 -40
  465. package/src/module/user/dto/create-user.dto.ts +62 -62
  466. package/src/module/user/dto/update-user.dto.ts +4 -4
  467. package/src/module/user/entity/role.entity.ts +33 -33
  468. package/src/module/user/entity/user-role-mapping.entity.ts +38 -38
  469. package/src/module/user/entity/user-session.entity.ts +73 -73
  470. package/src/module/user/entity/user.entity.ts +59 -59
  471. package/src/module/user/repository/role.repository.ts +96 -96
  472. package/src/module/user/repository/user-role-mapping.repository.ts +126 -126
  473. package/src/module/user/repository/user.repository.ts +50 -50
  474. package/src/module/user/repository/userSession.repository.ts +33 -33
  475. package/src/module/user/service/login.service.ts +304 -304
  476. package/src/module/user/service/role.service.ts +189 -189
  477. package/src/module/user/service/user-role-mapping.service.ts +98 -98
  478. package/src/module/user/service/user-session.service.ts +168 -168
  479. package/src/module/user/service/user.service.ts +365 -365
  480. package/src/module/user/user.module.ts +65 -65
  481. package/src/module/workflow/controller/action-category.controller.ts +54 -54
  482. package/src/module/workflow/controller/action-resource-mapping.controller.ts +23 -23
  483. package/src/module/workflow/controller/action-template-mapping.controller.ts +35 -35
  484. package/src/module/workflow/controller/action.controller.ts +111 -111
  485. package/src/module/workflow/controller/activity-log.controller.ts +55 -55
  486. package/src/module/workflow/controller/comm-template.controller.ts +43 -43
  487. package/src/module/workflow/controller/entity-modification.controller.ts +35 -35
  488. package/src/module/workflow/controller/form-master.controller.ts +43 -43
  489. package/src/module/workflow/controller/stage-group.controller.ts +48 -48
  490. package/src/module/workflow/controller/stage.controller.ts +50 -50
  491. package/src/module/workflow/controller/task.controller.ts +77 -77
  492. package/src/module/workflow/controller/workflow-list-master.controller.ts +44 -44
  493. package/src/module/workflow/controller/workflow-meta.controller.ts +80 -80
  494. package/src/module/workflow/controller/workflow.controller.ts +67 -67
  495. package/src/module/workflow/entity/action-category.entity.ts +38 -38
  496. package/src/module/workflow/entity/action-data.entity.ts +55 -55
  497. package/src/module/workflow/entity/action-resources-mapping.entity.ts +29 -29
  498. package/src/module/workflow/entity/action-template-mapping.entity.ts +17 -17
  499. package/src/module/workflow/entity/action.entity.ts +53 -50
  500. package/src/module/workflow/entity/activity-log.entity.ts +43 -43
  501. package/src/module/workflow/entity/comm-template.entity.ts +43 -43
  502. package/src/module/workflow/entity/entity-modification.entity.ts +38 -38
  503. package/src/module/workflow/entity/form.entity.ts +25 -25
  504. package/src/module/workflow/entity/stage-action-mapping.entity.ts +17 -17
  505. package/src/module/workflow/entity/stage-group.entity.ts +23 -23
  506. package/src/module/workflow/entity/stage-movement-data.entity.ts +38 -38
  507. package/src/module/workflow/entity/stage.entity.ts +20 -20
  508. package/src/module/workflow/entity/task-data.entity.ts +88 -88
  509. package/src/module/workflow/entity/template-attach-mapper.entity.ts +30 -30
  510. package/src/module/workflow/entity/workflow-data.entity.ts +11 -11
  511. package/src/module/workflow/entity/workflow-level-mapping.entity.ts +18 -18
  512. package/src/module/workflow/entity/workflow.entity.ts +20 -20
  513. package/src/module/workflow/repository/action-category.repository.ts +79 -79
  514. package/src/module/workflow/repository/action-data.repository.ts +334 -333
  515. package/src/module/workflow/repository/action.repository.ts +323 -323
  516. package/src/module/workflow/repository/activity-log.repository.ts +148 -148
  517. package/src/module/workflow/repository/comm-template.repository.ts +149 -149
  518. package/src/module/workflow/repository/form-master.repository.ts +59 -59
  519. package/src/module/workflow/repository/stage-group.repository.ts +176 -176
  520. package/src/module/workflow/repository/stage-movement.repository.ts +244 -244
  521. package/src/module/workflow/repository/stage.repository.ts +172 -172
  522. package/src/module/workflow/repository/task.repository.ts +134 -126
  523. package/src/module/workflow/repository/workflow.repository.ts +42 -42
  524. package/src/module/workflow/service/action-category.service.ts +33 -33
  525. package/src/module/workflow/service/action-data.service.ts +62 -62
  526. package/src/module/workflow/service/action-resources-mapping.service.ts +10 -10
  527. package/src/module/workflow/service/action-template-mapping.service.ts +106 -106
  528. package/src/module/workflow/service/action.service.ts +279 -279
  529. package/src/module/workflow/service/activity-log.service.ts +107 -107
  530. package/src/module/workflow/service/comm-template.service.ts +180 -180
  531. package/src/module/workflow/service/entity-modification.service.ts +67 -67
  532. package/src/module/workflow/service/form-master.service.ts +35 -35
  533. package/src/module/workflow/service/populate-workflow.service.ts +303 -303
  534. package/src/module/workflow/service/stage-action-mapping.service.ts +5 -5
  535. package/src/module/workflow/service/stage-group.service.ts +319 -319
  536. package/src/module/workflow/service/stage.service.ts +199 -199
  537. package/src/module/workflow/service/task.service.ts +569 -560
  538. package/src/module/workflow/service/workflow-list-master.service.ts +60 -60
  539. package/src/module/workflow/service/workflow-meta.service.ts +654 -640
  540. package/src/module/workflow/service/workflow.service.ts +205 -205
  541. package/src/module/workflow/workflow.module.ts +176 -176
  542. package/src/module/workflow-automation/controller/workflow-automation.controller.ts +43 -21
  543. package/src/module/workflow-automation/entity/workflow-automation-action.entity.ts +26 -26
  544. package/src/module/workflow-automation/entity/workflow-automation.entity.ts +40 -35
  545. package/src/module/workflow-automation/interface/action.decorator.ts +7 -7
  546. package/src/module/workflow-automation/interface/action.interface.ts +5 -5
  547. package/src/module/workflow-automation/service/action-registery.service.ts +35 -35
  548. package/src/module/workflow-automation/service/schedule-handler.service.ts +150 -0
  549. package/src/module/workflow-automation/service/workflow-automation-engine.service.ts +214 -214
  550. package/src/module/workflow-automation/service/workflow-automation.service.ts +508 -347
  551. package/src/module/workflow-automation/workflow-automation.module.ts +47 -34
  552. package/src/module/workflow-schedule/INSTALLATION.md +244 -0
  553. package/src/module/workflow-schedule/README.md +422 -0
  554. package/src/module/workflow-schedule/constants/schedule.constants.ts +48 -0
  555. package/src/module/workflow-schedule/controller/workflow-schedule.controller.ts +255 -0
  556. package/src/module/workflow-schedule/docs/CLAUDE_CODE_GUIDE.md +510 -0
  557. package/src/module/workflow-schedule/docs/CLAUDE_CODE_PROMPT.md +362 -0
  558. package/src/module/workflow-schedule/docs/RUN_CLAUDE_CODE.sh +68 -0
  559. package/src/module/workflow-schedule/dto/create-schedule.dto.ts +147 -0
  560. package/src/module/workflow-schedule/dto/get-execution-logs.dto.ts +119 -0
  561. package/src/module/workflow-schedule/dto/update-schedule.dto.ts +96 -0
  562. package/src/module/workflow-schedule/entities/scheduled-workflow.entity.ts +148 -0
  563. package/src/module/workflow-schedule/entities/workflow-execution-log.entity.ts +154 -0
  564. package/src/module/workflow-schedule/interfaces/schedule-job-data.interface.ts +53 -0
  565. package/src/module/workflow-schedule/processors/schedule.processor.ts +584 -0
  566. package/src/module/workflow-schedule/service/workflow-schedule.service.ts +600 -0
  567. package/src/module/workflow-schedule/workflow-schedule.module.ts +43 -0
  568. package/src/resources/dev.properties.yaml +30 -31
  569. package/src/resources/local.properties.yaml +27 -27
  570. package/src/resources/properties.module.ts +12 -12
  571. package/src/resources/properties.yaml.ts +11 -11
  572. package/src/resources/uat.properties.yaml +31 -31
  573. package/src/table.config.ts +130 -126
  574. package/src/utils/dto/excel-data.dto.ts +14 -14
  575. package/src/utils/dto/excelsheet-data.dto.ts +5 -5
  576. package/src/utils/service/base64util.service.ts +18 -18
  577. package/src/utils/service/clockIDGenUtil.service.ts +21 -21
  578. package/src/utils/service/codeGenerator.service.ts +22 -22
  579. package/src/utils/service/dateUtil.service.ts +17 -17
  580. package/src/utils/service/encryptUtil.service.ts +97 -97
  581. package/src/utils/service/excel-helper.service.ts +72 -72
  582. package/src/utils/service/excelUtil.service.ts +15 -15
  583. package/src/utils/service/file-util.service.ts +11 -11
  584. package/src/utils/service/json-util.service.ts +23 -23
  585. package/src/utils/service/loggingUtil.service.ts +88 -34
  586. package/src/utils/service/reflection-helper.service.ts +62 -62
  587. package/src/utils/service/wbsCodeGen.service.ts +8 -8
  588. package/src/utils/utils.module.ts +27 -25
  589. package/tsconfig.build.json +4 -4
  590. package/tsconfig.json +24 -24
  591. package/.claude/settings.local.json +0 -26
  592. package/.idea/250218_nodejs_core.iml +0 -9
  593. package/.idea/codeStyles/Project.xml +0 -59
  594. package/.idea/codeStyles/codeStyleConfig.xml +0 -5
  595. package/.idea/copilot.data.migration.agent.xml +0 -6
  596. package/.idea/copilot.data.migration.ask.xml +0 -6
  597. package/.idea/copilot.data.migration.ask2agent.xml +0 -6
  598. package/.idea/copilot.data.migration.edit.xml +0 -6
  599. package/.idea/inspectionProfiles/Project_Default.xml +0 -6
  600. package/.idea/misc.xml +0 -6
  601. package/.idea/modules.xml +0 -8
  602. package/.idea/prettier.xml +0 -6
  603. package/.idea/vcs.xml +0 -6
  604. package/server.log +0 -850
@@ -1,244 +1,244 @@
1
- import { get } from 'http';
2
- import { Injectable } from '@nestjs/common';
3
- import { InjectRepository } from '@nestjs/typeorm';
4
- import { Repository, DataSource, MoreThan } from 'typeorm';
5
- import { WorkflowLevelMappingEntity } from '../entity/workflow-level-mapping.entity';
6
- import { StageGroup } from '../entity/stage-group.entity';
7
- import { Stage } from '../entity/stage.entity';
8
- import { log } from 'console';
9
- import { UserData } from 'src/module/user/entity/user.entity';
10
-
11
- @Injectable()
12
- export class StageMovementRepository {
13
- constructor(
14
- @InjectRepository(WorkflowLevelMappingEntity)
15
- private readonly workflowLevelMappingRepo: Repository<WorkflowLevelMappingEntity>,
16
- @InjectRepository(StageGroup)
17
- private readonly stageGroupRepo: Repository<StageGroup>,
18
- @InjectRepository(Stage)
19
- private readonly stageRepo: Repository<Stage>,
20
- private readonly dataSource: DataSource,
21
- ) {}
22
-
23
- async getFirstStage({
24
- loggedInUser,
25
- mapped_entity_type,
26
- mapped_entity_id,
27
- }: {
28
- loggedInUser: any;
29
- mapped_entity_type: string;
30
- mapped_entity_id: string | number;
31
- }): Promise<any | null> {
32
- // Try finding mapping at user's level
33
- let workflowLevelMapping = await this.workflowLevelMappingRepo.findOne({
34
- where: {
35
- mapped_level_type: loggedInUser.level_type,
36
- mapped_level_id: loggedInUser.level_id,
37
- },
38
- });
39
-
40
- // If not found, fallback to organization-level mapping
41
- if (!workflowLevelMapping) {
42
- workflowLevelMapping = await this.workflowLevelMappingRepo.findOne({
43
- where: {
44
- mapped_level_type: 'ORG',
45
- mapped_level_id: loggedInUser.organization_id,
46
- },
47
- });
48
- }
49
-
50
- // If still not found, return null
51
- if (!workflowLevelMapping) return null;
52
-
53
- // Find the stage group for this workflow
54
- const stageGroup = await this.stageGroupRepo.findOne({
55
- where: {
56
- workflow_id: workflowLevelMapping.workflow_id,
57
- },
58
- order: { id: 'ASC' }, // Ensure you get the earliest/first group if needed
59
- });
60
-
61
- if (!stageGroup) return null;
62
-
63
- // Find the first stage within this group
64
- const firstStage = await this.stageRepo.findOne({
65
- where: {
66
- stage_group_id: stageGroup.id,
67
- },
68
- order: { id: 'ASC' }, // Change ordering as per your "first" logic
69
- });
70
-
71
- if (!firstStage) return null;
72
-
73
- // Return comprehensive result
74
- return {
75
- mappingUsed: workflowLevelMapping,
76
- stageGroup,
77
- firstStage,
78
- };
79
- }
80
-
81
- // async getNextStage(
82
- // stageGroupId: number,
83
- // currentStageId: number,
84
- // ): Promise<any | null> {
85
- // // 1. Get current stage to find its sequence number
86
- // const currentStage = await this.stageRepo.findOne({
87
- // where: { id: currentStageId, stage_group_id: stageGroupId },
88
- // });
89
- // if (!currentStage) return null;
90
-
91
- // // 2. Find the next stage with sequence just after the current one
92
- // const nextStage = await this.stageRepo.findOne({
93
- // where: {
94
- // stage_group_id: stageGroupId,
95
- // sequence: MoreThan(currentStage.sequence),
96
- // },
97
- // order: { sequence: 'ASC' },
98
- // });
99
-
100
- // return nextStage || null;
101
- // }
102
-
103
- // async getNextStageGroup(
104
- // currentStageGroupId: number,
105
- // ): Promise<StageGroup | null> {
106
- // // 1. Get current stage group
107
- // const currentStageGroup = await this.stageGroupRepo.findOne({
108
- // where: { id: currentStageGroupId },
109
- // });
110
- // if (!currentStageGroup) return null;
111
- // // 2. Find the next stage group with a higher sequence
112
- // const nextStageGroup = await this.stageGroupRepo.findOne({
113
- // where: {
114
- // sequence: MoreThan(currentStageGroup.sequence),
115
- // },
116
- // order: { sequence: 'ASC' }, // Get the immediate next
117
- // });
118
- // return nextStageGroup || null;
119
- // }
120
-
121
- async getNextStage(
122
- stageGroupId: number,
123
- currentStageId: number,
124
- ): Promise<any | null> {
125
- const allStages = await this.stageRepo.find({
126
- where: { stage_group_id: stageGroupId },
127
- order: { sequence: 'ASC' },
128
- });
129
-
130
- if (currentStageId === 0) return allStages.length > 0 ? allStages[0] : null;
131
-
132
- const currentStage = allStages.find((s) => s.id == currentStageId);
133
- if (!currentStage) return null;
134
-
135
- // Filter for stages with a greater sequence, then pick the smallest one
136
- const higherStages = allStages
137
- .filter((s) => s.sequence > currentStage.sequence)
138
- .sort((a, b) => a.sequence - b.sequence);
139
-
140
- return higherStages.length > 0 ? higherStages[0] : null;
141
- }
142
-
143
- async getNextStageGroup(currentStageGroupId: number): Promise<any | null> {
144
- const currentStageGroup = await this.stageGroupRepo.findOne({
145
- where: { id: currentStageGroupId },
146
- });
147
- if (!currentStageGroup) return null;
148
-
149
- //get workflow id of current stage group
150
- const workflowId = currentStageGroup.workflow_id;
151
-
152
- // Find the next stage group with a higher sequence
153
- const nextStageGroup = await this.stageGroupRepo.findOne({
154
- where: {
155
- workflow_id: workflowId,
156
- sequence: MoreThan(currentStageGroup.sequence),
157
- },
158
- order: { sequence: 'ASC' }, // Get the immediate next
159
- });
160
-
161
- return nextStageGroup || null;
162
- }
163
-
164
- async getNextStageOrFirstOfNextGroup(
165
- stageGroupId: number,
166
- currentStageId: number,
167
- ): Promise<any | null> {
168
- // 1. Try to get the next stage in same group
169
- const nextStage = await this.getNextStage(stageGroupId, currentStageId);
170
- if (nextStage) return nextStage;
171
-
172
- // 2. No next stage. Try to get next stage group
173
- const nextStageGroup = await this.getNextStageGroup(stageGroupId);
174
- if (!nextStageGroup) return null;
175
-
176
- const nextStageGroupFirstStage = await this.getNextStage(
177
- nextStageGroup.id,
178
- 0,
179
- );
180
- return nextStageGroupFirstStage || null;
181
- }
182
-
183
- async getAllActionByStageId(stageId: number): Promise<any> {
184
- const result = await this.dataSource.query(
185
- `
186
- SELECT
187
- a.*,
188
- m.id AS mapping_id,
189
- m.stage_id,
190
- ac.code AS action_category_code
191
- FROM frm_wf_action a
192
- LEFT JOIN frm_wf_stage_action_mapping m ON a.id = m.action_id
193
- LEFT JOIN frm_wf_action_category ac ON a.action_category = ac.id
194
- WHERE m.stage_id = $1
195
- `,
196
- [stageId],
197
- );
198
-
199
- // Use for..of with await instead of map
200
- for (const item of result) {
201
- if (item.action_category_code === 'SDFM') {
202
- const actionData = await this.dataSource.query(
203
- `
204
- SELECT arm.form_id
205
- FROM frm_wf_action_resources_mapping arm
206
- WHERE arm.stg_act_mapping_id = $1 and form_id IS NOT NULL
207
- LIMIT 1
208
- `,
209
- [item.mapping_id],
210
- );
211
-
212
- item.form_id = actionData[0]?.form_id || null;
213
- }
214
- }
215
-
216
- return result;
217
- }
218
-
219
- async saveActionData(action: any, loggedInUser: UserData): Promise<any> {
220
- // Implement the logic to save action data
221
-
222
- if (action.length > 0) {
223
- for (const act of action) {
224
- await this.dataSource.query(
225
- `INSERT INTO frm_wf_action_data (stage_id, user_id, action_id) VALUES ($1, $2, $3)`,
226
- [act.stage_id, loggedInUser.id, act.id],
227
- );
228
- }
229
- }
230
- }
231
-
232
- async saveTaskData(actionData: any, loggedInUser: UserData): Promise<any> {
233
- // Implement the logic to save task data
234
-
235
- if (actionData.length > 0) {
236
- for (const action of actionData) {
237
- await this.dataSource.query(
238
- `INSERT INTO frm_wf_task_data (action_id, user_id) VALUES ($1, $2)`,
239
- [action.id, loggedInUser.id],
240
- );
241
- }
242
- }
243
- }
244
- }
1
+ import { get } from 'http';
2
+ import { Injectable } from '@nestjs/common';
3
+ import { InjectRepository } from '@nestjs/typeorm';
4
+ import { Repository, DataSource, MoreThan } from 'typeorm';
5
+ import { WorkflowLevelMappingEntity } from '../entity/workflow-level-mapping.entity';
6
+ import { StageGroup } from '../entity/stage-group.entity';
7
+ import { Stage } from '../entity/stage.entity';
8
+ import { log } from 'console';
9
+ import { UserData } from 'src/module/user/entity/user.entity';
10
+
11
+ @Injectable()
12
+ export class StageMovementRepository {
13
+ constructor(
14
+ @InjectRepository(WorkflowLevelMappingEntity)
15
+ private readonly workflowLevelMappingRepo: Repository<WorkflowLevelMappingEntity>,
16
+ @InjectRepository(StageGroup)
17
+ private readonly stageGroupRepo: Repository<StageGroup>,
18
+ @InjectRepository(Stage)
19
+ private readonly stageRepo: Repository<Stage>,
20
+ private readonly dataSource: DataSource,
21
+ ) {}
22
+
23
+ async getFirstStage({
24
+ loggedInUser,
25
+ mapped_entity_type,
26
+ mapped_entity_id,
27
+ }: {
28
+ loggedInUser: any;
29
+ mapped_entity_type: string;
30
+ mapped_entity_id: string | number;
31
+ }): Promise<any | null> {
32
+ // Try finding mapping at user's level
33
+ let workflowLevelMapping = await this.workflowLevelMappingRepo.findOne({
34
+ where: {
35
+ mapped_level_type: loggedInUser.level_type,
36
+ mapped_level_id: loggedInUser.level_id,
37
+ },
38
+ });
39
+
40
+ // If not found, fallback to organization-level mapping
41
+ if (!workflowLevelMapping) {
42
+ workflowLevelMapping = await this.workflowLevelMappingRepo.findOne({
43
+ where: {
44
+ mapped_level_type: 'ORG',
45
+ mapped_level_id: loggedInUser.organization_id,
46
+ },
47
+ });
48
+ }
49
+
50
+ // If still not found, return null
51
+ if (!workflowLevelMapping) return null;
52
+
53
+ // Find the stage group for this workflow
54
+ const stageGroup = await this.stageGroupRepo.findOne({
55
+ where: {
56
+ workflow_id: workflowLevelMapping.workflow_id,
57
+ },
58
+ order: { id: 'ASC' }, // Ensure you get the earliest/first group if needed
59
+ });
60
+
61
+ if (!stageGroup) return null;
62
+
63
+ // Find the first stage within this group
64
+ const firstStage = await this.stageRepo.findOne({
65
+ where: {
66
+ stage_group_id: stageGroup.id,
67
+ },
68
+ order: { id: 'ASC' }, // Change ordering as per your "first" logic
69
+ });
70
+
71
+ if (!firstStage) return null;
72
+
73
+ // Return comprehensive result
74
+ return {
75
+ mappingUsed: workflowLevelMapping,
76
+ stageGroup,
77
+ firstStage,
78
+ };
79
+ }
80
+
81
+ // async getNextStage(
82
+ // stageGroupId: number,
83
+ // currentStageId: number,
84
+ // ): Promise<any | null> {
85
+ // // 1. Get current stage to find its sequence number
86
+ // const currentStage = await this.stageRepo.findOne({
87
+ // where: { id: currentStageId, stage_group_id: stageGroupId },
88
+ // });
89
+ // if (!currentStage) return null;
90
+
91
+ // // 2. Find the next stage with sequence just after the current one
92
+ // const nextStage = await this.stageRepo.findOne({
93
+ // where: {
94
+ // stage_group_id: stageGroupId,
95
+ // sequence: MoreThan(currentStage.sequence),
96
+ // },
97
+ // order: { sequence: 'ASC' },
98
+ // });
99
+
100
+ // return nextStage || null;
101
+ // }
102
+
103
+ // async getNextStageGroup(
104
+ // currentStageGroupId: number,
105
+ // ): Promise<StageGroup | null> {
106
+ // // 1. Get current stage group
107
+ // const currentStageGroup = await this.stageGroupRepo.findOne({
108
+ // where: { id: currentStageGroupId },
109
+ // });
110
+ // if (!currentStageGroup) return null;
111
+ // // 2. Find the next stage group with a higher sequence
112
+ // const nextStageGroup = await this.stageGroupRepo.findOne({
113
+ // where: {
114
+ // sequence: MoreThan(currentStageGroup.sequence),
115
+ // },
116
+ // order: { sequence: 'ASC' }, // Get the immediate next
117
+ // });
118
+ // return nextStageGroup || null;
119
+ // }
120
+
121
+ async getNextStage(
122
+ stageGroupId: number,
123
+ currentStageId: number,
124
+ ): Promise<any | null> {
125
+ const allStages = await this.stageRepo.find({
126
+ where: { stage_group_id: stageGroupId },
127
+ order: { sequence: 'ASC' },
128
+ });
129
+
130
+ if (currentStageId === 0) return allStages.length > 0 ? allStages[0] : null;
131
+
132
+ const currentStage = allStages.find((s) => s.id == currentStageId);
133
+ if (!currentStage) return null;
134
+
135
+ // Filter for stages with a greater sequence, then pick the smallest one
136
+ const higherStages = allStages
137
+ .filter((s) => s.sequence > currentStage.sequence)
138
+ .sort((a, b) => a.sequence - b.sequence);
139
+
140
+ return higherStages.length > 0 ? higherStages[0] : null;
141
+ }
142
+
143
+ async getNextStageGroup(currentStageGroupId: number): Promise<any | null> {
144
+ const currentStageGroup = await this.stageGroupRepo.findOne({
145
+ where: { id: currentStageGroupId },
146
+ });
147
+ if (!currentStageGroup) return null;
148
+
149
+ //get workflow id of current stage group
150
+ const workflowId = currentStageGroup.workflow_id;
151
+
152
+ // Find the next stage group with a higher sequence
153
+ const nextStageGroup = await this.stageGroupRepo.findOne({
154
+ where: {
155
+ workflow_id: workflowId,
156
+ sequence: MoreThan(currentStageGroup.sequence),
157
+ },
158
+ order: { sequence: 'ASC' }, // Get the immediate next
159
+ });
160
+
161
+ return nextStageGroup || null;
162
+ }
163
+
164
+ async getNextStageOrFirstOfNextGroup(
165
+ stageGroupId: number,
166
+ currentStageId: number,
167
+ ): Promise<any | null> {
168
+ // 1. Try to get the next stage in same group
169
+ const nextStage = await this.getNextStage(stageGroupId, currentStageId);
170
+ if (nextStage) return nextStage;
171
+
172
+ // 2. No next stage. Try to get next stage group
173
+ const nextStageGroup = await this.getNextStageGroup(stageGroupId);
174
+ if (!nextStageGroup) return null;
175
+
176
+ const nextStageGroupFirstStage = await this.getNextStage(
177
+ nextStageGroup.id,
178
+ 0,
179
+ );
180
+ return nextStageGroupFirstStage || null;
181
+ }
182
+
183
+ async getAllActionByStageId(stageId: number): Promise<any> {
184
+ const result = await this.dataSource.query(
185
+ `
186
+ SELECT
187
+ a.*,
188
+ m.id AS mapping_id,
189
+ m.stage_id,
190
+ ac.code AS action_category_code
191
+ FROM frm_wf_action a
192
+ LEFT JOIN frm_wf_stage_action_mapping m ON a.id = m.action_id
193
+ LEFT JOIN frm_wf_action_category ac ON a.action_category = ac.id
194
+ WHERE m.stage_id = ?
195
+ `,
196
+ [stageId],
197
+ );
198
+
199
+ // Use for..of with await instead of map
200
+ for (const item of result) {
201
+ if (item.action_category_code === 'SDFM') {
202
+ const actionData = await this.dataSource.query(
203
+ `
204
+ SELECT arm.form_id
205
+ FROM frm_wf_action_resources_mapping arm
206
+ WHERE arm.stg_act_mapping_id = ? and form_id IS NOT NULL
207
+ LIMIT 1
208
+ `,
209
+ [item.mapping_id],
210
+ );
211
+
212
+ item.form_id = actionData[0]?.form_id || null;
213
+ }
214
+ }
215
+
216
+ return result;
217
+ }
218
+
219
+ async saveActionData(action: any, loggedInUser: UserData): Promise<any> {
220
+ // Implement the logic to save action data
221
+
222
+ if (action.length > 0) {
223
+ for (const act of action) {
224
+ await this.dataSource.query(
225
+ `INSERT INTO frm_wf_action_data (stage_id, user_id, action_id) VALUES (?, ?, ?)`,
226
+ [act.stage_id, loggedInUser.id, act.id],
227
+ );
228
+ }
229
+ }
230
+ }
231
+
232
+ async saveTaskData(actionData: any, loggedInUser: UserData): Promise<any> {
233
+ // Implement the logic to save task data
234
+
235
+ if (actionData.length > 0) {
236
+ for (const action of actionData) {
237
+ await this.dataSource.query(
238
+ `INSERT INTO frm_wf_task_data (action_id, user_id) VALUES (?, ?)`,
239
+ [action.id, loggedInUser.id],
240
+ );
241
+ }
242
+ }
243
+ }
244
+ }