rez_core 5.0.31 → 5.0.33

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 (436) 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 +22 -22
  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/mapper/controller/mapper.controller.d.ts +7 -1
  26. package/dist/module/mapper/mapper.module.js +3 -2
  27. package/dist/module/mapper/mapper.module.js.map +1 -1
  28. package/dist/module/mapper/repository/mapper.repository.d.ts +1 -1
  29. package/dist/module/mapper/repository/mapper.repository.js +14 -2
  30. package/dist/module/mapper/repository/mapper.repository.js.map +1 -1
  31. package/dist/module/mapper/service/field-mapper.service.js +4 -4
  32. package/dist/module/mapper/service/mapper.service.d.ts +11 -3
  33. package/dist/module/mapper/service/mapper.service.js +16 -6
  34. package/dist/module/mapper/service/mapper.service.js.map +1 -1
  35. package/dist/module/meta/repository/entity-attribute-update.repository.js +3 -3
  36. package/dist/module/meta/repository/entity-master.repository.js +6 -6
  37. package/dist/module/meta/service/entity-dynamic.service.js +44 -44
  38. package/dist/module/meta/service/entity-list.service.js +3 -3
  39. package/dist/module/meta/service/entity-master.service.js +3 -3
  40. package/dist/module/meta/service/entity-relation.service.js +9 -9
  41. package/dist/module/meta/service/entity-service-impl.service.js +3 -3
  42. package/dist/module/meta/service/resolver.service.js +3 -3
  43. package/dist/module/module/repository/menu.repository.js +12 -12
  44. package/dist/module/notification/service/notification.service.js +10 -10
  45. package/dist/module/user/controller/login.controller.js +18 -18
  46. package/dist/module/user/service/role.service.js +4 -4
  47. package/dist/module/user/service/user-session.service.js +2 -2
  48. package/dist/module/workflow/repository/action.repository.js +20 -20
  49. package/dist/module/workflow/repository/comm-template.repository.js +6 -6
  50. package/dist/module/workflow/repository/form-master.repository.js +2 -2
  51. package/dist/module/workflow/repository/stage-group.repository.js +20 -20
  52. package/dist/module/workflow/repository/stage-movement.repository.js +17 -17
  53. package/dist/module/workflow/repository/stage.repository.js +8 -8
  54. package/dist/module/workflow/service/action-template-mapping.service.d.ts +6 -2
  55. package/dist/module/workflow/service/action-template-mapping.service.js +64 -41
  56. package/dist/module/workflow/service/action-template-mapping.service.js.map +1 -1
  57. package/dist/module/workflow/service/action.service.js +7 -7
  58. package/dist/module/workflow/service/entity-modification.service.js +2 -2
  59. package/dist/module/workflow/service/stage-group.service.js +2 -2
  60. package/dist/module/workflow/service/stage.service.js +2 -2
  61. package/dist/module/workflow/service/task.service.js +35 -35
  62. package/dist/module/workflow/service/workflow-list-master.service.js +15 -15
  63. package/dist/module/workflow/service/workflow-meta.service.js +26 -26
  64. package/dist/module/workflow/service/workflow.service.js +2 -2
  65. package/dist/module/workflow/workflow.module.js +2 -0
  66. package/dist/module/workflow/workflow.module.js.map +1 -1
  67. package/dist/module/workflow-automation/service/schedule-handler.service.js +9 -9
  68. package/dist/module/workflow-schedule/processors/schedule.processor.js +4 -4
  69. package/dist/module/workflow-schedule/service/workflow-schedule.service.js +9 -9
  70. package/dist/tsconfig.build.tsbuildinfo +1 -1
  71. package/dist/utils/service/reflection-helper.service.js +2 -2
  72. package/docs/modules/event-driven-integration-design.md +91 -91
  73. package/docs/modules/integration.md +250 -250
  74. package/eslint.config.mjs +34 -34
  75. package/nest-cli.json +14 -14
  76. package/package.json +124 -124
  77. package/server.log +850 -0
  78. package/src/app.controller.ts +12 -12
  79. package/src/app.module.ts +66 -66
  80. package/src/app.service.ts +8 -8
  81. package/src/config/bull.config.ts +69 -69
  82. package/src/config/config.module.ts +17 -17
  83. package/src/config/database.config.ts +48 -48
  84. package/src/constant/global.constant.ts +67 -67
  85. package/src/core.module.ts +88 -88
  86. package/src/decorators/roles.decorator.ts +7 -7
  87. package/src/dtos/response.dto.ts +6 -6
  88. package/src/dtos/response.ts +5 -5
  89. package/src/index.ts +1 -1
  90. package/src/module/auth/auth.module.ts +49 -49
  91. package/src/module/auth/controller/auth.controller.ts +28 -28
  92. package/src/module/auth/guards/google-auth.guard.ts +9 -9
  93. package/src/module/auth/guards/jwt.guard.ts +22 -22
  94. package/src/module/auth/guards/role.guard.ts +68 -68
  95. package/src/module/auth/services/auth.service.ts +50 -50
  96. package/src/module/auth/services/jwt.service.ts +11 -11
  97. package/src/module/auth/strategies/google.strategy.ts +54 -54
  98. package/src/module/auth/strategies/jwt.strategy.ts +58 -58
  99. package/src/module/auth/strategies/local.strategy.ts +13 -13
  100. package/src/module/dashboard/controller/dashboard.controller.ts +36 -36
  101. package/src/module/dashboard/dashboard.module.ts +21 -21
  102. package/src/module/dashboard/entity/dashboard_page_data.entity.ts +27 -27
  103. package/src/module/dashboard/entity/widget_master.entity.ts +18 -18
  104. package/src/module/dashboard/repository/dashboard.repository.ts +42 -42
  105. package/src/module/dashboard/service/dashboard.service.ts +73 -73
  106. package/src/module/dev/dev.module.ts +12 -12
  107. package/src/module/dev/service/dev.service.ts +7 -7
  108. package/src/module/enterprise/controller/organization.controller.ts +36 -36
  109. package/src/module/enterprise/enterprise.module.ts +30 -30
  110. package/src/module/enterprise/entity/enterprise.entity.ts +37 -37
  111. package/src/module/enterprise/entity/organization-app-mapping.entity.ts +13 -13
  112. package/src/module/enterprise/entity/organization.entity.ts +92 -92
  113. package/src/module/enterprise/repository/enterprise.repository.ts +31 -31
  114. package/src/module/enterprise/repository/organization.repository.ts +26 -26
  115. package/src/module/enterprise/repository/school.repository.ts +278 -278
  116. package/src/module/enterprise/service/brand.service.ts +5 -5
  117. package/src/module/enterprise/service/enterprise.service.ts +16 -16
  118. package/src/module/enterprise/service/organization-app-mapping.service.ts +4 -4
  119. package/src/module/enterprise/service/organization.service.ts +145 -145
  120. package/src/module/entity_json/controller/entity_json.controller.ts +47 -47
  121. package/src/module/entity_json/entity/entityJson.entity.ts +39 -39
  122. package/src/module/entity_json/entity_json.module.ts +18 -18
  123. package/src/module/entity_json/service/entityJson.repository.ts +37 -37
  124. package/src/module/entity_json/service/entity_json.service.ts +234 -234
  125. package/src/module/filter/controller/filter.controller.ts +84 -84
  126. package/src/module/filter/dto/filter-request.dto.ts +38 -38
  127. package/src/module/filter/entity/saved-filter-detail.entity.ts +41 -41
  128. package/src/module/filter/entity/saved-filter-master.entity.ts +23 -23
  129. package/src/module/filter/filter.module.ts +31 -31
  130. package/src/module/filter/repository/saved-filter.repository.ts +168 -168
  131. package/src/module/filter/service/filter-evaluator.service.ts +86 -86
  132. package/src/module/filter/service/filter.service.ts +1144 -1144
  133. package/src/module/filter/service/saved-filter.service.ts +170 -170
  134. package/src/module/ics/controller/ics.controller.ts +21 -21
  135. package/src/module/ics/dto/ics.dto.ts +55 -55
  136. package/src/module/ics/ics.module.ts +13 -13
  137. package/src/module/ics/service/ics.service.ts +57 -57
  138. package/src/module/integration/controller/calender-event.controller.ts +31 -31
  139. package/src/module/integration/controller/integration.controller.ts +662 -662
  140. package/src/module/integration/controller/wrapper.controller.ts +37 -37
  141. package/src/module/integration/dto/create-config.dto.ts +526 -526
  142. package/src/module/integration/entity/integration-config.entity.ts +112 -112
  143. package/src/module/integration/entity/integration-entity-mapper.entity.ts +14 -14
  144. package/src/module/integration/entity/integration-source.entity.ts +17 -17
  145. package/src/module/integration/entity/user-integration.entity.ts +71 -71
  146. package/src/module/integration/examples/usage.example.ts +338 -338
  147. package/src/module/integration/factories/base.factory.ts +7 -7
  148. package/src/module/integration/factories/email.factory.ts +49 -49
  149. package/src/module/integration/factories/integration.factory.ts +121 -121
  150. package/src/module/integration/factories/sms.factory.ts +51 -51
  151. package/src/module/integration/factories/telephone.factory.ts +41 -41
  152. package/src/module/integration/factories/whatsapp.factory.ts +56 -56
  153. package/src/module/integration/integration.module.ts +110 -110
  154. package/src/module/integration/service/calendar-event.service.ts +118 -118
  155. package/src/module/integration/service/integration-entity-mapper.service.ts +17 -17
  156. package/src/module/integration/service/integration-queue.service.ts +229 -229
  157. package/src/module/integration/service/integration.service.ts +2633 -2633
  158. package/src/module/integration/service/oauth.service.ts +224 -224
  159. package/src/module/integration/service/wrapper.service.ts +701 -701
  160. package/src/module/integration/strategies/email/gmail-api.strategy.ts +280 -280
  161. package/src/module/integration/strategies/email/outlook-api.strategy.ts +44 -44
  162. package/src/module/integration/strategies/email/outlook.strategy.ts +64 -64
  163. package/src/module/integration/strategies/email/sendgrid-api.strategy.ts +260 -260
  164. package/src/module/integration/strategies/integration.strategy.ts +97 -97
  165. package/src/module/integration/strategies/sms/gupshup-sms.strategy.ts +146 -146
  166. package/src/module/integration/strategies/sms/msg91-sms.strategy.ts +164 -164
  167. package/src/module/integration/strategies/sms/tubelight-sms.strategy.ts +163 -163
  168. package/src/module/integration/strategies/telephone/ozonetel-voice.strategy.ts +238 -238
  169. package/src/module/integration/strategies/telephone/tubelight-voice.strategy.ts +210 -210
  170. package/src/module/integration/strategies/whatsapp/gupshup-whatsapp.strategy.ts +359 -359
  171. package/src/module/integration/strategies/whatsapp/tubelight-whatsapp.strategy.ts +372 -372
  172. package/src/module/integration/strategies/whatsapp/whatsapp-cloud.strategy.ts +403 -403
  173. package/src/module/integration/strategies/whatsapp/whatsapp.strategy.ts +57 -57
  174. package/src/module/layout/controller/layout.controller.ts +47 -47
  175. package/src/module/layout/entity/header-items.entity.ts +28 -28
  176. package/src/module/layout/entity/header-section.entity.ts +19 -19
  177. package/src/module/layout/layout.module.ts +21 -21
  178. package/src/module/layout/repository/header-items.repository.ts +18 -18
  179. package/src/module/layout/repository/header-section.repository.ts +22 -22
  180. package/src/module/layout/service/header-section.service.ts +25 -25
  181. package/src/module/layout_preference/controller/layout_preference.controller.ts +73 -73
  182. package/src/module/layout_preference/entity/layout_preference.entity.ts +28 -28
  183. package/src/module/layout_preference/layout_preference.module.ts +22 -22
  184. package/src/module/layout_preference/repository/layout_preference.repository.ts +65 -65
  185. package/src/module/layout_preference/service/layout_preference.service.ts +191 -191
  186. package/src/module/lead/controller/lead.controller.ts +30 -30
  187. package/src/module/lead/lead.module.ts +14 -14
  188. package/src/module/lead/repository/lead.repository.ts +41 -41
  189. package/src/module/lead/service/lead.service.ts +54 -54
  190. package/src/module/linked_attributes/controller/linked_attributes.controller.ts +34 -34
  191. package/src/module/linked_attributes/entity/linked_attribute.entity.ts +51 -51
  192. package/src/module/linked_attributes/linked_attributes.module.ts +16 -16
  193. package/src/module/linked_attributes/repository/linked_attribute.repository.ts +12 -12
  194. package/src/module/linked_attributes/service/linked_attributes.service.ts +102 -102
  195. package/src/module/listmaster/controller/list-master.controller.ts +230 -230
  196. package/src/module/listmaster/entity/list-master-items.entity.ts +43 -43
  197. package/src/module/listmaster/entity/list-master.entity.ts +33 -33
  198. package/src/module/listmaster/listmaster.module.ts +46 -46
  199. package/src/module/listmaster/repository/list-master-items.repository.ts +173 -173
  200. package/src/module/listmaster/repository/list-master.repository.ts +46 -46
  201. package/src/module/listmaster/service/list-master-engine.ts +19 -19
  202. package/src/module/listmaster/service/list-master-extension.interface.ts +4 -4
  203. package/src/module/listmaster/service/list-master-item.service.ts +292 -292
  204. package/src/module/listmaster/service/list-master-registry.ts +15 -15
  205. package/src/module/listmaster/service/list-master.service.ts +544 -544
  206. package/src/module/mapper/controller/field-mapper.controller.ts +76 -76
  207. package/src/module/mapper/controller/mapper.controller.ts +20 -20
  208. package/src/module/mapper/dto/field-mapper.dto.ts +14 -14
  209. package/src/module/mapper/entity/field-lovs.entity.ts +19 -19
  210. package/src/module/mapper/entity/field-mapper.entity.ts +53 -53
  211. package/src/module/mapper/entity/mapper.entity.ts +16 -16
  212. package/src/module/mapper/mapper.module.ts +35 -34
  213. package/src/module/mapper/repository/field-lovs.repository.ts +35 -35
  214. package/src/module/mapper/repository/field-mapper.repository.ts +42 -42
  215. package/src/module/mapper/repository/mapper.repository.ts +32 -15
  216. package/src/module/mapper/service/field-mapper.service.ts +271 -271
  217. package/src/module/mapper/service/mapper.service.ts +81 -79
  218. package/src/module/master/controller/master.controller.ts +74 -74
  219. package/src/module/master/service/master.service.ts +483 -483
  220. package/src/module/meta/controller/app-master.controller.ts +38 -38
  221. package/src/module/meta/controller/attribute-master.controller.ts +84 -84
  222. package/src/module/meta/controller/entity-dynamic.controller.ts +125 -125
  223. package/src/module/meta/controller/entity-master.controller.ts +41 -41
  224. package/src/module/meta/controller/entity-relation.controller.ts +36 -36
  225. package/src/module/meta/controller/entity.controller.ts +392 -392
  226. package/src/module/meta/controller/entity.public.controller.ts +75 -75
  227. package/src/module/meta/controller/media.controller.ts +107 -107
  228. package/src/module/meta/controller/meta.controller.ts +96 -96
  229. package/src/module/meta/controller/view-master.controller.ts +86 -86
  230. package/src/module/meta/dto/entity-list-data.dto.ts +6 -6
  231. package/src/module/meta/dto/entity-tab.dto.ts +4 -4
  232. package/src/module/meta/dto/entity-table.dto.ts +9 -9
  233. package/src/module/meta/entity/app-master.entity.ts +34 -34
  234. package/src/module/meta/entity/attribute-master.entity.ts +92 -92
  235. package/src/module/meta/entity/base-entity.entity.ts +75 -75
  236. package/src/module/meta/entity/entity-master.entity.ts +85 -85
  237. package/src/module/meta/entity/entity-relation-data.entity.ts +29 -29
  238. package/src/module/meta/entity/entity-relation.entity.ts +23 -23
  239. package/src/module/meta/entity/entity-table-column.entity.ts +61 -61
  240. package/src/module/meta/entity/entity-table.entity.ts +50 -50
  241. package/src/module/meta/entity/media-data.entity.ts +32 -32
  242. package/src/module/meta/entity/preference.entity.ts +62 -62
  243. package/src/module/meta/entity/view-master.entity.ts +41 -41
  244. package/src/module/meta/entity.module.ts +166 -166
  245. package/src/module/meta/repository/app-master.repository.ts +20 -20
  246. package/src/module/meta/repository/attribute-master.repository.ts +138 -138
  247. package/src/module/meta/repository/entity-attribute-update.repository.ts +44 -44
  248. package/src/module/meta/repository/entity-master.repository.ts +111 -111
  249. package/src/module/meta/repository/entity-table-column.repository.ts +39 -39
  250. package/src/module/meta/repository/entity-table.repository.ts +53 -53
  251. package/src/module/meta/repository/media-data.repository.ts +50 -50
  252. package/src/module/meta/repository/preference.repository.ts +20 -20
  253. package/src/module/meta/repository/user-app-mapping.repository.ts +28 -28
  254. package/src/module/meta/repository/view-master.repository.ts +42 -42
  255. package/src/module/meta/service/app-master.service.ts +37 -37
  256. package/src/module/meta/service/attribute-master.service.ts +130 -130
  257. package/src/module/meta/service/common.service.ts +9 -9
  258. package/src/module/meta/service/entity-attribute-update.service.ts +28 -28
  259. package/src/module/meta/service/entity-dynamic.service.ts +809 -809
  260. package/src/module/meta/service/entity-list.service.ts +205 -205
  261. package/src/module/meta/service/entity-master.service.ts +175 -175
  262. package/src/module/meta/service/entity-realation-data.service.ts +9 -9
  263. package/src/module/meta/service/entity-relation.service.ts +87 -87
  264. package/src/module/meta/service/entity-service-impl.service.ts +525 -525
  265. package/src/module/meta/service/entity-table-column.service.ts +39 -39
  266. package/src/module/meta/service/entity-table.service.ts +150 -150
  267. package/src/module/meta/service/entity-validation.service.ts +187 -187
  268. package/src/module/meta/service/entity.service.ts +67 -67
  269. package/src/module/meta/service/field-group.service.ts +103 -103
  270. package/src/module/meta/service/media-data.service.ts +507 -507
  271. package/src/module/meta/service/populate-meta.service.ts +193 -193
  272. package/src/module/meta/service/preference.service.ts +16 -16
  273. package/src/module/meta/service/resolver.service.ts +271 -271
  274. package/src/module/meta/service/section-master.service.ts +104 -104
  275. package/src/module/meta/service/update-form-json.service.ts +22 -22
  276. package/src/module/meta/service/user-app-mapping.service.ts +17 -17
  277. package/src/module/meta/service/view-master.service.ts +127 -127
  278. package/src/module/microservice-client/microservice-clients.module.ts +13 -13
  279. package/src/module/microservice-client/service/microservice-client-factory.ts +37 -37
  280. package/src/module/microservice-client/service/microservice-clients.ts +4 -4
  281. package/src/module/module/controller/menu.controller.ts +15 -15
  282. package/src/module/module/controller/module-access.controller.ts +134 -134
  283. package/src/module/module/entity/menu.entity.ts +43 -43
  284. package/src/module/module/entity/module-access.entity.ts +25 -25
  285. package/src/module/module/entity/module-action.entity.ts +17 -17
  286. package/src/module/module/entity/module.entity.ts +52 -52
  287. package/src/module/module/module.module.ts +42 -42
  288. package/src/module/module/repository/menu.repository.ts +184 -184
  289. package/src/module/module/repository/module-access.repository.ts +344 -344
  290. package/src/module/module/service/menu.service.ts +82 -82
  291. package/src/module/module/service/module-access.service.ts +194 -194
  292. package/src/module/notification/controller/notification.controller.ts +58 -58
  293. package/src/module/notification/controller/otp.controller.ts +117 -117
  294. package/src/module/notification/entity/notification.entity.ts +26 -26
  295. package/src/module/notification/entity/otp.entity.ts +28 -28
  296. package/src/module/notification/firebase-admin.config.ts +22 -22
  297. package/src/module/notification/notification.module.ts +69 -69
  298. package/src/module/notification/repository/otp.repository.ts +27 -27
  299. package/src/module/notification/service/email.service.ts +127 -127
  300. package/src/module/notification/service/notification.service.ts +160 -160
  301. package/src/module/notification/service/otp.service.ts +133 -133
  302. package/src/module/third-party-module/entity/third-party-api-registry.entity.ts +52 -52
  303. package/src/module/third-party-module/repository/third-party-api-registry.repository.ts +20 -20
  304. package/src/module/third-party-module/service/api-registry.service.ts +13 -13
  305. package/src/module/third-party-module/third-party.module.ts +12 -12
  306. package/src/module/user/controller/login.controller.ts +198 -198
  307. package/src/module/user/controller/user.controller.ts +40 -40
  308. package/src/module/user/dto/create-user.dto.ts +62 -62
  309. package/src/module/user/dto/update-user.dto.ts +4 -4
  310. package/src/module/user/entity/role.entity.ts +33 -33
  311. package/src/module/user/entity/user-role-mapping.entity.ts +38 -38
  312. package/src/module/user/entity/user-session.entity.ts +73 -73
  313. package/src/module/user/entity/user.entity.ts +59 -59
  314. package/src/module/user/repository/role.repository.ts +96 -96
  315. package/src/module/user/repository/user-role-mapping.repository.ts +126 -126
  316. package/src/module/user/repository/user.repository.ts +50 -50
  317. package/src/module/user/repository/userSession.repository.ts +33 -33
  318. package/src/module/user/service/login.service.ts +326 -326
  319. package/src/module/user/service/role.service.ts +189 -189
  320. package/src/module/user/service/user-role-mapping.service.ts +98 -98
  321. package/src/module/user/service/user-session.service.ts +168 -168
  322. package/src/module/user/service/user.service.ts +368 -368
  323. package/src/module/user/user.module.ts +65 -65
  324. package/src/module/workflow/controller/action-category.controller.ts +54 -54
  325. package/src/module/workflow/controller/action-resource-mapping.controller.ts +23 -23
  326. package/src/module/workflow/controller/action-template-mapping.controller.ts +35 -35
  327. package/src/module/workflow/controller/action.controller.ts +111 -111
  328. package/src/module/workflow/controller/activity-log.controller.ts +55 -55
  329. package/src/module/workflow/controller/comm-template.controller.ts +43 -43
  330. package/src/module/workflow/controller/entity-modification.controller.ts +35 -35
  331. package/src/module/workflow/controller/form-master.controller.ts +43 -43
  332. package/src/module/workflow/controller/stage-group.controller.ts +48 -48
  333. package/src/module/workflow/controller/stage.controller.ts +50 -50
  334. package/src/module/workflow/controller/task.controller.ts +77 -77
  335. package/src/module/workflow/controller/workflow-list-master.controller.ts +44 -44
  336. package/src/module/workflow/controller/workflow-meta.controller.ts +80 -80
  337. package/src/module/workflow/controller/workflow.controller.ts +67 -67
  338. package/src/module/workflow/entity/action-category.entity.ts +38 -38
  339. package/src/module/workflow/entity/action-data.entity.ts +55 -55
  340. package/src/module/workflow/entity/action-resources-mapping.entity.ts +29 -29
  341. package/src/module/workflow/entity/action-template-mapping.entity.ts +17 -17
  342. package/src/module/workflow/entity/action.entity.ts +53 -53
  343. package/src/module/workflow/entity/activity-log.entity.ts +43 -43
  344. package/src/module/workflow/entity/comm-template.entity.ts +43 -43
  345. package/src/module/workflow/entity/entity-modification.entity.ts +38 -38
  346. package/src/module/workflow/entity/form.entity.ts +25 -25
  347. package/src/module/workflow/entity/stage-action-mapping.entity.ts +17 -17
  348. package/src/module/workflow/entity/stage-group.entity.ts +23 -23
  349. package/src/module/workflow/entity/stage-movement-data.entity.ts +38 -38
  350. package/src/module/workflow/entity/stage.entity.ts +20 -20
  351. package/src/module/workflow/entity/task-data.entity.ts +88 -88
  352. package/src/module/workflow/entity/template-attach-mapper.entity.ts +30 -30
  353. package/src/module/workflow/entity/workflow-data.entity.ts +11 -11
  354. package/src/module/workflow/entity/workflow-level-mapping.entity.ts +18 -18
  355. package/src/module/workflow/entity/workflow.entity.ts +20 -20
  356. package/src/module/workflow/repository/action-category.repository.ts +79 -79
  357. package/src/module/workflow/repository/action-data.repository.ts +334 -334
  358. package/src/module/workflow/repository/action.repository.ts +324 -324
  359. package/src/module/workflow/repository/activity-log.repository.ts +148 -148
  360. package/src/module/workflow/repository/comm-template.repository.ts +149 -149
  361. package/src/module/workflow/repository/form-master.repository.ts +59 -59
  362. package/src/module/workflow/repository/stage-group.repository.ts +197 -197
  363. package/src/module/workflow/repository/stage-movement.repository.ts +246 -246
  364. package/src/module/workflow/repository/stage.repository.ts +172 -172
  365. package/src/module/workflow/repository/task.repository.ts +134 -134
  366. package/src/module/workflow/repository/workflow.repository.ts +42 -42
  367. package/src/module/workflow/service/action-category.service.ts +33 -33
  368. package/src/module/workflow/service/action-data.service.ts +62 -62
  369. package/src/module/workflow/service/action-resources-mapping.service.ts +10 -10
  370. package/src/module/workflow/service/action-template-mapping.service.ts +131 -115
  371. package/src/module/workflow/service/action.service.ts +279 -279
  372. package/src/module/workflow/service/activity-log.service.ts +107 -107
  373. package/src/module/workflow/service/comm-template.service.ts +180 -180
  374. package/src/module/workflow/service/entity-modification.service.ts +61 -61
  375. package/src/module/workflow/service/form-master.service.ts +35 -35
  376. package/src/module/workflow/service/populate-workflow.service.ts +303 -303
  377. package/src/module/workflow/service/stage-action-mapping.service.ts +5 -5
  378. package/src/module/workflow/service/stage-group.service.ts +342 -342
  379. package/src/module/workflow/service/stage.service.ts +199 -199
  380. package/src/module/workflow/service/task.service.ts +558 -558
  381. package/src/module/workflow/service/workflow-list-master.service.ts +60 -60
  382. package/src/module/workflow/service/workflow-meta.service.ts +654 -654
  383. package/src/module/workflow/service/workflow.service.ts +205 -205
  384. package/src/module/workflow/workflow.module.ts +180 -178
  385. package/src/module/workflow-automation/SCHEDULING_GUIDE.md +145 -145
  386. package/src/module/workflow-automation/controller/workflow-automation.controller.ts +43 -43
  387. package/src/module/workflow-automation/entity/workflow-automation-action.entity.ts +26 -26
  388. package/src/module/workflow-automation/entity/workflow-automation.entity.ts +40 -40
  389. package/src/module/workflow-automation/interface/action.decorator.ts +7 -7
  390. package/src/module/workflow-automation/interface/action.interface.ts +5 -5
  391. package/src/module/workflow-automation/service/action-registery.service.ts +35 -35
  392. package/src/module/workflow-automation/service/schedule-handler.service.ts +168 -168
  393. package/src/module/workflow-automation/service/workflow-automation-engine.service.ts +224 -224
  394. package/src/module/workflow-automation/service/workflow-automation.service.ts +515 -515
  395. package/src/module/workflow-automation/workflow-automation.module.ts +54 -54
  396. package/src/module/workflow-schedule/INSTALLATION.md +244 -244
  397. package/src/module/workflow-schedule/MULTI_PROJECT_GUIDE.md +196 -196
  398. package/src/module/workflow-schedule/README.md +422 -422
  399. package/src/module/workflow-schedule/constants/schedule.constants.ts +48 -48
  400. package/src/module/workflow-schedule/controller/workflow-schedule.controller.ts +255 -255
  401. package/src/module/workflow-schedule/docs/CLAUDE_CODE_GUIDE.md +510 -510
  402. package/src/module/workflow-schedule/docs/CLAUDE_CODE_PROMPT.md +362 -362
  403. package/src/module/workflow-schedule/docs/RUN_CLAUDE_CODE.sh +68 -68
  404. package/src/module/workflow-schedule/dto/create-schedule.dto.ts +147 -147
  405. package/src/module/workflow-schedule/dto/get-execution-logs.dto.ts +119 -119
  406. package/src/module/workflow-schedule/dto/update-schedule.dto.ts +96 -96
  407. package/src/module/workflow-schedule/entities/scheduled-workflow.entity.ts +148 -148
  408. package/src/module/workflow-schedule/entities/workflow-execution-log.entity.ts +154 -154
  409. package/src/module/workflow-schedule/interfaces/schedule-job-data.interface.ts +53 -53
  410. package/src/module/workflow-schedule/interfaces/workflow-schedule-options.interface.ts +12 -12
  411. package/src/module/workflow-schedule/processors/schedule.processor.ts +584 -584
  412. package/src/module/workflow-schedule/service/workflow-schedule.service.ts +600 -600
  413. package/src/module/workflow-schedule/workflow-schedule.module.ts +67 -67
  414. package/src/resources/dev.properties.yaml +31 -31
  415. package/src/resources/local.properties.yaml +27 -27
  416. package/src/resources/properties.module.ts +12 -12
  417. package/src/resources/properties.yaml.ts +11 -11
  418. package/src/resources/uat.properties.yaml +31 -31
  419. package/src/table.config.ts +130 -130
  420. package/src/utils/dto/excel-data.dto.ts +14 -14
  421. package/src/utils/dto/excelsheet-data.dto.ts +5 -5
  422. package/src/utils/service/base64util.service.ts +18 -18
  423. package/src/utils/service/clockIDGenUtil.service.ts +21 -21
  424. package/src/utils/service/codeGenerator.service.ts +22 -22
  425. package/src/utils/service/dateUtil.service.ts +17 -17
  426. package/src/utils/service/encryptUtil.service.ts +97 -97
  427. package/src/utils/service/excel-helper.service.ts +72 -72
  428. package/src/utils/service/excelUtil.service.ts +15 -15
  429. package/src/utils/service/file-util.service.ts +11 -11
  430. package/src/utils/service/json-util.service.ts +23 -23
  431. package/src/utils/service/loggingUtil.service.ts +88 -88
  432. package/src/utils/service/reflection-helper.service.ts +62 -62
  433. package/src/utils/service/wbsCodeGen.service.ts +8 -8
  434. package/src/utils/utils.module.ts +27 -27
  435. package/tsconfig.build.json +4 -4
  436. package/tsconfig.json +24 -24
