rez_core 3.1.193 → 3.1.195

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (394) hide show
  1. package/.prettierrc +3 -3
  2. package/.vscode/extensions.json +5 -0
  3. package/README.md +99 -99
  4. package/dist/module/auth/guards/role.guard.js +3 -3
  5. package/dist/module/auth/services/auth.service.js +2 -2
  6. package/dist/module/filter/repository/saved-filter.repository.js +4 -4
  7. package/dist/module/filter/service/filter-evaluator.service.js +2 -2
  8. package/dist/module/filter/service/filter.service.js +7 -7
  9. package/dist/module/integration/examples/usage.example.js +9 -9
  10. package/dist/module/integration/service/integration.service.js +1 -1
  11. package/dist/module/integration/service/wrapper.service.js +25 -25
  12. package/dist/module/listmaster/service/list-master-item.service.js +2 -2
  13. package/dist/module/listmaster/service/list-master.service.js +2 -2
  14. package/dist/module/mapper/service/field-mapper.service.js +4 -4
  15. package/dist/module/mapper/service/mapper.service.js +4 -4
  16. package/dist/module/meta/service/entity-dynamic.service.js +18 -18
  17. package/dist/module/meta/service/entity-list.service.js +3 -3
  18. package/dist/module/meta/service/entity-master.service.js +3 -3
  19. package/dist/module/meta/service/entity-relation.service.js +11 -11
  20. package/dist/module/meta/service/entity-service-impl.service.js +3 -3
  21. package/dist/module/meta/service/resolver.service.js +3 -3
  22. package/dist/module/module/repository/menu.repository.js +12 -12
  23. package/dist/module/notification/service/notification.service.d.ts +3 -1
  24. package/dist/module/notification/service/notification.service.js +31 -23
  25. package/dist/module/notification/service/notification.service.js.map +1 -1
  26. package/dist/module/user/controller/login.controller.js +18 -18
  27. package/dist/module/user/service/role.service.js +4 -4
  28. package/dist/module/user/service/user-session.service.js +2 -2
  29. package/dist/module/workflow/controller/activity-log.controller.d.ts +0 -2
  30. package/dist/module/workflow/repository/action.repository.js +16 -16
  31. package/dist/module/workflow/repository/activity-log.repository.d.ts +3 -3
  32. package/dist/module/workflow/repository/activity-log.repository.js +29 -11
  33. package/dist/module/workflow/repository/activity-log.repository.js.map +1 -1
  34. package/dist/module/workflow/repository/comm-template.repository.js +6 -6
  35. package/dist/module/workflow/repository/form-master.repository.js +2 -2
  36. package/dist/module/workflow/repository/stage-group.repository.js +23 -23
  37. package/dist/module/workflow/repository/stage-movement.repository.js +11 -11
  38. package/dist/module/workflow/repository/stage.repository.js +8 -8
  39. package/dist/module/workflow/service/action-template-mapping.service.js +10 -10
  40. package/dist/module/workflow/service/action.service.js +7 -7
  41. package/dist/module/workflow/service/activity-log.service.d.ts +0 -2
  42. package/dist/module/workflow/service/entity-modification.service.js +6 -6
  43. package/dist/module/workflow/service/stage-group.service.js +8 -16
  44. package/dist/module/workflow/service/stage-group.service.js.map +1 -1
  45. package/dist/module/workflow/service/stage.service.js +2 -2
  46. package/dist/module/workflow/service/task.service.d.ts +3 -1
  47. package/dist/module/workflow/service/task.service.js +58 -45
  48. package/dist/module/workflow/service/task.service.js.map +1 -1
  49. package/dist/module/workflow/service/workflow-list-master.service.js +15 -15
  50. package/dist/module/workflow/service/workflow-meta.service.js +50 -50
  51. package/dist/module/workflow/service/workflow.service.js +2 -2
  52. package/dist/tsconfig.build.tsbuildinfo +1 -1
  53. package/dist/utils/service/reflection-helper.service.js +2 -2
  54. package/docs/modules/event-driven-integration-design.md +91 -91
  55. package/docs/modules/integration.md +250 -250
  56. package/eslint.config.mjs +34 -34
  57. package/nest-cli.json +14 -14
  58. package/package.json +118 -118
  59. package/src/app.controller.ts +12 -12
  60. package/src/app.module.ts +49 -49
  61. package/src/app.service.ts +8 -8
  62. package/src/config/config.module.ts +18 -18
  63. package/src/config/database.config.ts +23 -23
  64. package/src/constant/global.constant.ts +67 -67
  65. package/src/core.module.ts +81 -81
  66. package/src/decorators/roles.decorator.ts +7 -7
  67. package/src/dtos/response.dto.ts +6 -6
  68. package/src/dtos/response.ts +5 -5
  69. package/src/index.ts +1 -1
  70. package/src/module/auth/auth.module.ts +49 -49
  71. package/src/module/auth/controller/auth.controller.ts +28 -28
  72. package/src/module/auth/guards/google-auth.guard.ts +9 -9
  73. package/src/module/auth/guards/jwt.guard.ts +22 -22
  74. package/src/module/auth/guards/role.guard.ts +68 -68
  75. package/src/module/auth/services/auth.service.ts +50 -50
  76. package/src/module/auth/services/jwt.service.ts +11 -11
  77. package/src/module/auth/strategies/google.strategy.ts +54 -54
  78. package/src/module/auth/strategies/jwt.strategy.ts +58 -58
  79. package/src/module/auth/strategies/local.strategy.ts +13 -13
  80. package/src/module/dashboard/controller/dashboard.controller.ts +36 -36
  81. package/src/module/dashboard/dashboard.module.ts +21 -21
  82. package/src/module/dashboard/entity/dashboard_page_data.entity.ts +27 -27
  83. package/src/module/dashboard/entity/widget_master.entity.ts +18 -18
  84. package/src/module/dashboard/repository/dashboard.repository.ts +42 -42
  85. package/src/module/dashboard/service/dashboard.service.ts +73 -73
  86. package/src/module/dev/dev.module.ts +12 -12
  87. package/src/module/dev/service/dev.service.ts +7 -7
  88. package/src/module/enterprise/controller/organization.controller.ts +36 -36
  89. package/src/module/enterprise/enterprise.module.ts +30 -30
  90. package/src/module/enterprise/entity/enterprise.entity.ts +37 -37
  91. package/src/module/enterprise/entity/organization-app-mapping.entity.ts +13 -13
  92. package/src/module/enterprise/entity/organization.entity.ts +92 -92
  93. package/src/module/enterprise/repository/enterprise.repository.ts +31 -31
  94. package/src/module/enterprise/repository/organization.repository.ts +26 -26
  95. package/src/module/enterprise/repository/school.repository.ts +281 -281
  96. package/src/module/enterprise/service/brand.service.ts +5 -5
  97. package/src/module/enterprise/service/enterprise.service.ts +16 -16
  98. package/src/module/enterprise/service/organization-app-mapping.service.ts +4 -4
  99. package/src/module/enterprise/service/organization.service.ts +145 -145
  100. package/src/module/filter/controller/filter.controller.ts +84 -84
  101. package/src/module/filter/dto/filter-request.dto.ts +38 -38
  102. package/src/module/filter/entity/saved-filter-detail.entity.ts +41 -41
  103. package/src/module/filter/entity/saved-filter-master.entity.ts +23 -23
  104. package/src/module/filter/filter.module.ts +31 -31
  105. package/src/module/filter/repository/saved-filter.repository.ts +168 -168
  106. package/src/module/filter/service/filter-evaluator.service.ts +86 -86
  107. package/src/module/filter/service/filter.service.ts +868 -868
  108. package/src/module/filter/service/saved-filter.service.ts +170 -170
  109. package/src/module/ics/controller/ics.controller.ts +21 -21
  110. package/src/module/ics/dto/ics.dto.ts +55 -55
  111. package/src/module/ics/ics.module.ts +13 -13
  112. package/src/module/ics/service/ics.service.ts +57 -57
  113. package/src/module/integration/controller/calender-event.controller.ts +31 -31
  114. package/src/module/integration/controller/integration.controller.ts +662 -662
  115. package/src/module/integration/controller/wrapper.controller.ts +37 -37
  116. package/src/module/integration/dto/create-config.dto.ts +526 -526
  117. package/src/module/integration/entity/integration-config.entity.ts +112 -112
  118. package/src/module/integration/entity/integration-entity-mapper.entity.ts +14 -14
  119. package/src/module/integration/entity/integration-source.entity.ts +17 -17
  120. package/src/module/integration/entity/user-integration.entity.ts +71 -71
  121. package/src/module/integration/examples/usage.example.ts +338 -338
  122. package/src/module/integration/factories/base.factory.ts +7 -7
  123. package/src/module/integration/factories/email.factory.ts +49 -49
  124. package/src/module/integration/factories/integration.factory.ts +121 -121
  125. package/src/module/integration/factories/sms.factory.ts +51 -51
  126. package/src/module/integration/factories/telephone.factory.ts +41 -41
  127. package/src/module/integration/factories/whatsapp.factory.ts +56 -56
  128. package/src/module/integration/integration.module.ts +110 -110
  129. package/src/module/integration/service/calendar-event.service.ts +118 -118
  130. package/src/module/integration/service/integration-entity-mapper.service.ts +17 -17
  131. package/src/module/integration/service/integration-queue.service.ts +229 -229
  132. package/src/module/integration/service/integration.service.ts +2572 -2572
  133. package/src/module/integration/service/oauth.service.ts +224 -224
  134. package/src/module/integration/service/wrapper.service.ts +457 -457
  135. package/src/module/integration/strategies/email/gmail-api.strategy.ts +280 -280
  136. package/src/module/integration/strategies/email/outlook-api.strategy.ts +44 -44
  137. package/src/module/integration/strategies/email/outlook.strategy.ts +64 -64
  138. package/src/module/integration/strategies/email/sendgrid-api.strategy.ts +260 -260
  139. package/src/module/integration/strategies/integration.strategy.ts +97 -97
  140. package/src/module/integration/strategies/sms/gupshup-sms.strategy.ts +146 -146
  141. package/src/module/integration/strategies/sms/msg91-sms.strategy.ts +164 -164
  142. package/src/module/integration/strategies/sms/tubelight-sms.strategy.ts +163 -163
  143. package/src/module/integration/strategies/telephone/ozonetel-voice.strategy.ts +238 -238
  144. package/src/module/integration/strategies/telephone/tubelight-voice.strategy.ts +210 -210
  145. package/src/module/integration/strategies/whatsapp/gupshup-whatsapp.strategy.ts +359 -359
  146. package/src/module/integration/strategies/whatsapp/tubelight-whatsapp.strategy.ts +372 -372
  147. package/src/module/integration/strategies/whatsapp/whatsapp-cloud.strategy.ts +403 -403
  148. package/src/module/integration/strategies/whatsapp/whatsapp.strategy.ts +57 -57
  149. package/src/module/layout/controller/layout.controller.ts +47 -47
  150. package/src/module/layout/entity/header-items.entity.ts +28 -28
  151. package/src/module/layout/entity/header-section.entity.ts +19 -19
  152. package/src/module/layout/layout.module.ts +21 -21
  153. package/src/module/layout/repository/header-items.repository.ts +18 -18
  154. package/src/module/layout/repository/header-section.repository.ts +22 -22
  155. package/src/module/layout/service/header-section.service.ts +25 -25
  156. package/src/module/layout_preference/controller/layout_preference.controller.ts +47 -47
  157. package/src/module/layout_preference/entity/layout_preference.entity.ts +28 -28
  158. package/src/module/layout_preference/layout_preference.module.ts +18 -18
  159. package/src/module/layout_preference/repository/layout_preference.repository.ts +30 -30
  160. package/src/module/layout_preference/service/layout_preference.service.ts +172 -172
  161. package/src/module/lead/controller/lead.controller.ts +30 -30
  162. package/src/module/lead/lead.module.ts +14 -14
  163. package/src/module/lead/repository/lead.repository.ts +41 -41
  164. package/src/module/lead/service/lead.service.ts +54 -54
  165. package/src/module/listmaster/controller/list-master.controller.ts +187 -187
  166. package/src/module/listmaster/entity/list-master-items.entity.ts +41 -41
  167. package/src/module/listmaster/entity/list-master.entity.ts +32 -32
  168. package/src/module/listmaster/listmaster.module.ts +44 -44
  169. package/src/module/listmaster/repository/list-master-items.repository.ts +169 -169
  170. package/src/module/listmaster/repository/list-master.repository.ts +46 -46
  171. package/src/module/listmaster/service/list-master-engine.ts +19 -19
  172. package/src/module/listmaster/service/list-master-extension.interface.ts +4 -4
  173. package/src/module/listmaster/service/list-master-item.service.ts +292 -292
  174. package/src/module/listmaster/service/list-master-registry.ts +15 -15
  175. package/src/module/listmaster/service/list-master.service.ts +424 -424
  176. package/src/module/mapper/controller/field-mapper.controller.ts +69 -69
  177. package/src/module/mapper/controller/mapper.controller.ts +15 -15
  178. package/src/module/mapper/dto/field-mapper.dto.ts +14 -14
  179. package/src/module/mapper/entity/field-lovs.entity.ts +19 -19
  180. package/src/module/mapper/entity/field-mapper.entity.ts +53 -53
  181. package/src/module/mapper/entity/mapper.entity.ts +16 -16
  182. package/src/module/mapper/mapper.module.ts +34 -34
  183. package/src/module/mapper/repository/field-lovs.repository.ts +35 -35
  184. package/src/module/mapper/repository/field-mapper.repository.ts +42 -42
  185. package/src/module/mapper/repository/mapper.repository.ts +15 -15
  186. package/src/module/mapper/service/field-mapper.service.ts +245 -245
  187. package/src/module/mapper/service/mapper.service.ts +74 -74
  188. package/src/module/master/controller/master.controller.ts +74 -74
  189. package/src/module/master/service/master.service.ts +483 -483
  190. package/src/module/meta/controller/app-master.controller.ts +38 -38
  191. package/src/module/meta/controller/attribute-master.controller.ts +66 -66
  192. package/src/module/meta/controller/entity-dynamic.controller.ts +125 -125
  193. package/src/module/meta/controller/entity-master.controller.ts +28 -28
  194. package/src/module/meta/controller/entity-relation.controller.ts +36 -36
  195. package/src/module/meta/controller/entity.controller.ts +385 -385
  196. package/src/module/meta/controller/entity.public.controller.ts +75 -75
  197. package/src/module/meta/controller/media.controller.ts +82 -82
  198. package/src/module/meta/controller/meta.controller.ts +96 -96
  199. package/src/module/meta/controller/view-master.controller.ts +86 -86
  200. package/src/module/meta/dto/entity-list-data.dto.ts +6 -6
  201. package/src/module/meta/dto/entity-tab.dto.ts +4 -4
  202. package/src/module/meta/dto/entity-table.dto.ts +9 -9
  203. package/src/module/meta/entity/app-master.entity.ts +34 -34
  204. package/src/module/meta/entity/attribute-master.entity.ts +87 -87
  205. package/src/module/meta/entity/base-entity.entity.ts +75 -75
  206. package/src/module/meta/entity/entity-master.entity.ts +78 -78
  207. package/src/module/meta/entity/entity-relation-data.entity.ts +29 -29
  208. package/src/module/meta/entity/entity-relation.entity.ts +23 -23
  209. package/src/module/meta/entity/entity-table-column.entity.ts +61 -61
  210. package/src/module/meta/entity/entity-table.entity.ts +50 -50
  211. package/src/module/meta/entity/media-data.entity.ts +32 -32
  212. package/src/module/meta/entity/preference.entity.ts +62 -62
  213. package/src/module/meta/entity/view-master.entity.ts +41 -41
  214. package/src/module/meta/entity.module.ts +158 -158
  215. package/src/module/meta/repository/app-master.repository.ts +20 -20
  216. package/src/module/meta/repository/attribute-master.repository.ts +110 -110
  217. package/src/module/meta/repository/entity-master.repository.ts +69 -69
  218. package/src/module/meta/repository/entity-table-column.repository.ts +39 -39
  219. package/src/module/meta/repository/entity-table.repository.ts +53 -53
  220. package/src/module/meta/repository/media-data.repository.ts +50 -50
  221. package/src/module/meta/repository/preference.repository.ts +20 -20
  222. package/src/module/meta/repository/user-app-mapping.repository.ts +28 -28
  223. package/src/module/meta/repository/view-master.repository.ts +42 -42
  224. package/src/module/meta/service/app-master.service.ts +37 -37
  225. package/src/module/meta/service/attribute-master.service.ts +117 -117
  226. package/src/module/meta/service/common.service.ts +9 -9
  227. package/src/module/meta/service/entity-dynamic.service.ts +762 -762
  228. package/src/module/meta/service/entity-list.service.ts +205 -205
  229. package/src/module/meta/service/entity-master.service.ts +164 -164
  230. package/src/module/meta/service/entity-realation-data.service.ts +9 -9
  231. package/src/module/meta/service/entity-relation.service.ts +69 -69
  232. package/src/module/meta/service/entity-service-impl.service.ts +524 -524
  233. package/src/module/meta/service/entity-table-column.service.ts +39 -39
  234. package/src/module/meta/service/entity-table.service.ts +150 -150
  235. package/src/module/meta/service/entity-validation.service.ts +185 -185
  236. package/src/module/meta/service/entity.service.ts +67 -67
  237. package/src/module/meta/service/field-group.service.ts +103 -103
  238. package/src/module/meta/service/media-data.service.ts +149 -149
  239. package/src/module/meta/service/populate-meta.service.ts +173 -173
  240. package/src/module/meta/service/preference.service.ts +16 -16
  241. package/src/module/meta/service/resolver.service.ts +240 -240
  242. package/src/module/meta/service/section-master.service.ts +104 -104
  243. package/src/module/meta/service/update-form-json.service.ts +22 -22
  244. package/src/module/meta/service/user-app-mapping.service.ts +17 -17
  245. package/src/module/meta/service/view-master.service.ts +111 -111
  246. package/src/module/module/controller/menu.controller.ts +15 -15
  247. package/src/module/module/controller/module-access.controller.ts +134 -134
  248. package/src/module/module/entity/menu.entity.ts +43 -43
  249. package/src/module/module/entity/module-access.entity.ts +25 -25
  250. package/src/module/module/entity/module-action.entity.ts +17 -17
  251. package/src/module/module/entity/module.entity.ts +52 -52
  252. package/src/module/module/module.module.ts +42 -42
  253. package/src/module/module/repository/menu.repository.ts +184 -184
  254. package/src/module/module/repository/module-access.repository.ts +344 -344
  255. package/src/module/module/service/menu.service.ts +82 -82
  256. package/src/module/module/service/module-access.service.ts +209 -209
  257. package/src/module/notification/controller/notification.controller.ts +58 -58
  258. package/src/module/notification/controller/otp.controller.ts +117 -117
  259. package/src/module/notification/entity/notification.entity.ts +26 -26
  260. package/src/module/notification/entity/otp.entity.ts +28 -28
  261. package/src/module/notification/firebase-admin.config.ts +22 -22
  262. package/src/module/notification/notification.module.ts +69 -69
  263. package/src/module/notification/repository/otp.repository.ts +27 -27
  264. package/src/module/notification/service/email.service.ts +127 -127
  265. package/src/module/notification/service/notification.service.ts +164 -138
  266. package/src/module/notification/service/otp.service.ts +125 -125
  267. package/src/module/third-party-module/entity/third-party-api-registry.entity.ts +52 -52
  268. package/src/module/third-party-module/repository/third-party-api-registry.repository.ts +20 -20
  269. package/src/module/third-party-module/service/api-registry.service.ts +13 -13
  270. package/src/module/third-party-module/third-party.module.ts +12 -12
  271. package/src/module/user/controller/login.controller.ts +197 -197
  272. package/src/module/user/controller/user.controller.ts +40 -40
  273. package/src/module/user/dto/create-user.dto.ts +62 -62
  274. package/src/module/user/dto/update-user.dto.ts +4 -4
  275. package/src/module/user/entity/role.entity.ts +33 -33
  276. package/src/module/user/entity/user-role-mapping.entity.ts +38 -38
  277. package/src/module/user/entity/user-session.entity.ts +61 -61
  278. package/src/module/user/entity/user.entity.ts +71 -71
  279. package/src/module/user/repository/role.repository.ts +96 -96
  280. package/src/module/user/repository/user-role-mapping.repository.ts +126 -126
  281. package/src/module/user/repository/user.repository.ts +50 -50
  282. package/src/module/user/repository/userSession.repository.ts +33 -33
  283. package/src/module/user/service/login.service.ts +280 -280
  284. package/src/module/user/service/role.service.ts +189 -189
  285. package/src/module/user/service/user-role-mapping.service.ts +98 -98
  286. package/src/module/user/service/user-session.service.ts +168 -168
  287. package/src/module/user/service/user.service.ts +353 -353
  288. package/src/module/user/user.module.ts +65 -65
  289. package/src/module/workflow/controller/action-category.controller.ts +54 -54
  290. package/src/module/workflow/controller/action-resource-mapping.controller.ts +23 -23
  291. package/src/module/workflow/controller/action-template-mapping.controller.ts +35 -35
  292. package/src/module/workflow/controller/action.controller.ts +95 -95
  293. package/src/module/workflow/controller/activity-log.controller.ts +55 -55
  294. package/src/module/workflow/controller/comm-template.controller.ts +41 -41
  295. package/src/module/workflow/controller/entity-modification.controller.ts +35 -35
  296. package/src/module/workflow/controller/form-master.controller.ts +43 -43
  297. package/src/module/workflow/controller/stage-group.controller.ts +48 -48
  298. package/src/module/workflow/controller/stage.controller.ts +50 -50
  299. package/src/module/workflow/controller/task.controller.ts +77 -77
  300. package/src/module/workflow/controller/workflow-list-master.controller.ts +44 -44
  301. package/src/module/workflow/controller/workflow-meta.controller.ts +80 -80
  302. package/src/module/workflow/controller/workflow.controller.ts +67 -67
  303. package/src/module/workflow/entity/action-category.entity.ts +38 -38
  304. package/src/module/workflow/entity/action-data.entity.ts +55 -55
  305. package/src/module/workflow/entity/action-resources-mapping.entity.ts +29 -29
  306. package/src/module/workflow/entity/action-template-mapping.entity.ts +17 -17
  307. package/src/module/workflow/entity/action.entity.ts +50 -50
  308. package/src/module/workflow/entity/activity-log.entity.ts +43 -43
  309. package/src/module/workflow/entity/comm-template.entity.ts +43 -43
  310. package/src/module/workflow/entity/entity-modification.entity.ts +38 -38
  311. package/src/module/workflow/entity/form.entity.ts +25 -25
  312. package/src/module/workflow/entity/stage-action-mapping.entity.ts +17 -17
  313. package/src/module/workflow/entity/stage-group.entity.ts +23 -23
  314. package/src/module/workflow/entity/stage-movement-data.entity.ts +38 -38
  315. package/src/module/workflow/entity/stage.entity.ts +20 -20
  316. package/src/module/workflow/entity/task-data.entity.ts +88 -88
  317. package/src/module/workflow/entity/template-attach-mapper.entity.ts +30 -30
  318. package/src/module/workflow/entity/workflow-data.entity.ts +11 -11
  319. package/src/module/workflow/entity/workflow-level-mapping.entity.ts +18 -18
  320. package/src/module/workflow/entity/workflow.entity.ts +20 -20
  321. package/src/module/workflow/repository/action-category.repository.ts +79 -79
  322. package/src/module/workflow/repository/action-data.repository.ts +242 -242
  323. package/src/module/workflow/repository/action.repository.ts +277 -277
  324. package/src/module/workflow/repository/activity-log.repository.ts +149 -121
  325. package/src/module/workflow/repository/comm-template.repository.ts +149 -149
  326. package/src/module/workflow/repository/form-master.repository.ts +59 -59
  327. package/src/module/workflow/repository/stage-group.repository.ts +176 -176
  328. package/src/module/workflow/repository/stage-movement.repository.ts +227 -227
  329. package/src/module/workflow/repository/stage.repository.ts +172 -172
  330. package/src/module/workflow/repository/task.repository.ts +117 -117
  331. package/src/module/workflow/repository/workflow.repository.ts +42 -42
  332. package/src/module/workflow/service/action-category.service.ts +33 -33
  333. package/src/module/workflow/service/action-data.service.ts +62 -62
  334. package/src/module/workflow/service/action-resources-mapping.service.ts +10 -10
  335. package/src/module/workflow/service/action-template-mapping.service.ts +55 -55
  336. package/src/module/workflow/service/action.service.ts +263 -263
  337. package/src/module/workflow/service/activity-log.service.ts +107 -107
  338. package/src/module/workflow/service/comm-template.service.ts +176 -176
  339. package/src/module/workflow/service/entity-modification.service.ts +67 -67
  340. package/src/module/workflow/service/form-master.service.ts +35 -35
  341. package/src/module/workflow/service/populate-workflow.service.ts +303 -303
  342. package/src/module/workflow/service/stage-action-mapping.service.ts +5 -5
  343. package/src/module/workflow/service/stage-group.service.ts +316 -330
  344. package/src/module/workflow/service/stage.service.ts +199 -199
  345. package/src/module/workflow/service/task.service.ts +561 -531
  346. package/src/module/workflow/service/workflow-list-master.service.ts +60 -60
  347. package/src/module/workflow/service/workflow-meta.service.ts +581 -581
  348. package/src/module/workflow/service/workflow.service.ts +205 -205
  349. package/src/module/workflow/workflow.module.ts +174 -174
  350. package/src/module/workflow-automation/controller/workflow-automation.controller.ts +21 -21
  351. package/src/module/workflow-automation/entity/workflow-automation-action.entity.ts +26 -26
  352. package/src/module/workflow-automation/entity/workflow-automation.entity.ts +35 -35
  353. package/src/module/workflow-automation/interface/action.decorator.ts +7 -7
  354. package/src/module/workflow-automation/interface/action.interface.ts +5 -5
  355. package/src/module/workflow-automation/service/action-registery.service.ts +35 -35
  356. package/src/module/workflow-automation/service/workflow-automation-engine.service.ts +214 -214
  357. package/src/module/workflow-automation/service/workflow-automation.service.ts +345 -345
  358. package/src/module/workflow-automation/workflow-automation.module.ts +34 -34
  359. package/src/resources/dev.properties.yaml +30 -30
  360. package/src/resources/local.properties.yaml +27 -27
  361. package/src/resources/properties.module.ts +12 -12
  362. package/src/resources/properties.yaml.ts +11 -11
  363. package/src/resources/uat.properties.yaml +15 -15
  364. package/src/utils/dto/excel-data.dto.ts +14 -14
  365. package/src/utils/dto/excelsheet-data.dto.ts +5 -5
  366. package/src/utils/service/base64util.service.ts +18 -18
  367. package/src/utils/service/clockIDGenUtil.service.ts +21 -21
  368. package/src/utils/service/codeGenerator.service.ts +22 -22
  369. package/src/utils/service/dateUtil.service.ts +17 -17
  370. package/src/utils/service/encryptUtil.service.ts +97 -97
  371. package/src/utils/service/excel-helper.service.ts +72 -72
  372. package/src/utils/service/excelUtil.service.ts +15 -15
  373. package/src/utils/service/file-util.service.ts +11 -11
  374. package/src/utils/service/json-util.service.ts +23 -23
  375. package/src/utils/service/loggingUtil.service.ts +34 -34
  376. package/src/utils/service/reflection-helper.service.ts +62 -62
  377. package/src/utils/service/wbsCodeGen.service.ts +8 -8
  378. package/src/utils/utils.module.ts +25 -25
  379. package/tsconfig.build.json +4 -4
  380. package/tsconfig.json +24 -24
  381. package/.claude/settings.local.json +0 -26
  382. package/.idea/250218_nodejs_core.iml +0 -9
  383. package/.idea/codeStyles/Project.xml +0 -59
  384. package/.idea/codeStyles/codeStyleConfig.xml +0 -5
  385. package/.idea/copilot.data.migration.agent.xml +0 -6
  386. package/.idea/copilot.data.migration.ask.xml +0 -6
  387. package/.idea/copilot.data.migration.ask2agent.xml +0 -6
  388. package/.idea/copilot.data.migration.edit.xml +0 -6
  389. package/.idea/inspectionProfiles/Project_Default.xml +0 -6
  390. package/.idea/misc.xml +0 -6
  391. package/.idea/modules.xml +0 -8
  392. package/.idea/prettier.xml +0 -6
  393. package/.idea/vcs.xml +0 -6
  394. package/server.log +0 -850
