rez_core 3.1.180 → 3.1.181

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 +25 -25
  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/notification/service/notification.service.js +12 -12
  23. package/dist/module/user/controller/login.controller.js +18 -18
  24. package/dist/module/user/service/role.service.js +4 -4
  25. package/dist/module/user/service/user-session.service.js +2 -2
  26. package/dist/module/workflow/repository/action.repository.js +16 -16
  27. package/dist/module/workflow/repository/comm-template.repository.js +6 -6
  28. package/dist/module/workflow/repository/form-master.repository.js +2 -2
  29. package/dist/module/workflow/repository/stage-group.repository.js +23 -23
  30. package/dist/module/workflow/repository/stage-movement.repository.js +11 -11
  31. package/dist/module/workflow/repository/stage.repository.js +8 -8
  32. package/dist/module/workflow/service/action-template-mapping.service.js +10 -10
  33. package/dist/module/workflow/service/action.service.js +7 -7
  34. package/dist/module/workflow/service/entity-modification.service.js +6 -6
  35. package/dist/module/workflow/service/stage-group.service.js +5 -5
  36. package/dist/module/workflow/service/stage.service.js +2 -2
  37. package/dist/module/workflow/service/task.service.js +33 -33
  38. package/dist/module/workflow/service/workflow-list-master.service.js +15 -15
  39. package/dist/module/workflow/service/workflow-meta.service.js +50 -50
  40. package/dist/module/workflow/service/workflow.service.js +2 -2
  41. package/dist/tsconfig.build.tsbuildinfo +1 -1
  42. package/dist/utils/service/reflection-helper.service.js +2 -2
  43. package/docs/modules/event-driven-integration-design.md +91 -91
  44. package/docs/modules/integration.md +250 -250
  45. package/eslint.config.mjs +34 -34
  46. package/nest-cli.json +14 -14
  47. package/package.json +118 -118
  48. package/src/app.controller.ts +12 -12
  49. package/src/app.module.ts +49 -49
  50. package/src/app.service.ts +8 -8
  51. package/src/config/config.module.ts +18 -18
  52. package/src/config/database.config.ts +23 -23
  53. package/src/constant/global.constant.ts +67 -67
  54. package/src/core.module.ts +81 -81
  55. package/src/decorators/roles.decorator.ts +7 -7
  56. package/src/dtos/response.dto.ts +6 -6
  57. package/src/dtos/response.ts +5 -5
  58. package/src/index.ts +1 -1
  59. package/src/module/auth/auth.module.ts +49 -49
  60. package/src/module/auth/controller/auth.controller.ts +28 -28
  61. package/src/module/auth/guards/google-auth.guard.ts +9 -9
  62. package/src/module/auth/guards/jwt.guard.ts +22 -22
  63. package/src/module/auth/guards/role.guard.ts +68 -68
  64. package/src/module/auth/services/auth.service.ts +50 -50
  65. package/src/module/auth/services/jwt.service.ts +11 -11
  66. package/src/module/auth/strategies/google.strategy.ts +54 -54
  67. package/src/module/auth/strategies/jwt.strategy.ts +58 -58
  68. package/src/module/auth/strategies/local.strategy.ts +13 -13
  69. package/src/module/dashboard/controller/dashboard.controller.ts +36 -36
  70. package/src/module/dashboard/dashboard.module.ts +21 -21
  71. package/src/module/dashboard/entity/dashboard_page_data.entity.ts +27 -27
  72. package/src/module/dashboard/entity/widget_master.entity.ts +18 -18
  73. package/src/module/dashboard/repository/dashboard.repository.ts +42 -42
  74. package/src/module/dashboard/service/dashboard.service.ts +73 -73
  75. package/src/module/dev/dev.module.ts +12 -12
  76. package/src/module/dev/service/dev.service.ts +7 -7
  77. package/src/module/enterprise/controller/organization.controller.ts +36 -36
  78. package/src/module/enterprise/enterprise.module.ts +30 -30
  79. package/src/module/enterprise/entity/enterprise.entity.ts +37 -37
  80. package/src/module/enterprise/entity/organization-app-mapping.entity.ts +13 -13
  81. package/src/module/enterprise/entity/organization.entity.ts +92 -92
  82. package/src/module/enterprise/repository/enterprise.repository.ts +31 -31
  83. package/src/module/enterprise/repository/organization.repository.ts +26 -26
  84. package/src/module/enterprise/repository/school.repository.ts +281 -281
  85. package/src/module/enterprise/service/brand.service.ts +5 -5
  86. package/src/module/enterprise/service/enterprise.service.ts +16 -16
  87. package/src/module/enterprise/service/organization-app-mapping.service.ts +4 -4
  88. package/src/module/enterprise/service/organization.service.ts +145 -145
  89. package/src/module/filter/controller/filter.controller.ts +84 -84
  90. package/src/module/filter/dto/filter-request.dto.ts +38 -38
  91. package/src/module/filter/entity/saved-filter-detail.entity.ts +41 -41
  92. package/src/module/filter/entity/saved-filter-master.entity.ts +23 -23
  93. package/src/module/filter/filter.module.ts +31 -31
  94. package/src/module/filter/repository/saved-filter.repository.ts +168 -168
  95. package/src/module/filter/service/filter-evaluator.service.ts +86 -86
  96. package/src/module/filter/service/filter.service.ts +841 -841
  97. package/src/module/filter/service/saved-filter.service.ts +170 -170
  98. package/src/module/ics/controller/ics.controller.ts +21 -21
  99. package/src/module/ics/dto/ics.dto.ts +55 -55
  100. package/src/module/ics/ics.module.ts +13 -13
  101. package/src/module/ics/service/ics.service.ts +57 -57
  102. package/src/module/integration/controller/calender-event.controller.ts +31 -31
  103. package/src/module/integration/controller/integration.controller.ts +662 -662
  104. package/src/module/integration/controller/wrapper.controller.ts +37 -37
  105. package/src/module/integration/dto/create-config.dto.ts +526 -526
  106. package/src/module/integration/entity/integration-config.entity.ts +112 -112
  107. package/src/module/integration/entity/integration-entity-mapper.entity.ts +14 -14
  108. package/src/module/integration/entity/integration-source.entity.ts +17 -17
  109. package/src/module/integration/entity/user-integration.entity.ts +71 -71
  110. package/src/module/integration/examples/usage.example.ts +338 -338
  111. package/src/module/integration/factories/base.factory.ts +7 -7
  112. package/src/module/integration/factories/email.factory.ts +49 -49
  113. package/src/module/integration/factories/integration.factory.ts +121 -121
  114. package/src/module/integration/factories/sms.factory.ts +51 -51
  115. package/src/module/integration/factories/telephone.factory.ts +41 -41
  116. package/src/module/integration/factories/whatsapp.factory.ts +56 -56
  117. package/src/module/integration/integration.module.ts +110 -110
  118. package/src/module/integration/service/calendar-event.service.ts +118 -118
  119. package/src/module/integration/service/integration-entity-mapper.service.ts +17 -17
  120. package/src/module/integration/service/integration-queue.service.ts +229 -229
  121. package/src/module/integration/service/integration.service.ts +2572 -2572
  122. package/src/module/integration/service/oauth.service.ts +224 -224
  123. package/src/module/integration/service/wrapper.service.ts +457 -457
  124. package/src/module/integration/strategies/email/gmail-api.strategy.ts +280 -280
  125. package/src/module/integration/strategies/email/outlook-api.strategy.ts +44 -44
  126. package/src/module/integration/strategies/email/outlook.strategy.ts +64 -64
  127. package/src/module/integration/strategies/email/sendgrid-api.strategy.ts +260 -260
  128. package/src/module/integration/strategies/integration.strategy.ts +97 -97
  129. package/src/module/integration/strategies/sms/gupshup-sms.strategy.ts +146 -146
  130. package/src/module/integration/strategies/sms/msg91-sms.strategy.ts +164 -164
  131. package/src/module/integration/strategies/sms/tubelight-sms.strategy.ts +163 -163
  132. package/src/module/integration/strategies/telephone/ozonetel-voice.strategy.ts +238 -238
  133. package/src/module/integration/strategies/telephone/tubelight-voice.strategy.ts +210 -210
  134. package/src/module/integration/strategies/whatsapp/gupshup-whatsapp.strategy.ts +359 -359
  135. package/src/module/integration/strategies/whatsapp/tubelight-whatsapp.strategy.ts +372 -372
  136. package/src/module/integration/strategies/whatsapp/whatsapp-cloud.strategy.ts +403 -403
  137. package/src/module/integration/strategies/whatsapp/whatsapp.strategy.ts +57 -57
  138. package/src/module/layout/controller/layout.controller.ts +47 -47
  139. package/src/module/layout/entity/header-items.entity.ts +28 -28
  140. package/src/module/layout/entity/header-section.entity.ts +19 -19
  141. package/src/module/layout/layout.module.ts +21 -21
  142. package/src/module/layout/repository/header-items.repository.ts +18 -18
  143. package/src/module/layout/repository/header-section.repository.ts +22 -22
  144. package/src/module/layout/service/header-section.service.ts +25 -25
  145. package/src/module/layout_preference/controller/layout_preference.controller.ts +47 -47
  146. package/src/module/layout_preference/entity/layout_preference.entity.ts +28 -28
  147. package/src/module/layout_preference/layout_preference.module.ts +18 -18
  148. package/src/module/layout_preference/repository/layout_preference.repository.ts +30 -30
  149. package/src/module/layout_preference/service/layout_preference.service.ts +172 -172
  150. package/src/module/lead/controller/lead.controller.ts +30 -30
  151. package/src/module/lead/lead.module.ts +14 -14
  152. package/src/module/lead/repository/lead.repository.ts +41 -41
  153. package/src/module/lead/service/lead.service.ts +54 -54
  154. package/src/module/listmaster/controller/list-master.controller.ts +187 -187
  155. package/src/module/listmaster/entity/list-master-items.entity.ts +41 -41
  156. package/src/module/listmaster/entity/list-master.entity.ts +32 -32
  157. package/src/module/listmaster/listmaster.module.ts +44 -44
  158. package/src/module/listmaster/repository/list-master-items.repository.ts +169 -169
  159. package/src/module/listmaster/repository/list-master.repository.ts +46 -46
  160. package/src/module/listmaster/service/list-master-engine.ts +19 -19
  161. package/src/module/listmaster/service/list-master-extension.interface.ts +4 -4
  162. package/src/module/listmaster/service/list-master-item.service.ts +292 -292
  163. package/src/module/listmaster/service/list-master-registry.ts +15 -15
  164. package/src/module/listmaster/service/list-master.service.ts +424 -424
  165. package/src/module/mapper/controller/field-mapper.controller.ts +69 -69
  166. package/src/module/mapper/controller/mapper.controller.ts +14 -14
  167. package/src/module/mapper/dto/field-mapper.dto.ts +14 -14
  168. package/src/module/mapper/entity/field-lovs.entity.ts +19 -19
  169. package/src/module/mapper/entity/field-mapper.entity.ts +53 -53
  170. package/src/module/mapper/entity/mapper.entity.ts +16 -16
  171. package/src/module/mapper/mapper.module.ts +34 -34
  172. package/src/module/mapper/repository/field-lovs.repository.ts +35 -35
  173. package/src/module/mapper/repository/field-mapper.repository.ts +42 -42
  174. package/src/module/mapper/repository/mapper.repository.ts +15 -15
  175. package/src/module/mapper/service/field-mapper.service.ts +223 -223
  176. package/src/module/mapper/service/mapper.service.ts +72 -72
  177. package/src/module/master/controller/master.controller.ts +74 -74
  178. package/src/module/master/service/master.service.ts +483 -483
  179. package/src/module/meta/controller/app-master.controller.ts +38 -38
  180. package/src/module/meta/controller/attribute-master.controller.ts +66 -66
  181. package/src/module/meta/controller/entity-dynamic.controller.ts +125 -125
  182. package/src/module/meta/controller/entity-master.controller.ts +28 -28
  183. package/src/module/meta/controller/entity-relation.controller.ts +36 -36
  184. package/src/module/meta/controller/entity.controller.ts +385 -385
  185. package/src/module/meta/controller/media.controller.ts +82 -82
  186. package/src/module/meta/controller/meta.controller.ts +96 -96
  187. package/src/module/meta/controller/view-master.controller.ts +86 -86
  188. package/src/module/meta/dto/entity-list-data.dto.ts +6 -6
  189. package/src/module/meta/dto/entity-tab.dto.ts +4 -4
  190. package/src/module/meta/dto/entity-table.dto.ts +9 -9
  191. package/src/module/meta/entity/app-master.entity.ts +34 -34
  192. package/src/module/meta/entity/attribute-master.entity.ts +87 -87
  193. package/src/module/meta/entity/base-entity.entity.ts +75 -75
  194. package/src/module/meta/entity/entity-master.entity.ts +78 -78
  195. package/src/module/meta/entity/entity-relation-data.entity.ts +29 -29
  196. package/src/module/meta/entity/entity-relation.entity.ts +23 -23
  197. package/src/module/meta/entity/entity-table-column.entity.ts +61 -61
  198. package/src/module/meta/entity/entity-table.entity.ts +50 -50
  199. package/src/module/meta/entity/media-data.entity.ts +32 -32
  200. package/src/module/meta/entity/preference.entity.ts +62 -62
  201. package/src/module/meta/entity/view-master.entity.ts +41 -41
  202. package/src/module/meta/entity.module.ts +156 -156
  203. package/src/module/meta/repository/app-master.repository.ts +20 -20
  204. package/src/module/meta/repository/attribute-master.repository.ts +110 -110
  205. package/src/module/meta/repository/entity-master.repository.ts +69 -69
  206. package/src/module/meta/repository/entity-table-column.repository.ts +39 -39
  207. package/src/module/meta/repository/entity-table.repository.ts +53 -53
  208. package/src/module/meta/repository/media-data.repository.ts +50 -50
  209. package/src/module/meta/repository/preference.repository.ts +20 -20
  210. package/src/module/meta/repository/user-app-mapping.repository.ts +28 -28
  211. package/src/module/meta/repository/view-master.repository.ts +42 -42
  212. package/src/module/meta/service/app-master.service.ts +37 -37
  213. package/src/module/meta/service/attribute-master.service.ts +117 -117
  214. package/src/module/meta/service/common.service.ts +9 -9
  215. package/src/module/meta/service/entity-dynamic.service.ts +762 -762
  216. package/src/module/meta/service/entity-list.service.ts +205 -205
  217. package/src/module/meta/service/entity-master.service.ts +164 -164
  218. package/src/module/meta/service/entity-realation-data.service.ts +9 -9
  219. package/src/module/meta/service/entity-relation.service.ts +69 -69
  220. package/src/module/meta/service/entity-service-impl.service.ts +524 -524
  221. package/src/module/meta/service/entity-table-column.service.ts +39 -39
  222. package/src/module/meta/service/entity-table.service.ts +150 -150
  223. package/src/module/meta/service/entity-validation.service.ts +185 -185
  224. package/src/module/meta/service/entity.service.ts +67 -67
  225. package/src/module/meta/service/field-group.service.ts +103 -103
  226. package/src/module/meta/service/media-data.service.ts +149 -149
  227. package/src/module/meta/service/populate-meta.service.ts +173 -173
  228. package/src/module/meta/service/preference.service.ts +16 -16
  229. package/src/module/meta/service/resolver.service.ts +240 -240
  230. package/src/module/meta/service/section-master.service.ts +104 -104
  231. package/src/module/meta/service/update-form-json.service.ts +22 -22
  232. package/src/module/meta/service/user-app-mapping.service.ts +17 -17
  233. package/src/module/meta/service/view-master.service.ts +111 -111
  234. package/src/module/module/controller/menu.controller.ts +15 -15
  235. package/src/module/module/controller/module-access.controller.ts +132 -132
  236. package/src/module/module/entity/menu.entity.ts +43 -43
  237. package/src/module/module/entity/module-access.entity.ts +25 -25
  238. package/src/module/module/entity/module-action.entity.ts +17 -17
  239. package/src/module/module/entity/module.entity.ts +52 -52
  240. package/src/module/module/module.module.ts +42 -42
  241. package/src/module/module/repository/menu.repository.ts +184 -184
  242. package/src/module/module/repository/module-access.repository.ts +331 -331
  243. package/src/module/module/service/menu.service.ts +82 -82
  244. package/src/module/module/service/module-access.service.ts +209 -209
  245. package/src/module/notification/controller/notification.controller.ts +58 -58
  246. package/src/module/notification/controller/otp.controller.ts +117 -117
  247. package/src/module/notification/entity/notification.entity.ts +26 -26
  248. package/src/module/notification/entity/otp.entity.ts +28 -28
  249. package/src/module/notification/firebase-admin.config.ts +22 -22
  250. package/src/module/notification/notification.module.ts +69 -69
  251. package/src/module/notification/repository/otp.repository.ts +27 -27
  252. package/src/module/notification/service/email.service.ts +127 -127
  253. package/src/module/notification/service/notification.service.ts +138 -138
  254. package/src/module/notification/service/otp.service.ts +125 -125
  255. package/src/module/third-party-module/entity/third-party-api-registry.entity.ts +52 -52
  256. package/src/module/third-party-module/repository/third-party-api-registry.repository.ts +20 -20
  257. package/src/module/third-party-module/service/api-registry.service.ts +13 -13
  258. package/src/module/third-party-module/third-party.module.ts +12 -12
  259. package/src/module/user/controller/login.controller.ts +197 -197
  260. package/src/module/user/controller/user.controller.ts +40 -40
  261. package/src/module/user/dto/create-user.dto.ts +62 -62
  262. package/src/module/user/dto/update-user.dto.ts +4 -4
  263. package/src/module/user/entity/role.entity.ts +33 -33
  264. package/src/module/user/entity/user-role-mapping.entity.ts +38 -38
  265. package/src/module/user/entity/user-session.entity.ts +61 -61
  266. package/src/module/user/entity/user.entity.ts +68 -68
  267. package/src/module/user/repository/role.repository.ts +96 -96
  268. package/src/module/user/repository/user-role-mapping.repository.ts +126 -126
  269. package/src/module/user/repository/user.repository.ts +50 -50
  270. package/src/module/user/repository/userSession.repository.ts +33 -33
  271. package/src/module/user/service/login.service.ts +280 -280
  272. package/src/module/user/service/role.service.ts +189 -189
  273. package/src/module/user/service/user-role-mapping.service.ts +98 -98
  274. package/src/module/user/service/user-session.service.ts +168 -168
  275. package/src/module/user/service/user.service.ts +353 -353
  276. package/src/module/user/user.module.ts +65 -65
  277. package/src/module/workflow/controller/action-category.controller.ts +54 -54
  278. package/src/module/workflow/controller/action-resource-mapping.controller.ts +23 -23
  279. package/src/module/workflow/controller/action-template-mapping.controller.ts +35 -35
  280. package/src/module/workflow/controller/action.controller.ts +95 -95
  281. package/src/module/workflow/controller/activity-log.controller.ts +55 -55
  282. package/src/module/workflow/controller/comm-template.controller.ts +34 -34
  283. package/src/module/workflow/controller/entity-modification.controller.ts +35 -35
  284. package/src/module/workflow/controller/form-master.controller.ts +43 -43
  285. package/src/module/workflow/controller/stage-group.controller.ts +48 -48
  286. package/src/module/workflow/controller/stage.controller.ts +50 -50
  287. package/src/module/workflow/controller/task.controller.ts +77 -77
  288. package/src/module/workflow/controller/workflow-list-master.controller.ts +44 -44
  289. package/src/module/workflow/controller/workflow-meta.controller.ts +80 -80
  290. package/src/module/workflow/controller/workflow.controller.ts +67 -67
  291. package/src/module/workflow/entity/action-category.entity.ts +38 -38
  292. package/src/module/workflow/entity/action-data.entity.ts +55 -55
  293. package/src/module/workflow/entity/action-resources-mapping.entity.ts +29 -29
  294. package/src/module/workflow/entity/action-template-mapping.entity.ts +17 -17
  295. package/src/module/workflow/entity/action.entity.ts +50 -50
  296. package/src/module/workflow/entity/activity-log.entity.ts +43 -43
  297. package/src/module/workflow/entity/comm-template.entity.ts +43 -43
  298. package/src/module/workflow/entity/entity-modification.entity.ts +38 -38
  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 +59 -59
  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 +172 -172
  318. package/src/module/workflow/repository/task.repository.ts +117 -117
  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 +263 -263
  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 +303 -303
  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 +199 -199
  333. package/src/module/workflow/service/task.service.ts +531 -531
  334. package/src/module/workflow/service/workflow-list-master.service.ts +60 -60
  335. package/src/module/workflow/service/workflow-meta.service.ts +581 -581
  336. package/src/module/workflow/service/workflow.service.ts +205 -205
  337. package/src/module/workflow/workflow.module.ts +172 -172
  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 +345 -345
  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 +27 -27
  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,189 +1,189 @@
