rez_core 3.1.164 → 3.1.165

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 (386) hide show
  1. package/.claude/settings.local.json +26 -0
  2. package/.idea/250218_nodejs_core.iml +9 -0
  3. package/.idea/codeStyles/Project.xml +59 -0
  4. package/.idea/codeStyles/codeStyleConfig.xml +5 -0
  5. package/.idea/copilot.data.migration.agent.xml +6 -0
  6. package/.idea/copilot.data.migration.ask.xml +6 -0
  7. package/.idea/copilot.data.migration.ask2agent.xml +6 -0
  8. package/.idea/copilot.data.migration.edit.xml +6 -0
  9. package/.idea/inspectionProfiles/Project_Default.xml +6 -0
  10. package/.idea/misc.xml +6 -0
  11. package/.idea/modules.xml +8 -0
  12. package/.idea/prettier.xml +6 -0
  13. package/.idea/vcs.xml +6 -0
  14. package/.prettierrc +3 -3
  15. package/README.md +99 -99
  16. package/dist/module/auth/guards/role.guard.js +3 -3
  17. package/dist/module/auth/services/auth.service.js +2 -2
  18. package/dist/module/filter/repository/saved-filter.repository.js +4 -4
  19. package/dist/module/filter/service/filter-evaluator.service.js +2 -2
  20. package/dist/module/filter/service/filter.service.js +7 -7
  21. package/dist/module/integration/examples/usage.example.js +9 -9
  22. package/dist/module/integration/service/integration.service.js +1 -1
  23. package/dist/module/integration/service/wrapper.service.js +26 -26
  24. package/dist/module/listmaster/service/list-master-item.service.js +2 -2
  25. package/dist/module/listmaster/service/list-master.service.js +2 -2
  26. package/dist/module/mapper/service/field-mapper.service.js +4 -4
  27. package/dist/module/mapper/service/mapper.service.js +2 -2
  28. package/dist/module/meta/service/entity-dynamic.service.js +18 -18
  29. package/dist/module/meta/service/entity-list.service.js +3 -3
  30. package/dist/module/meta/service/entity-master.service.js +3 -3
  31. package/dist/module/meta/service/entity-relation.service.js +11 -11
  32. package/dist/module/meta/service/entity-service-impl.service.js +3 -3
  33. package/dist/module/meta/service/media-data.service.d.ts +1 -0
  34. package/dist/module/meta/service/media-data.service.js +9 -1
  35. package/dist/module/meta/service/media-data.service.js.map +1 -1
  36. package/dist/module/meta/service/resolver.service.js +3 -3
  37. package/dist/module/module/repository/menu.repository.js +12 -12
  38. package/dist/module/notification/service/notification.service.js +12 -12
  39. package/dist/module/user/controller/login.controller.js +18 -18
  40. package/dist/module/user/service/role.service.js +4 -4
  41. package/dist/module/user/service/user-session.service.js +2 -2
  42. package/dist/module/workflow/repository/action.repository.js +16 -16
  43. package/dist/module/workflow/repository/comm-template.repository.js +6 -6
  44. package/dist/module/workflow/repository/form-master.repository.js +2 -2
  45. package/dist/module/workflow/repository/stage-group.repository.js +23 -23
  46. package/dist/module/workflow/repository/stage-movement.repository.js +11 -11
  47. package/dist/module/workflow/repository/stage.repository.js +8 -8
  48. package/dist/module/workflow/service/action-template-mapping.service.js +10 -10
  49. package/dist/module/workflow/service/action.service.js +7 -7
  50. package/dist/module/workflow/service/entity-modification.service.js +6 -6
  51. package/dist/module/workflow/service/stage-group.service.js +5 -5
  52. package/dist/module/workflow/service/stage.service.js +2 -2
  53. package/dist/module/workflow/service/task.service.js +33 -33
  54. package/dist/module/workflow/service/workflow-list-master.service.js +15 -15
  55. package/dist/module/workflow/service/workflow-meta.service.js +50 -50
  56. package/dist/module/workflow/service/workflow.service.js +2 -2
  57. package/dist/tsconfig.build.tsbuildinfo +1 -1
  58. package/dist/utils/service/reflection-helper.service.js +2 -2
  59. package/docs/modules/event-driven-integration-design.md +91 -91
  60. package/docs/modules/integration.md +250 -250
  61. package/eslint.config.mjs +34 -34
  62. package/nest-cli.json +14 -14
  63. package/package.json +118 -118
  64. package/server.log +850 -0
  65. package/src/app.controller.ts +12 -12
  66. package/src/app.module.ts +49 -49
  67. package/src/app.service.ts +8 -8
  68. package/src/config/config.module.ts +18 -18
  69. package/src/config/database.config.ts +23 -23
  70. package/src/constant/global.constant.ts +67 -67
  71. package/src/core.module.ts +81 -81
  72. package/src/decorators/roles.decorator.ts +7 -7
  73. package/src/dtos/response.dto.ts +6 -6
  74. package/src/dtos/response.ts +5 -5
  75. package/src/index.ts +1 -1
  76. package/src/module/auth/auth.module.ts +49 -49
  77. package/src/module/auth/controller/auth.controller.ts +28 -28
  78. package/src/module/auth/guards/google-auth.guard.ts +9 -9
  79. package/src/module/auth/guards/jwt.guard.ts +22 -22
  80. package/src/module/auth/guards/role.guard.ts +68 -68
  81. package/src/module/auth/services/auth.service.ts +50 -50
  82. package/src/module/auth/services/jwt.service.ts +11 -11
  83. package/src/module/auth/strategies/google.strategy.ts +54 -54
  84. package/src/module/auth/strategies/jwt.strategy.ts +58 -58
  85. package/src/module/auth/strategies/local.strategy.ts +13 -13
  86. package/src/module/dashboard/controller/dashboard.controller.ts +36 -36
  87. package/src/module/dashboard/dashboard.module.ts +21 -21
  88. package/src/module/dashboard/entity/dashboard_page_data.entity.ts +27 -27
  89. package/src/module/dashboard/entity/widget_master.entity.ts +18 -18
  90. package/src/module/dashboard/repository/dashboard.repository.ts +42 -42
  91. package/src/module/dashboard/service/dashboard.service.ts +73 -73
  92. package/src/module/dev/dev.module.ts +12 -12
  93. package/src/module/dev/service/dev.service.ts +7 -7
  94. package/src/module/enterprise/controller/organization.controller.ts +36 -36
  95. package/src/module/enterprise/enterprise.module.ts +30 -30
  96. package/src/module/enterprise/entity/enterprise.entity.ts +37 -37
  97. package/src/module/enterprise/entity/organization-app-mapping.entity.ts +13 -13
  98. package/src/module/enterprise/entity/organization.entity.ts +92 -92
  99. package/src/module/enterprise/repository/enterprise.repository.ts +31 -31
  100. package/src/module/enterprise/repository/organization.repository.ts +26 -26
  101. package/src/module/enterprise/repository/school.repository.ts +281 -281
  102. package/src/module/enterprise/service/brand.service.ts +5 -5
  103. package/src/module/enterprise/service/enterprise.service.ts +16 -16
  104. package/src/module/enterprise/service/organization-app-mapping.service.ts +4 -4
  105. package/src/module/enterprise/service/organization.service.ts +145 -145
  106. package/src/module/filter/controller/filter.controller.ts +84 -84
  107. package/src/module/filter/dto/filter-request.dto.ts +38 -38
  108. package/src/module/filter/entity/saved-filter-detail.entity.ts +41 -41
  109. package/src/module/filter/entity/saved-filter-master.entity.ts +23 -23
  110. package/src/module/filter/filter.module.ts +31 -31
  111. package/src/module/filter/repository/saved-filter.repository.ts +168 -168
  112. package/src/module/filter/service/filter-evaluator.service.ts +86 -86
  113. package/src/module/filter/service/filter.service.ts +841 -841
  114. package/src/module/filter/service/saved-filter.service.ts +170 -170
  115. package/src/module/ics/controller/ics.controller.ts +21 -21
  116. package/src/module/ics/dto/ics.dto.ts +55 -55
  117. package/src/module/ics/ics.module.ts +13 -13
  118. package/src/module/ics/service/ics.service.ts +57 -57
  119. package/src/module/integration/controller/calender-event.controller.ts +31 -31
  120. package/src/module/integration/controller/integration.controller.ts +662 -662
  121. package/src/module/integration/controller/wrapper.controller.ts +37 -37
  122. package/src/module/integration/dto/create-config.dto.ts +526 -526
  123. package/src/module/integration/entity/integration-config.entity.ts +112 -112
  124. package/src/module/integration/entity/integration-entity-mapper.entity.ts +14 -14
  125. package/src/module/integration/entity/integration-source.entity.ts +17 -17
  126. package/src/module/integration/entity/user-integration.entity.ts +71 -71
  127. package/src/module/integration/examples/usage.example.ts +338 -338
  128. package/src/module/integration/factories/base.factory.ts +7 -7
  129. package/src/module/integration/factories/email.factory.ts +49 -49
  130. package/src/module/integration/factories/integration.factory.ts +121 -121
  131. package/src/module/integration/factories/sms.factory.ts +51 -51
  132. package/src/module/integration/factories/telephone.factory.ts +41 -41
  133. package/src/module/integration/factories/whatsapp.factory.ts +56 -56
  134. package/src/module/integration/integration.module.ts +110 -110
  135. package/src/module/integration/service/calendar-event.service.ts +118 -118
  136. package/src/module/integration/service/integration-entity-mapper.service.ts +17 -17
  137. package/src/module/integration/service/integration-queue.service.ts +229 -229
  138. package/src/module/integration/service/integration.service.ts +2572 -2572
  139. package/src/module/integration/service/oauth.service.ts +224 -224
  140. package/src/module/integration/service/wrapper.service.ts +454 -454
  141. package/src/module/integration/strategies/email/gmail-api.strategy.ts +280 -280
  142. package/src/module/integration/strategies/email/outlook-api.strategy.ts +44 -44
  143. package/src/module/integration/strategies/email/outlook.strategy.ts +64 -64
  144. package/src/module/integration/strategies/email/sendgrid-api.strategy.ts +260 -260
  145. package/src/module/integration/strategies/integration.strategy.ts +97 -97
  146. package/src/module/integration/strategies/sms/gupshup-sms.strategy.ts +146 -146
  147. package/src/module/integration/strategies/sms/msg91-sms.strategy.ts +164 -164
  148. package/src/module/integration/strategies/sms/tubelight-sms.strategy.ts +163 -163
  149. package/src/module/integration/strategies/telephone/ozonetel-voice.strategy.ts +238 -238
  150. package/src/module/integration/strategies/telephone/tubelight-voice.strategy.ts +210 -210
  151. package/src/module/integration/strategies/whatsapp/gupshup-whatsapp.strategy.ts +359 -359
  152. package/src/module/integration/strategies/whatsapp/tubelight-whatsapp.strategy.ts +372 -372
  153. package/src/module/integration/strategies/whatsapp/whatsapp-cloud.strategy.ts +403 -403
  154. package/src/module/integration/strategies/whatsapp/whatsapp.strategy.ts +57 -57
  155. package/src/module/layout/controller/layout.controller.ts +47 -47
  156. package/src/module/layout/entity/header-items.entity.ts +28 -28
  157. package/src/module/layout/entity/header-section.entity.ts +19 -19
  158. package/src/module/layout/layout.module.ts +21 -21
  159. package/src/module/layout/repository/header-items.repository.ts +18 -18
  160. package/src/module/layout/repository/header-section.repository.ts +22 -22
  161. package/src/module/layout/service/header-section.service.ts +25 -25
  162. package/src/module/layout_preference/controller/layout_preference.controller.ts +47 -47
  163. package/src/module/layout_preference/entity/layout_preference.entity.ts +28 -28
  164. package/src/module/layout_preference/layout_preference.module.ts +18 -18
  165. package/src/module/layout_preference/repository/layout_preference.repository.ts +30 -30
  166. package/src/module/layout_preference/service/layout_preference.service.ts +172 -172
  167. package/src/module/lead/controller/lead.controller.ts +30 -30
  168. package/src/module/lead/lead.module.ts +14 -14
  169. package/src/module/lead/repository/lead.repository.ts +41 -41
  170. package/src/module/lead/service/lead.service.ts +54 -54
  171. package/src/module/listmaster/controller/list-master.controller.ts +187 -187
  172. package/src/module/listmaster/entity/list-master-items.entity.ts +41 -41
  173. package/src/module/listmaster/entity/list-master.entity.ts +32 -32
  174. package/src/module/listmaster/listmaster.module.ts +44 -44
  175. package/src/module/listmaster/repository/list-master-items.repository.ts +169 -169
  176. package/src/module/listmaster/repository/list-master.repository.ts +46 -46
  177. package/src/module/listmaster/service/list-master-engine.ts +19 -19
  178. package/src/module/listmaster/service/list-master-extension.interface.ts +4 -4
  179. package/src/module/listmaster/service/list-master-item.service.ts +292 -292
  180. package/src/module/listmaster/service/list-master-registry.ts +15 -15
  181. package/src/module/listmaster/service/list-master.service.ts +420 -420
  182. package/src/module/mapper/controller/field-mapper.controller.ts +69 -69
  183. package/src/module/mapper/controller/mapper.controller.ts +14 -14
  184. package/src/module/mapper/dto/field-mapper.dto.ts +14 -14
  185. package/src/module/mapper/entity/field-lovs.entity.ts +19 -19
  186. package/src/module/mapper/entity/field-mapper.entity.ts +53 -53
  187. package/src/module/mapper/entity/mapper.entity.ts +16 -16
  188. package/src/module/mapper/mapper.module.ts +34 -34
  189. package/src/module/mapper/repository/field-lovs.repository.ts +35 -35
  190. package/src/module/mapper/repository/field-mapper.repository.ts +42 -42
  191. package/src/module/mapper/repository/mapper.repository.ts +15 -15
  192. package/src/module/mapper/service/field-mapper.service.ts +223 -223
  193. package/src/module/mapper/service/mapper.service.ts +72 -72
  194. package/src/module/master/controller/master.controller.ts +74 -74
  195. package/src/module/master/service/master.service.ts +483 -483
  196. package/src/module/meta/controller/app-master.controller.ts +38 -38
  197. package/src/module/meta/controller/attribute-master.controller.ts +66 -66
  198. package/src/module/meta/controller/entity-dynamic.controller.ts +125 -125
  199. package/src/module/meta/controller/entity-master.controller.ts +28 -28
  200. package/src/module/meta/controller/entity-relation.controller.ts +36 -36
  201. package/src/module/meta/controller/entity.controller.ts +385 -385
  202. package/src/module/meta/controller/media.controller.ts +82 -82
  203. package/src/module/meta/controller/meta.controller.ts +96 -96
  204. package/src/module/meta/controller/view-master.controller.ts +86 -86
  205. package/src/module/meta/dto/entity-list-data.dto.ts +6 -6
  206. package/src/module/meta/dto/entity-tab.dto.ts +4 -4
  207. package/src/module/meta/dto/entity-table.dto.ts +9 -9
  208. package/src/module/meta/entity/app-master.entity.ts +34 -34
  209. package/src/module/meta/entity/attribute-master.entity.ts +87 -87
  210. package/src/module/meta/entity/base-entity.entity.ts +75 -75
  211. package/src/module/meta/entity/entity-master.entity.ts +78 -78
  212. package/src/module/meta/entity/entity-relation-data.entity.ts +29 -29
  213. package/src/module/meta/entity/entity-relation.entity.ts +23 -23
  214. package/src/module/meta/entity/entity-table-column.entity.ts +61 -61
  215. package/src/module/meta/entity/entity-table.entity.ts +50 -50
  216. package/src/module/meta/entity/media-data.entity.ts +32 -32
  217. package/src/module/meta/entity/preference.entity.ts +62 -62
  218. package/src/module/meta/entity/view-master.entity.ts +41 -41
  219. package/src/module/meta/entity.module.ts +156 -156
  220. package/src/module/meta/repository/app-master.repository.ts +20 -20
  221. package/src/module/meta/repository/attribute-master.repository.ts +110 -110
  222. package/src/module/meta/repository/entity-master.repository.ts +69 -69
  223. package/src/module/meta/repository/entity-table-column.repository.ts +39 -39
  224. package/src/module/meta/repository/entity-table.repository.ts +53 -53
  225. package/src/module/meta/repository/media-data.repository.ts +50 -50
  226. package/src/module/meta/repository/preference.repository.ts +20 -20
  227. package/src/module/meta/repository/user-app-mapping.repository.ts +28 -28
  228. package/src/module/meta/repository/view-master.repository.ts +42 -42
  229. package/src/module/meta/service/app-master.service.ts +37 -37
  230. package/src/module/meta/service/attribute-master.service.ts +117 -117
  231. package/src/module/meta/service/common.service.ts +9 -9
  232. package/src/module/meta/service/entity-dynamic.service.ts +762 -762
  233. package/src/module/meta/service/entity-list.service.ts +205 -205
  234. package/src/module/meta/service/entity-master.service.ts +164 -164
  235. package/src/module/meta/service/entity-realation-data.service.ts +9 -9
  236. package/src/module/meta/service/entity-relation.service.ts +69 -69
  237. package/src/module/meta/service/entity-service-impl.service.ts +524 -524
  238. package/src/module/meta/service/entity-table-column.service.ts +39 -39
  239. package/src/module/meta/service/entity-table.service.ts +150 -150
  240. package/src/module/meta/service/entity-validation.service.ts +185 -185
  241. package/src/module/meta/service/entity.service.ts +67 -67
  242. package/src/module/meta/service/field-group.service.ts +103 -103
  243. package/src/module/meta/service/media-data.service.ts +149 -140
  244. package/src/module/meta/service/populate-meta.service.ts +173 -173
  245. package/src/module/meta/service/preference.service.ts +16 -16
  246. package/src/module/meta/service/resolver.service.ts +274 -274
  247. package/src/module/meta/service/section-master.service.ts +104 -104
  248. package/src/module/meta/service/update-form-json.service.ts +22 -22
  249. package/src/module/meta/service/user-app-mapping.service.ts +17 -17
  250. package/src/module/meta/service/view-master.service.ts +111 -111
  251. package/src/module/module/controller/menu.controller.ts +15 -15
  252. package/src/module/module/controller/module-access.controller.ts +132 -132
  253. package/src/module/module/entity/menu.entity.ts +43 -43
  254. package/src/module/module/entity/module-access.entity.ts +25 -25
  255. package/src/module/module/entity/module-action.entity.ts +17 -17
  256. package/src/module/module/entity/module.entity.ts +52 -52
  257. package/src/module/module/module.module.ts +42 -42
  258. package/src/module/module/repository/menu.repository.ts +184 -184
  259. package/src/module/module/repository/module-access.repository.ts +331 -331
  260. package/src/module/module/service/menu.service.ts +82 -82
  261. package/src/module/module/service/module-access.service.ts +209 -209
  262. package/src/module/notification/controller/notification.controller.ts +58 -58
  263. package/src/module/notification/controller/otp.controller.ts +117 -117
  264. package/src/module/notification/entity/notification.entity.ts +23 -23
  265. package/src/module/notification/entity/otp.entity.ts +28 -28
  266. package/src/module/notification/firebase-admin.config.ts +22 -22
  267. package/src/module/notification/notification.module.ts +69 -69
  268. package/src/module/notification/repository/otp.repository.ts +27 -27
  269. package/src/module/notification/service/email.service.ts +127 -127
  270. package/src/module/notification/service/notification.service.ts +138 -138
  271. package/src/module/notification/service/otp.service.ts +125 -125
  272. package/src/module/third-party-module/entity/third-party-api-registry.entity.ts +52 -52
  273. package/src/module/third-party-module/repository/third-party-api-registry.repository.ts +20 -20
  274. package/src/module/third-party-module/service/api-registry.service.ts +13 -13
  275. package/src/module/third-party-module/third-party.module.ts +12 -12
  276. package/src/module/user/controller/login.controller.ts +197 -197
  277. package/src/module/user/controller/user.controller.ts +40 -40
  278. package/src/module/user/dto/create-user.dto.ts +62 -62
  279. package/src/module/user/dto/update-user.dto.ts +4 -4
  280. package/src/module/user/entity/role.entity.ts +33 -33
  281. package/src/module/user/entity/user-role-mapping.entity.ts +38 -38
  282. package/src/module/user/entity/user-session.entity.ts +61 -61
  283. package/src/module/user/entity/user.entity.ts +68 -68
  284. package/src/module/user/repository/role.repository.ts +96 -96
  285. package/src/module/user/repository/user-role-mapping.repository.ts +126 -126
  286. package/src/module/user/repository/user.repository.ts +50 -50
  287. package/src/module/user/repository/userSession.repository.ts +33 -33
  288. package/src/module/user/service/login.service.ts +280 -280
  289. package/src/module/user/service/role.service.ts +189 -189
  290. package/src/module/user/service/user-role-mapping.service.ts +98 -98
  291. package/src/module/user/service/user-session.service.ts +168 -168
  292. package/src/module/user/service/user.service.ts +353 -353
  293. package/src/module/user/user.module.ts +65 -65
  294. package/src/module/workflow/controller/action-category.controller.ts +54 -54
  295. package/src/module/workflow/controller/action-resource-mapping.controller.ts +23 -23
  296. package/src/module/workflow/controller/action-template-mapping.controller.ts +35 -35
  297. package/src/module/workflow/controller/action.controller.ts +95 -95
  298. package/src/module/workflow/controller/activity-log.controller.ts +55 -55
  299. package/src/module/workflow/controller/comm-template.controller.ts +34 -34
  300. package/src/module/workflow/controller/entity-modification.controller.ts +35 -35
  301. package/src/module/workflow/controller/form-master.controller.ts +43 -43
  302. package/src/module/workflow/controller/stage-group.controller.ts +48 -48
  303. package/src/module/workflow/controller/stage.controller.ts +50 -50
  304. package/src/module/workflow/controller/task.controller.ts +77 -77
  305. package/src/module/workflow/controller/workflow-list-master.controller.ts +44 -44
  306. package/src/module/workflow/controller/workflow-meta.controller.ts +80 -80
  307. package/src/module/workflow/controller/workflow.controller.ts +67 -67
  308. package/src/module/workflow/entity/action-category.entity.ts +38 -38
  309. package/src/module/workflow/entity/action-data.entity.ts +55 -55
  310. package/src/module/workflow/entity/action-resources-mapping.entity.ts +29 -29
  311. package/src/module/workflow/entity/action-template-mapping.entity.ts +17 -17
  312. package/src/module/workflow/entity/action.entity.ts +50 -50
  313. package/src/module/workflow/entity/activity-log.entity.ts +43 -43
  314. package/src/module/workflow/entity/comm-template.entity.ts +43 -43
  315. package/src/module/workflow/entity/entity-modification.entity.ts +38 -38
  316. package/src/module/workflow/entity/form.entity.ts +25 -25
  317. package/src/module/workflow/entity/stage-action-mapping.entity.ts +17 -17
  318. package/src/module/workflow/entity/stage-group.entity.ts +23 -23
  319. package/src/module/workflow/entity/stage-movement-data.entity.ts +38 -38
  320. package/src/module/workflow/entity/stage.entity.ts +20 -20
  321. package/src/module/workflow/entity/task-data.entity.ts +88 -88
  322. package/src/module/workflow/entity/template-attach-mapper.entity.ts +30 -30
  323. package/src/module/workflow/entity/workflow-data.entity.ts +11 -11
  324. package/src/module/workflow/entity/workflow-level-mapping.entity.ts +18 -18
  325. package/src/module/workflow/entity/workflow.entity.ts +20 -20
  326. package/src/module/workflow/repository/action-category.repository.ts +79 -79
  327. package/src/module/workflow/repository/action-data.repository.ts +219 -219
  328. package/src/module/workflow/repository/action.repository.ts +277 -277
  329. package/src/module/workflow/repository/activity-log.repository.ts +121 -121
  330. package/src/module/workflow/repository/comm-template.repository.ts +142 -142
  331. package/src/module/workflow/repository/form-master.repository.ts +59 -59
  332. package/src/module/workflow/repository/stage-group.repository.ts +176 -176
  333. package/src/module/workflow/repository/stage-movement.repository.ts +227 -227
  334. package/src/module/workflow/repository/stage.repository.ts +172 -172
  335. package/src/module/workflow/repository/task.repository.ts +113 -113
  336. package/src/module/workflow/repository/workflow.repository.ts +42 -42
  337. package/src/module/workflow/service/action-category.service.ts +33 -33
  338. package/src/module/workflow/service/action-data.service.ts +62 -62
  339. package/src/module/workflow/service/action-resources-mapping.service.ts +10 -10
  340. package/src/module/workflow/service/action-template-mapping.service.ts +55 -55
  341. package/src/module/workflow/service/action.service.ts +263 -263
  342. package/src/module/workflow/service/activity-log.service.ts +107 -107
  343. package/src/module/workflow/service/comm-template.service.ts +121 -121
  344. package/src/module/workflow/service/entity-modification.service.ts +67 -67
  345. package/src/module/workflow/service/form-master.service.ts +35 -35
  346. package/src/module/workflow/service/populate-workflow.service.ts +303 -303
  347. package/src/module/workflow/service/stage-action-mapping.service.ts +5 -5
  348. package/src/module/workflow/service/stage-group.service.ts +300 -300
  349. package/src/module/workflow/service/stage.service.ts +199 -199
  350. package/src/module/workflow/service/task.service.ts +504 -504
  351. package/src/module/workflow/service/workflow-list-master.service.ts +60 -60
  352. package/src/module/workflow/service/workflow-meta.service.ts +581 -581
  353. package/src/module/workflow/service/workflow.service.ts +205 -205
  354. package/src/module/workflow/workflow.module.ts +172 -172
  355. package/src/module/workflow-automation/controller/workflow-automation.controller.ts +21 -21
  356. package/src/module/workflow-automation/entity/workflow-automation-action.entity.ts +26 -26
  357. package/src/module/workflow-automation/entity/workflow-automation.entity.ts +35 -35
  358. package/src/module/workflow-automation/interface/action.decorator.ts +7 -7
  359. package/src/module/workflow-automation/interface/action.interface.ts +5 -5
  360. package/src/module/workflow-automation/service/action-registery.service.ts +35 -35
  361. package/src/module/workflow-automation/service/workflow-automation-engine.service.ts +214 -214
  362. package/src/module/workflow-automation/service/workflow-automation.service.ts +345 -345
  363. package/src/module/workflow-automation/workflow-automation.module.ts +34 -34
  364. package/src/resources/dev.properties.yaml +30 -30
  365. package/src/resources/local.properties.yaml +27 -27
  366. package/src/resources/properties.module.ts +12 -12
  367. package/src/resources/properties.yaml.ts +11 -11
  368. package/src/resources/uat.properties.yaml +15 -15
  369. package/src/utils/dto/excel-data.dto.ts +14 -14
  370. package/src/utils/dto/excelsheet-data.dto.ts +5 -5
  371. package/src/utils/service/base64util.service.ts +18 -18
  372. package/src/utils/service/clockIDGenUtil.service.ts +21 -21
  373. package/src/utils/service/codeGenerator.service.ts +22 -22
  374. package/src/utils/service/dateUtil.service.ts +17 -17
  375. package/src/utils/service/encryptUtil.service.ts +97 -97
  376. package/src/utils/service/excel-helper.service.ts +72 -72
  377. package/src/utils/service/excelUtil.service.ts +15 -15
  378. package/src/utils/service/file-util.service.ts +11 -11
  379. package/src/utils/service/json-util.service.ts +23 -23
  380. package/src/utils/service/loggingUtil.service.ts +34 -34
  381. package/src/utils/service/reflection-helper.service.ts +62 -62
  382. package/src/utils/service/wbsCodeGen.service.ts +8 -8
  383. package/src/utils/utils.module.ts +25 -25
  384. package/tsconfig.build.json +4 -4
  385. package/tsconfig.json +24 -24
  386. package/.vscode/extensions.json +0 -5