package/.prettierrc CHANGED
@@ -1,4 +1,4 @@
1
- {
2
- "singleQuote": true,
3
- "trailingComma": "all"
1
+ {
2
+ "singleQuote": true,
3
+ "trailingComma": "all"
4
4
  }
@@ -0,0 +1,5 @@
1
+ {
2
+ "recommendations": [
3
+ "dbaeumer.vscode-eslint"
4
+ ]
5
+ }
package/README.md CHANGED
@@ -1,99 +1,99 @@
1
- <p align="center">
2
- <a href="http://nestjs.com/" target="blank"><img src="https://nestjs.com/img/logo-small.svg" width="120" alt="Nest Logo" /></a>
3
- </p>
4
-
5
- [circleci-image]: https://img.shields.io/circleci/build/github/nestjs/nest/master?token=abc123def456
6
- [circleci-url]: https://circleci.com/gh/nestjs/nest
7
-
8
- <p align="center">A progressive <a href="http://nodejs.org" target="_blank">Node.js</a> framework for building efficient and scalable server-side applications.</p>
9
- <p align="center">
10
- <a href="https://www.npmjs.com/~nestjscore" target="_blank"><img src="https://img.shields.io/npm/v/@nestjs/core.svg" alt="NPM Version" /></a>
11
- <a href="https://www.npmjs.com/~nestjscore" target="_blank"><img src="https://img.shields.io/npm/l/@nestjs/core.svg" alt="Package License" /></a>
12
- <a href="https://www.npmjs.com/~nestjscore" target="_blank"><img src="https://img.shields.io/npm/dm/@nestjs/common.svg" alt="NPM Downloads" /></a>
13
- <a href="https://circleci.com/gh/nestjs/nest" target="_blank"><img src="https://img.shields.io/circleci/build/github/nestjs/nest/master" alt="CircleCI" /></a>
14
- <a href="https://coveralls.io/github/nestjs/nest?branch=master" target="_blank"><img src="https://coveralls.io/repos/github/nestjs/nest/badge.svg?branch=master#9" alt="Coverage" /></a>
15
- <a href="https://discord.gg/G7Qnnhy" target="_blank"><img src="https://img.shields.io/badge/discord-online-brightgreen.svg" alt="Discord"/></a>
16
- <a href="https://opencollective.com/nest#backer" target="_blank"><img src="https://opencollective.com/nest/backers/badge.svg" alt="Backers on Open Collective" /></a>
17
- <a href="https://opencollective.com/nest#sponsor" target="_blank"><img src="https://opencollective.com/nest/sponsors/badge.svg" alt="Sponsors on Open Collective" /></a>
18
- <a href="https://paypal.me/kamilmysliwiec" target="_blank"><img src="https://img.shields.io/badge/Donate-PayPal-ff3f59.svg" alt="Donate us"/></a>
19
- <a href="https://opencollective.com/nest#sponsor" target="_blank"><img src="https://img.shields.io/badge/Support%20us-Open%20Collective-41B883.svg" alt="Support us"></a>
20
- <a href="https://twitter.com/nestframework" target="_blank"><img src="https://img.shields.io/twitter/follow/nestframework.svg?style=social&label=Follow" alt="Follow us on Twitter"></a>
21
- </p>
22
- <!--[![Backers on Open Collective](https://opencollective.com/nest/backers/badge.svg)](https://opencollective.com/nest#backer)
23
- [![Sponsors on Open Collective](https://opencollective.com/nest/sponsors/badge.svg)](https://opencollective.com/nest#sponsor)-->
24
-
25
- ## Description
26
-
27
- [Nest](https://github.com/nestjs/nest) framework TypeScript starter repository.
28
-
29
- ## Project setup
30
-
31
- ```bash
32
- $ npm install
33
- ```
34
-
35
- ## Compile and run the project
36
-
37
- ```bash
38
- # development
39
- $ npm run start
40
-
41
- # watch mode
42
- $ npm run start:dev
43
-
44
- # production mode
45
- $ npm run start:prod
46
- ```
47
-
48
- ## Run tests
49
-
50
- ```bash
51
- # unit tests
52
- $ npm run test
53
-
54
- # e2e tests
55
- $ npm run test:e2e
56
-
57
- # test coverage
58
- $ npm run test:cov
59
- ```
60
-
61
- ## Deployment
62
-
63
- When you're ready to deploy your NestJS application to production, there are some key steps you can take to ensure it runs as efficiently as possible. Check out the [deployment documentation](https://docs.nestjs.com/deployment) for more information.
64
-
65
- If you are looking for a cloud-based platform to deploy your NestJS application, check out [Mau](https://mau.nestjs.com), our official platform for deploying NestJS applications on AWS. Mau makes deployment straightforward and fast, requiring just a few simple steps:
66
-
67
- ```bash
68
- $ npm install -g mau
69
- $ mau deploy
70
- ```
71
-
72
- With Mau, you can deploy your application in just a few clicks, allowing you to focus on building features rather than managing infrastructure.
73
-
74
- ## Resources
75
-
76
- Check out a few resources that may come in handy when working with NestJS:
77
-
78
- - Visit the [NestJS Documentation](https://docs.nestjs.com) to learn more about the framework.
79
- - For questions and support, please visit our [Discord channel](https://discord.gg/G7Qnnhy).
80
- - To dive deeper and get more hands-on experience, check out our official video [courses](https://courses.nestjs.com/).
81
- - Deploy your application to AWS with the help of [NestJS Mau](https://mau.nestjs.com) in just a few clicks.
82
- - Visualize your application graph and interact with the NestJS application in real-time using [NestJS Devtools](https://devtools.nestjs.com).
83
- - Need help with your project (part-time to full-time)? Check out our official [enterprise support](https://enterprise.nestjs.com).
84
- - To stay in the loop and get updates, follow us on [X](https://x.com/nestframework) and [LinkedIn](https://linkedin.com/company/nestjs).
85
- - Looking for a job, or have a job to offer? Check out our official [Jobs board](https://jobs.nestjs.com).
86
-
87
- ## Support
88
-
89
- Nest is an MIT-licensed open source project. It can grow thanks to the sponsors and support by the amazing backers. If you'd like to join them, please [read more here](https://docs.nestjs.com/support).
90
-
91
- ## Stay in touch
92
-
93
- - Author - [Kamil Myśliwiec](https://twitter.com/kammysliwiec)
94
- - Website - [https://nestjs.com](https://nestjs.com/)
95
- - Twitter - [@nestframework](https://twitter.com/nestframework)
96
-
97
- ## License
98
-
99
- Nest is [MIT licensed](https://github.com/nestjs/nest/blob/master/LICENSE).
1
+ <p align="center">
2
+ <a href="http://nestjs.com/" target="blank"><img src="https://nestjs.com/img/logo-small.svg" width="120" alt="Nest Logo" /></a>
3
+ </p>
4
+
5
+ [circleci-image]: https://img.shields.io/circleci/build/github/nestjs/nest/master?token=abc123def456
6
+ [circleci-url]: https://circleci.com/gh/nestjs/nest
7
+
8
+ <p align="center">A progressive <a href="http://nodejs.org" target="_blank">Node.js</a> framework for building efficient and scalable server-side applications.</p>
9
+ <p align="center">
10
+ <a href="https://www.npmjs.com/~nestjscore" target="_blank"><img src="https://img.shields.io/npm/v/@nestjs/core.svg" alt="NPM Version" /></a>
11
+ <a href="https://www.npmjs.com/~nestjscore" target="_blank"><img src="https://img.shields.io/npm/l/@nestjs/core.svg" alt="Package License" /></a>
12
+ <a href="https://www.npmjs.com/~nestjscore" target="_blank"><img src="https://img.shields.io/npm/dm/@nestjs/common.svg" alt="NPM Downloads" /></a>
13
+ <a href="https://circleci.com/gh/nestjs/nest" target="_blank"><img src="https://img.shields.io/circleci/build/github/nestjs/nest/master" alt="CircleCI" /></a>
14
+ <a href="https://coveralls.io/github/nestjs/nest?branch=master" target="_blank"><img src="https://coveralls.io/repos/github/nestjs/nest/badge.svg?branch=master#9" alt="Coverage" /></a>
15
+ <a href="https://discord.gg/G7Qnnhy" target="_blank"><img src="https://img.shields.io/badge/discord-online-brightgreen.svg" alt="Discord"/></a>
16
+ <a href="https://opencollective.com/nest#backer" target="_blank"><img src="https://opencollective.com/nest/backers/badge.svg" alt="Backers on Open Collective" /></a>
17
+ <a href="https://opencollective.com/nest#sponsor" target="_blank"><img src="https://opencollective.com/nest/sponsors/badge.svg" alt="Sponsors on Open Collective" /></a>
18
+ <a href="https://paypal.me/kamilmysliwiec" target="_blank"><img src="https://img.shields.io/badge/Donate-PayPal-ff3f59.svg" alt="Donate us"/></a>
19
+ <a href="https://opencollective.com/nest#sponsor" target="_blank"><img src="https://img.shields.io/badge/Support%20us-Open%20Collective-41B883.svg" alt="Support us"></a>
20
+ <a href="https://twitter.com/nestframework" target="_blank"><img src="https://img.shields.io/twitter/follow/nestframework.svg?style=social&label=Follow" alt="Follow us on Twitter"></a>
21
+ </p>
22
+ <!--[![Backers on Open Collective](https://opencollective.com/nest/backers/badge.svg)](https://opencollective.com/nest#backer)
23
+ [![Sponsors on Open Collective](https://opencollective.com/nest/sponsors/badge.svg)](https://opencollective.com/nest#sponsor)-->
24
+
25
+ ## Description
26
+
27
+ [Nest](https://github.com/nestjs/nest) framework TypeScript starter repository.
28
+
29
+ ## Project setup
30
+
31
+ ```bash
32
+ $ npm install
33
+ ```
34
+
35
+ ## Compile and run the project
36
+
37
+ ```bash
38
+ # development
39
+ $ npm run start
40
+
41
+ # watch mode
42
+ $ npm run start:dev
43
+
44
+ # production mode
45
+ $ npm run start:prod
46
+ ```
47
+
48
+ ## Run tests
49
+
50
+ ```bash
51
+ # unit tests
52
+ $ npm run test
53
+
54
+ # e2e tests
55
+ $ npm run test:e2e
56
+
57
+ # test coverage
58
+ $ npm run test:cov
59
+ ```
60
+
61
+ ## Deployment
62
+
63
+ When you're ready to deploy your NestJS application to production, there are some key steps you can take to ensure it runs as efficiently as possible. Check out the [deployment documentation](https://docs.nestjs.com/deployment) for more information.
64
+
65
+ If you are looking for a cloud-based platform to deploy your NestJS application, check out [Mau](https://mau.nestjs.com), our official platform for deploying NestJS applications on AWS. Mau makes deployment straightforward and fast, requiring just a few simple steps:
66
+
67
+ ```bash
68
+ $ npm install -g mau
69
+ $ mau deploy
70
+ ```
71
+
72
+ With Mau, you can deploy your application in just a few clicks, allowing you to focus on building features rather than managing infrastructure.
73
+
74
+ ## Resources
75
+
76
+ Check out a few resources that may come in handy when working with NestJS:
77
+
78
+ - Visit the [NestJS Documentation](https://docs.nestjs.com) to learn more about the framework.
79
+ - For questions and support, please visit our [Discord channel](https://discord.gg/G7Qnnhy).
80
+ - To dive deeper and get more hands-on experience, check out our official video [courses](https://courses.nestjs.com/).
81
+ - Deploy your application to AWS with the help of [NestJS Mau](https://mau.nestjs.com) in just a few clicks.
82
+ - Visualize your application graph and interact with the NestJS application in real-time using [NestJS Devtools](https://devtools.nestjs.com).
83
+ - Need help with your project (part-time to full-time)? Check out our official [enterprise support](https://enterprise.nestjs.com).
84
+ - To stay in the loop and get updates, follow us on [X](https://x.com/nestframework) and [LinkedIn](https://linkedin.com/company/nestjs).
85
+ - Looking for a job, or have a job to offer? Check out our official [Jobs board](https://jobs.nestjs.com).
86
+
87
+ ## Support
88
+
89
+ Nest is an MIT-licensed open source project. It can grow thanks to the sponsors and support by the amazing backers. If you'd like to join them, please [read more here](https://docs.nestjs.com/support).
90
+
91
+ ## Stay in touch
92
+
93
+ - Author - [Kamil Myśliwiec](https://twitter.com/kammysliwiec)
94
+ - Website - [https://nestjs.com](https://nestjs.com/)
95
+ - Twitter - [@nestframework](https://twitter.com/nestframework)
96
+
97
+ ## License
98
+
99
+ Nest is [MIT licensed](https://github.com/nestjs/nest/blob/master/LICENSE).
@@ -34,9 +34,9 @@ let RolesGuard = class RolesGuard {
34
34
  }
35
35
  const requiredModule = this.reflector.get('moduleCode', context.getHandler());
36
36
  const requiredActions = this.reflector.get('actions', context.getHandler());
37
- const roleAccess = await this.entityManager.query(`SELECT *
38
- FROM sso_module_access
39
- WHERE role_id = ${user['role_id']}
37
+ const roleAccess = await this.entityManager.query(`SELECT *
38
+ FROM sso_module_access
39
+ WHERE role_id = ${user['role_id']}
40
40
  AND module_code = '${requiredModule}'`);
41
41
  if (!roleAccess || roleAccess.length === 0) {
42
42
  throw new common_1.ForbiddenException('Access denied: No permissions found for this module');
@@ -24,8 +24,8 @@ let AuthService = class AuthService {
24
24
  }
25
25
  async fcmtoken(fcmtoken, loggedInUser, ip, browser, os) {
26
26
  const { id: userId, organization_id } = loggedInUser;
27
- await this.dataSource.query(`UPDATE sso_user
28
- SET fcm_token = ?, ip = ?, browser = ?, os = ?
27
+ await this.dataSource.query(`UPDATE sso_user
28
+ SET fcm_token = ?, ip = ?, browser = ?, os = ?
29
29
  WHERE id = ? AND organization_id = ?`, [fcmtoken, ip, browser, os, userId, organization_id]);
30
30
  return { message: 'FCM token updated successfully' };
31
31
  }
@@ -117,10 +117,10 @@ let SavedFilterRepositoryService = class SavedFilterRepositoryService {
117
117
  }));
118
118
  }
119
119
  async getSavedFilterByCode(code, loggedInUser) {
120
- const [filterMaster] = await this.dataSource.query(`SELECT id, name, code
121
- FROM cr_saved_filter_master
122
- WHERE code = ? AND organization_id = ?
123
- LIMIT 1
120
+ const [filterMaster] = await this.dataSource.query(`SELECT id, name, code
121
+ FROM cr_saved_filter_master
122
+ WHERE code = ? AND organization_id = ?
123
+ LIMIT 1
124
124
  `, [code, loggedInUser.organization_id]);
125
125
  if (!filterMaster) {
126
126
  return null;
@@ -20,8 +20,8 @@ let FilterEvaluatorService = class FilterEvaluatorService {
20
20
  }
21
21
  async evaluateTriggerAttributes(oldEntity, newEntity, savedFilterCode) {
22
22
  console.log('IN FILTER EVALUATOR SERVICE');
23
- const triggerFilters = await this.dataSource.query(`SELECT *
24
- FROM cr_saved_filter_detail
23
+ const triggerFilters = await this.dataSource.query(`SELECT *
24
+ FROM cr_saved_filter_detail
25
25
  WHERE mapped_filter_code = ?`, [savedFilterCode]);
26
26
  if (!triggerFilters || triggerFilters.length === 0) {
27
27
  return true;
@@ -50,11 +50,11 @@ let FilterService = class FilterService {
50
50
  });
51
51
  whereSQL = `WHERE ${clauseParts.join(' AND ')}`;
52
52
  }
53
- const rawSQL = `
54
- SELECT ${column} AS tab_value, COUNT(*) AS tab_value_count
55
- FROM ${tableName}
56
- ${whereSQL}
57
- GROUP BY ${column}
53
+ const rawSQL = `
54
+ SELECT ${column} AS tab_value, COUNT(*) AS tab_value_count
55
+ FROM ${tableName}
56
+ ${whereSQL}
57
+ GROUP BY ${column}
58
58
  `;
59
59
  const rows = await this.dataSource.query(rawSQL, values);
60
60
  const total = rows.reduce((sum, r) => sum + parseInt(r.tab_value_count, 10), 0);
@@ -202,8 +202,8 @@ let FilterService = class FilterService {
202
202
  });
203
203
  }
204
204
  console.log('🟠 [FilterService] Constructed baseWhere clauses:', baseWhere);
205
- const layoutPreference = await this.dataSource.query(`SELECT mapped_json
206
- FROM cr_entity_layout_pref
205
+ const layoutPreference = await this.dataSource.query(`SELECT mapped_json
206
+ FROM cr_entity_layout_pref
207
207
  WHERE user_id = ? AND mapped_entity_type = ? AND mapped_level_id = ? AND mapped_level_type = ? AND type = 'layout'`, [user_id, entity_type, level_id, level_type]);
208
208
  const layout = layoutPreference?.[0]?.mapped_json?.quick_tab || {};
209
209
  const showList = layout?.show_list?.map((val) => val.toLowerCase()) || [];
@@ -104,15 +104,15 @@ class CommunicationUsageExamples {
104
104
  console.log('Gmail with attachments sent:', result);
105
105
  }
106
106
  async sendGmailWithTemplate() {
107
- const htmlTemplate = `
108
- <html>
109
- <body>
110
- <h2>Welcome {{userName}}!</h2>
111
- <p>Thank you for joining our platform.</p>
112
- <p>Your account ID is: {{accountId}}</p>
113
- <a href="{{verificationLink}}">Verify your email</a>
114
- </body>
115
- </html>
107
+ const htmlTemplate = `
108
+ <html>
109
+ <body>
110
+ <h2>Welcome {{userName}}!</h2>
111
+ <p>Thank you for joining our platform.</p>
112
+ <p>Your account ID is: {{accountId}}</p>
113
+ <a href="{{verificationLink}}">Verify your email</a>
114
+ </body>
115
+ </html>
116
116
  `;
117
117
  const result = await this.communicationService.sendGenericMessage({
118
118
  levelId: 1,
@@ -107,7 +107,7 @@ let IntegrationService = IntegrationService_1 = class IntegrationService {
107
107
  }
108
108
  async getAllIntegrationData(loggedInUser, integration_type) {
109
109
  try {
110
- const allIntegrationData = await this.dataSource.query(`SELECT *
110
+ const allIntegrationData = await this.dataSource.query(`SELECT *
111
111
  FROM cr_integration_master`);
112
112
  if (integration_type) {
113
113
  return allIntegrationData.filter((data) => data.integration_type.toLowerCase() ===
@@ -29,10 +29,10 @@ let WrapperService = WrapperService_1 = class WrapperService {
29
29
  this.logger.log(`sendMailWrapper called. User: ${JSON.stringify(loggedInUser)}, Payload: ${JSON.stringify(payload)}`);
30
30
  const { level_id, level_type, organization_id } = loggedInUser;
31
31
  this.logger.debug(`Fetching configs for level_id=${level_id}, level_type=${level_type}`);
32
- const configs = await this.datasource.query(`SELECT * FROM cr_integration_config
33
- WHERE level_id = ?
34
- AND level_type = ?
35
- AND status = 1
32
+ const configs = await this.datasource.query(`SELECT * FROM cr_integration_config
33
+ WHERE level_id = ?
34
+ AND level_type = ?
35
+ AND status = 1
36
36
  AND integration_type = 'EMAIL'`, [level_id, level_type]);
37
37
  this.logger.debug(`Configs found: ${JSON.stringify(configs)}`);
38
38
  let templateCode;
@@ -67,9 +67,9 @@ let WrapperService = WrapperService_1 = class WrapperService {
67
67
  }
68
68
  else {
69
69
  this.logger.warn(`No user-level configs found. Falling back to ORG-level`);
70
- const fallbackConfigs = await this.datasource.query(`SELECT * FROM cr_integration_config
71
- WHERE level_type = 'ORG'
72
- AND integration_type = 'EMAIL'
70
+ const fallbackConfigs = await this.datasource.query(`SELECT * FROM cr_integration_config
71
+ WHERE level_type = 'ORG'
72
+ AND integration_type = 'EMAIL'
73
73
  AND status = 1`);
74
74
  this.logger.debug(`ORG-level configs: ${JSON.stringify(fallbackConfigs)}`);
75
75
  if (!fallbackConfigs || fallbackConfigs.length === 0) {
@@ -126,17 +126,17 @@ let WrapperService = WrapperService_1 = class WrapperService {
126
126
  let resolvedTemplateId = entity?.templateId;
127
127
  if (entity.template_code) {
128
128
  this.logger.debug(`Looking up template for code=${entity.template_code}, level_id=${level_id}, level_type=${level_type}`);
129
- let templates = await this.datasource.query(`SELECT id FROM cr_wf_comm_template
130
- WHERE code = ?
131
- AND level_id = ?
132
- AND level_type = ?
129
+ let templates = await this.datasource.query(`SELECT id FROM cr_wf_comm_template
130
+ WHERE code = ?
131
+ AND level_id = ?
132
+ AND level_type = ?
133
133
  LIMIT 1`, [entity.template_code, level_id, level_type]);
134
134
  if (!templates || templates.length === 0) {
135
135
  this.logger.warn(`No template found for ${entity.template_code} at provided level. Falling back to ORG-level.`);
136
- templates = await this.datasource.query(`SELECT id FROM cr_wf_comm_template
137
- WHERE code = ?
138
- AND level_type = 'ORG'
139
- AND organization_id = ?
136
+ templates = await this.datasource.query(`SELECT id FROM cr_wf_comm_template
137
+ WHERE code = ?
138
+ AND level_type = 'ORG'
139
+ AND organization_id = ?
140
140
  LIMIT 1`, [entity.template_code, organization_id]);
141
141
  }
142
142
  if (templates && templates.length > 0) {
@@ -207,11 +207,11 @@ let WrapperService = WrapperService_1 = class WrapperService {
207
207
  };
208
208
  }
209
209
  this.logger.log(`No user-level config found, checking ORG-level...`);
210
- const orgConfigs = await this.datasource.query(`SELECT * FROM cr_integration_config
211
- WHERE level_id = 1
212
- AND level_type = 'ORG'
213
- AND integration_type = 'EMAIL'
214
- AND app_code ='DEFAULT'
210
+ const orgConfigs = await this.datasource.query(`SELECT * FROM cr_integration_config
211
+ WHERE level_id = 1
212
+ AND level_type = 'ORG'
213
+ AND integration_type = 'EMAIL'
214
+ AND app_code ='DEFAULT'
215
215
  AND status = 1`, []);
216
216
  integrationConfig = await this.integrationService.getSingleActiveConfig(1, 'ORG', 'DEFAULT', 'EMAIL');
217
217
  this.logger.debug(`ORG configs found: ${JSON.stringify(orgConfigs)}`);
@@ -229,8 +229,8 @@ let WrapperService = WrapperService_1 = class WrapperService {
229
229
  }
230
230
  async getConfigCred(configId) {
231
231
  this.logger.debug(`Fetching config JSON for configId=${configId}`);
232
- const configRes = await this.datasource.query(`SELECT config_json
233
- FROM cr_integration_config
232
+ const configRes = await this.datasource.query(`SELECT config_json
233
+ FROM cr_integration_config
234
234
  WHERE id = ?`, [configId]);
235
235
  this.logger.debug(`Config fetch result: ${JSON.stringify(configRes)}`);
236
236
  return configRes?.[0]?.config_json || null;
@@ -238,9 +238,9 @@ let WrapperService = WrapperService_1 = class WrapperService {
238
238
  async sendIcsInvite(payload, levelId, levelType, appCode) {
239
239
  this.logger.log(`Generating ICS file. Payload: ${JSON.stringify(payload)}`);
240
240
  if (payload.template_code) {
241
- let templates = await this.datasource.query(`SELECT id FROM cr_wf_comm_template
242
- WHERE code = ?
243
- ORDER BY 1 DESC
241
+ let templates = await this.datasource.query(`SELECT id FROM cr_wf_comm_template
242
+ WHERE code = ?
243
+ ORDER BY 1 DESC
244
244
  LIMIT 1`, [payload.template_code]);
245
245
  this.logger.log(`template by code ${JSON.stringify(payload)}`);
246
246
  if (templates && templates.length > 0) {
@@ -132,8 +132,8 @@ let ListMasterItemService = class ListMasterItemService extends entity_service_i
132
132
  return `Item with name ${code} deleted successfully from type ${listType}`;
133
133
  }
134
134
  async getListSourceType(loggedInUser, source) {
135
- const data = await this.dataSource.query(`SELECT name AS label, type AS value
136
- FROM cr_list_master
135
+ const data = await this.dataSource.query(`SELECT name AS label, type AS value
136
+ FROM cr_list_master
137
137
  WHERE organization_id = ? AND source = ?`, [loggedInUser.organization_id, source]);
138
138
  return data;
139
139
  }
@@ -121,8 +121,8 @@ let ListMasterService = class ListMasterService {
121
121
  });
122
122
  }
123
123
  else {
124
- qb.andWhere(`${tableName}.parent_id = :organization_id
125
- AND ${tableName}.type = 'BRN'
124
+ qb.andWhere(`${tableName}.parent_id = :organization_id
125
+ AND ${tableName}.type = 'BRN'
126
126
  `, {
127
127
  organization_id: loggedInUser.organization_id,
128
128
  });
@@ -100,10 +100,10 @@ let FieldMapperService = class FieldMapperService extends entity_service_impl_se
100
100
  await super.getResolvedEntityDataByDataSource(entityType, parent_id, userData);
101
101
  }
102
102
  else {
103
- const relations = await this.datasource.query(`SELECT target_entity_id
104
- FROM cr_entity_relation_data
105
- WHERE source_entity_type = ?
106
- AND source_entity_id = ?
103
+ const relations = await this.datasource.query(`SELECT target_entity_id
104
+ FROM cr_entity_relation_data
105
+ WHERE source_entity_type = ?
106
+ AND source_entity_id = ?
107
107
  AND target_entity_type = ?`, [parent_type, parent_id, field.mapped_entity_type]);
108
108
  const targetEntityIds = relations.map((r) => r.target_entity_id);
109
109
  this.loggingService.log('package', 'fieldMapperService', 'targetEntityIds', targetEntityIds);
@@ -27,10 +27,10 @@ let MapperService = class MapperService extends entity_service_impl_service_1.En
27
27
  async getByMappedEntityType(mappedEntityType, filter, status) {
28
28
  if (!mappedEntityType)
29
29
  return [];
30
- const mappers = await this.dataSource.query(`SELECT id, name, code, status
31
- FROM cr_mapper_master
32
- WHERE mapped_entity_type = ? AND (-1 = ? OR name LIKE ? OR code LIKE ?)
33
- AND (-1 = ? OR status = ?)
30
+ const mappers = await this.dataSource.query(`SELECT id, name, code, status
31
+ FROM cr_mapper_master
32
+ WHERE mapped_entity_type = ? AND (-1 = ? OR name LIKE ? OR code LIKE ?)
33
+ AND (-1 = ? OR status = ?)
34
34
  `, [mappedEntityType, filter || -1, `%${filter}%`, `%${filter}%`, status || -1, status]);
35
35
  const distinctStatuses = [
36
36
  ...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'] = {