rez_core 5.0.17 → 5.0.18

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 (424) hide show
  1. package/.prettierrc +3 -3
  2. package/README.md +99 -99
  3. package/dist/module/auth/guards/role.guard.js +3 -3
  4. package/dist/module/auth/services/auth.service.js +2 -2
  5. package/dist/module/entity_json/service/entity_json.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 +22 -22
  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 +26 -26
  12. package/dist/module/listmaster/service/list-master-item.service.js +2 -2
  13. package/dist/module/mapper/service/field-mapper.service.js +4 -4
  14. package/dist/module/mapper/service/mapper.service.js +2 -2
  15. package/dist/module/meta/repository/entity-attribute-update.repository.js +3 -3
  16. package/dist/module/meta/repository/entity-master.repository.js +6 -6
  17. package/dist/module/meta/service/entity-dynamic.service.js +44 -44
  18. package/dist/module/meta/service/entity-list.service.js +3 -3
  19. package/dist/module/meta/service/entity-master.service.js +3 -3
  20. package/dist/module/meta/service/entity-relation.service.js +9 -9
  21. package/dist/module/meta/service/entity-service-impl.service.js +3 -3
  22. package/dist/module/meta/service/resolver.service.js +3 -3
  23. package/dist/module/module/repository/menu.repository.js +12 -12
  24. package/dist/module/notification/service/notification.service.js +10 -10
  25. package/dist/module/user/controller/login.controller.js +18 -18
  26. package/dist/module/user/service/role.service.js +4 -4
  27. package/dist/module/user/service/user-session.service.js +2 -2
  28. package/dist/module/workflow/repository/action.repository.js +20 -20
  29. package/dist/module/workflow/repository/comm-template.repository.js +6 -6
  30. package/dist/module/workflow/repository/form-master.repository.js +2 -2
  31. package/dist/module/workflow/repository/stage-group.repository.js +26 -26
  32. package/dist/module/workflow/repository/stage-movement.repository.js +15 -15
  33. package/dist/module/workflow/repository/stage.repository.js +8 -8
  34. package/dist/module/workflow/service/action-template-mapping.service.js +31 -31
  35. package/dist/module/workflow/service/action.service.js +7 -7
  36. package/dist/module/workflow/service/entity-modification.service.js +6 -6
  37. package/dist/module/workflow/service/stage-group.service.js +4 -4
  38. package/dist/module/workflow/service/stage-group.service.js.map +1 -1
  39. package/dist/module/workflow/service/stage.service.js +2 -2
  40. package/dist/module/workflow/service/task.service.js +35 -35
  41. package/dist/module/workflow/service/workflow-list-master.service.js +15 -15
  42. package/dist/module/workflow/service/workflow-meta.service.js +26 -26
  43. package/dist/module/workflow/service/workflow.service.js +2 -2
  44. package/dist/module/workflow-automation/service/schedule-handler.service.js +14 -14
  45. package/dist/module/workflow-schedule/processors/schedule.processor.js +4 -4
  46. package/dist/module/workflow-schedule/service/workflow-schedule.service.js +9 -9
  47. package/dist/tsconfig.build.tsbuildinfo +1 -1
  48. package/dist/utils/service/reflection-helper.service.js +2 -2
  49. package/docs/modules/event-driven-integration-design.md +91 -91
  50. package/docs/modules/integration.md +250 -250
  51. package/eslint.config.mjs +34 -34
  52. package/nest-cli.json +14 -14
  53. package/package.json +124 -124
  54. package/src/app.controller.ts +12 -12
  55. package/src/app.module.ts +66 -66
  56. package/src/app.service.ts +8 -8
  57. package/src/config/bull.config.ts +69 -69
  58. package/src/config/config.module.ts +17 -17
  59. package/src/config/database.config.ts +48 -48
  60. package/src/constant/global.constant.ts +67 -67
  61. package/src/core.module.ts +88 -88
  62. package/src/decorators/roles.decorator.ts +7 -7
  63. package/src/dtos/response.dto.ts +6 -6
  64. package/src/dtos/response.ts +5 -5
  65. package/src/index.ts +1 -1
  66. package/src/module/auth/auth.module.ts +49 -49
  67. package/src/module/auth/controller/auth.controller.ts +28 -28
  68. package/src/module/auth/guards/google-auth.guard.ts +9 -9
  69. package/src/module/auth/guards/jwt.guard.ts +22 -22
  70. package/src/module/auth/guards/role.guard.ts +68 -68
  71. package/src/module/auth/services/auth.service.ts +50 -50
  72. package/src/module/auth/services/jwt.service.ts +11 -11
  73. package/src/module/auth/strategies/google.strategy.ts +54 -54
  74. package/src/module/auth/strategies/jwt.strategy.ts +58 -58
  75. package/src/module/auth/strategies/local.strategy.ts +13 -13
  76. package/src/module/dashboard/controller/dashboard.controller.ts +36 -36
  77. package/src/module/dashboard/dashboard.module.ts +21 -21
  78. package/src/module/dashboard/entity/dashboard_page_data.entity.ts +27 -27
  79. package/src/module/dashboard/entity/widget_master.entity.ts +18 -18
  80. package/src/module/dashboard/repository/dashboard.repository.ts +42 -42
  81. package/src/module/dashboard/service/dashboard.service.ts +73 -73
  82. package/src/module/dev/dev.module.ts +12 -12
  83. package/src/module/dev/service/dev.service.ts +7 -7
  84. package/src/module/enterprise/controller/organization.controller.ts +36 -36
  85. package/src/module/enterprise/enterprise.module.ts +30 -30
  86. package/src/module/enterprise/entity/enterprise.entity.ts +37 -37
  87. package/src/module/enterprise/entity/organization-app-mapping.entity.ts +13 -13
  88. package/src/module/enterprise/entity/organization.entity.ts +92 -92
  89. package/src/module/enterprise/repository/enterprise.repository.ts +31 -31
  90. package/src/module/enterprise/repository/organization.repository.ts +26 -26
  91. package/src/module/enterprise/repository/school.repository.ts +278 -278
  92. package/src/module/enterprise/service/brand.service.ts +5 -5
  93. package/src/module/enterprise/service/enterprise.service.ts +16 -16
  94. package/src/module/enterprise/service/organization-app-mapping.service.ts +4 -4
  95. package/src/module/enterprise/service/organization.service.ts +145 -145
  96. package/src/module/entity_json/controller/entity_json.controller.ts +47 -47
  97. package/src/module/entity_json/entity_json.module.ts +15 -15
  98. package/src/module/entity_json/service/entity_json.service.ts +265 -265
  99. package/src/module/filter/controller/filter.controller.ts +84 -84
  100. package/src/module/filter/dto/filter-request.dto.ts +38 -38
  101. package/src/module/filter/entity/saved-filter-detail.entity.ts +41 -41
  102. package/src/module/filter/entity/saved-filter-master.entity.ts +23 -23
  103. package/src/module/filter/filter.module.ts +31 -31
  104. package/src/module/filter/repository/saved-filter.repository.ts +168 -168
  105. package/src/module/filter/service/filter-evaluator.service.ts +86 -86
  106. package/src/module/filter/service/filter.service.ts +1051 -1051
  107. package/src/module/filter/service/saved-filter.service.ts +170 -170
  108. package/src/module/ics/controller/ics.controller.ts +21 -21
  109. package/src/module/ics/dto/ics.dto.ts +55 -55
  110. package/src/module/ics/ics.module.ts +13 -13
  111. package/src/module/ics/service/ics.service.ts +57 -57
  112. package/src/module/integration/controller/calender-event.controller.ts +31 -31
  113. package/src/module/integration/controller/integration.controller.ts +662 -662
  114. package/src/module/integration/controller/wrapper.controller.ts +37 -37
  115. package/src/module/integration/dto/create-config.dto.ts +526 -526
  116. package/src/module/integration/entity/integration-config.entity.ts +112 -112
  117. package/src/module/integration/entity/integration-entity-mapper.entity.ts +14 -14
  118. package/src/module/integration/entity/integration-source.entity.ts +17 -17
  119. package/src/module/integration/entity/user-integration.entity.ts +71 -71
  120. package/src/module/integration/examples/usage.example.ts +338 -338
  121. package/src/module/integration/factories/base.factory.ts +7 -7
  122. package/src/module/integration/factories/email.factory.ts +49 -49
  123. package/src/module/integration/factories/integration.factory.ts +121 -121
  124. package/src/module/integration/factories/sms.factory.ts +51 -51
  125. package/src/module/integration/factories/telephone.factory.ts +41 -41
  126. package/src/module/integration/factories/whatsapp.factory.ts +56 -56
  127. package/src/module/integration/integration.module.ts +110 -110
  128. package/src/module/integration/service/calendar-event.service.ts +118 -118
  129. package/src/module/integration/service/integration-entity-mapper.service.ts +17 -17
  130. package/src/module/integration/service/integration-queue.service.ts +229 -229
  131. package/src/module/integration/service/integration.service.ts +2633 -2633
  132. package/src/module/integration/service/oauth.service.ts +224 -224
  133. package/src/module/integration/service/wrapper.service.ts +701 -701
  134. package/src/module/integration/strategies/email/gmail-api.strategy.ts +280 -280
  135. package/src/module/integration/strategies/email/outlook-api.strategy.ts +44 -44
  136. package/src/module/integration/strategies/email/outlook.strategy.ts +64 -64
  137. package/src/module/integration/strategies/email/sendgrid-api.strategy.ts +260 -260
  138. package/src/module/integration/strategies/integration.strategy.ts +97 -97
  139. package/src/module/integration/strategies/sms/gupshup-sms.strategy.ts +146 -146
  140. package/src/module/integration/strategies/sms/msg91-sms.strategy.ts +164 -164
  141. package/src/module/integration/strategies/sms/tubelight-sms.strategy.ts +163 -163
  142. package/src/module/integration/strategies/telephone/ozonetel-voice.strategy.ts +238 -238
  143. package/src/module/integration/strategies/telephone/tubelight-voice.strategy.ts +210 -210
  144. package/src/module/integration/strategies/whatsapp/gupshup-whatsapp.strategy.ts +359 -359
  145. package/src/module/integration/strategies/whatsapp/tubelight-whatsapp.strategy.ts +372 -372
  146. package/src/module/integration/strategies/whatsapp/whatsapp-cloud.strategy.ts +403 -403
  147. package/src/module/integration/strategies/whatsapp/whatsapp.strategy.ts +57 -57
  148. package/src/module/layout/controller/layout.controller.ts +47 -47
  149. package/src/module/layout/entity/header-items.entity.ts +28 -28
  150. package/src/module/layout/entity/header-section.entity.ts +19 -19
  151. package/src/module/layout/layout.module.ts +21 -21
  152. package/src/module/layout/repository/header-items.repository.ts +18 -18
  153. package/src/module/layout/repository/header-section.repository.ts +22 -22
  154. package/src/module/layout/service/header-section.service.ts +25 -25
  155. package/src/module/layout_preference/controller/layout_preference.controller.ts +73 -73
  156. package/src/module/layout_preference/entity/layout_preference.entity.ts +28 -28
  157. package/src/module/layout_preference/layout_preference.module.ts +22 -22
  158. package/src/module/layout_preference/repository/layout_preference.repository.ts +65 -65
  159. package/src/module/layout_preference/service/layout_preference.service.ts +191 -191
  160. package/src/module/lead/controller/lead.controller.ts +30 -30
  161. package/src/module/lead/lead.module.ts +14 -14
  162. package/src/module/lead/repository/lead.repository.ts +41 -41
  163. package/src/module/lead/service/lead.service.ts +54 -54
  164. package/src/module/linked_attributes/controller/linked_attributes.controller.ts +10 -10
  165. package/src/module/linked_attributes/entity/linked_attribute.entity.ts +48 -48
  166. package/src/module/linked_attributes/linked_attributes.module.ts +16 -16
  167. package/src/module/linked_attributes/repository/linked_attribute.repository.ts +12 -12
  168. package/src/module/linked_attributes/service/linked_attributes.service.ts +22 -22
  169. package/src/module/listmaster/controller/list-master.controller.ts +230 -230
  170. package/src/module/listmaster/entity/list-master-items.entity.ts +43 -43
  171. package/src/module/listmaster/entity/list-master.entity.ts +33 -33
  172. package/src/module/listmaster/listmaster.module.ts +46 -46
  173. package/src/module/listmaster/repository/list-master-items.repository.ts +169 -169
  174. package/src/module/listmaster/repository/list-master.repository.ts +46 -46
  175. package/src/module/listmaster/service/list-master-engine.ts +19 -19
  176. package/src/module/listmaster/service/list-master-extension.interface.ts +4 -4
  177. package/src/module/listmaster/service/list-master-item.service.ts +292 -292
  178. package/src/module/listmaster/service/list-master-registry.ts +15 -15
  179. package/src/module/listmaster/service/list-master.service.ts +535 -535
  180. package/src/module/mapper/controller/field-mapper.controller.ts +76 -76
  181. package/src/module/mapper/controller/mapper.controller.ts +20 -20
  182. package/src/module/mapper/dto/field-mapper.dto.ts +14 -14
  183. package/src/module/mapper/entity/field-lovs.entity.ts +19 -19
  184. package/src/module/mapper/entity/field-mapper.entity.ts +53 -53
  185. package/src/module/mapper/entity/mapper.entity.ts +16 -16
  186. package/src/module/mapper/mapper.module.ts +34 -34
  187. package/src/module/mapper/repository/field-lovs.repository.ts +35 -35
  188. package/src/module/mapper/repository/field-mapper.repository.ts +42 -42
  189. package/src/module/mapper/repository/mapper.repository.ts +15 -15
  190. package/src/module/mapper/service/field-mapper.service.ts +271 -271
  191. package/src/module/mapper/service/mapper.service.ts +79 -79
  192. package/src/module/master/controller/master.controller.ts +74 -74
  193. package/src/module/master/service/master.service.ts +483 -483
  194. package/src/module/meta/controller/app-master.controller.ts +38 -38
  195. package/src/module/meta/controller/attribute-master.controller.ts +86 -86
  196. package/src/module/meta/controller/entity-dynamic.controller.ts +125 -125
  197. package/src/module/meta/controller/entity-master.controller.ts +41 -41
  198. package/src/module/meta/controller/entity-relation.controller.ts +36 -36
  199. package/src/module/meta/controller/entity.controller.ts +392 -392
  200. package/src/module/meta/controller/entity.public.controller.ts +75 -75
  201. package/src/module/meta/controller/media.controller.ts +107 -107
  202. package/src/module/meta/controller/meta.controller.ts +96 -96
  203. package/src/module/meta/controller/view-master.controller.ts +86 -86
  204. package/src/module/meta/dto/entity-list-data.dto.ts +6 -6
  205. package/src/module/meta/dto/entity-tab.dto.ts +4 -4
  206. package/src/module/meta/dto/entity-table.dto.ts +9 -9
  207. package/src/module/meta/entity/app-master.entity.ts +34 -34
  208. package/src/module/meta/entity/attribute-master.entity.ts +89 -89
  209. package/src/module/meta/entity/base-entity.entity.ts +75 -75
  210. package/src/module/meta/entity/entity-master.entity.ts +85 -85
  211. package/src/module/meta/entity/entity-relation-data.entity.ts +29 -29
  212. package/src/module/meta/entity/entity-relation.entity.ts +23 -23
  213. package/src/module/meta/entity/entity-table-column.entity.ts +61 -61
  214. package/src/module/meta/entity/entity-table.entity.ts +50 -50
  215. package/src/module/meta/entity/media-data.entity.ts +32 -32
  216. package/src/module/meta/entity/preference.entity.ts +62 -62
  217. package/src/module/meta/entity/view-master.entity.ts +41 -41
  218. package/src/module/meta/entity.module.ts +166 -166
  219. package/src/module/meta/repository/app-master.repository.ts +20 -20
  220. package/src/module/meta/repository/attribute-master.repository.ts +138 -138
  221. package/src/module/meta/repository/entity-attribute-update.repository.ts +44 -44
  222. package/src/module/meta/repository/entity-master.repository.ts +111 -111
  223. package/src/module/meta/repository/entity-table-column.repository.ts +39 -39
  224. package/src/module/meta/repository/entity-table.repository.ts +53 -53
  225. package/src/module/meta/repository/media-data.repository.ts +50 -50
  226. package/src/module/meta/repository/preference.repository.ts +20 -20
  227. package/src/module/meta/repository/user-app-mapping.repository.ts +28 -28
  228. package/src/module/meta/repository/view-master.repository.ts +42 -42
  229. package/src/module/meta/service/app-master.service.ts +37 -37
  230. package/src/module/meta/service/attribute-master.service.ts +130 -130
  231. package/src/module/meta/service/common.service.ts +9 -9
  232. package/src/module/meta/service/entity-attribute-update.service.ts +28 -28
  233. package/src/module/meta/service/entity-dynamic.service.ts +818 -818
  234. package/src/module/meta/service/entity-list.service.ts +205 -205
  235. package/src/module/meta/service/entity-master.service.ts +175 -175
  236. package/src/module/meta/service/entity-realation-data.service.ts +9 -9
  237. package/src/module/meta/service/entity-relation.service.ts +87 -87
  238. package/src/module/meta/service/entity-service-impl.service.ts +525 -525
  239. package/src/module/meta/service/entity-table-column.service.ts +39 -39
  240. package/src/module/meta/service/entity-table.service.ts +150 -150
  241. package/src/module/meta/service/entity-validation.service.ts +187 -187
  242. package/src/module/meta/service/entity.service.ts +67 -67
  243. package/src/module/meta/service/field-group.service.ts +103 -103
  244. package/src/module/meta/service/media-data.service.ts +507 -507
  245. package/src/module/meta/service/populate-meta.service.ts +193 -193
  246. package/src/module/meta/service/preference.service.ts +16 -16
  247. package/src/module/meta/service/resolver.service.ts +271 -271
  248. package/src/module/meta/service/section-master.service.ts +104 -104
  249. package/src/module/meta/service/update-form-json.service.ts +22 -22
  250. package/src/module/meta/service/user-app-mapping.service.ts +17 -17
  251. package/src/module/meta/service/view-master.service.ts +127 -127
  252. package/src/module/microservice-client/microservice-clients.module.ts +13 -13
  253. package/src/module/microservice-client/service/microservice-client-factory.ts +37 -37
  254. package/src/module/microservice-client/service/microservice-clients.ts +4 -4
  255. package/src/module/module/controller/menu.controller.ts +15 -15
  256. package/src/module/module/controller/module-access.controller.ts +134 -134
  257. package/src/module/module/entity/menu.entity.ts +43 -43
  258. package/src/module/module/entity/module-access.entity.ts +25 -25
  259. package/src/module/module/entity/module-action.entity.ts +17 -17
  260. package/src/module/module/entity/module.entity.ts +52 -52
  261. package/src/module/module/module.module.ts +42 -42
  262. package/src/module/module/repository/menu.repository.ts +184 -184
  263. package/src/module/module/repository/module-access.repository.ts +344 -344
  264. package/src/module/module/service/menu.service.ts +82 -82
  265. package/src/module/module/service/module-access.service.ts +194 -194
  266. package/src/module/notification/controller/notification.controller.ts +58 -58
  267. package/src/module/notification/controller/otp.controller.ts +117 -117
  268. package/src/module/notification/entity/notification.entity.ts +26 -26
  269. package/src/module/notification/entity/otp.entity.ts +28 -28
  270. package/src/module/notification/firebase-admin.config.ts +22 -22
  271. package/src/module/notification/notification.module.ts +69 -69
  272. package/src/module/notification/repository/otp.repository.ts +27 -27
  273. package/src/module/notification/service/email.service.ts +127 -127
  274. package/src/module/notification/service/notification.service.ts +160 -160
  275. package/src/module/notification/service/otp.service.ts +132 -132
  276. package/src/module/third-party-module/entity/third-party-api-registry.entity.ts +52 -52
  277. package/src/module/third-party-module/repository/third-party-api-registry.repository.ts +20 -20
  278. package/src/module/third-party-module/service/api-registry.service.ts +13 -13
  279. package/src/module/third-party-module/third-party.module.ts +12 -12
  280. package/src/module/user/controller/login.controller.ts +197 -197
  281. package/src/module/user/controller/user.controller.ts +40 -40
  282. package/src/module/user/dto/create-user.dto.ts +62 -62
  283. package/src/module/user/dto/update-user.dto.ts +4 -4
  284. package/src/module/user/entity/role.entity.ts +33 -33
  285. package/src/module/user/entity/user-role-mapping.entity.ts +38 -38
  286. package/src/module/user/entity/user-session.entity.ts +73 -73
  287. package/src/module/user/entity/user.entity.ts +59 -59
  288. package/src/module/user/repository/role.repository.ts +96 -96
  289. package/src/module/user/repository/user-role-mapping.repository.ts +126 -126
  290. package/src/module/user/repository/user.repository.ts +50 -50
  291. package/src/module/user/repository/userSession.repository.ts +33 -33
  292. package/src/module/user/service/login.service.ts +304 -304
  293. package/src/module/user/service/role.service.ts +189 -189
  294. package/src/module/user/service/user-role-mapping.service.ts +98 -98
  295. package/src/module/user/service/user-session.service.ts +168 -168
  296. package/src/module/user/service/user.service.ts +365 -365
  297. package/src/module/user/user.module.ts +65 -65
  298. package/src/module/workflow/controller/action-category.controller.ts +54 -54
  299. package/src/module/workflow/controller/action-resource-mapping.controller.ts +23 -23
  300. package/src/module/workflow/controller/action-template-mapping.controller.ts +35 -35
  301. package/src/module/workflow/controller/action.controller.ts +111 -111
  302. package/src/module/workflow/controller/activity-log.controller.ts +55 -55
  303. package/src/module/workflow/controller/comm-template.controller.ts +43 -43
  304. package/src/module/workflow/controller/entity-modification.controller.ts +35 -35
  305. package/src/module/workflow/controller/form-master.controller.ts +43 -43
  306. package/src/module/workflow/controller/stage-group.controller.ts +48 -48
  307. package/src/module/workflow/controller/stage.controller.ts +50 -50
  308. package/src/module/workflow/controller/task.controller.ts +77 -77
  309. package/src/module/workflow/controller/workflow-list-master.controller.ts +44 -44
  310. package/src/module/workflow/controller/workflow-meta.controller.ts +80 -80
  311. package/src/module/workflow/controller/workflow.controller.ts +67 -67
  312. package/src/module/workflow/entity/action-category.entity.ts +38 -38
  313. package/src/module/workflow/entity/action-data.entity.ts +55 -55
  314. package/src/module/workflow/entity/action-resources-mapping.entity.ts +29 -29
  315. package/src/module/workflow/entity/action-template-mapping.entity.ts +17 -17
  316. package/src/module/workflow/entity/action.entity.ts +53 -53
  317. package/src/module/workflow/entity/activity-log.entity.ts +43 -43
  318. package/src/module/workflow/entity/comm-template.entity.ts +43 -43
  319. package/src/module/workflow/entity/entity-modification.entity.ts +38 -38
  320. package/src/module/workflow/entity/form.entity.ts +25 -25
  321. package/src/module/workflow/entity/stage-action-mapping.entity.ts +17 -17
  322. package/src/module/workflow/entity/stage-group.entity.ts +23 -23
  323. package/src/module/workflow/entity/stage-movement-data.entity.ts +38 -38
  324. package/src/module/workflow/entity/stage.entity.ts +20 -20
  325. package/src/module/workflow/entity/task-data.entity.ts +88 -88
  326. package/src/module/workflow/entity/template-attach-mapper.entity.ts +30 -30
  327. package/src/module/workflow/entity/workflow-data.entity.ts +11 -11
  328. package/src/module/workflow/entity/workflow-level-mapping.entity.ts +18 -18
  329. package/src/module/workflow/entity/workflow.entity.ts +20 -20
  330. package/src/module/workflow/repository/action-category.repository.ts +79 -79
  331. package/src/module/workflow/repository/action-data.repository.ts +334 -334
  332. package/src/module/workflow/repository/action.repository.ts +323 -323
  333. package/src/module/workflow/repository/activity-log.repository.ts +148 -148
  334. package/src/module/workflow/repository/comm-template.repository.ts +149 -149
  335. package/src/module/workflow/repository/form-master.repository.ts +59 -59
  336. package/src/module/workflow/repository/stage-group.repository.ts +197 -197
  337. package/src/module/workflow/repository/stage-movement.repository.ts +244 -244
  338. package/src/module/workflow/repository/stage.repository.ts +172 -172
  339. package/src/module/workflow/repository/task.repository.ts +134 -134
  340. package/src/module/workflow/repository/workflow.repository.ts +42 -42
  341. package/src/module/workflow/service/action-category.service.ts +33 -33
  342. package/src/module/workflow/service/action-data.service.ts +62 -62
  343. package/src/module/workflow/service/action-resources-mapping.service.ts +10 -10
  344. package/src/module/workflow/service/action-template-mapping.service.ts +115 -115
  345. package/src/module/workflow/service/action.service.ts +279 -279
  346. package/src/module/workflow/service/activity-log.service.ts +107 -107
  347. package/src/module/workflow/service/comm-template.service.ts +180 -180
  348. package/src/module/workflow/service/entity-modification.service.ts +67 -67
  349. package/src/module/workflow/service/form-master.service.ts +35 -35
  350. package/src/module/workflow/service/populate-workflow.service.ts +303 -303
  351. package/src/module/workflow/service/stage-action-mapping.service.ts +5 -5
  352. package/src/module/workflow/service/stage-group.service.ts +345 -340
  353. package/src/module/workflow/service/stage.service.ts +199 -199
  354. package/src/module/workflow/service/task.service.ts +555 -555
  355. package/src/module/workflow/service/workflow-list-master.service.ts +60 -60
  356. package/src/module/workflow/service/workflow-meta.service.ts +654 -654
  357. package/src/module/workflow/service/workflow.service.ts +205 -205
  358. package/src/module/workflow/workflow.module.ts +178 -178
  359. package/src/module/workflow-automation/SCHEDULING_GUIDE.md +145 -145
  360. package/src/module/workflow-automation/controller/workflow-automation.controller.ts +43 -43
  361. package/src/module/workflow-automation/entity/workflow-automation-action.entity.ts +26 -26
  362. package/src/module/workflow-automation/entity/workflow-automation.entity.ts +40 -40
  363. package/src/module/workflow-automation/interface/action.decorator.ts +7 -7
  364. package/src/module/workflow-automation/interface/action.interface.ts +5 -5
  365. package/src/module/workflow-automation/service/action-registery.service.ts +35 -35
  366. package/src/module/workflow-automation/service/schedule-handler.service.ts +149 -149
  367. package/src/module/workflow-automation/service/workflow-automation-engine.service.ts +214 -214
  368. package/src/module/workflow-automation/service/workflow-automation.service.ts +508 -508
  369. package/src/module/workflow-automation/workflow-automation.module.ts +47 -47
  370. package/src/module/workflow-schedule/INSTALLATION.md +244 -244
  371. package/src/module/workflow-schedule/MULTI_PROJECT_GUIDE.md +196 -196
  372. package/src/module/workflow-schedule/README.md +422 -422
  373. package/src/module/workflow-schedule/constants/schedule.constants.ts +48 -48
  374. package/src/module/workflow-schedule/controller/workflow-schedule.controller.ts +255 -255
  375. package/src/module/workflow-schedule/docs/CLAUDE_CODE_GUIDE.md +510 -510
  376. package/src/module/workflow-schedule/docs/CLAUDE_CODE_PROMPT.md +362 -362
  377. package/src/module/workflow-schedule/docs/RUN_CLAUDE_CODE.sh +68 -68
  378. package/src/module/workflow-schedule/dto/create-schedule.dto.ts +147 -147
  379. package/src/module/workflow-schedule/dto/get-execution-logs.dto.ts +119 -119
  380. package/src/module/workflow-schedule/dto/update-schedule.dto.ts +96 -96
  381. package/src/module/workflow-schedule/entities/scheduled-workflow.entity.ts +148 -148
  382. package/src/module/workflow-schedule/entities/workflow-execution-log.entity.ts +154 -154
  383. package/src/module/workflow-schedule/interfaces/schedule-job-data.interface.ts +53 -53
  384. package/src/module/workflow-schedule/interfaces/workflow-schedule-options.interface.ts +12 -12
  385. package/src/module/workflow-schedule/processors/schedule.processor.ts +584 -584
  386. package/src/module/workflow-schedule/service/workflow-schedule.service.ts +600 -600
  387. package/src/module/workflow-schedule/workflow-schedule.module.ts +67 -67
  388. package/src/resources/dev.properties.yaml +31 -31
  389. package/src/resources/local.properties.yaml +27 -27
  390. package/src/resources/properties.module.ts +12 -12
  391. package/src/resources/properties.yaml.ts +11 -11
  392. package/src/resources/uat.properties.yaml +31 -31
  393. package/src/table.config.ts +130 -130
  394. package/src/utils/dto/excel-data.dto.ts +14 -14
  395. package/src/utils/dto/excelsheet-data.dto.ts +5 -5
  396. package/src/utils/service/base64util.service.ts +18 -18
  397. package/src/utils/service/clockIDGenUtil.service.ts +21 -21
  398. package/src/utils/service/codeGenerator.service.ts +22 -22
  399. package/src/utils/service/dateUtil.service.ts +17 -17
  400. package/src/utils/service/encryptUtil.service.ts +97 -97
  401. package/src/utils/service/excel-helper.service.ts +72 -72
  402. package/src/utils/service/excelUtil.service.ts +15 -15
  403. package/src/utils/service/file-util.service.ts +11 -11
  404. package/src/utils/service/json-util.service.ts +23 -23
  405. package/src/utils/service/loggingUtil.service.ts +88 -88
  406. package/src/utils/service/reflection-helper.service.ts +62 -62
  407. package/src/utils/service/wbsCodeGen.service.ts +8 -8
  408. package/src/utils/utils.module.ts +27 -27
  409. package/tsconfig.build.json +4 -4
  410. package/tsconfig.json +24 -24
  411. package/.claude/settings.local.json +0 -26
  412. package/.idea/250218_nodejs_core.iml +0 -9
  413. package/.idea/codeStyles/Project.xml +0 -59
  414. package/.idea/codeStyles/codeStyleConfig.xml +0 -5
  415. package/.idea/copilot.data.migration.agent.xml +0 -6
  416. package/.idea/copilot.data.migration.ask.xml +0 -6
  417. package/.idea/copilot.data.migration.ask2agent.xml +0 -6
  418. package/.idea/copilot.data.migration.edit.xml +0 -6
  419. package/.idea/inspectionProfiles/Project_Default.xml +0 -6
  420. package/.idea/misc.xml +0 -6
  421. package/.idea/modules.xml +0 -8
  422. package/.idea/prettier.xml +0 -6
  423. package/.idea/vcs.xml +0 -6
  424. package/server.log +0 -850
