rez_core 3.1.115 → 3.1.117

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 (394) hide show
  1. package/.prettierrc +3 -3
  2. package/.vscode/extensions.json +5 -0
  3. package/README.md +99 -99
  4. package/dist/module/auth/guards/role.guard.js +3 -3
  5. package/dist/module/auth/services/auth.service.js +2 -2
  6. package/dist/module/filter/repository/saved-filter.repository.js +4 -4
  7. package/dist/module/filter/service/filter-evaluator.service.js +2 -2
  8. package/dist/module/filter/service/filter.service.js +7 -7
  9. package/dist/module/integration/examples/usage.example.js +9 -9
  10. package/dist/module/integration/service/integration.service.js +1 -1
  11. package/dist/module/integration/service/wrapper.service.js +17 -17
  12. package/dist/module/listmaster/service/list-master-item.service.js +2 -2
  13. package/dist/module/listmaster/service/list-master.service.js +2 -2
  14. package/dist/module/mapper/service/field-mapper.service.js +4 -4
  15. package/dist/module/mapper/service/mapper.service.js +2 -2
  16. package/dist/module/meta/controller/entity-dynamic.controller.d.ts +3 -0
  17. package/dist/module/meta/controller/entity-dynamic.controller.js +13 -0
  18. package/dist/module/meta/controller/entity-dynamic.controller.js.map +1 -1
  19. package/dist/module/meta/controller/entity.controller.d.ts +1 -1
  20. package/dist/module/meta/service/entity-dynamic.service.d.ts +5 -1
  21. package/dist/module/meta/service/entity-dynamic.service.js +45 -22
  22. package/dist/module/meta/service/entity-dynamic.service.js.map +1 -1
  23. package/dist/module/meta/service/entity-list.service.js +3 -3
  24. package/dist/module/meta/service/entity-master.service.js +3 -3
  25. package/dist/module/meta/service/entity-relation.service.js +11 -11
  26. package/dist/module/meta/service/entity-service-impl.service.d.ts +1 -1
  27. package/dist/module/meta/service/entity-service-impl.service.js +3 -3
  28. package/dist/module/meta/service/entity-service-impl.service.js.map +1 -1
  29. package/dist/module/meta/service/resolver.service.js +3 -3
  30. package/dist/module/meta/service/view-master.service.d.ts +4 -3
  31. package/dist/module/meta/service/view-master.service.js +14 -3
  32. package/dist/module/meta/service/view-master.service.js.map +1 -1
  33. package/dist/module/module/repository/menu.repository.js +12 -12
  34. package/dist/module/notification/service/notification.service.js +21 -16
  35. package/dist/module/notification/service/notification.service.js.map +1 -1
  36. package/dist/module/user/controller/login.controller.js +18 -18
  37. package/dist/module/user/service/role.service.js +4 -4
  38. package/dist/module/user/service/user-session.service.js +2 -2
  39. package/dist/module/workflow/repository/action.repository.js +16 -16
  40. package/dist/module/workflow/repository/comm-template.repository.js +6 -6
  41. package/dist/module/workflow/repository/form-master.repository.js +2 -2
  42. package/dist/module/workflow/repository/stage-group.repository.js +23 -23
  43. package/dist/module/workflow/repository/stage-movement.repository.js +11 -11
  44. package/dist/module/workflow/repository/stage.repository.js +8 -8
  45. package/dist/module/workflow/service/action-template-mapping.service.js +10 -10
  46. package/dist/module/workflow/service/action.service.js +7 -7
  47. package/dist/module/workflow/service/entity-modification.service.js +6 -6
  48. package/dist/module/workflow/service/stage-group.service.js +5 -5
  49. package/dist/module/workflow/service/stage.service.js +2 -2
  50. package/dist/module/workflow/service/task.service.d.ts +1 -2
  51. package/dist/module/workflow/service/task.service.js +33 -33
  52. package/dist/module/workflow/service/workflow-list-master.service.js +15 -15
  53. package/dist/module/workflow/service/workflow-meta.service.js +50 -50
  54. package/dist/module/workflow/service/workflow.service.js +2 -2
  55. package/dist/tsconfig.build.tsbuildinfo +1 -1
  56. package/dist/utils/service/reflection-helper.service.js +2 -2
  57. package/docs/modules/event-driven-integration-design.md +91 -91
  58. package/docs/modules/integration.md +250 -250
  59. package/eslint.config.mjs +34 -34
  60. package/nest-cli.json +14 -14
  61. package/package.json +118 -118
  62. package/src/app.controller.ts +12 -12
  63. package/src/app.module.ts +49 -49
  64. package/src/app.service.ts +8 -8
  65. package/src/config/config.module.ts +18 -18
  66. package/src/config/database.config.ts +23 -23
  67. package/src/constant/global.constant.ts +67 -67
  68. package/src/core.module.ts +81 -81
  69. package/src/decorators/roles.decorator.ts +7 -7
  70. package/src/dtos/response.dto.ts +6 -6
  71. package/src/dtos/response.ts +5 -5
  72. package/src/index.ts +1 -1
  73. package/src/module/auth/auth.module.ts +49 -49
  74. package/src/module/auth/controller/auth.controller.ts +28 -28
  75. package/src/module/auth/guards/google-auth.guard.ts +9 -9
  76. package/src/module/auth/guards/jwt.guard.ts +22 -22
  77. package/src/module/auth/guards/role.guard.ts +68 -68
  78. package/src/module/auth/services/auth.service.ts +50 -50
  79. package/src/module/auth/services/jwt.service.ts +11 -11
  80. package/src/module/auth/strategies/google.strategy.ts +54 -54
  81. package/src/module/auth/strategies/jwt.strategy.ts +58 -58
  82. package/src/module/auth/strategies/local.strategy.ts +13 -13
  83. package/src/module/dashboard/controller/dashboard.controller.ts +36 -36
  84. package/src/module/dashboard/dashboard.module.ts +21 -21
  85. package/src/module/dashboard/entity/dashboard_page_data.entity.ts +27 -27
  86. package/src/module/dashboard/entity/widget_master.entity.ts +18 -18
  87. package/src/module/dashboard/repository/dashboard.repository.ts +42 -42
  88. package/src/module/dashboard/service/dashboard.service.ts +73 -73
  89. package/src/module/dev/dev.module.ts +12 -12
  90. package/src/module/dev/service/dev.service.ts +7 -7
  91. package/src/module/enterprise/controller/organization.controller.ts +36 -36
  92. package/src/module/enterprise/enterprise.module.ts +30 -30
  93. package/src/module/enterprise/entity/enterprise.entity.ts +37 -37
  94. package/src/module/enterprise/entity/organization-app-mapping.entity.ts +13 -13
  95. package/src/module/enterprise/entity/organization.entity.ts +92 -92
  96. package/src/module/enterprise/repository/enterprise.repository.ts +31 -31
  97. package/src/module/enterprise/repository/organization.repository.ts +26 -26
  98. package/src/module/enterprise/repository/school.repository.ts +282 -282
  99. package/src/module/enterprise/service/brand.service.ts +5 -5
  100. package/src/module/enterprise/service/enterprise.service.ts +16 -16
  101. package/src/module/enterprise/service/organization-app-mapping.service.ts +4 -4
  102. package/src/module/enterprise/service/organization.service.ts +145 -145
  103. package/src/module/filter/controller/filter.controller.ts +84 -84
  104. package/src/module/filter/dto/filter-request.dto.ts +38 -38
  105. package/src/module/filter/entity/saved-filter-detail.entity.ts +41 -41
  106. package/src/module/filter/entity/saved-filter-master.entity.ts +23 -23
  107. package/src/module/filter/filter.module.ts +31 -31
  108. package/src/module/filter/repository/saved-filter.repository.ts +168 -168
  109. package/src/module/filter/service/filter-evaluator.service.ts +86 -86
  110. package/src/module/filter/service/filter.service.ts +841 -841
  111. package/src/module/filter/service/saved-filter.service.ts +170 -170
  112. package/src/module/ics/controller/ics.controller.ts +21 -21
  113. package/src/module/ics/dto/ics.dto.ts +55 -55
  114. package/src/module/ics/ics.module.ts +13 -13
  115. package/src/module/ics/service/ics.service.ts +60 -60
  116. package/src/module/integration/controller/calender-event.controller.ts +31 -31
  117. package/src/module/integration/controller/integration.controller.ts +662 -662
  118. package/src/module/integration/controller/wrapper.controller.ts +39 -39
  119. package/src/module/integration/dto/create-config.dto.ts +526 -526
  120. package/src/module/integration/entity/integration-config.entity.ts +112 -112
  121. package/src/module/integration/entity/integration-entity-mapper.entity.ts +14 -14
  122. package/src/module/integration/entity/integration-source.entity.ts +17 -17
  123. package/src/module/integration/entity/user-integration.entity.ts +70 -70
  124. package/src/module/integration/examples/usage.example.ts +338 -338
  125. package/src/module/integration/factories/base.factory.ts +7 -7
  126. package/src/module/integration/factories/email.factory.ts +49 -49
  127. package/src/module/integration/factories/integration.factory.ts +121 -121
  128. package/src/module/integration/factories/sms.factory.ts +51 -51
  129. package/src/module/integration/factories/telephone.factory.ts +41 -41
  130. package/src/module/integration/factories/whatsapp.factory.ts +56 -56
  131. package/src/module/integration/integration.module.ts +110 -110
  132. package/src/module/integration/service/calendar-event.service.ts +118 -118
  133. package/src/module/integration/service/integration-entity-mapper.service.ts +17 -17
  134. package/src/module/integration/service/integration-queue.service.ts +229 -229
  135. package/src/module/integration/service/integration.service.ts +2557 -2557
  136. package/src/module/integration/service/oauth.service.ts +224 -224
  137. package/src/module/integration/service/wrapper.service.ts +373 -373
  138. package/src/module/integration/strategies/email/gmail-api.strategy.ts +288 -288
  139. package/src/module/integration/strategies/email/outlook-api.strategy.ts +44 -44
  140. package/src/module/integration/strategies/email/outlook.strategy.ts +64 -64
  141. package/src/module/integration/strategies/email/sendgrid-api.strategy.ts +262 -262
  142. package/src/module/integration/strategies/integration.strategy.ts +97 -97
  143. package/src/module/integration/strategies/sms/gupshup-sms.strategy.ts +146 -146
  144. package/src/module/integration/strategies/sms/msg91-sms.strategy.ts +164 -164
  145. package/src/module/integration/strategies/sms/tubelight-sms.strategy.ts +163 -163
  146. package/src/module/integration/strategies/telephone/ozonetel-voice.strategy.ts +238 -238
  147. package/src/module/integration/strategies/telephone/tubelight-voice.strategy.ts +210 -210
  148. package/src/module/integration/strategies/whatsapp/gupshup-whatsapp.strategy.ts +359 -359
  149. package/src/module/integration/strategies/whatsapp/tubelight-whatsapp.strategy.ts +371 -371
  150. package/src/module/integration/strategies/whatsapp/whatsapp-cloud.strategy.ts +403 -403
  151. package/src/module/integration/strategies/whatsapp/whatsapp.strategy.ts +57 -57
  152. package/src/module/layout/controller/layout.controller.ts +47 -47
  153. package/src/module/layout/entity/header-items.entity.ts +28 -28
  154. package/src/module/layout/entity/header-section.entity.ts +19 -19
  155. package/src/module/layout/layout.module.ts +21 -21
  156. package/src/module/layout/repository/header-items.repository.ts +18 -18
  157. package/src/module/layout/repository/header-section.repository.ts +22 -22
  158. package/src/module/layout/service/header-section.service.ts +25 -25
  159. package/src/module/layout_preference/controller/layout_preference.controller.ts +47 -47
  160. package/src/module/layout_preference/entity/layout_preference.entity.ts +28 -28
  161. package/src/module/layout_preference/layout_preference.module.ts +18 -18
  162. package/src/module/layout_preference/repository/layout_preference.repository.ts +30 -30
  163. package/src/module/layout_preference/service/layout_preference.service.ts +140 -140
  164. package/src/module/lead/controller/lead.controller.ts +30 -30
  165. package/src/module/lead/lead.module.ts +14 -14
  166. package/src/module/lead/repository/lead.repository.ts +41 -41
  167. package/src/module/lead/service/lead.service.ts +54 -54
  168. package/src/module/listmaster/controller/list-master.controller.ts +143 -143
  169. package/src/module/listmaster/entity/list-master-items.entity.ts +41 -41
  170. package/src/module/listmaster/entity/list-master.entity.ts +32 -32
  171. package/src/module/listmaster/listmaster.module.ts +30 -30
  172. package/src/module/listmaster/repository/list-master-items.repository.ts +169 -169
  173. package/src/module/listmaster/repository/list-master.repository.ts +46 -46
  174. package/src/module/listmaster/service/list-master-item.service.ts +292 -292
  175. package/src/module/listmaster/service/list-master.service.ts +360 -360
  176. package/src/module/mapper/controller/field-mapper.controller.ts +69 -69
  177. package/src/module/mapper/controller/mapper.controller.ts +12 -12
  178. package/src/module/mapper/dto/field-mapper.dto.ts +14 -14
  179. package/src/module/mapper/entity/field-lovs.entity.ts +20 -20
  180. package/src/module/mapper/entity/field-mapper.entity.ts +37 -37
  181. package/src/module/mapper/entity/mapper.entity.ts +17 -17
  182. package/src/module/mapper/mapper.module.ts +34 -34
  183. package/src/module/mapper/repository/field-lovs.repository.ts +35 -35
  184. package/src/module/mapper/repository/field-mapper.repository.ts +42 -42
  185. package/src/module/mapper/repository/mapper.repository.ts +14 -14
  186. package/src/module/mapper/service/field-mapper.service.ts +223 -223
  187. package/src/module/mapper/service/mapper.service.ts +72 -72
  188. package/src/module/master/controller/master.controller.ts +74 -74
  189. package/src/module/master/service/master.service.ts +486 -486
  190. package/src/module/meta/controller/app-master.controller.ts +38 -38
  191. package/src/module/meta/controller/attribute-master.controller.ts +66 -66
  192. package/src/module/meta/controller/entity-dynamic.controller.ts +125 -111
  193. package/src/module/meta/controller/entity-master.controller.ts +28 -28
  194. package/src/module/meta/controller/entity-relation.controller.ts +36 -36
  195. package/src/module/meta/controller/entity.controller.ts +385 -385
  196. package/src/module/meta/controller/media.controller.ts +82 -82
  197. package/src/module/meta/controller/meta.controller.ts +96 -96
  198. package/src/module/meta/controller/view-master.controller.ts +86 -86
  199. package/src/module/meta/dto/entity-list-data.dto.ts +6 -6
  200. package/src/module/meta/dto/entity-tab.dto.ts +4 -4
  201. package/src/module/meta/dto/entity-table.dto.ts +9 -9
  202. package/src/module/meta/entity/app-master.entity.ts +34 -34
  203. package/src/module/meta/entity/attribute-master.entity.ts +87 -87
  204. package/src/module/meta/entity/base-entity.entity.ts +75 -75
  205. package/src/module/meta/entity/entity-master.entity.ts +78 -78
  206. package/src/module/meta/entity/entity-relation-data.entity.ts +29 -29
  207. package/src/module/meta/entity/entity-relation.entity.ts +23 -23
  208. package/src/module/meta/entity/entity-table-column.entity.ts +61 -61
  209. package/src/module/meta/entity/entity-table.entity.ts +50 -50
  210. package/src/module/meta/entity/media-data.entity.ts +32 -32
  211. package/src/module/meta/entity/preference.entity.ts +62 -62
  212. package/src/module/meta/entity/view-master.entity.ts +41 -41
  213. package/src/module/meta/entity.module.ts +156 -156
  214. package/src/module/meta/repository/app-master.repository.ts +20 -20
  215. package/src/module/meta/repository/attribute-master.repository.ts +110 -110
  216. package/src/module/meta/repository/entity-master.repository.ts +61 -61
  217. package/src/module/meta/repository/entity-table-column.repository.ts +39 -39
  218. package/src/module/meta/repository/entity-table.repository.ts +53 -53
  219. package/src/module/meta/repository/media-data.repository.ts +50 -50
  220. package/src/module/meta/repository/preference.repository.ts +20 -20
  221. package/src/module/meta/repository/user-app-mapping.repository.ts +28 -28
  222. package/src/module/meta/repository/view-master.repository.ts +42 -42
  223. package/src/module/meta/service/app-master.service.ts +37 -37
  224. package/src/module/meta/service/attribute-master.service.ts +117 -117
  225. package/src/module/meta/service/common.service.ts +9 -9
  226. package/src/module/meta/service/entity-dynamic.service.ts +762 -718
  227. package/src/module/meta/service/entity-list.service.ts +205 -205
  228. package/src/module/meta/service/entity-master.service.ts +164 -164
  229. package/src/module/meta/service/entity-realation-data.service.ts +9 -9
  230. package/src/module/meta/service/entity-relation.service.ts +69 -69
  231. package/src/module/meta/service/entity-service-impl.service.ts +524 -513
  232. package/src/module/meta/service/entity-table-column.service.ts +39 -39
  233. package/src/module/meta/service/entity-table.service.ts +150 -150
  234. package/src/module/meta/service/entity-validation.service.ts +185 -185
  235. package/src/module/meta/service/entity.service.ts +67 -67
  236. package/src/module/meta/service/field-group.service.ts +103 -103
  237. package/src/module/meta/service/media-data.service.ts +140 -140
  238. package/src/module/meta/service/populate-meta.service.ts +153 -153
  239. package/src/module/meta/service/preference.service.ts +16 -16
  240. package/src/module/meta/service/resolver.service.ts +256 -256
  241. package/src/module/meta/service/section-master.service.ts +104 -104
  242. package/src/module/meta/service/update-form-json.service.ts +22 -22
  243. package/src/module/meta/service/user-app-mapping.service.ts +17 -17
  244. package/src/module/meta/service/view-master.service.ts +110 -91
  245. package/src/module/module/controller/menu.controller.ts +15 -15
  246. package/src/module/module/controller/module-access.controller.ts +132 -132
  247. package/src/module/module/entity/menu.entity.ts +43 -43
  248. package/src/module/module/entity/module-access.entity.ts +25 -25
  249. package/src/module/module/entity/module-action.entity.ts +17 -17
  250. package/src/module/module/entity/module.entity.ts +52 -52
  251. package/src/module/module/module.module.ts +42 -42
  252. package/src/module/module/repository/menu.repository.ts +184 -184
  253. package/src/module/module/repository/module-access.repository.ts +326 -326
  254. package/src/module/module/service/menu.service.ts +82 -82
  255. package/src/module/module/service/module-access.service.ts +209 -209
  256. package/src/module/notification/controller/notification.controller.ts +58 -58
  257. package/src/module/notification/controller/otp.controller.ts +117 -117
  258. package/src/module/notification/entity/notification.entity.ts +23 -23
  259. package/src/module/notification/entity/otp.entity.ts +28 -28
  260. package/src/module/notification/firebase-admin.config.ts +22 -22
  261. package/src/module/notification/notification.module.ts +69 -69
  262. package/src/module/notification/repository/otp.repository.ts +27 -27
  263. package/src/module/notification/service/email.service.ts +127 -127
  264. package/src/module/notification/service/notification.service.ts +138 -130
  265. package/src/module/notification/service/otp.service.ts +121 -121
  266. package/src/module/third-party-module/entity/third-party-api-registry.entity.ts +52 -52
  267. package/src/module/third-party-module/repository/third-party-api-registry.repository.ts +20 -20
  268. package/src/module/third-party-module/service/api-registry.service.ts +13 -13
  269. package/src/module/third-party-module/third-party.module.ts +12 -12
  270. package/src/module/user/controller/login.controller.ts +197 -197
  271. package/src/module/user/controller/user.controller.ts +40 -40
  272. package/src/module/user/dto/create-user.dto.ts +62 -62
  273. package/src/module/user/dto/update-user.dto.ts +4 -4
  274. package/src/module/user/entity/role.entity.ts +33 -33
  275. package/src/module/user/entity/user-role-mapping.entity.ts +38 -38
  276. package/src/module/user/entity/user-session.entity.ts +61 -61
  277. package/src/module/user/entity/user.entity.ts +68 -68
  278. package/src/module/user/repository/role.repository.ts +96 -96
  279. package/src/module/user/repository/user-role-mapping.repository.ts +126 -126
  280. package/src/module/user/repository/user.repository.ts +50 -50
  281. package/src/module/user/repository/userSession.repository.ts +33 -33
  282. package/src/module/user/service/login.service.ts +280 -280
  283. package/src/module/user/service/role.service.ts +189 -189
  284. package/src/module/user/service/user-role-mapping.service.ts +98 -98
  285. package/src/module/user/service/user-session.service.ts +168 -168
  286. package/src/module/user/service/user.service.ts +353 -353
  287. package/src/module/user/user.module.ts +65 -65
  288. package/src/module/workflow/controller/action-category.controller.ts +54 -54
  289. package/src/module/workflow/controller/action-resource-mapping.controller.ts +23 -23
  290. package/src/module/workflow/controller/action-template-mapping.controller.ts +35 -35
  291. package/src/module/workflow/controller/action.controller.ts +95 -95
  292. package/src/module/workflow/controller/activity-log.controller.ts +55 -55
  293. package/src/module/workflow/controller/comm-template.controller.ts +34 -34
  294. package/src/module/workflow/controller/entity-modification.controller.ts +35 -35
  295. package/src/module/workflow/controller/form-master.controller.ts +43 -43
  296. package/src/module/workflow/controller/stage-group.controller.ts +48 -48
  297. package/src/module/workflow/controller/stage.controller.ts +47 -47
  298. package/src/module/workflow/controller/task.controller.ts +77 -77
  299. package/src/module/workflow/controller/workflow-list-master.controller.ts +44 -44
  300. package/src/module/workflow/controller/workflow-meta.controller.ts +80 -80
  301. package/src/module/workflow/controller/workflow.controller.ts +67 -67
  302. package/src/module/workflow/entity/action-category.entity.ts +38 -38
  303. package/src/module/workflow/entity/action-data.entity.ts +55 -55
  304. package/src/module/workflow/entity/action-resources-mapping.entity.ts +29 -29
  305. package/src/module/workflow/entity/action-template-mapping.entity.ts +17 -17
  306. package/src/module/workflow/entity/action.entity.ts +50 -50
  307. package/src/module/workflow/entity/activity-log.entity.ts +43 -43
  308. package/src/module/workflow/entity/comm-template.entity.ts +43 -43
  309. package/src/module/workflow/entity/entity-modification.entity.ts +38 -38
  310. package/src/module/workflow/entity/form-master.entity.ts +27 -27
  311. package/src/module/workflow/entity/form.entity.ts +25 -25
  312. package/src/module/workflow/entity/stage-action-mapping.entity.ts +17 -17
  313. package/src/module/workflow/entity/stage-group.entity.ts +23 -23
  314. package/src/module/workflow/entity/stage-movement-data.entity.ts +38 -38
  315. package/src/module/workflow/entity/stage.entity.ts +20 -20
  316. package/src/module/workflow/entity/task-data.entity.ts +88 -88
  317. package/src/module/workflow/entity/template-attach-mapper.entity.ts +30 -30
  318. package/src/module/workflow/entity/workflow-data.entity.ts +11 -11
  319. package/src/module/workflow/entity/workflow-level-mapping.entity.ts +18 -18
  320. package/src/module/workflow/entity/workflow.entity.ts +20 -20
  321. package/src/module/workflow/repository/action-category.repository.ts +79 -79
  322. package/src/module/workflow/repository/action-data.repository.ts +219 -219
  323. package/src/module/workflow/repository/action.repository.ts +277 -277
  324. package/src/module/workflow/repository/activity-log.repository.ts +121 -121
  325. package/src/module/workflow/repository/comm-template.repository.ts +142 -142
  326. package/src/module/workflow/repository/form-master.repository.ts +61 -61
  327. package/src/module/workflow/repository/stage-group.repository.ts +176 -176
  328. package/src/module/workflow/repository/stage-movement.repository.ts +227 -227
  329. package/src/module/workflow/repository/stage.repository.ts +118 -118
  330. package/src/module/workflow/repository/task.repository.ts +113 -113
  331. package/src/module/workflow/repository/workflow.repository.ts +42 -42
  332. package/src/module/workflow/service/action-category.service.ts +33 -33
  333. package/src/module/workflow/service/action-data.service.ts +62 -62
  334. package/src/module/workflow/service/action-resources-mapping.service.ts +10 -10
  335. package/src/module/workflow/service/action-template-mapping.service.ts +55 -55
  336. package/src/module/workflow/service/action.service.ts +247 -247
  337. package/src/module/workflow/service/activity-log.service.ts +107 -107
  338. package/src/module/workflow/service/comm-template.service.ts +121 -121
  339. package/src/module/workflow/service/entity-modification.service.ts +67 -67
  340. package/src/module/workflow/service/form-master.service.ts +35 -35
  341. package/src/module/workflow/service/populate-workflow.service.ts +326 -326
  342. package/src/module/workflow/service/stage-action-mapping.service.ts +5 -5
  343. package/src/module/workflow/service/stage-group.service.ts +300 -300
  344. package/src/module/workflow/service/stage.service.ts +140 -140
  345. package/src/module/workflow/service/task.service.ts +504 -504
  346. package/src/module/workflow/service/workflow-list-master.service.ts +60 -60
  347. package/src/module/workflow/service/workflow-meta.service.ts +564 -564
  348. package/src/module/workflow/service/workflow.service.ts +205 -205
  349. package/src/module/workflow/workflow.module.ts +176 -176
  350. package/src/module/workflow-automation/controller/workflow-automation.controller.ts +21 -21
  351. package/src/module/workflow-automation/entity/workflow-automation-action.entity.ts +26 -26
  352. package/src/module/workflow-automation/entity/workflow-automation.entity.ts +35 -35
  353. package/src/module/workflow-automation/interface/action.decorator.ts +7 -7
  354. package/src/module/workflow-automation/interface/action.interface.ts +5 -5
  355. package/src/module/workflow-automation/service/action-registery.service.ts +35 -35
  356. package/src/module/workflow-automation/service/workflow-automation-engine.service.ts +214 -214
  357. package/src/module/workflow-automation/service/workflow-automation.service.ts +343 -343
  358. package/src/module/workflow-automation/workflow-automation.module.ts +34 -34
  359. package/src/resources/dev.properties.yaml +30 -30
  360. package/src/resources/local.properties.yaml +23 -23
  361. package/src/resources/properties.module.ts +12 -12
  362. package/src/resources/properties.yaml.ts +11 -11
  363. package/src/resources/uat.properties.yaml +15 -15
  364. package/src/utils/dto/excel-data.dto.ts +14 -14
  365. package/src/utils/dto/excelsheet-data.dto.ts +5 -5
  366. package/src/utils/service/base64util.service.ts +18 -18
  367. package/src/utils/service/clockIDGenUtil.service.ts +21 -21
  368. package/src/utils/service/codeGenerator.service.ts +22 -22
  369. package/src/utils/service/dateUtil.service.ts +17 -17
  370. package/src/utils/service/encryptUtil.service.ts +97 -97
  371. package/src/utils/service/excel-helper.service.ts +72 -72
  372. package/src/utils/service/excelUtil.service.ts +15 -15
  373. package/src/utils/service/file-util.service.ts +11 -11
  374. package/src/utils/service/json-util.service.ts +23 -23
  375. package/src/utils/service/loggingUtil.service.ts +34 -34
  376. package/src/utils/service/reflection-helper.service.ts +62 -62
  377. package/src/utils/service/wbsCodeGen.service.ts +8 -8
  378. package/src/utils/utils.module.ts +25 -25
  379. package/tsconfig.build.json +4 -4
  380. package/tsconfig.json +24 -24
  381. package/.claude/settings.local.json +0 -26
  382. package/.idea/250218_nodejs_core.iml +0 -9
  383. package/.idea/codeStyles/Project.xml +0 -59
  384. package/.idea/codeStyles/codeStyleConfig.xml +0 -5
  385. package/.idea/copilot.data.migration.agent.xml +0 -6
  386. package/.idea/copilot.data.migration.ask.xml +0 -6
  387. package/.idea/copilot.data.migration.ask2agent.xml +0 -6
  388. package/.idea/copilot.data.migration.edit.xml +0 -6
  389. package/.idea/inspectionProfiles/Project_Default.xml +0 -6
  390. package/.idea/misc.xml +0 -6
  391. package/.idea/modules.xml +0 -8
  392. package/.idea/prettier.xml +0 -6
  393. package/.idea/vcs.xml +0 -6
  394. package/server.log +0 -850
