rez_core 3.1.169 → 3.1.173

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