1
- import { BadRequestException, Inject, Injectable } from '@nestjs/common';
2
- import { EntityServiceImpl } from '../../meta/service/entity-service-impl.service';
3
- import { BaseEntity } from '../../meta/entity/base-entity.entity';
4
- import { UserData } from '../entity/user.entity';
5
- import { Role } from '../entity/role.entity';
6
- import { ENTITYTYPE_ROLE, STATUS_INACTIVE } from 'src/constant/global.constant';
7
- import { RoleRepository } from '../repository/role.repository';
8
- import { EntityManager, Repository } from 'typeorm';
9
- import { InjectRepository } from '@nestjs/typeorm';
10
- import { ModuleAccess } from '../../module/entity/module-access.entity';
11
- import { ServiceResult } from 'src/dtos/response';
12
- import { ListMasterService } from 'src/module/listmaster/service/list-master.service';
13
-
14
- @Injectable()
15
- export class RoleService extends EntityServiceImpl {
16
- constructor(
17
- private readonly roleRepository: RoleRepository,
18
- private readonly entityManager: EntityManager,
19
- @InjectRepository(ModuleAccess)
20
- private readonly moduleAccessRepo: Repository<ModuleAccess>,
21
- @Inject('ListMasterService')
22
- private readonly listMasterService: ListMasterService,
23
- ) {
24
- super();
25
- }
26
-
27
- async createEntity(
28
- entityData: BaseEntity,
29
- loggedInUser: UserData,
30
- ): Promise<ServiceResult<BaseEntity>> {
31
- const role = entityData as Role;
32
-
33
- // if level_type and level_id are not provided, use loggedInUser's values
34
- role.level_type = entityData.level_type || loggedInUser.level_type;
35
- role.level_id = entityData.level_id || loggedInUser.level_id;
36
- role.appcode = entityData.appcode || loggedInUser.appcode;
37
-
38
- if (
39
- await this.roleRepository.isRoleNameWithLevelExists(role.name, {
40
- organization_id: loggedInUser?.organization_id || undefined,
41
- level_type: entityData.level_type || loggedInUser?.level_type,
42
- level_id:
43
- parseInt(entityData.level_id) ||
44
- parseInt(loggedInUser?.level_id || '', 10),
45
- })
46
- ) {
47
- return { success: false, error: 'Role name already exists.' };
48
- }
49
-
50
- const sourceRole = role.copy_from_role_id
51
- ? await this.getEntityData(
52
- ENTITYTYPE_ROLE,
53
- role.copy_from_role_id,
54
- loggedInUser,
55
- )
56
- : null;
57
-
58
- if (role.copy_from_role_id && !sourceRole) {
59
- return { success: false, error: 'Source role not found.' };
60
- }
61
-
62
- const savedRole = await super.createEntity(role, loggedInUser);
63
- if (sourceRole) {
64
- const sourcePermissions = await this.moduleAccessRepo.find({
65
- where: { role_code: sourceRole.code },
66
- });
67
-
68
- const clonedPermissions = sourcePermissions.map((perm) =>
69
- this.moduleAccessRepo.create({
70
- role_code: savedRole.code,
71
- module_code: perm.module_code,
72
- action_type: perm.action_type,
73
- access_flag: perm.access_flag,
74
- level_type: perm.level_type,
75
- appcode: perm.appcode,
76
- }),
77
- );
78
-
79
- await this.moduleAccessRepo.save(clonedPermissions);
80
- }
81
- return { success: true, data: savedRole };
82
- }
83
-
84
- async updateEntity(
85
- entityData: BaseEntity,
86
- loggedInUser: UserData,
87
- ): Promise<ServiceResult<BaseEntity>> {
88
- if (!entityData.name) {
89
- return { success: false, error: 'Role name is required' };
90
- }
91
- const role = entityData as Role;
92
-
93
- const resolveStatus = await this.listMasterService.getResolvedListCode(
94
- STATUS_INACTIVE,
95
- loggedInUser?.organization_id || 0,
96
- );
97
-
98
- if (entityData.status == resolveStatus.id) {
99
- //get role by id
100
- const existingRole = await this.getEntityData(
101
- ENTITYTYPE_ROLE,
102
- entityData.id,
103
- loggedInUser,
104
- );
105
-
106
- if (!existingRole) {
107
- return { success: false, error: 'Role not found' };
108
- }
109
-
110
- const associatedUsers = await this.entityManager.query(`SELECT map.*
111
- FROM sso_user_role_mapping map
112
- JOIN sso_user usr ON map.user_id = usr.id
113
- WHERE usr.status = ${resolveStatus.id}
114
- and map.role_id = ${existingRole?.id}`);
115
-
116
- if (associatedUsers.length > 0) {
117
- return {
118
- success: false,
119
- error: 'Cannot deactivate role as it is associated with active users',
120
- };
121
- }
122
-
123
- if (role.is_system === 1) {
124
- return {
125
- success: false,
126
- error: 'Cannot deactivate system role',
127
- };
128
- }
129
- }
130
-
131
- if (
132
- await this.roleRepository.isRoleNameExists(entityData.name, {
133
- excludeRoleId: entityData.id,
134
- organization_id: loggedInUser?.organization_id,
135
- })
136
- ) {
137
- return {
138
- success: false,
139
- error: 'Role name already exists.',
140
- };
141
- }
142
-
143
- const { copy_from_role_id, ...persistableData } = role;
144
- const updatedRole = await super.updateEntity(persistableData, loggedInUser);
145
-
146
- if (role.copy_from_role_id) {
147
- const sourceRole = await this.getEntityData(
148
- ENTITYTYPE_ROLE,
149
- role.copy_from_role_id,
150
- loggedInUser,
151
- );
152
-
153
- if (!sourceRole) {
154
- return {
155
- success: false,
156
- error: 'Source role not found',
157
- };
158
- }
159
-
160
- await this.moduleAccessRepo.delete({ role_code: role.code });
161
-
162
- const sourcePermissions = await this.moduleAccessRepo.find({
163
- where: { role_code: sourceRole.code },
164
- });
165
-
166
- const clonedPermissions = sourcePermissions.map((perm) =>
167
- this.moduleAccessRepo.create({
168
- role_code: role.code,
169
- module_code: perm.module_code,
170
- action_type: perm.action_type,
171
- access_flag: perm.access_flag,
172
- appcode: perm.appcode,
173
- level_type: perm.level_type,
174
- }),
175
- );
176
-
177
- await this.moduleAccessRepo.save(clonedPermissions);
178
- }
179
- return { success: true, data: updatedRole };
180
- }
181
-
182
- async getDefaultRole(data: {
183
- is_factory?: boolean;
184
- level_id?: number;
185
- level_type?: string;
186
- }): Promise<Role[] | null> {
187
- return await this.roleRepository.find(data);
188
- }
189
- }
1
+ import { BadRequestException, Inject, Injectable } from '@nestjs/common';
2
+ import { EntityServiceImpl } from '../../meta/service/entity-service-impl.service';
3
+ import { BaseEntity } from '../../meta/entity/base-entity.entity';
4
+ import { UserData } from '../entity/user.entity';
5
+ import { Role } from '../entity/role.entity';
6
+ import { ENTITYTYPE_ROLE, STATUS_INACTIVE } from 'src/constant/global.constant';
7
+ import { RoleRepository } from '../repository/role.repository';
8
+ import { EntityManager, Repository } from 'typeorm';
9
+ import { InjectRepository } from '@nestjs/typeorm';
10
+ import { ModuleAccess } from '../../module/entity/module-access.entity';
11
+ import { ServiceResult } from 'src/dtos/response';
12
+ import { ListMasterService } from 'src/module/listmaster/service/list-master.service';
13
+
14
+ @Injectable()
15
+ export class RoleService extends EntityServiceImpl {
16
+ constructor(
17
+ private readonly roleRepository: RoleRepository,
18
+ private readonly entityManager: EntityManager,
19
+ @InjectRepository(ModuleAccess)
20
+ private readonly moduleAccessRepo: Repository<ModuleAccess>,
21
+ @Inject('ListMasterService')
22
+ private readonly listMasterService: ListMasterService,
23
+ ) {
24
+ super();
25
+ }
26
+
27
+ async createEntity(
28
+ entityData: BaseEntity,
29
+ loggedInUser: UserData,
30
+ ): Promise<ServiceResult<BaseEntity>> {
31
+ const role = entityData as Role;
32
+
33
+ // if level_type and level_id are not provided, use loggedInUser's values
34
+ role.level_type = entityData.level_type || loggedInUser.level_type;
35
+ role.level_id = entityData.level_id || loggedInUser.level_id;
36
+ role.appcode = entityData.appcode || loggedInUser.appcode;
37
+
38
+ if (
39
+ await this.roleRepository.isRoleNameWithLevelExists(role.name, {
40
+ organization_id: loggedInUser?.organization_id || undefined,
41
+ level_type: entityData.level_type || loggedInUser?.level_type,
42
+ level_id:
43
+ parseInt(entityData.level_id) ||
44
+ parseInt(loggedInUser?.level_id || '', 10),
45
+ })
46
+ ) {
47
+ return { success: false, error: 'Role name already exists.' };
48
+ }
49
+
50
+ const sourceRole = role.copy_from_role_id
51
+ ? await this.getEntityData(
52
+ ENTITYTYPE_ROLE,
53
+ role.copy_from_role_id,
54
+ loggedInUser,
55
+ )
56
+ : null;
57
+
58
+ if (role.copy_from_role_id && !sourceRole) {
59
+ return { success: false, error: 'Source role not found.' };
60
+ }
61
+
62
+ const savedRole = await super.createEntity(role, loggedInUser);
63
+ if (sourceRole) {
64
+ const sourcePermissions = await this.moduleAccessRepo.find({
65
+ where: { role_code: sourceRole.code },
66
+ });
67
+
68
+ const clonedPermissions = sourcePermissions.map((perm) =>
69
+ this.moduleAccessRepo.create({
70
+ role_code: savedRole.code,
71
+ module_code: perm.module_code,
72
+ action_type: perm.action_type,
73
+ access_flag: perm.access_flag,
74
+ level_type: perm.level_type,
75
+ appcode: perm.appcode,
76
+ }),
77
+ );
78
+
79
+ await this.moduleAccessRepo.save(clonedPermissions);
80
+ }
81
+ return { success: true, data: savedRole };
82
+ }
83
+
84
+ async updateEntity(
85
+ entityData: BaseEntity,
86
+ loggedInUser: UserData,
87
+ ): Promise<ServiceResult<BaseEntity>> {
88
+ if (!entityData.name) {
89
+ return { success: false, error: 'Role name is required' };
90
+ }
91
+ const role = entityData as Role;
92
+
93
+ const resolveStatus = await this.listMasterService.getResolvedListCode(
94
+ STATUS_INACTIVE,
95
+ loggedInUser?.organization_id || 0,
96
+ );
97
+
98
+ if (entityData.status == resolveStatus.id) {
99
+ //get role by id
100
+ const existingRole = await this.getEntityData(
101
+ ENTITYTYPE_ROLE,
102
+ entityData.id,
103
+ loggedInUser,
104
+ );
105
+
106
+ if (!existingRole) {
107
+ return { success: false, error: 'Role not found' };
108
+ }
109
+
110
+ const associatedUsers = await this.entityManager.query(`SELECT map.*
111
+ FROM sso_user_role_mapping map
112
+ JOIN sso_user usr ON map.user_id = usr.id
113
+ WHERE usr.status = ${resolveStatus.id}
114
+ and map.role_id = ${existingRole?.id}`);
115
+
116
+ if (associatedUsers.length > 0) {
117
+ return {
118
+ success: false,
119
+ error: 'Cannot deactivate role as it is associated with active users',
120
+ };
121
+ }
122
+
123
+ if (role.is_system === 1) {
124
+ return {
125
+ success: false,
126
+ error: 'Cannot deactivate system role',
127
+ };
128
+ }
129
+ }
130
+
131
+ if (
132
+ await this.roleRepository.isRoleNameExists(entityData.name, {
133
+ excludeRoleId: entityData.id,
134
+ organization_id: loggedInUser?.organization_id,
135
+ })
136
+ ) {
137
+ return {
138
+ success: false,
139
+ error: 'Role name already exists.',
140
+ };
141
+ }
142
+
143
+ const { copy_from_role_id, ...persistableData } = role;
144
+ const updatedRole = await super.updateEntity(persistableData, loggedInUser);
145
+
146
+ if (role.copy_from_role_id) {
147
+ const sourceRole = await this.getEntityData(
148
+ ENTITYTYPE_ROLE,
149
+ role.copy_from_role_id,
150
+ loggedInUser,
151
+ );
152
+
153
+ if (!sourceRole) {
154
+ return {
155
+ success: false,
156
+ error: 'Source role not found',
157
+ };
158
+ }
159
+
160
+ await this.moduleAccessRepo.delete({ role_code: role.code });
161
+
162
+ const sourcePermissions = await this.moduleAccessRepo.find({
163
+ where: { role_code: sourceRole.code },
164
+ });
165
+
166
+ const clonedPermissions = sourcePermissions.map((perm) =>
167
+ this.moduleAccessRepo.create({
168
+ role_code: role.code,
169
+ module_code: perm.module_code,
170
+ action_type: perm.action_type,
171
+ access_flag: perm.access_flag,
172
+ appcode: perm.appcode,
173
+ level_type: perm.level_type,
174
+ }),
175
+ );
176
+
177
+ await this.moduleAccessRepo.save(clonedPermissions);
178
+ }
179
+ return { success: true, data: updatedRole };
180
+ }
181
+
182
+ async getDefaultRole(data: {
183
+ is_factory?: boolean;
184
+ level_id?: number;
185
+ level_type?: string;
186
+ }): Promise<Role[] | null> {
187
+ return await this.roleRepository.find(data);
188
+ }
189
+ }
@@ -1,98 +1,98 @@
1
- import { level } from 'winston';
2
- import { Injectable } from '@nestjs/common';
3
- import { UserRoleMappingRepository } from '../repository/user-role-mapping.repository';
4
- import { UserRoleMapping } from '../entity/user-role-mapping.entity';
5
-
6
- @Injectable()
7
- export class UserRoleMappingService {
8
- constructor(
9
- private readonly userRoleMappingRepository: UserRoleMappingRepository,
10
- ) {}
11
-
12
- async assignUserRole(userRoleMapping: UserRoleMapping) {
13
- const existing = await this.userRoleMappingRepository.findByUserIdAndRoleId(
14
- userRoleMapping.user_id,
15
- userRoleMapping.role_id,
16
- userRoleMapping.appcode,
17
- userRoleMapping.level_id,
18
- userRoleMapping.level_type,
19
- );
20
-
21
- if (!existing) {
22
- return await this.userRoleMappingRepository.save(userRoleMapping);
23
- }
24
- }
25
-
26
- async updateAssignedRole(userRoleMapping: UserRoleMapping) {
27
- // 1. If ID is provided, try to fetch existing mapping by ID
28
- if (userRoleMapping.id) {
29
- const existing = await this.userRoleMappingRepository.findByUSRId(
30
- userRoleMapping.id,
31
- );
32
- if (existing) {
33
- existing.appcode = userRoleMapping.appcode;
34
- existing.level_id = userRoleMapping.level_id;
35
- existing.level_type = userRoleMapping.level_type;
36
- existing.role_id = userRoleMapping.role_id;
37
-
38
- return await this.userRoleMappingRepository.save(existing);
39
- }
40
- }
41
-
42
- // 2. Check if a similar mapping already exists (same user-role-level-app)
43
- const duplicate =
44
- await this.userRoleMappingRepository.findByUserIdAndRoleId(
45
- userRoleMapping.user_id,
46
- userRoleMapping.role_id,
47
- userRoleMapping.appcode,
48
- userRoleMapping.level_id,
49
- userRoleMapping.level_type,
50
- );
51
-
52
- if (duplicate) {
53
- return duplicate; // or null, depending on how you want to handle it
54
- }
55
-
56
- return await this.userRoleMappingRepository.save(userRoleMapping);
57
- }
58
-
59
- async findByUserId(userId: number): Promise<UserRoleMapping[] | null> {
60
- return await this.userRoleMappingRepository.findByUserId(userId);
61
- }
62
-
63
- async deleteByUserId(
64
- userId: number,
65
- levelType?: string,
66
- levelId?,
67
- ): Promise<void> {
68
- await this.userRoleMappingRepository.deleteByUserId(
69
- userId,
70
- levelType,
71
- levelId,
72
- );
73
- }
74
-
75
- async getUserByIdAndAppCode(
76
- userId: number,
77
- appCode: string,
78
- ): Promise<UserRoleMapping | null> {
79
- return await this.userRoleMappingRepository.findByUserIdAndAppCode(
80
- userId,
81
- appCode,
82
- );
83
- }
84
-
85
- async getUserByIdAppCodeAndLevel(
86
- userId: number,
87
- appCode: string,
88
- levelType: string,
89
- levelId: string,
90
- ): Promise<UserRoleMapping | null> {
91
- return await this.userRoleMappingRepository.findByUserIdAndAppCodeAndLevel(
92
- userId,
93
- appCode,
94
- levelType,
95
- levelId,
96
- );
97
- }
98
- }
1
+ import { level } from 'winston';
2
+ import { Injectable } from '@nestjs/common';
3
+ import { UserRoleMappingRepository } from '../repository/user-role-mapping.repository';
4
+ import { UserRoleMapping } from '../entity/user-role-mapping.entity';
5
+
6
+ @Injectable()
7
+ export class UserRoleMappingService {
8
+ constructor(
9
+ private readonly userRoleMappingRepository: UserRoleMappingRepository,
10
+ ) {}
11
+
12
+ async assignUserRole(userRoleMapping: UserRoleMapping) {
13
+ const existing = await this.userRoleMappingRepository.findByUserIdAndRoleId(
14
+ userRoleMapping.user_id,
15
+ userRoleMapping.role_id,
16
+ userRoleMapping.appcode,
17
+ userRoleMapping.level_id,
18
+ userRoleMapping.level_type,
19
+ );
20
+
21
+ if (!existing) {
22
+ return await this.userRoleMappingRepository.save(userRoleMapping);
23
+ }
24
+ }
25
+
26
+ async updateAssignedRole(userRoleMapping: UserRoleMapping) {
27
+ // 1. If ID is provided, try to fetch existing mapping by ID
28
+ if (userRoleMapping.id) {
29
+ const existing = await this.userRoleMappingRepository.findByUSRId(
30
+ userRoleMapping.id,
31
+ );
32
+ if (existing) {
33
+ existing.appcode = userRoleMapping.appcode;
34
+ existing.level_id = userRoleMapping.level_id;
35
+ existing.level_type = userRoleMapping.level_type;
36
+ existing.role_id = userRoleMapping.role_id;
37
+
38
+ return await this.userRoleMappingRepository.save(existing);
39
+ }
40
+ }
41
+
42
+ // 2. Check if a similar mapping already exists (same user-role-level-app)
43
+ const duplicate =
44
+ await this.userRoleMappingRepository.findByUserIdAndRoleId(
45
+ userRoleMapping.user_id,
46
+ userRoleMapping.role_id,
47
+ userRoleMapping.appcode,
48
+ userRoleMapping.level_id,
49
+ userRoleMapping.level_type,
50
+ );
51
+
52
+ if (duplicate) {
53
+ return duplicate; // or null, depending on how you want to handle it
54
+ }
55
+
56
+ return await this.userRoleMappingRepository.save(userRoleMapping);
57
+ }
58
+
59
+ async findByUserId(userId: number): Promise<UserRoleMapping[] | null> {
60
+ return await this.userRoleMappingRepository.findByUserId(userId);
61
+ }
62
+
63
+ async deleteByUserId(
64
+ userId: number,
65
+ levelType?: string,
66
+ levelId?,
67
+ ): Promise<void> {
68
+ await this.userRoleMappingRepository.deleteByUserId(
69
+ userId,
70
+ levelType,
71
+ levelId,
72
+ );
73
+ }
74
+
75
+ async getUserByIdAndAppCode(
76
+ userId: number,
77
+ appCode: string,
78
+ ): Promise<UserRoleMapping | null> {
79
+ return await this.userRoleMappingRepository.findByUserIdAndAppCode(
80
+ userId,
81
+ appCode,
82
+ );
83
+ }
84
+
85
+ async getUserByIdAppCodeAndLevel(
86
+ userId: number,
87
+ appCode: string,
88
+ levelType: string,
89
+ levelId: string,
90
+ ): Promise<UserRoleMapping | null> {
91
+ return await this.userRoleMappingRepository.findByUserIdAndAppCodeAndLevel(
92
+ userId,
93
+ appCode,
94
+ levelType,
95
+ levelId,
96
+ );
97
+ }
98
+ }