@@ -95,10 +95,10 @@ let FieldMapperService = class FieldMapperService extends entity_service_impl_se
95
95
  await super.getResolvedEntityDataByDataSource(entityType, parent_id, userData);
96
96
  }
97
97
  else {
98
- const relations = await this.datasource.query(`SELECT target_entity_id
99
- FROM cr_entity_relation_data
100
- WHERE source_entity_type = ?
101
- AND source_entity_id = ?
98
+ const relations = await this.datasource.query(`SELECT target_entity_id
99
+ FROM cr_entity_relation_data
100
+ WHERE source_entity_type = ?
101
+ AND source_entity_id = ?
102
102
  AND target_entity_type = ?`, [parent_type, parent_id, field.mapped_entity_type]);
103
103
  const targetEntityIds = relations.map((r) => r.target_entity_id);
104
104
  if (targetEntityIds.length > 0) {
@@ -27,8 +27,8 @@ let MapperService = class MapperService extends entity_service_impl_service_1.En
27
27
  async getByMappedEntityType(mappedEntityType, filter) {
28
28
  if (!mappedEntityType)
29
29
  return [];
30
- const mappers = await this.dataSource.query(`SELECT id, name, code, status
31
- FROM cr_mapper_master
30
+ const mappers = await this.dataSource.query(`SELECT id, name, code, status
31
+ FROM cr_mapper_master
32
32
  WHERE mapped_entity_type = ? AND (-1 = ? OR name LIKE ? OR code LIKE ?)`, [mappedEntityType, filter || -1, `%${filter}%`, `%${filter}%`]);
33
33
  const distinctStatuses = [
34
34
  ...new Set(mappers.map((m) => m.status).filter((s) => s !== null)),
@@ -43,8 +43,8 @@ let EntityDynamicService = class EntityDynamicService {
43
43
  entityData.entity_type = entityType;
44
44
  }
45
45
  if (!entityData.code && loggedInUser) {
46
- const result = await this.dataSource.query(`SELECT MAX(CAST(SUBSTRING(code, LENGTH(entity_type) + 1) AS UNSIGNED)) AS max_seq_no
47
- FROM ${tableName}
46
+ const result = await this.dataSource.query(`SELECT MAX(CAST(SUBSTRING(code, LENGTH(entity_type) + 1) AS UNSIGNED)) AS max_seq_no
47
+ FROM ${tableName}
48
48
  WHERE entity_type = ?`, [entityData.entity_type]);
49
49
  let maxSeqNo = result?.[0]?.max_seq_no ? Number(result[0].max_seq_no) : 0;
50
50
  maxSeqNo += 1;
@@ -149,7 +149,7 @@ let EntityDynamicService = class EntityDynamicService {
149
149
  }
150
150
  async getEntityWithRelation(entityType, id, loggedInUser) {
151
151
  const mainEntity = await this.getEntity(entityType, id, loggedInUser);
152
- const relatedEntities = await this.dataSource.query(`SELECT * FROM cr_entity_relation_data WHERE source_entity_id = ? AND target_entity_type IN (
152
+ const relatedEntities = await this.dataSource.query(`SELECT * FROM cr_entity_relation_data WHERE source_entity_id = ? AND target_entity_type IN (
153
153
  SELECT target_entity_type FROM cr_entity_relation WHERE source_entity_type = ?)`, [id, entityType]);
154
154
  const response = {
155
155
  entity_type: entityType,
@@ -207,8 +207,8 @@ let EntityDynamicService = class EntityDynamicService {
207
207
  targetEntityId = createdEntity.insertId || createdEntity.id;
208
208
  entityData = await this.getEntity(targetEntityType, targetEntityId, loggedInUser);
209
209
  }
210
- await this.dataSource.query(`INSERT INTO cr_entity_relation_data
211
- (organization_id, source_entity_id, source_entity_type, target_entity_id, target_entity_type, relation_type)
210
+ await this.dataSource.query(`INSERT INTO cr_entity_relation_data
211
+ (organization_id, source_entity_id, source_entity_type, target_entity_id, target_entity_type, relation_type)
212
212
  VALUES (?, ?, ?, ?, ?,?)`, [
213
213
  organizationId,
214
214
  id,
@@ -253,8 +253,8 @@ let EntityDynamicService = class EntityDynamicService {
253
253
  entityData.enterprise_id = loggedInUser.enterprise_id;
254
254
  }
255
255
  if (!entityData.code && loggedInUser) {
256
- const result = await this.dataSource.query(`SELECT MAX(CAST(SUBSTRING(code, LENGTH(entity_type) + 1) AS UNSIGNED)) AS max_seq_no
257
- FROM ${tableName}
256
+ const result = await this.dataSource.query(`SELECT MAX(CAST(SUBSTRING(code, LENGTH(entity_type) + 1) AS UNSIGNED)) AS max_seq_no
257
+ FROM ${tableName}
258
258
  WHERE entity_type = ?`, [entityData.entity_type]);
259
259
  let maxSeqNo = result?.[0]?.max_seq_no ? Number(result[0].max_seq_no) : 0;
260
260
  maxSeqNo += 1;
@@ -365,13 +365,13 @@ let EntityDynamicService = class EntityDynamicService {
365
365
  return result[0].db_table_name;
366
366
  }
367
367
  async getAttributeCodes(entityType, organizationId) {
368
- const result = await this.dataSource.query(`SELECT attribute_key,
369
- MAX(db_datatype) AS db_datatype,
370
- MAX(element_type) AS element_type,
371
- MAX(is_hidden) AS is_hidden
372
- FROM cr_entity_attribute
373
- WHERE mapped_entity_type = ? AND organization_id = ?
374
- and (is_hidden IS NULL OR is_hidden = 0) -- Exclude hidden attributes
368
+ const result = await this.dataSource.query(`SELECT attribute_key,
369
+ MAX(db_datatype) AS db_datatype,
370
+ MAX(element_type) AS element_type,
371
+ MAX(is_hidden) AS is_hidden
372
+ FROM cr_entity_attribute
373
+ WHERE mapped_entity_type = ? AND organization_id = ?
374
+ and (is_hidden IS NULL OR is_hidden = 0) -- Exclude hidden attributes
375
375
  GROUP BY attribute_key`, [entityType, organizationId]);
376
376
  if (!result.length) {
377
377
  console.log(`No attributes found for entity '${entityType}' and org '${organizationId}'`);
@@ -403,15 +403,15 @@ let EntityDynamicService = class EntityDynamicService {
403
403
  }
404
404
  async getCode(entityType, loggedInUser) {
405
405
  const organizationId = loggedInUser.organization_id;
406
- const result = await this.dataSource.query(`SELECT db_table_name
407
- FROM cr_entity_master
406
+ const result = await this.dataSource.query(`SELECT db_table_name
407
+ FROM cr_entity_master
408
408
  WHERE mapped_entity_type = ? AND organization_id = ?`, [entityType, organizationId]);
409
409
  if (!result.length) {
410
410
  throw new Error(`Entity type '${entityType}' not found in cr_entity_master for org '${organizationId}'`);
411
411
  }
412
412
  const tableName = result[0].db_table_name;
413
- const seqResult = await this.dataSource.query(`SELECT MAX(CAST(SUBSTRING(code, LENGTH(entity_type) + 1) AS UNSIGNED)) AS max_seq_no
414
- FROM \`${tableName}\`
413
+ const seqResult = await this.dataSource.query(`SELECT MAX(CAST(SUBSTRING(code, LENGTH(entity_type) + 1) AS UNSIGNED)) AS max_seq_no
414
+ FROM \`${tableName}\`
415
415
  WHERE entity_type = ?`, [entityType]);
416
416
  let maxSeqNo = seqResult?.[0]?.max_seq_no
417
417
  ? Number(seqResult[0].max_seq_no)
@@ -75,11 +75,11 @@ let EntityListService = class EntityListService {
75
75
  }
76
76
  getQuery(source, groupByColumn) {
77
77
  if (groupByColumn) {
78
- return `SELECT ${groupByColumn} as tab_value, COUNT(1) AS tab_value_count
78
+ return `SELECT ${groupByColumn} as tab_value, COUNT(1) AS tab_value_count
79
79
  FROM ${source}`;
80
80
  }
81
81
  else {
82
- return `SELECT *
82
+ return `SELECT *
83
83
  FROM ${source}`;
84
84
  }
85
85
  }
@@ -123,7 +123,7 @@ let EntityListService = class EntityListService {
123
123
  return { query, argumentList: argsObjectList };
124
124
  }
125
125
  async getMaxSequenceNumber(tableName, parentType, parentId) {
126
- const query = `SELECT COUNT(1) seq_no
126
+ const query = `SELECT COUNT(1) seq_no
127
127
  FROM ${tableName} WHERE 1=1 `;
128
128
  const argsObjectList = [];
129
129
  const result = await this.entityManager.query(query, argsObjectList);
@@ -70,9 +70,9 @@ let EntityMasterService = class EntityMasterService {
70
70
  if (!entityMasterData) {
71
71
  throw new Error(`Entity master with mapped_entity_type "${entityType}" not found.`);
72
72
  }
73
- const attributes = await this.dataSource.query(`SELECT *
74
- FROM cr_entity_attribute
75
- WHERE mapped_entity_type = ?
73
+ const attributes = await this.dataSource.query(`SELECT *
74
+ FROM cr_entity_attribute
75
+ WHERE mapped_entity_type = ?
76
76
  AND organization_id = ? `, [entityMasterData.mapped_entity_type, loggedInUser.organization_id]);
77
77
  entityMasterData['attribute_list'] = attributes;
78
78
  entityMasterData['operation_list'] = {
@@ -19,12 +19,12 @@ let EntityRelationService = class EntityRelationService extends entity_service_i
19
19
  this.dataSource = dataSource;
20
20
  }
21
21
  async getEntityRelations(entityType, loggedInUser, includeSelf = false) {
22
- const relations = await this.dataSource.query(`SELECT name as label, target_entity_type as value, id
23
- FROM cr_entity_relation
22
+ const relations = await this.dataSource.query(`SELECT name as label, target_entity_type as value, id
23
+ FROM cr_entity_relation
24
24
  WHERE source_entity_type = ? AND organization_id = ?`, [entityType, loggedInUser.organization_id]);
25
25
  if (includeSelf) {
26
- const [entity] = await this.dataSource.query(`SELECT name as label
27
- FROM cr_entity_master
26
+ const [entity] = await this.dataSource.query(`SELECT name as label
27
+ FROM cr_entity_master
28
28
  WHERE mapped_entity_type = ? AND organization_id = ?`, [entityType, loggedInUser.organization_id]);
29
29
  if (entity) {
30
30
  relations.unshift({
@@ -39,13 +39,13 @@ let EntityRelationService = class EntityRelationService extends entity_service_i
39
39
  async getRelatedEntityIds(sourceEntity, targetEntity, targetIds, orgId) {
40
40
  if (!targetIds.length)
41
41
  return [];
42
- const result = await this.dataSource.query(`
43
- SELECT DISTINCT source_entity_id
44
- FROM cr_entity_relation_data
45
- WHERE source_entity_type = ?
46
- AND target_entity_type = ?
47
- AND target_entity_id IN (?)
48
- AND organization_id = ?
42
+ const result = await this.dataSource.query(`
43
+ SELECT DISTINCT source_entity_id
44
+ FROM cr_entity_relation_data
45
+ WHERE source_entity_type = ?
46
+ AND target_entity_type = ?
47
+ AND target_entity_id IN (?)
48
+ AND organization_id = ?
49
49
  `, [sourceEntity, targetEntity, targetIds, orgId]);
50
50
  return result.map((r) => r.source_entity_id);
51
51
  }
@@ -50,9 +50,9 @@ let EntityServiceImpl = class EntityServiceImpl {
50
50
  maxSeqNo = Number(maxSeqNo) + 1;
51
51
  entityData.code = entityData.entity_type + maxSeqNo;
52
52
  }
53
- const statusList = await repo.query(`SELECT id
54
- FROM cr_list_master_items
55
- WHERE code = ?
53
+ const statusList = await repo.query(`SELECT id
54
+ FROM cr_list_master_items
55
+ WHERE code = ?
56
56
  AND organization_id = ?`, [global_constant_1.STATUS_ACTIVE, loggedInUser?.organization_id || -1]);
57
57
  console.log('Status List:', statusList);
58
58
  console.log(`status_code,${global_constant_1.STATUS_ACTIVE},statusList, ${loggedInUser?.organization_id}`);
@@ -25,5 +25,6 @@ export declare class MediaDataService extends EntityServiceImpl {
25
25
  signedUrl: string;
26
26
  fileName: string;
27
27
  id: number;
28
+ size: number | undefined;
28
29
  }>;
29
30
  }
@@ -86,12 +86,20 @@ let MediaDataService = class MediaDataService extends entity_service_impl_servic
86
86
  try {
87
87
  const entityData = await this.getEntityData(global_constant_1.ENTITYTYPE_MEDIA, id, loggedInUser);
88
88
  const mediaData = entityData;
89
+ let fileSize;
90
+ if (this.bucketName) {
91
+ const head = await this.s3.headObject({
92
+ Bucket: this.bucketName,
93
+ Key: mediaData.media_url,
94
+ }).promise();
95
+ fileSize = head.ContentLength;
96
+ }
89
97
  const signedUrl = await this.s3.getSignedUrlPromise('getObject', {
90
98
  Bucket: this.bucketName,
91
99
  Key: mediaData.media_url,
92
100
  Expires: Number(expiresIn) || 60 * 5,
93
101
  });
94
- return { signedUrl, fileName: mediaData.file_name, id: mediaData.id };
102
+ return { signedUrl, fileName: mediaData.file_name, id: mediaData.id, size: fileSize };
95
103
  }
96
104
  catch (error) {
97
105
  console.error('Error generating signed URL for media:', error);
@@ -1 +1 @@
1
- {"version":3,"file":"media-data.service.js","sourceRoot":"","sources":["../../../../src/module/meta/service/media-data.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"media-data.service.js","sourceRoot":"","sources":["../../../../src/module/meta/service/media-data.service.ts"],"names":[],"mappings":"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"}
@@ -149,12 +149,12 @@ let ResolverService = class ResolverService {
149
149
  displayValue === '') {
150
150
  return displayValue;
151
151
  }
152
- const [attr] = await this.dataSource.query(`SELECT * FROM cr_entity_attribute
152
+ const [attr] = await this.dataSource.query(`SELECT * FROM cr_entity_attribute
153
153
  WHERE mapped_entity_type = ? AND organization_id = ? AND attribute_key = ?`, [entityType, loggedInUser.organization_id, attrKey]);
154
154
  if (!attr)
155
155
  return displayValue;
156
156
  if (attr.data_source_type === 'entity') {
157
- const [entityDef] = await this.dataSource.query(`SELECT * FROM cr_entity_master
157
+ const [entityDef] = await this.dataSource.query(`SELECT * FROM cr_entity_master
158
158
  WHERE mapped_entity_type = ? AND organization_id = ?`, [attr.datasource_list, loggedInUser.organization_id]);
159
159
  if (!entityDef)
160
160
  return displayValue;
@@ -169,7 +169,7 @@ let ResolverService = class ResolverService {
169
169
  return item?.id ?? displayValue;
170
170
  }
171
171
  else if (attr.data_source_type === 'master') {
172
- const [item] = await this.dataSource.query(`SELECT id FROM cr_list_master_items
172
+ const [item] = await this.dataSource.query(`SELECT id FROM cr_list_master_items
173
173
  WHERE ${attr.data_source_attribute} = ? AND organization_id = ?`, [displayValue, loggedInUser.organization_id]);
174
174
  return item?.id ?? displayValue;
175
175
  }
@@ -60,10 +60,10 @@ let MenuRepository = class MenuRepository extends typeorm_1.Repository {
60
60
  async getMenuItems(moduleCodes, appcode, levelType) {
61
61
  return await this.menuData
62
62
  .createQueryBuilder('menu')
63
- .leftJoin('sso_module', 'module', `
64
- menu.module_code = module.module_code
65
- AND LOWER(menu.appcode) = LOWER(module.appcode)
66
- AND menu.level_type = module.level_type
63
+ .leftJoin('sso_module', 'module', `
64
+ menu.module_code = module.module_code
65
+ AND LOWER(menu.appcode) = LOWER(module.appcode)
66
+ AND menu.level_type = module.level_type
67
67
  `)
68
68
  .where('menu.module_code IN (:...moduleCodes)', { moduleCodes })
69
69
  .andWhere('LOWER(menu.appcode) = LOWER(:appcode)', { appcode })
@@ -82,11 +82,11 @@ let MenuRepository = class MenuRepository extends typeorm_1.Repository {
82
82
  async resolveUserRoles(userId, appcode, levelType, levelId) {
83
83
  const repo = this.dataSource.getRepository(user_role_mapping_entity_1.UserRoleMapping);
84
84
  if (userId) {
85
- const getUserDetails = await this.dataSource.query(`
86
- SELECT * from sso_user where id = ?
85
+ const getUserDetails = await this.dataSource.query(`
86
+ SELECT * from sso_user where id = ?
87
87
  `, [userId]);
88
- const getUserUrm = await this.dataSource.query(`
89
- SELECT * from sso_user_role_mapping where user_id = ? and appcode = ?
88
+ const getUserUrm = await this.dataSource.query(`
89
+ SELECT * from sso_user_role_mapping where user_id = ? and appcode = ?
90
90
  `, [userId, appcode]);
91
91
  if (getUserDetails.length > 0 &&
92
92
  getUserDetails[0].organization_id === 1) {
@@ -105,10 +105,10 @@ let MenuRepository = class MenuRepository extends typeorm_1.Repository {
105
105
  if (roles.length)
106
106
  return roles.map((r) => r.urm_role_id);
107
107
  if (levelType === 'SCH') {
108
- const [sch] = await this.dataSource.query(`
109
- SELECT s.brand_id, s.organization_id
110
- FROM eth_school_profile s
111
- WHERE s.id = ?
108
+ const [sch] = await this.dataSource.query(`
109
+ SELECT s.brand_id, s.organization_id
110
+ FROM eth_school_profile s
111
+ WHERE s.id = ?
112
112
  `, [levelId]);
113
113
  const brandId = sch?.brand_id;
114
114
  const orgId = sch?.organization_id;
@@ -63,14 +63,14 @@ let NotificationsService = class NotificationsService {
63
63
  const isReadBool = String(filterQuery.is_read).toLowerCase() === 'true';
64
64
  isReadFilter = isReadBool ? 1 : 0;
65
65
  }
66
- let query = `
67
- SELECT
68
- n.*,
69
- u.name AS user_name,
70
- u.profile_image AS user_profile
71
- FROM cr_notification n
72
- LEFT JOIN eth_user_profile u ON n.user_id = u.parent_id
73
- WHERE n.user_id = ? AND n.level_id = ? AND n.level_type = ?
66
+ let query = `
67
+ SELECT
68
+ n.*,
69
+ u.name AS user_name,
70
+ u.profile_image AS user_profile
71
+ FROM cr_notification n
72
+ LEFT JOIN eth_user_profile u ON n.user_id = u.parent_id
73
+ WHERE n.user_id = ? AND n.level_id = ? AND n.level_type = ?
74
74
  `;
75
75
  const params = [id, level_id, level_type];
76
76
  if (isReadFilter !== undefined) {
@@ -97,10 +97,10 @@ let NotificationsService = class NotificationsService {
97
97
  }
98
98
  async markAllAsRead(loggedInUser) {
99
99
  const { id, level_id, level_type } = loggedInUser;
100
- const query = `
101
- UPDATE cr_notification
102
- SET is_read = 1
103
- WHERE user_id = ? AND level_id = ? AND level_type = ? AND is_read = 0
100
+ const query = `
101
+ UPDATE cr_notification
102
+ SET is_read = 1
103
+ WHERE user_id = ? AND level_id = ? AND level_type = ? AND is_read = 0
104
104
  `;
105
105
  const params = [id, level_id, level_type];
106
106
  const result = await this.dataSource.query(query, params);
@@ -57,27 +57,27 @@ let LoginController = class LoginController {
57
57
  try {
58
58
  const actualState = state.replace('gmail_config:', '');
59
59
  const result = await this.integrationService.handleGmailTokensCallback(email, googleAccessToken, googleRefreshToken, actualState);
60
- return res.send(`<html><body><script>
61
- window.opener.postMessage({ type: 'CONFIG_SUCCESS' }, '*');
62
- window.close();
60
+ return res.send(`<html><body><script>
61
+ window.opener.postMessage({ type: 'CONFIG_SUCCESS' }, '*');
62
+ window.close();
63
63
  </script> <p>Configuration successful. You can close this window.</p> </body></html>`);
64
64
  }
65
65
  catch (error) {
66
- return res.send(`
67
- <html>
68
- <body>
69
- <script>
70
- if (window.opener) {
71
- window.opener.postMessage({
72
- type: "CONFIG_FAILED",
73
- error: "${error.message || 'Something went wrong'}"
74
- }, "*");
75
- }
76
- window.close();
77
- </script>
78
- <p>Configuration failed. Please close this window.</p>
79
- </body>
80
- </html>
66
+ return res.send(`
67
+ <html>
68
+ <body>
69
+ <script>
70
+ if (window.opener) {
71
+ window.opener.postMessage({
72
+ type: "CONFIG_FAILED",
73
+ error: "${error.message || 'Something went wrong'}"
74
+ }, "*");
75
+ }
76
+ window.close();
77
+ </script>
78
+ <p>Configuration failed. Please close this window.</p>
79
+ </body>
80
+ </html>
81
81
  `);
82
82
  }
83
83
  }
@@ -76,10 +76,10 @@ let RoleService = class RoleService extends entity_service_impl_service_1.Entity
76
76
  if (!existingRole) {
77
77
  return { success: false, error: 'Role not found' };
78
78
  }
79
- const associatedUsers = await this.entityManager.query(`SELECT map.*
80
- FROM sso_user_role_mapping map
81
- JOIN sso_user usr ON map.user_id = usr.id
82
- WHERE usr.status = ${resolveStatus.id}
79
+ const associatedUsers = await this.entityManager.query(`SELECT map.*
80
+ FROM sso_user_role_mapping map
81
+ JOIN sso_user usr ON map.user_id = usr.id
82
+ WHERE usr.status = ${resolveStatus.id}
83
83
  and map.role_id = ${existingRole?.id}`);
84
84
  if (associatedUsers.length > 0) {
85
85
  return {
@@ -71,8 +71,8 @@ let UserSessionService = class UserSessionService {
71
71
  };
72
72
  let getUserDetails;
73
73
  if (currentUser) {
74
- getUserDetails = await this.dataSource.query(`
75
- SELECT * from sso_user where id = ?
74
+ getUserDetails = await this.dataSource.query(`
75
+ SELECT * from sso_user where id = ?
76
76
  `, [currentUser.id]);
77
77
  }
78
78
  if (getUserDetails[0].organization_id == 1 && payload.level_type == 'ORG') {
@@ -24,10 +24,10 @@ let ActionRepository = class ActionRepository {
24
24
  }
25
25
  async getReasonCode(loggedInUser) {
26
26
  const { organization_id } = loggedInUser;
27
- const result = await this.dataSource.query(`
28
- SELECT name, type
29
- FROM cr_list_master
30
- WHERE organization_id = ? AND source = 'master'
27
+ const result = await this.dataSource.query(`
28
+ SELECT name, type
29
+ FROM cr_list_master
30
+ WHERE organization_id = ? AND source = 'master'
31
31
  `, [organization_id]);
32
32
  const formatted = result.map((item) => ({
33
33
  label: item.name,
@@ -40,10 +40,10 @@ let ActionRepository = class ActionRepository {
40
40
  if (!list_type) {
41
41
  throw new common_1.BadRequestException('list_type is required');
42
42
  }
43
- const result = await this.dataSource.query(`
44
- SELECT name, id
45
- FROM cr_list_master_items
46
- WHERE listtype = ? AND organization_id = ?
43
+ const result = await this.dataSource.query(`
44
+ SELECT name, id
45
+ FROM cr_list_master_items
46
+ WHERE listtype = ? AND organization_id = ?
47
47
  `, [list_type, organization_id]);
48
48
  return result.map((row) => ({
49
49
  label: row.name,
@@ -52,19 +52,19 @@ let ActionRepository = class ActionRepository {
52
52
  }
53
53
  async getActions(loggedInUser, stage_id) {
54
54
  const { organization_id } = loggedInUser;
55
- const stageActions = await this.dataSource.query(`
56
- SELECT id, action_id
57
- FROM cr_wf_stage_action_mapping
58
- WHERE stage_id = ?
55
+ const stageActions = await this.dataSource.query(`
56
+ SELECT id, action_id
57
+ FROM cr_wf_stage_action_mapping
58
+ WHERE stage_id = ?
59
59
  `, [stage_id]);
60
60
  if (!stageActions?.length)
61
61
  return [];
62
62
  const actionIds = stageActions.map((sa) => sa.action_id);
63
63
  const mappingIds = stageActions.map((sa) => sa.id);
64
- const templateMappings = await this.dataSource.query(`
65
- SELECT stg_act_mapping_id, template_code
66
- FROM cr_wf_action_template_mapping
67
- WHERE stg_act_mapping_id IN (${mappingIds.map(() => '?').join(',')})
64
+ const templateMappings = await this.dataSource.query(`
65
+ SELECT stg_act_mapping_id, template_code
66
+ FROM cr_wf_action_template_mapping
67
+ WHERE stg_act_mapping_id IN (${mappingIds.map(() => '?').join(',')})
68
68
  `, mappingIds);
69
69
  const templateCodes = templateMappings.map((tm) => tm.template_code);
70
70
  const templateCodeToName = {};
@@ -30,17 +30,17 @@ let CommTemplateRepository = class CommTemplateRepository {
30
30
  const { organization_id, level_id, level_type } = loggedInUser;
31
31
  let is_template;
32
32
  if (action_id) {
33
- const [actionResult] = await this.dataSource.query(`SELECT is_template
34
- FROM cr_wf_action
35
- WHERE id = ? AND organization_id = ?
33
+ const [actionResult] = await this.dataSource.query(`SELECT is_template
34
+ FROM cr_wf_action
35
+ WHERE id = ? AND organization_id = ?
36
36
  LIMIT 1`, [action_id, organization_id]);
37
37
  if (!actionResult) {
38
38
  throw new Error('Invalid action_id');
39
39
  }
40
40
  is_template = actionResult.is_template;
41
- await this.dataSource.query(`UPDATE cr_wf_comm_template
42
- SET is_template = ?
43
- WHERE mapped_entity_type = ?
41
+ await this.dataSource.query(`UPDATE cr_wf_comm_template
42
+ SET is_template = ?
43
+ WHERE mapped_entity_type = ?
44
44
  AND organization_id = ? AND level_id = ? AND level_type=?`, [is_template, entity_type, organization_id, level_id, level_type]);
45
45
  }
46
46
  const whereCondition = {
@@ -17,8 +17,8 @@ let FormMasterRepository = class FormMasterRepository {
17
17
  this.dataSource = dataSource;
18
18
  }
19
19
  async getForms(organization_id, source_entity_type) {
20
- const forms = await this.dataSource.query(`SELECT fm.id as fm_id, fm.name as fm_form_name
21
- FROM cr_entity_view fm
20
+ const forms = await this.dataSource.query(`SELECT fm.id as fm_id, fm.name as fm_form_name
21
+ FROM cr_entity_view fm
22
22
  WHERE fm.organization_id = ? AND fm.mapped_entity_type = ?`, [organization_id, source_entity_type]);
23
23
  const formatted = forms.map((form) => ({
24
24
  label: form.fm_form_name,
@@ -67,33 +67,33 @@ let StageGroupRepository = class StageGroupRepository {
67
67
  if (!stageGroups.length)
68
68
  return [];
69
69
  const stageGroupIds = stageGroups.map((sg) => sg.id);
70
- const stagesRaw = await this.dataSource.query(`
71
- SELECT
72
- cr_wf_stage.*
73
- FROM cr_wf_stage
74
- WHERE cr_wf_stage.stage_group_id IN (${stageGroupIds.map(() => '?').join(',')})
75
- AND cr_wf_stage.organization_id = ?
76
- ORDER BY cr_wf_stage.sequence ASC
70
+ const stagesRaw = await this.dataSource.query(`
71
+ SELECT
72
+ cr_wf_stage.*
73
+ FROM cr_wf_stage
74
+ WHERE cr_wf_stage.stage_group_id IN (${stageGroupIds.map(() => '?').join(',')})
75
+ AND cr_wf_stage.organization_id = ?
76
+ ORDER BY cr_wf_stage.sequence ASC
77
77
  `, [...stageGroupIds, loggedInUser.organization_id]);
78
78
  const stageIds = stagesRaw.map((s) => s.id);
79
- const taskCounts = await this.dataSource.query(`
80
- SELECT stage_id, COUNT(*) AS task_count
81
- FROM cr_wf_task_data
82
- WHERE stage_id IN (${stageIds.map(() => '?').join(',')}) AND is_system=0 AND mapped_entity_id = ?
83
- GROUP BY stage_id
79
+ const taskCounts = await this.dataSource.query(`
80
+ SELECT stage_id, COUNT(*) AS task_count
81
+ FROM cr_wf_task_data
82
+ WHERE stage_id IN (${stageIds.map(() => '?').join(',')}) AND is_system=0 AND mapped_entity_id = ?
83
+ GROUP BY stage_id
84
84
  `, [...stageIds, lead_id]);
85
- const meetingCounts = await this.dataSource.query(`
86
- SELECT stage_id, COUNT(*) AS meeting_count
87
- FROM crm_lead_meeting
88
- WHERE stage_id IN (${stageIds.map(() => '?').join(',')}) AND mapped_entity_id = ?
89
- GROUP BY stage_id
85
+ const meetingCounts = await this.dataSource.query(`
86
+ SELECT stage_id, COUNT(*) AS meeting_count
87
+ FROM crm_lead_meeting
88
+ WHERE stage_id IN (${stageIds.map(() => '?').join(',')}) AND mapped_entity_id = ?
89
+ GROUP BY stage_id
90
90
  `, [...stageIds, lead_id]);
91
- const sendCommCounts = await this.dataSource.query(`
92
- SELECT stage_id, COUNT(*) AS send_comm_count
93
- FROM crm_lead_communication
94
- WHERE stage_id IN (${stageIds.map(() => '?').join(',')}) AND mapped_entity_id = ?
95
- AND type IN ('SEND', 'LOG')
96
- GROUP BY stage_id
91
+ const sendCommCounts = await this.dataSource.query(`
92
+ SELECT stage_id, COUNT(*) AS send_comm_count
93
+ FROM crm_lead_communication
94
+ WHERE stage_id IN (${stageIds.map(() => '?').join(',')}) AND mapped_entity_id = ?
95
+ AND type IN ('SEND', 'LOG')
96
+ GROUP BY stage_id
97
97
  `, [...stageIds, lead_id]);
98
98
  const taskCountMap = new Map(taskCounts.map((row) => [Number(row.stage_id), Number(row.task_count)]));
99
99
  const meetingCountMap = new Map(meetingCounts.map((row) => [
@@ -107,17 +107,17 @@ let StageMovementRepository = class StageMovementRepository {
107
107
  return nextStageGroupFirstStage || null;
108
108
  }
109
109
  async getAllActionByStageId(stageId) {
110
- const result = await this.dataSource.query(`
111
- SELECT
112
- a.*,
113
- m.stage_id,
114
- ac.code AS action_category_code,
115
- arm.form_id
116
- FROM cr_wf_action a
117
- LEFT JOIN cr_wf_stage_action_mapping m ON a.id = m.action_id
118
- LEFT JOIN cr_wf_action_category ac ON a.action_category = ac.id
119
- LEFT JOIN cr_wf_action_resources_mapping arm ON m.id = arm.stg_act_mapping_id
120
- WHERE m.stage_id = ?
110
+ const result = await this.dataSource.query(`
111
+ SELECT
112
+ a.*,
113
+ m.stage_id,
114
+ ac.code AS action_category_code,
115
+ arm.form_id
116
+ FROM cr_wf_action a
117
+ LEFT JOIN cr_wf_stage_action_mapping m ON a.id = m.action_id
118
+ LEFT JOIN cr_wf_action_category ac ON a.action_category = ac.id
119
+ LEFT JOIN cr_wf_action_resources_mapping arm ON m.id = arm.stg_act_mapping_id
120
+ WHERE m.stage_id = ?
121
121
  `, [stageId]);
122
122
  return result;
123
123
  }