@@ -1,292 +1,292 @@
1
- import { DataSource } from 'typeorm';
2
- import {
3
- BadRequestException,
4
- forwardRef,
5
- Inject,
6
- Injectable,
7
- NotFoundException,
8
- } from '@nestjs/common';
9
- import { ListMasterItemsRepository } from '../repository/list-master-items.repository';
10
- import { EntityServiceImpl } from 'src/module/meta/service/entity-service-impl.service';
11
- import { UserData } from 'src/module/user/entity/user.entity';
12
- import { CodeGeneratorService } from 'src/utils/service/codeGenerator.service';
13
- import { AttributeMasterService } from 'src/module/meta/service/attribute-master.service';
14
-
15
- @Injectable()
16
- export class ListMasterItemService extends EntityServiceImpl {
17
- constructor(
18
- private readonly listItemsRepo: ListMasterItemsRepository,
19
- private readonly listMasterRepo: ListMasterItemsRepository,
20
- @Inject(forwardRef(() => EntityServiceImpl))
21
- private readonly entityServiceImpl: EntityServiceImpl,
22
- protected readonly attributeMasterService: AttributeMasterService,
23
- private readonly dataSource: DataSource,
24
- ) {
25
- super();
26
- }
27
-
28
- async getListMasterItemsByType(
29
- listType: string,
30
- organization_id: number,
31
- search?: string,
32
- ) {
33
- // this method retrieves all list master items for a specific type and organization
34
- return this.listItemsRepo.findAllItemsByListType(
35
- listType,
36
- 'asc',
37
- organization_id,
38
- search,
39
- );
40
- }
41
-
42
- async createEntity(entityData: any, loggedInUser: UserData): Promise<any> {
43
- try {
44
- const generatedCode = CodeGeneratorService.generateCode(entityData.name);
45
-
46
- entityData.code = generatedCode;
47
- entityData.organization_id = loggedInUser.organization_id;
48
- entityData.value = generatedCode;
49
-
50
- return await this.entityServiceImpl.createEntity(
51
- entityData,
52
- loggedInUser,
53
- );
54
- } catch (error) {
55
- throw error;
56
- }
57
- }
58
-
59
- async updateEntity(entityData: any, loggedInUser: UserData): Promise<any> {
60
- return await this.entityServiceImpl.updateEntity(entityData, loggedInUser);
61
- }
62
-
63
- async upsertListMasterItem(
64
- listType: string,
65
- items: any[],
66
- loggedInUser,
67
- ): Promise<any> {
68
- const orgId = loggedInUser.organization_id;
69
-
70
- const errors: any[] = [];
71
-
72
- for (let i = 0; i < items.length; i++) {
73
- const item = items[i];
74
- const name = item.name?.trim();
75
- const code = item.code?.trim();
76
-
77
- try {
78
- if (!name) {
79
- throw new BadRequestException(`name is missing at index ${i}`);
80
- }
81
-
82
- if (code) {
83
- // Check if code exists
84
- const existingItem = await this.listItemsRepo.findOneByCondition({
85
- code,
86
- listtype: listType,
87
- organization_id: orgId,
88
- });
89
-
90
- if (existingItem) {
91
- // It's an update — check if name is changing to a used name
92
- if (existingItem.name.toLowerCase() !== name.toLowerCase()) {
93
- const nameExists = await this.listItemsRepo.findOneByCondition({
94
- name,
95
- listtype: listType,
96
- organization_id: orgId,
97
- });
98
-
99
- if (nameExists && nameExists.id !== existingItem.id) {
100
- throw new BadRequestException(
101
- `${name} already used by another item`,
102
- );
103
- }
104
- }
105
-
106
- // Update the existing item
107
- await this.updateEntity(
108
- {
109
- ...existingItem,
110
- ...item,
111
- name,
112
- listtype: listType,
113
- },
114
- loggedInUser,
115
- );
116
-
117
- continue;
118
- }
119
- }
120
-
121
- // Creation path
122
- const nameExists = await this.listItemsRepo.findOneByCondition({
123
- name,
124
- listtype: listType,
125
- organization_id: orgId,
126
- });
127
-
128
- if (nameExists) {
129
- throw new BadRequestException(
130
- `list item with name ${name} already exists`,
131
- );
132
- }
133
-
134
- const finalCode = code || ''; // Could generate code here if needed
135
-
136
- await this.createEntity(
137
- {
138
- ...item,
139
- name,
140
- code: finalCode,
141
- listtype: listType,
142
- value: '',
143
- },
144
- loggedInUser,
145
- );
146
- } catch (error) {
147
- errors.push({
148
- row: i,
149
- errors: [
150
- {
151
- field: 'name',
152
- message:
153
- error.message || 'An error occurred while processing the item',
154
- },
155
- ],
156
- });
157
- }
158
- }
159
-
160
- const updatedItems = await this.listItemsRepo.findAllItemsByListType(
161
- listType,
162
- 'asc',
163
- orgId,
164
- );
165
-
166
- return {
167
- success: errors.length === 0,
168
- listType,
169
- errors,
170
- items: updatedItems,
171
- };
172
- }
173
-
174
- async deleteListMasterItem(listType: string, code: string): Promise<string> {
175
- const item = await this.listItemsRepo.findOneByCondition({
176
- code,
177
- listtype: listType,
178
- });
179
- if (!item) {
180
- throw new NotFoundException(
181
- `Item with name ${code} not found in type ${listType}`,
182
- );
183
- }
184
- await this.listItemsRepo.delete({ code, listtype: listType });
185
- return `Item with name ${code} deleted successfully from type ${listType}`;
186
- }
187
-
188
- async getListSourceType(
189
- loggedInUser: UserData,
190
- source: string,
191
- ): Promise<any> {
192
- const data = await this.dataSource.query(
193
- `SELECT name AS label, type AS value
194
- FROM cr_list_master
195
- WHERE organization_id = ? AND source = ?`,
196
- [loggedInUser.organization_id, source],
197
- );
198
- return data;
199
- }
200
-
201
- // async getResolvedListMasterItems(
202
- // loggedInUser: UserData,
203
- // entityData: any,
204
- // entityType: string,
205
- // ): Promise<any> {
206
- // const attributeItems =
207
- // await this.attributeMasterService.findAttributesByMappedEntityType(
208
- // entityType,
209
- // loggedInUser,
210
- // );
211
-
212
- // const masterAttributes = attributeItems.filter(
213
- // (attr) => attr.data_source_type === 'master',
214
- // );
215
-
216
- // const resolvedEntityData = { ...entityData };
217
-
218
- // for (const attr of masterAttributes) {
219
- // const field = attr.attribute_key;
220
- // const codeValue = entityData[field];
221
- // if (!codeValue) continue;
222
-
223
- // const listItems = await this.listItemsRepo.findById(codeValue);
224
- // if (!listItems) continue;
225
-
226
- // }
227
-
228
- // return resolvedEntityData;
229
- // }
230
-
231
- // async getResolvedListMasterItems(
232
- // loggedInUser: UserData,
233
- // entityData: any,
234
- // entityType: string,
235
- // ): Promise<any> {
236
- // // const resolvedEntityData = super.getResolvedData(
237
- // // loggedInUser,
238
- // // entityData,
239
- // // entityType,
240
- // // );
241
- // // const attributeItems =
242
- // // await this.attributeMasterService.findAttributesByMappedEntityType(
243
- // // entityType,
244
- // // loggedInUser,
245
- // // );
246
- // // const resolvedEntityData = { ...entityData };
247
- // // for (const attr of attributeItems) {
248
- // // const field = attr.attribute_key;
249
- // // const codeValue = entityData[field];
250
- // // if (!codeValue) continue;
251
- // // // ---------- ENTITY data_source_type ----------
252
- // // if (attr.data_source_type === 'entity') {
253
- // // if (Array.isArray(codeValue)) {
254
- // // const resolvedValues: string[] = [];
255
- // // for (const code of codeValue) {
256
- // // const item = await super.getEntityData(
257
- // // attr.datasource_list,
258
- // // code,
259
- // // loggedInUser,
260
- // // );
261
- // // resolvedValues.push(item?.[attr.data_source_attribute] ?? code);
262
- // // }
263
- // // resolvedEntityData[field] = resolvedValues;
264
- // // } else {
265
- // // const item = await super.getEntityData(
266
- // // attr.datasource_list,
267
- // // codeValue,
268
- // // loggedInUser,
269
- // // );
270
- // // resolvedEntityData[field] =
271
- // // item?.[attr.data_source_attribute] ?? codeValue;
272
- // // }
273
- // // }
274
- // // // ---------- MASTER data_source_type ----------
275
- // // else if (attr.data_source_type === 'master') {
276
- // // if (Array.isArray(codeValue)) {
277
- // // const resolvedValues: string[] = [];
278
- // // for (const code of codeValue) {
279
- // // const item = await this.listItemsRepo.findById(code);
280
- // // resolvedValues.push(item?.[attr.data_source_attribute] ?? code);
281
- // // }
282
- // // resolvedEntityData[field] = resolvedValues;
283
- // // } else {
284
- // // const item = await this.listItemsRepo.findById(codeValue);
285
- // // resolvedEntityData[field] =
286
- // // item?.[attr.data_source_attribute] ?? codeValue;
287
- // // }
288
- // // }
289
- // // }
290
- // // return resolvedEntityData;
291
- // }
292
- }
1
+ import { DataSource } from 'typeorm';
2
+ import {
3
+ BadRequestException,
4
+ forwardRef,
5
+ Inject,
6
+ Injectable,
7
+ NotFoundException,
8
+ } from '@nestjs/common';
9
+ import { ListMasterItemsRepository } from '../repository/list-master-items.repository';
10
+ import { EntityServiceImpl } from 'src/module/meta/service/entity-service-impl.service';
11
+ import { UserData } from 'src/module/user/entity/user.entity';
12
+ import { CodeGeneratorService } from 'src/utils/service/codeGenerator.service';
13
+ import { AttributeMasterService } from 'src/module/meta/service/attribute-master.service';
14
+
15
+ @Injectable()
16
+ export class ListMasterItemService extends EntityServiceImpl {
17
+ constructor(
18
+ private readonly listItemsRepo: ListMasterItemsRepository,
19
+ private readonly listMasterRepo: ListMasterItemsRepository,
20
+ @Inject(forwardRef(() => EntityServiceImpl))
21
+ private readonly entityServiceImpl: EntityServiceImpl,
22
+ protected readonly attributeMasterService: AttributeMasterService,
23
+ private readonly dataSource: DataSource,
24
+ ) {
25
+ super();
26
+ }
27
+
28
+ async getListMasterItemsByType(
29
+ listType: string,
30
+ organization_id: number,
31
+ search?: string,
32
+ ) {
33
+ // this method retrieves all list master items for a specific type and organization
34
+ return this.listItemsRepo.findAllItemsByListType(
35
+ listType,
36
+ 'asc',
37
+ organization_id,
38
+ search,
39
+ );
40
+ }
41
+
42
+ async createEntity(entityData: any, loggedInUser: UserData): Promise<any> {
43
+ try {
44
+ const generatedCode = CodeGeneratorService.generateCode(entityData.name);
45
+
46
+ entityData.code = generatedCode;
47
+ entityData.organization_id = loggedInUser.organization_id;
48
+ entityData.value = generatedCode;
49
+
50
+ return await this.entityServiceImpl.createEntity(
51
+ entityData,
52
+ loggedInUser,
53
+ );
54
+ } catch (error) {
55
+ throw error;
56
+ }
57
+ }
58
+
59
+ async updateEntity(entityData: any, loggedInUser: UserData): Promise<any> {
60
+ return await this.entityServiceImpl.updateEntity(entityData, loggedInUser);
61
+ }
62
+
63
+ async upsertListMasterItem(
64
+ listType: string,
65
+ items: any[],
66
+ loggedInUser,
67
+ ): Promise<any> {
68
+ const orgId = loggedInUser.organization_id;
69
+
70
+ const errors: any[] = [];
71
+
72
+ for (let i = 0; i < items.length; i++) {
73
+ const item = items[i];
74
+ const name = item.name?.trim();
75
+ const code = item.code?.trim();
76
+
77
+ try {
78
+ if (!name) {
79
+ throw new BadRequestException(`name is missing at index ${i}`);
80
+ }
81
+
82
+ if (code) {
83
+ // Check if code exists
84
+ const existingItem = await this.listItemsRepo.findOneByCondition({
85
+ code,
86
+ listtype: listType,
87
+ organization_id: orgId,
88
+ });
89
+
90
+ if (existingItem) {
91
+ // It's an update — check if name is changing to a used name
92
+ if (existingItem.name.toLowerCase() !== name.toLowerCase()) {
93
+ const nameExists = await this.listItemsRepo.findOneByCondition({
94
+ name,
95
+ listtype: listType,
96
+ organization_id: orgId,
97
+ });
98
+
99
+ if (nameExists && nameExists.id !== existingItem.id) {
100
+ throw new BadRequestException(
101
+ `${name} already used by another item`,
102
+ );
103
+ }
104
+ }
105
+
106
+ // Update the existing item
107
+ await this.updateEntity(
108
+ {
109
+ ...existingItem,
110
+ ...item,
111
+ name,
112
+ listtype: listType,
113
+ },
114
+ loggedInUser,
115
+ );
116
+
117
+ continue;
118
+ }
119
+ }
120
+
121
+ // Creation path
122
+ const nameExists = await this.listItemsRepo.findOneByCondition({
123
+ name,
124
+ listtype: listType,
125
+ organization_id: orgId,
126
+ });
127
+
128
+ if (nameExists) {
129
+ throw new BadRequestException(
130
+ `list item with name ${name} already exists`,
131
+ );
132
+ }
133
+
134
+ const finalCode = code || ''; // Could generate code here if needed
135
+
136
+ await this.createEntity(
137
+ {
138
+ ...item,
139
+ name,
140
+ code: finalCode,
141
+ listtype: listType,
142
+ value: '',
143
+ },
144
+ loggedInUser,
145
+ );
146
+ } catch (error) {
147
+ errors.push({
148
+ row: i,
149
+ errors: [
150
+ {
151
+ field: 'name',
152
+ message:
153
+ error.message || 'An error occurred while processing the item',
154
+ },
155
+ ],
156
+ });
157
+ }
158
+ }
159
+
160
+ const updatedItems = await this.listItemsRepo.findAllItemsByListType(
161
+ listType,
162
+ 'asc',
163
+ orgId,
164
+ );
165
+
166
+ return {
167
+ success: errors.length === 0,
168
+ listType,
169
+ errors,
170
+ items: updatedItems,
171
+ };
172
+ }
173
+
174
+ async deleteListMasterItem(listType: string, code: string): Promise<string> {
175
+ const item = await this.listItemsRepo.findOneByCondition({
176
+ code,
177
+ listtype: listType,
178
+ });
179
+ if (!item) {
180
+ throw new NotFoundException(
181
+ `Item with name ${code} not found in type ${listType}`,
182
+ );
183
+ }
184
+ await this.listItemsRepo.delete({ code, listtype: listType });
185
+ return `Item with name ${code} deleted successfully from type ${listType}`;
186
+ }
187
+
188
+ async getListSourceType(
189
+ loggedInUser: UserData,
190
+ source: string,
191
+ ): Promise<any> {
192
+ const data = await this.dataSource.query(
193
+ `SELECT name AS label, type AS value
194
+ FROM cr_list_master
195
+ WHERE organization_id = ? AND source = ?`,
196
+ [loggedInUser.organization_id, source],
197
+ );
198
+ return data;
199
+ }
200
+
201
+ // async getResolvedListMasterItems(
202
+ // loggedInUser: UserData,
203
+ // entityData: any,
204
+ // entityType: string,
205
+ // ): Promise<any> {
206
+ // const attributeItems =
207
+ // await this.attributeMasterService.findAttributesByMappedEntityType(
208
+ // entityType,
209
+ // loggedInUser,
210
+ // );
211
+
212
+ // const masterAttributes = attributeItems.filter(
213
+ // (attr) => attr.data_source_type === 'master',
214
+ // );
215
+
216
+ // const resolvedEntityData = { ...entityData };
217
+
218
+ // for (const attr of masterAttributes) {
219
+ // const field = attr.attribute_key;
220
+ // const codeValue = entityData[field];
221
+ // if (!codeValue) continue;
222
+
223
+ // const listItems = await this.listItemsRepo.findById(codeValue);
224
+ // if (!listItems) continue;
225
+
226
+ // }
227
+
228
+ // return resolvedEntityData;
229
+ // }
230
+
231
+ // async getResolvedListMasterItems(
232
+ // loggedInUser: UserData,
233
+ // entityData: any,
234
+ // entityType: string,
235
+ // ): Promise<any> {
236
+ // // const resolvedEntityData = super.getResolvedData(
237
+ // // loggedInUser,
238
+ // // entityData,
239
+ // // entityType,
240
+ // // );
241
+ // // const attributeItems =
242
+ // // await this.attributeMasterService.findAttributesByMappedEntityType(
243
+ // // entityType,
244
+ // // loggedInUser,
245
+ // // );
246
+ // // const resolvedEntityData = { ...entityData };
247
+ // // for (const attr of attributeItems) {
248
+ // // const field = attr.attribute_key;
249
+ // // const codeValue = entityData[field];
250
+ // // if (!codeValue) continue;
251
+ // // // ---------- ENTITY data_source_type ----------
252
+ // // if (attr.data_source_type === 'entity') {
253
+ // // if (Array.isArray(codeValue)) {
254
+ // // const resolvedValues: string[] = [];
255
+ // // for (const code of codeValue) {
256
+ // // const item = await super.getEntityData(
257
+ // // attr.datasource_list,
258
+ // // code,
259
+ // // loggedInUser,
260
+ // // );
261
+ // // resolvedValues.push(item?.[attr.data_source_attribute] ?? code);
262
+ // // }
263
+ // // resolvedEntityData[field] = resolvedValues;
264
+ // // } else {
265
+ // // const item = await super.getEntityData(
266
+ // // attr.datasource_list,
267
+ // // codeValue,
268
+ // // loggedInUser,
269
+ // // );
270
+ // // resolvedEntityData[field] =
271
+ // // item?.[attr.data_source_attribute] ?? codeValue;
272
+ // // }
273
+ // // }
274
+ // // // ---------- MASTER data_source_type ----------
275
+ // // else if (attr.data_source_type === 'master') {
276
+ // // if (Array.isArray(codeValue)) {
277
+ // // const resolvedValues: string[] = [];
278
+ // // for (const code of codeValue) {
279
+ // // const item = await this.listItemsRepo.findById(code);
280
+ // // resolvedValues.push(item?.[attr.data_source_attribute] ?? code);
281
+ // // }
282
+ // // resolvedEntityData[field] = resolvedValues;
283
+ // // } else {
284
+ // // const item = await this.listItemsRepo.findById(codeValue);
285
+ // // resolvedEntityData[field] =
286
+ // // item?.[attr.data_source_attribute] ?? codeValue;
287
+ // // }
288
+ // // }
289
+ // // }
290
+ // // return resolvedEntityData;
291
+ // }
292
+ }