rez_core 3.1.112 → 3.1.114

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