@@ -147,12 +147,12 @@ let ResolverService = class ResolverService {
147
147
  displayValue === '') {
148
148
  return displayValue;
149
149
  }
150
- const [attr] = await this.dataSource.query(`SELECT * FROM frm_entity_attribute
150
+ const [attr] = await this.dataSource.query(`SELECT * FROM frm_entity_attribute
151
151
  WHERE mapped_entity_type = $1 AND organization_id = $2 AND attribute_key = $3`, [entityType, loggedInUser.organization_id, attrKey]);
152
152
  if (!attr)
153
153
  return displayValue;
154
154
  if (attr.data_source_type === 'entity') {
155
- const [entityDef] = await this.dataSource.query(`SELECT * FROM frm_entity_master
155
+ const [entityDef] = await this.dataSource.query(`SELECT * FROM frm_entity_master
156
156
  WHERE mapped_entity_type = $1 AND organization_id = $2`, [attr.datasource_list, loggedInUser.organization_id]);
157
157
  if (!entityDef)
158
158
  return displayValue;
@@ -167,7 +167,7 @@ let ResolverService = class ResolverService {
167
167
  return item?.id ?? displayValue;
168
168
  }
169
169
  else if (attr.data_source_type === 'master') {
170
- const [item] = await this.dataSource.query(`SELECT id FROM frm_list_master_items
170
+ const [item] = await this.dataSource.query(`SELECT id FROM frm_list_master_items
171
171
  WHERE ${attr.data_source_attribute} = $1 AND organization_id = $2 AND listtype = $3`, [displayValue, loggedInUser.organization_id, attr.datasource_list]);
172
172
  return item?.id ?? displayValue;
173
173
  }
@@ -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 = $1
85
+ const getUserDetails = await this.dataSource.query(`
86
+ SELECT * from sso_user where id = $1
87
87
  `, [userId]);
88
- const getUserUrm = await this.dataSource.query(`
89
- SELECT * from sso_user_role_mapping where user_id = $1 and appcode = $2
88
+ const getUserUrm = await this.dataSource.query(`
89
+ SELECT * from sso_user_role_mapping where user_id = $1 and appcode = $2
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 sso_school s
111
- WHERE s.id = $1
108
+ const [sch] = await this.dataSource.query(`
109
+ SELECT s.brand_id, s.organization_id
110
+ FROM sso_school s
111
+ WHERE s.id = $1
112
112
  `, [levelId]);
113
113
  const brandId = sch?.brand_id;
114
114
  const orgId = sch?.organization_id;
@@ -67,12 +67,12 @@ let NotificationsService = class NotificationsService {
67
67
  isReadFilter = isRead ? '1' : '0';
68
68
  }
69
69
  let paramIndex = 1;
70
- let sql = `
71
- SELECT n.*
72
- FROM frm_notification n
73
- WHERE n.user_id = $${paramIndex}
74
- AND n.level_id = $${paramIndex + 1}
75
- AND n.level_type = $${paramIndex + 2}
70
+ let sql = `
71
+ SELECT n.*
72
+ FROM frm_notification n
73
+ WHERE n.user_id = $${paramIndex}
74
+ AND n.level_id = $${paramIndex + 1}
75
+ AND n.level_type = $${paramIndex + 2}
76
76
  `;
77
77
  const params = [
78
78
  String(id),
@@ -107,10 +107,10 @@ let NotificationsService = class NotificationsService {
107
107
  }
108
108
  async markAllAsRead(loggedInUser) {
109
109
  const { id, level_id, level_type } = loggedInUser;
110
- const query = `
111
- UPDATE frm_notification
112
- SET is_read = 1
113
- WHERE user_id = $1 AND level_id = $2 AND level_type = $3 AND is_read = 0
110
+ const query = `
111
+ UPDATE frm_notification
112
+ SET is_read = 1
113
+ WHERE user_id = $1 AND level_id = $2 AND level_type = $3 AND is_read = 0
114
114
  `;
115
115
  const params = [id, level_id, level_type];
116
116
  const result = await this.dataSource.query(query, params);
@@ -58,27 +58,27 @@ let LoginController = class LoginController {
58
58
  try {
59
59
  const actualState = state.replace('gmail_config:', '');
60
60
  const result = await this.integrationService.handleGmailTokensCallback(email, googleAccessToken, googleRefreshToken, actualState);
61
- return res.send(`<html><body><script>
62
- window.opener.postMessage({ type: 'CONFIG_SUCCESS' }, '*');
63
- window.close();
61
+ return res.send(`<html><body><script>
62
+ window.opener.postMessage({ type: 'CONFIG_SUCCESS' }, '*');
63
+ window.close();
64
64
  </script> <p>Configuration successful. You can close this window.</p> </body></html>`);
65
65
  }
66
66
  catch (error) {
67
- return res.send(`
68
- <html>
69
- <body>
70
- <script>
71
- if (window.opener) {
72
- window.opener.postMessage({
73
- type: "CONFIG_FAILED",
74
- error: "${error.message || 'Something went wrong'}"
75
- }, "*");
76
- }
77
- window.close();
78
- </script>
79
- <p>Configuration failed. Please close this window.</p>
80
- </body>
81
- </html>
67
+ return res.send(`
68
+ <html>
69
+ <body>
70
+ <script>
71
+ if (window.opener) {
72
+ window.opener.postMessage({
73
+ type: "CONFIG_FAILED",
74
+ error: "${error.message || 'Something went wrong'}"
75
+ }, "*");
76
+ }
77
+ window.close();
78
+ </script>
79
+ <p>Configuration failed. Please close this window.</p>
80
+ </body>
81
+ </html>
82
82
  `);
83
83
  }
84
84
  }
@@ -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 = $1
74
+ getUserDetails = await this.dataSource.query(`
75
+ SELECT * from sso_user where id = $1
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 frm_list_master
30
- WHERE organization_id = $1 AND source = 'master'
27
+ const result = await this.dataSource.query(`
28
+ SELECT name, type
29
+ FROM frm_list_master
30
+ WHERE organization_id = $1 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 frm_list_master_items
46
- WHERE listtype = $1 AND organization_id = $2
43
+ const result = await this.dataSource.query(`
44
+ SELECT name, id
45
+ FROM frm_list_master_items
46
+ WHERE listtype = $1 AND organization_id = $2
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 frm_wf_stage_action_mapping
58
- WHERE stage_id = $1
55
+ const stageActions = await this.dataSource.query(`
56
+ SELECT id, action_id
57
+ FROM frm_wf_stage_action_mapping
58
+ WHERE stage_id = $1
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 frm_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 frm_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 = {};
@@ -128,10 +128,10 @@ let ActionRepository = class ActionRepository {
128
128
  return enrichedResult;
129
129
  }
130
130
  async getDependentActions(loggedInUser, stage_id, action_id) {
131
- const stageActions = await this.dataSource.query(`
132
- SELECT action_id
133
- FROM frm_wf_stage_action_mapping
134
- WHERE stage_id = $1
131
+ const stageActions = await this.dataSource.query(`
132
+ SELECT action_id
133
+ FROM frm_wf_stage_action_mapping
134
+ WHERE stage_id = $1
135
135
  `, [stage_id]);
136
136
  if (!stageActions?.length)
137
137
  return [];
@@ -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 frm_wf_action
35
- WHERE id = $1 AND organization_id = $2
33
+ const [actionResult] = await this.dataSource.query(`SELECT is_template
34
+ FROM frm_wf_action
35
+ WHERE id = $1 AND organization_id = $2
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 frm_wf_comm_template
42
- SET is_template = $1
43
- WHERE mapped_entity_type = $2
41
+ await this.dataSource.query(`UPDATE frm_wf_comm_template
42
+ SET is_template = $1
43
+ WHERE mapped_entity_type = $2
44
44
  AND organization_id = $3 AND level_id = $4 AND level_type=$5`, [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 frm_entity_view fm
20
+ const forms = await this.dataSource.query(`SELECT fm.id as fm_id, fm.name as fm_form_name
21
+ FROM frm_entity_view fm
22
22
  WHERE fm.organization_id = $1 AND fm.mapped_entity_type = $2`, [organization_id, source_entity_type]);
23
23
  const formatted = forms.map((form) => ({
24
24
  label: form.fm_form_name,
@@ -88,28 +88,28 @@ let StageGroupRepository = class StageGroupRepository {
88
88
  .map((_, idx) => `$${idx + 1}`)
89
89
  .join(", ");
90
90
  const params_task = [...stageIds];
91
- const taskCounts = await this.dataSource.query(`
92
- SELECT stage_id, COUNT(*) AS task_count
93
- FROM frm_wf_task_data
94
- WHERE stage_id IN (${stagePlaceholders})
95
- AND is_system = FALSE
96
- AND mapped_entity_id = ${lead_id}
97
- GROUP BY stage_id
91
+ const taskCounts = await this.dataSource.query(`
92
+ SELECT stage_id, COUNT(*) AS task_count
93
+ FROM frm_wf_task_data
94
+ WHERE stage_id IN (${stagePlaceholders})
95
+ AND is_system = FALSE
96
+ AND mapped_entity_id = ${lead_id}
97
+ GROUP BY stage_id
98
98
  `, params_task);
99
- const meetingCounts = await this.dataSource.query(`
100
- SELECT stage_id, COUNT(*) AS meeting_count
101
- FROM crm_lead_meeting
102
- WHERE stage_id IN (${stagePlaceholders})
103
- AND mapped_entity_id = ${lead_id}
104
- GROUP BY stage_id
99
+ const meetingCounts = await this.dataSource.query(`
100
+ SELECT stage_id, COUNT(*) AS meeting_count
101
+ FROM crm_lead_meeting
102
+ WHERE stage_id IN (${stagePlaceholders})
103
+ AND mapped_entity_id = ${lead_id}
104
+ GROUP BY stage_id
105
105
  `, params_task);
106
- const sendCommCounts = await this.dataSource.query(`
107
- SELECT stage_id, COUNT(*) AS send_comm_count
108
- FROM crm_lead_communication
109
- WHERE stage_id IN (${stagePlaceholders})
110
- AND mapped_entity_id = ${lead_id}
111
- AND type IN ('SEND','LOG')
112
- GROUP BY stage_id
106
+ const sendCommCounts = await this.dataSource.query(`
107
+ SELECT stage_id, COUNT(*) AS send_comm_count
108
+ FROM crm_lead_communication
109
+ WHERE stage_id IN (${stagePlaceholders})
110
+ AND mapped_entity_id = ${lead_id}
111
+ AND type IN ('SEND','LOG')
112
+ GROUP BY stage_id
113
113
  `, params_task);
114
114
  const taskCountMap = new Map(taskCounts.map((r) => [Number(r.stage_id), Number(r.task_count)]));
115
115
  const meetingCountMap = new Map(meetingCounts.map((r) => [Number(r.stage_id), Number(r.meeting_count)]));
@@ -107,26 +107,26 @@ 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.id AS mapping_id,
114
- m.stage_id,
115
- ac.code AS action_category_code
116
- FROM frm_wf_action a
117
- LEFT JOIN frm_wf_stage_action_mapping m
118
- ON a.id = m.action_id::bigint
119
- LEFT JOIN frm_wf_action_category ac
120
- ON a.action_category::bigint = ac.id
121
- WHERE m.stage_id::bigint = $1
110
+ const result = await this.dataSource.query(`
111
+ SELECT
112
+ a.*,
113
+ m.id AS mapping_id,
114
+ m.stage_id,
115
+ ac.code AS action_category_code
116
+ FROM frm_wf_action a
117
+ LEFT JOIN frm_wf_stage_action_mapping m
118
+ ON a.id = m.action_id::bigint
119
+ LEFT JOIN frm_wf_action_category ac
120
+ ON a.action_category::bigint = ac.id
121
+ WHERE m.stage_id::bigint = $1
122
122
  `, [Number(stageId)]);
123
123
  for (const item of result) {
124
124
  if (item.action_category_code === 'SDFM') {
125
- const actionData = await this.dataSource.query(`
126
- SELECT arm.form_id
127
- FROM frm_wf_action_resources_mapping arm
128
- WHERE arm.stg_act_mapping_id = $1 and form_id IS NOT NULL
129
- LIMIT 1
125
+ const actionData = await this.dataSource.query(`
126
+ SELECT arm.form_id
127
+ FROM frm_wf_action_resources_mapping arm
128
+ WHERE arm.stg_act_mapping_id = $1 and form_id IS NOT NULL
129
+ LIMIT 1
130
130
  `, [item.mapping_id]);
131
131
  item.form_id = actionData[0]?.form_id || null;
132
132
  }
@@ -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 frm_wf_stage_group g
70
- INNER JOIN frm_wf_stage s ON s.stage_group_id = g.id
71
- WHERE g.workflow_id = $1 AND g.organization_id = $2 AND g.id = $3
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 frm_wf_stage_group g
70
+ INNER JOIN frm_wf_stage s ON s.stage_group_id = g.id
71
+ WHERE g.workflow_id = $1 AND g.organization_id = $2 AND g.id = $3
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 [];
@@ -1,7 +1,11 @@
1
1
  import { EntityServiceImpl } from 'src/module/meta/service/entity-service-impl.service';
2
- import { DataSource } from 'typeorm';
2
+ import { DataSource, Repository } from 'typeorm';
3
+ import { ListMasterItems } from '../../listmaster/entity/list-master-items.entity';
4
+ import { CommTemplate } from '../entity/comm-template.entity';
3
5
  export declare class ActionTemplateMappingService extends EntityServiceImpl {
4
6
  private readonly dataSource;
5
- constructor(dataSource: DataSource);
7
+ private listMasterItemsRepo;
8
+ private commTemplateRepository;
9
+ constructor(dataSource: DataSource, listMasterItemsRepo: Repository<ListMasterItems>, commTemplateRepository: Repository<CommTemplate>);
6
10
  getTemplateByMode(stage_id: number, action_id: number, loggedInUser: any, mode?: number): Promise<any>;
7
11
  }
@@ -8,78 +8,97 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
8
8
  var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
11
14
  Object.defineProperty(exports, "__esModule", { value: true });
12
15
  exports.ActionTemplateMappingService = void 0;
13
16
  const common_1 = require("@nestjs/common");
14
17
  const entity_service_impl_service_1 = require("../../meta/service/entity-service-impl.service");
15
18
  const typeorm_1 = require("typeorm");
19
+ const typeorm_2 = require("@nestjs/typeorm");
20
+ const list_master_items_entity_1 = require("../../listmaster/entity/list-master-items.entity");
21
+ const comm_template_entity_1 = require("../entity/comm-template.entity");
16
22
  let ActionTemplateMappingService = class ActionTemplateMappingService extends entity_service_impl_service_1.EntityServiceImpl {
17
- constructor(dataSource) {
23
+ constructor(dataSource, listMasterItemsRepo, commTemplateRepository) {
18
24
  super();
19
25
  this.dataSource = dataSource;
26
+ this.listMasterItemsRepo = listMasterItemsRepo;
27
+ this.commTemplateRepository = commTemplateRepository;
20
28
  }
21
29
  async getTemplateByMode(stage_id, action_id, loggedInUser, mode) {
22
30
  let stageAction = [];
23
31
  if (action_id != 0) {
24
- stageAction = await this.dataSource.query(`
25
- SELECT id FROM frm_wf_stage_action_mapping
26
- WHERE action_id = $1
32
+ stageAction = await this.dataSource.query(`
33
+ SELECT id FROM frm_wf_stage_action_mapping
34
+ WHERE action_id = $1
27
35
  `, [action_id]);
28
36
  }
29
37
  else {
30
38
  let modeId = mode;
31
39
  if (!modeId) {
32
- const rows = await this.dataSource.query(`
33
- SELECT id
34
- FROM frm_list_master_items
35
- WHERE organization_id = $1
36
- AND listtype = 'MOD' AND code = $2
37
- `, [loggedInUser.organization_id, 'email']);
40
+ const rows = await this.listMasterItemsRepo.find({
41
+ where: {
42
+ listtype: 'MOD',
43
+ code: 'email',
44
+ organization_id: loggedInUser.organization_id,
45
+ }
46
+ });
38
47
  modeId = rows?.[0]?.id ?? 0;
39
48
  }
40
- const commTemplates = await this.dataSource.query(`
41
- SELECT code as value, name as label , id
42
- FROM frm_wf_comm_template
43
- WHERE mode = $1
44
- AND organization_id = $2
45
- AND level_type = $3
46
- AND level_id::int = $4
47
- AND status::int IN (
48
- SELECT id
49
- FROM frm_list_master_items
50
- WHERE code = 'STATUS_ACTIVE'
51
- AND organization_id = $5
52
- )
53
- `, [
54
- String(modeId),
55
- String(loggedInUser.organization_id),
56
- String(loggedInUser.level_type),
57
- Number(loggedInUser.level_id),
58
- String(loggedInUser.organization_id),
59
- ]);
49
+ const commTemplates = await this.commTemplateRepository
50
+ .createQueryBuilder('ct')
51
+ .select([
52
+ 'ct.code AS value',
53
+ 'ct.name AS label',
54
+ 'ct.id AS id',
55
+ ])
56
+ .where('ct.mode = :mode', { mode: String(modeId) })
57
+ .andWhere('ct.organization_id = :orgId', {
58
+ orgId: Number(loggedInUser.organization_id),
59
+ })
60
+ .andWhere('ct.level_type = :levelType', {
61
+ levelType: loggedInUser.level_type,
62
+ })
63
+ .andWhere('ct.level_id = :levelId', {
64
+ levelId: String(loggedInUser.level_id),
65
+ })
66
+ .andWhere((qb) => {
67
+ const subQuery = qb
68
+ .subQuery()
69
+ .select('lmi.id')
70
+ .from('frm_list_master_items', 'lmi')
71
+ .where('lmi.code = :active', { active: 'STATUS_ACTIVE' })
72
+ .andWhere('lmi.organization_id = :orgId', {
73
+ orgId: Number(loggedInUser.organization_id),
74
+ })
75
+ .getQuery();
76
+ return `(ct.status)::int IN ${subQuery}`;
77
+ })
78
+ .getRawMany();
60
79
  return commTemplates;
61
80
  }
62
81
  if (!stageAction?.length)
63
82
  return [];
64
83
  const stgActMappingId = stageAction[0].id;
65
84
  if (!mode) {
66
- const getModeFromAction = await this.dataSource.query(`
67
- SELECT mode FROM frm_wf_action
68
- WHERE id = $1
85
+ const getModeFromAction = await this.dataSource.query(`
86
+ SELECT mode FROM frm_wf_action
87
+ WHERE id = $1
69
88
  `, [action_id]);
70
89
  mode = getModeFromAction[0]?.mode;
71
90
  }
72
- const templates = await this.dataSource.query(`
73
- SELECT template_code FROM frm_wf_action_resources_mapping
74
- WHERE stg_act_mapping_id = $1
91
+ const templates = await this.dataSource.query(`
92
+ SELECT template_code FROM frm_wf_action_resources_mapping
93
+ WHERE stg_act_mapping_id = $1
75
94
  `, [stgActMappingId]);
76
95
  const templateCodes = templates.map((t) => t.template_code);
77
96
  if (!templateCodes.length)
78
97
  return [];
79
- const commTemplates = await this.dataSource.query(`
80
- SELECT code as value, name as label , id
81
- FROM frm_wf_comm_template
82
- WHERE code IN ($1) AND mode = $2 AND organization_id = $3 AND level_type = $4 AND level_id = $5 AND status IN (SELECT id FROM frm_list_master_items WHERE code = 'STATUS_ACTIVE' AND organization_id = $6)
98
+ const commTemplates = await this.dataSource.query(`
99
+ SELECT code as value, name as label , id
100
+ FROM frm_wf_comm_template
101
+ WHERE code IN ($1) AND mode = $2 AND organization_id = $3 AND level_type = $4 AND level_id = $5 AND status IN (SELECT id FROM frm_list_master_items WHERE code = 'STATUS_ACTIVE' AND organization_id = $6)
83
102
  `, [
84
103
  templateCodes,
85
104
  mode,
@@ -94,6 +113,10 @@ let ActionTemplateMappingService = class ActionTemplateMappingService extends en
94
113
  exports.ActionTemplateMappingService = ActionTemplateMappingService;
95
114
  exports.ActionTemplateMappingService = ActionTemplateMappingService = __decorate([
96
115
  (0, common_1.Injectable)(),
97
- __metadata("design:paramtypes", [typeorm_1.DataSource])
116
+ __param(1, (0, typeorm_2.InjectRepository)(list_master_items_entity_1.ListMasterItems)),
117
+ __param(2, (0, typeorm_2.InjectRepository)(comm_template_entity_1.CommTemplate)),
118
+ __metadata("design:paramtypes", [typeorm_1.DataSource,
119
+ typeorm_1.Repository,
120
+ typeorm_1.Repository])
98
121
  ], ActionTemplateMappingService);
99
122
  //# sourceMappingURL=action-template-mapping.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"action-template-mapping.service.js","sourceRoot":"","sources":["../../../../src/module/workflow/service/action-template-mapping.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,2CAA4C;AAC5C,gGAAwF;AACxF,qCAAqC;AAG9B,IAAM,4BAA4B,GAAlC,MAAM,4BAA6B,SAAQ,+CAAiB;IACjE,YAA6B,UAAsB;QACjD,KAAK,EAAE,CAAC;QADmB,eAAU,GAAV,UAAU,CAAY;IAEnD,CAAC;IACD,KAAK,CAAC,iBAAiB,CACrB,QAAgB,EAChB,SAAiB,EACjB,YAAY,EACZ,IAAa;QAEb,IAAI,WAAW,GAAG,EAAS,CAAC;QAE5B,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;YACnB,WAAW,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CACvC;;;OAGD,EACC,CAAC,SAAS,CAAC,CACZ,CAAC;QACJ,CAAC;aAAM,CAAC;YAIN,IAAI,MAAM,GAAG,IAAI,CAAC;YAClB,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CACtC;;;;;KAKL,EACK,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CACxC,CAAC;gBACF,MAAM,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;YAC9B,CAAC;YAED,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAC/C;;;;;;;;;;;;;SAaC,EACD;gBACE,MAAM,CAAC,MAAM,CAAC;gBACd,MAAM,CAAC,YAAY,CAAC,eAAe,CAAC;gBACpC,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC;gBAC/B,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC;gBAC7B,MAAM,CAAC,YAAY,CAAC,eAAe,CAAC;aACrC,CACF,CAAC;YAEF,OAAO,aAAa,CAAC;QACvB,CAAC;QACD,IAAI,CAAC,WAAW,EAAE,MAAM;YAAE,OAAO,EAAE,CAAC;QAEpC,MAAM,eAAe,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAE1C,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CACnD;;;SAGC,EACD,CAAC,SAAS,CAAC,CACZ,CAAC;YACF,IAAI,GAAG,iBAAiB,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC;QACpC,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAC3C;;;OAGC,EACD,CAAC,eAAe,CAAC,CAClB,CAAC;QAEF,MAAM,aAAa,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;QAC5D,IAAI,CAAC,aAAa,CAAC,MAAM;YAAE,OAAO,EAAE,CAAC;QAErC,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAC/C;;;;GAIH,EACG;YACE,aAAa;YACb,IAAI;YACJ,YAAY,CAAC,eAAe;YAC5B,YAAY,CAAC,UAAU;YACvB,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC;YAC7B,MAAM,CAAC,YAAY,CAAC,eAAe,CAAC;SACrC,CACF,CAAC;QAEF,OAAO,aAAa,CAAC;IACvB,CAAC;CACF,CAAA;AA5GY,oEAA4B;uCAA5B,4BAA4B;IADxC,IAAA,mBAAU,GAAE;qCAE8B,oBAAU;GADxC,4BAA4B,CA4GxC"}
1
+ {"version":3,"file":"action-template-mapping.service.js","sourceRoot":"","sources":["../../../../src/module/workflow/service/action-template-mapping.service.ts"],"names":[],"mappings":"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"}
@@ -25,12 +25,12 @@ let ActionService = class ActionService extends entity_service_impl_service_1.En
25
25
  if (!actionData) {
26
26
  return null;
27
27
  }
28
- const result = await this.dataSource.query(`SELECT template_code, form_id
29
- FROM frm_wf_action_resources_mapping
30
- WHERE stg_act_mapping_id IN (
31
- SELECT id
32
- FROM frm_wf_stage_action_mapping
33
- WHERE action_id = $1 AND entity_type = 'WFSA'
28
+ const result = await this.dataSource.query(`SELECT template_code, form_id
29
+ FROM frm_wf_action_resources_mapping
30
+ WHERE stg_act_mapping_id IN (
31
+ SELECT id
32
+ FROM frm_wf_stage_action_mapping
33
+ WHERE action_id = $1 AND entity_type = 'WFSA'
34
34
  )`, [actionData.id]);
35
35
  const templates = result
36
36
  .filter((t) => t.template_code !== null)
@@ -136,7 +136,7 @@ let ActionService = class ActionService extends entity_service_impl_service_1.En
136
136
  return action;
137
137
  }
138
138
  async deleteEntity(entityType, id, loggedInUser) {
139
- await this.dataSource.query(`DELETE FROM frm_wf_action_template_mapping WHERE stg_act_mapping_id IN (SELECT
139
+ await this.dataSource.query(`DELETE FROM frm_wf_action_template_mapping WHERE stg_act_mapping_id IN (SELECT
140
140
  id FROM frm_wf_stage_action_mapping WHERE action_id = $1 AND entity_type = 'WFSA')`, [id]);
141
141
  await this.dataSource.query(`DELETE FROM frm_wf_stage_action_mapping WHERE action_id = $1 AND entity_type ='WFSA'`, [id]);
142
142
  const deleteAction = await super.deleteEntity(entityType, id, loggedInUser);
@@ -29,8 +29,8 @@ let EntityModificationService = class EntityModificationService extends entity_s
29
29
  throw new common_1.NotFoundException('Entity metadata not found in frm_entity_master');
30
30
  }
31
31
  const tableName = entityMeta.db_table_name;
32
- const [entityRow] = await this.dataSource.query(`
33
- SELECT * FROM ${tableName} WHERE id = $1
32
+ const [entityRow] = await this.dataSource.query(`
33
+ SELECT * FROM ${tableName} WHERE id = $1
34
34
  `, [mapped_entity_id]);
35
35
  if (!entityRow) {
36
36
  throw new common_1.NotFoundException(`No record found in ${tableName} with ID ${mapped_entity_id}`);
@@ -42,8 +42,8 @@ let StageGroupService = class StageGroupService extends entity_service_impl_serv
42
42
  }
43
43
  async getAllStageGroup(workflow_id, organization_id) {
44
44
  const allStageGroup = await this.stageGroupRepository.getAllStageGroup(workflow_id, organization_id);
45
- const statusListMaster = await this.dataSource.query(`SELECT id, name
46
- FROM frm_list_master_items
45
+ const statusListMaster = await this.dataSource.query(`SELECT id, name
46
+ FROM frm_list_master_items
47
47
  WHERE listtype = 'STS' AND organization_id = $1`, [organization_id]);
48
48
  const statusMap = new Map(statusListMaster.map((s) => [String(s.id), s.name]));
49
49
  for (const stage of allStageGroup) {