@@ -1,168 +1,168 @@
1
- import { Inject, Injectable } from '@nestjs/common';
2
- import { InjectRepository } from '@nestjs/typeorm';
3
- import { Repository, Not, DataSource } from 'typeorm';
4
- import { SavedFilterMaster } from '../entity/saved-filter-master.entity';
5
- import { SavedFilterDetail } from '../entity/saved-filter-detail.entity';
6
- import { SavedFilterService } from '../service/saved-filter.service';
7
- import { ENTITYTYPE_SAVEDFILTERMASTER } from 'src/constant/global.constant';
8
- import { UserData } from 'src/module/user/entity/user.entity';
9
-
10
- @Injectable()
11
- export class SavedFilterRepositoryService {
12
- constructor(
13
- @InjectRepository(SavedFilterMaster)
14
- private readonly savedFilterMasterRepo: Repository<SavedFilterMaster>,
15
- @InjectRepository(SavedFilterDetail)
16
- private readonly savedFilterDetailRepo: Repository<SavedFilterDetail>,
17
- private readonly dataSource: DataSource,
18
- ) {}
19
-
20
- async isFilterNameExists({
21
- name,
22
- organization_id,
23
- id,
24
- level_type,
25
- level_id,
26
- }: any): Promise<boolean> {
27
- const where: any = {
28
- name,
29
- organization_id: organization_id,
30
- level_type: level_type,
31
- level_id: level_id,
32
- };
33
- if (id) {
34
- where.id = Not(id);
35
- }
36
-
37
- const existing = await this.savedFilterMasterRepo.findOne({ where });
38
- return !!existing;
39
- }
40
-
41
- async getDetailsByCode(code: string) {
42
- let data = await this.savedFilterDetailRepo.find({
43
- where: { mapped_filter_code: code },
44
- });
45
- return data.map((detail) => ({
46
- filter_attribute: detail.filter_attribute,
47
- filter_operator: detail.filter_operator,
48
- filter_attribute_data_type: detail.filter_attribute_data_type,
49
- filter_attribute_name: detail.filter_attribute_name,
50
- filter_entity_name: detail.filter_entity_name,
51
- filter_entity_type: detail.filter_entity_type,
52
- datasource_list: detail.datasource_list,
53
- filter_value:
54
- detail.data_type === 'multiselect'
55
- ? detail.filter_value?.trim() === ''
56
- ? []
57
- : detail.filter_value.split(',')
58
- : detail.filter_value,
59
- }));
60
- }
61
-
62
- async deleteDetailsByCode(code: string): Promise<void> {
63
- await this.savedFilterDetailRepo.delete({ mapped_filter_code: code });
64
- }
65
-
66
- async saveDetails(details: Partial<SavedFilterDetail>[]): Promise<void> {
67
- const entities = this.savedFilterDetailRepo.create(details);
68
- await this.savedFilterDetailRepo.save(entities);
69
- }
70
-
71
- async updateCode(id: number, code: string): Promise<void> {
72
- await this.savedFilterMasterRepo.update(id, { code });
73
- }
74
-
75
- async getDefaultFilterByEntityType(
76
- entityType: string,
77
- ): Promise<{ label: string; value: number ,code: string} | null> {
78
- const filter = await this.savedFilterMasterRepo.findOne({
79
- where: {
80
- mapped_entity_type: entityType,
81
- is_default: true,
82
- },
83
- });
84
-
85
- return filter ? { label: filter.name, value: filter.id , code: filter.code} : null;
86
- }
87
-
88
- async getSavedFiltersByUserIdAndEntityType(
89
- userId: number,
90
- entityType: string,
91
- ) {
92
- const filters = await this.savedFilterMasterRepo.find({
93
- where: {
94
- user_id: userId,
95
- mapped_entity_type: entityType,
96
- status: 'ACTIVE',
97
- },
98
- order: {
99
- created_date: 'DESC',
100
- },
101
- });
102
-
103
- return filters.map((filter) => ({
104
- label: filter.name,
105
- value: filter.id,
106
- code: filter.code,
107
- }));
108
- }
109
-
110
- async getFilterById(id: number): Promise<
111
- {
112
- filter_attribute: string;
113
- filter_operator: string;
114
- filter_value: any;
115
- }[]
116
- > {
117
- const saveFilterMasterData = await this.savedFilterMasterRepo.findOne({
118
- where: { id },
119
- });
120
-
121
- if (!saveFilterMasterData) return [];
122
-
123
- const filterDetails = await this.savedFilterDetailRepo.find({
124
- where: { mapped_filter_code: saveFilterMasterData.code },
125
- });
126
-
127
- return filterDetails.map((detail) => ({
128
- filter_attribute: detail.filter_attribute,
129
- filter_operator: detail.filter_operator,
130
- filter_attribute_data_type: detail.filter_attribute_data_type,
131
- filter_attribute_name: detail.filter_attribute_name,
132
- filter_entity_name: detail.filter_entity_name,
133
- filter_entity_type: detail.filter_entity_type,
134
- datasource_list: detail.datasource_list,
135
- filter_value:
136
- detail.data_type === 'multiselect'
137
- ? detail.filter_value?.trim() === ''
138
- ? []
139
- : detail.filter_value.split(',')
140
- : detail.filter_value,
141
- }));
142
- }
143
-
144
- async getSavedFilterByCode(
145
- code: string,
146
- loggedInUser: UserData,
147
- ): Promise<any> {
148
- const [filterMaster] = await this.dataSource.query(
149
- `SELECT id, name, code
150
- FROM frm_saved_filter_master
151
- WHERE code = $1 AND organization_id = $2
152
- LIMIT 1
153
- `,
154
- [code, loggedInUser.organization_id],
155
- );
156
-
157
- if (!filterMaster) {
158
- return null;
159
- }
160
-
161
- const filterDetails = await this.getDetailsByCode(filterMaster.code);
162
-
163
- return {
164
- ...filterMaster,
165
- filterDetails,
166
- };
167
- }
168
- }
1
+ import { Inject, Injectable } from '@nestjs/common';
2
+ import { InjectRepository } from '@nestjs/typeorm';
3
+ import { Repository, Not, DataSource } from 'typeorm';
4
+ import { SavedFilterMaster } from '../entity/saved-filter-master.entity';
5
+ import { SavedFilterDetail } from '../entity/saved-filter-detail.entity';
6
+ import { SavedFilterService } from '../service/saved-filter.service';
7
+ import { ENTITYTYPE_SAVEDFILTERMASTER } from 'src/constant/global.constant';
8
+ import { UserData } from 'src/module/user/entity/user.entity';
9
+
10
+ @Injectable()
11
+ export class SavedFilterRepositoryService {
12
+ constructor(
13
+ @InjectRepository(SavedFilterMaster)
14
+ private readonly savedFilterMasterRepo: Repository<SavedFilterMaster>,
15
+ @InjectRepository(SavedFilterDetail)
16
+ private readonly savedFilterDetailRepo: Repository<SavedFilterDetail>,
17
+ private readonly dataSource: DataSource,
18
+ ) {}
19
+
20
+ async isFilterNameExists({
21
+ name,
22
+ organization_id,
23
+ id,
24
+ level_type,
25
+ level_id,
26
+ }: any): Promise<boolean> {
27
+ const where: any = {
28
+ name,
29
+ organization_id: organization_id,
30
+ level_type: level_type,
31
+ level_id: level_id,
32
+ };
33
+ if (id) {
34
+ where.id = Not(id);
35
+ }
36
+
37
+ const existing = await this.savedFilterMasterRepo.findOne({ where });
38
+ return !!existing;
39
+ }
40
+
41
+ async getDetailsByCode(code: string) {
42
+ let data = await this.savedFilterDetailRepo.find({
43
+ where: { mapped_filter_code: code },
44
+ });
45
+ return data.map((detail) => ({
46
+ filter_attribute: detail.filter_attribute,
47
+ filter_operator: detail.filter_operator,
48
+ filter_attribute_data_type: detail.filter_attribute_data_type,
49
+ filter_attribute_name: detail.filter_attribute_name,
50
+ filter_entity_name: detail.filter_entity_name,
51
+ filter_entity_type: detail.filter_entity_type,
52
+ datasource_list: detail.datasource_list,
53
+ filter_value:
54
+ detail.data_type === 'multiselect'
55
+ ? detail.filter_value?.trim() === ''
56
+ ? []
57
+ : detail.filter_value.split(',')
58
+ : detail.filter_value,
59
+ }));
60
+ }
61
+
62
+ async deleteDetailsByCode(code: string): Promise<void> {
63
+ await this.savedFilterDetailRepo.delete({ mapped_filter_code: code });
64
+ }
65
+
66
+ async saveDetails(details: Partial<SavedFilterDetail>[]): Promise<void> {
67
+ const entities = this.savedFilterDetailRepo.create(details);
68
+ await this.savedFilterDetailRepo.save(entities);
69
+ }
70
+
71
+ async updateCode(id: number, code: string): Promise<void> {
72
+ await this.savedFilterMasterRepo.update(id, { code });
73
+ }
74
+
75
+ async getDefaultFilterByEntityType(
76
+ entityType: string,
77
+ ): Promise<{ label: string; value: number ,code: string} | null> {
78
+ const filter = await this.savedFilterMasterRepo.findOne({
79
+ where: {
80
+ mapped_entity_type: entityType,
81
+ is_default: true,
82
+ },
83
+ });
84
+
85
+ return filter ? { label: filter.name, value: filter.id , code: filter.code} : null;
86
+ }
87
+
88
+ async getSavedFiltersByUserIdAndEntityType(
89
+ userId: number,
90
+ entityType: string,
91
+ ) {
92
+ const filters = await this.savedFilterMasterRepo.find({
93
+ where: {
94
+ user_id: userId,
95
+ mapped_entity_type: entityType,
96
+ status: 'ACTIVE',
97
+ },
98
+ order: {
99
+ created_date: 'DESC',
100
+ },
101
+ });
102
+
103
+ return filters.map((filter) => ({
104
+ label: filter.name,
105
+ value: filter.id,
106
+ code: filter.code,
107
+ }));
108
+ }
109
+
110
+ async getFilterById(id: number): Promise<
111
+ {
112
+ filter_attribute: string;
113
+ filter_operator: string;
114
+ filter_value: any;
115
+ }[]
116
+ > {
117
+ const saveFilterMasterData = await this.savedFilterMasterRepo.findOne({
118
+ where: { id },
119
+ });
120
+
121
+ if (!saveFilterMasterData) return [];
122
+
123
+ const filterDetails = await this.savedFilterDetailRepo.find({
124
+ where: { mapped_filter_code: saveFilterMasterData.code },
125
+ });
126
+
127
+ return filterDetails.map((detail) => ({
128
+ filter_attribute: detail.filter_attribute,
129
+ filter_operator: detail.filter_operator,
130
+ filter_attribute_data_type: detail.filter_attribute_data_type,
131
+ filter_attribute_name: detail.filter_attribute_name,
132
+ filter_entity_name: detail.filter_entity_name,
133
+ filter_entity_type: detail.filter_entity_type,
134
+ datasource_list: detail.datasource_list,
135
+ filter_value:
136
+ detail.data_type === 'multiselect'
137
+ ? detail.filter_value?.trim() === ''
138
+ ? []
139
+ : detail.filter_value.split(',')
140
+ : detail.filter_value,
141
+ }));
142
+ }
143
+
144
+ async getSavedFilterByCode(
145
+ code: string,
146
+ loggedInUser: UserData,
147
+ ): Promise<any> {
148
+ const [filterMaster] = await this.dataSource.query(
149
+ `SELECT id, name, code
150
+ FROM frm_saved_filter_master
151
+ WHERE code = $1 AND organization_id = $2
152
+ LIMIT 1
153
+ `,
154
+ [code, loggedInUser.organization_id],
155
+ );
156
+
157
+ if (!filterMaster) {
158
+ return null;
159
+ }
160
+
161
+ const filterDetails = await this.getDetailsByCode(filterMaster.code);
162
+
163
+ return {
164
+ ...filterMaster,
165
+ filterDetails,
166
+ };
167
+ }
168
+ }
@@ -1,86 +1,86 @@
1
- import { Injectable } from '@nestjs/common';
2
- import { DataSource } from 'typeorm';
3
- import { SavedFilterDetail } from 'src/module/filter/entity/saved-filter-detail.entity';
4
- import { FilterService } from './filter.service';
5
-
6
- @Injectable()
7
- export class FilterEvaluatorService {
8
- constructor(
9
- private readonly dataSource: DataSource,
10
- private readonly filterService: FilterService,
11
- ) {}
12
-
13
- /**
14
- * Check if any of the trigger attributes are modified in this event.
15
- * @param oldEntity previous state
16
- * @param newEntity new state
17
- * @param savedFilterCode code of saved filter that contains trigger attributes
18
- * @returns true if at least one trigger attribute changed (and optionally matches value)
19
- */
20
- async evaluateTriggerAttributes(
21
- oldEntity: Record<string, any> | null,
22
- newEntity: Record<string, any>,
23
- savedFilterCode: string,
24
- ): Promise<boolean> {
25
- // Fetch trigger filter details
26
- console.log('IN FILTER EVALUATOR SERVICE');
27
- const triggerFilters: SavedFilterDetail[] = await this.dataSource.query(
28
- `SELECT *
29
- FROM frm_saved_filter_detail
30
- WHERE mapped_filter_code = $1`,
31
- [savedFilterCode],
32
- );
33
-
34
- // If no trigger filters defined, just return true (so criteria can run)
35
- if (!triggerFilters || triggerFilters.length === 0) {
36
- return true;
37
- }
38
-
39
- const oldState = oldEntity || {};
40
-
41
- // Check each trigger attribute
42
- for (const filter of triggerFilters) {
43
- const attr = filter.filter_attribute;
44
- const expectedValue = filter.filter_value;
45
-
46
- const oldVal = oldState[attr];
47
- const newVal = newEntity[attr];
48
- // If value changed and (no expected value defined OR matches expected)
49
- if (oldVal !== newVal && (!expectedValue || newVal == expectedValue)) {
50
- return true;
51
- }
52
- }
53
-
54
- // No trigger attribute matched
55
- return false;
56
- }
57
-
58
- /**
59
- * Evaluate the criteria for an entity using the filter service
60
- * @param entityType type of entity
61
- * @param entityId id of entity to evaluate
62
- * @param criteriaFilterCode saved filter code for criteria
63
- * @param filterService instance of your FilterService
64
- */
65
- async evaluateCriteria(
66
- entityType: string,
67
- criteriaFilterCode: string,
68
- entityId: number,
69
- loggedInUser: any,
70
- ): Promise<boolean> {
71
- if (!criteriaFilterCode) return true; // no criteria = always true
72
-
73
- const filterRequest = {
74
- entity_type: entityType,
75
- savedFilterCode: criteriaFilterCode,
76
- queryParams: { id: entityId },
77
- page: 1,
78
- size: 1,
79
- loggedInUser: loggedInUser || { organization_id: null },
80
- } as any;
81
-
82
- const result = await this.filterService.applyFilterWrapper(filterRequest);
83
-
84
- return result?.data?.entity_list?.length > 0;
85
- }
86
- }
1
+ import { Injectable } from '@nestjs/common';
2
+ import { DataSource } from 'typeorm';
3
+ import { SavedFilterDetail } from 'src/module/filter/entity/saved-filter-detail.entity';
4
+ import { FilterService } from './filter.service';
5
+
6
+ @Injectable()
7
+ export class FilterEvaluatorService {
8
+ constructor(
9
+ private readonly dataSource: DataSource,
10
+ private readonly filterService: FilterService,
11
+ ) {}
12
+
13
+ /**
14
+ * Check if any of the trigger attributes are modified in this event.
15
+ * @param oldEntity previous state
16
+ * @param newEntity new state
17
+ * @param savedFilterCode code of saved filter that contains trigger attributes
18
+ * @returns true if at least one trigger attribute changed (and optionally matches value)
19
+ */
20
+ async evaluateTriggerAttributes(
21
+ oldEntity: Record<string, any> | null,
22
+ newEntity: Record<string, any>,
23
+ savedFilterCode: string,
24
+ ): Promise<boolean> {
25
+ // Fetch trigger filter details
26
+ console.log('IN FILTER EVALUATOR SERVICE');
27
+ const triggerFilters: SavedFilterDetail[] = await this.dataSource.query(
28
+ `SELECT *
29
+ FROM frm_saved_filter_detail
30
+ WHERE mapped_filter_code = $1`,
31
+ [savedFilterCode],
32
+ );
33
+
34
+ // If no trigger filters defined, just return true (so criteria can run)
35
+ if (!triggerFilters || triggerFilters.length === 0) {
36
+ return true;
37
+ }
38
+
39
+ const oldState = oldEntity || {};
40
+
41
+ // Check each trigger attribute
42
+ for (const filter of triggerFilters) {
43
+ const attr = filter.filter_attribute;
44
+ const expectedValue = filter.filter_value;
45
+
46
+ const oldVal = oldState[attr];
47
+ const newVal = newEntity[attr];
48
+ // If value changed and (no expected value defined OR matches expected)
49
+ if (oldVal !== newVal && (!expectedValue || newVal == expectedValue)) {
50
+ return true;
51
+ }
52
+ }
53
+
54
+ // No trigger attribute matched
55
+ return false;
56
+ }
57
+
58
+ /**
59
+ * Evaluate the criteria for an entity using the filter service
60
+ * @param entityType type of entity
61
+ * @param entityId id of entity to evaluate
62
+ * @param criteriaFilterCode saved filter code for criteria
63
+ * @param filterService instance of your FilterService
64
+ */
65
+ async evaluateCriteria(
66
+ entityType: string,
67
+ criteriaFilterCode: string,
68
+ entityId: number,
69
+ loggedInUser: any,
70
+ ): Promise<boolean> {
71
+ if (!criteriaFilterCode) return true; // no criteria = always true
72
+
73
+ const filterRequest = {
74
+ entity_type: entityType,
75
+ savedFilterCode: criteriaFilterCode,
76
+ queryParams: { id: entityId },
77
+ page: 1,
78
+ size: 1,
79
+ loggedInUser: loggedInUser || { organization_id: null },
80
+ } as any;
81
+
82
+ const result = await this.filterService.applyFilterWrapper(filterRequest);
83
+
84
+ return result?.data?.entity_list?.length > 0;
85
+ }
86
+ }