rez_core 5.0.41 → 5.0.43

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 (431) 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 +28 -28
  9. package/dist/module/filter/service/filter.service.js.map +1 -1
  10. package/dist/module/integration/examples/usage.example.js +9 -9
  11. package/dist/module/integration/service/integration.service.js +1 -1
  12. package/dist/module/integration/service/wrapper.service.js +26 -26
  13. package/dist/module/listmaster/service/list-master-item.service.js +2 -2
  14. package/dist/module/mapper/service/field-mapper.service.js +4 -4
  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-relation.service.js +9 -9
  20. package/dist/module/meta/service/entity-service-impl.service.js +3 -3
  21. package/dist/module/meta/service/populate-meta.service.d.ts +4 -2
  22. package/dist/module/meta/service/populate-meta.service.js +100 -36
  23. package/dist/module/meta/service/populate-meta.service.js.map +1 -1
  24. package/dist/module/meta/service/resolver.service.js +3 -3
  25. package/dist/module/module/repository/menu.repository.js +17 -17
  26. package/dist/module/notification/service/notification.service.js +10 -10
  27. package/dist/module/user/controller/login.controller.js +18 -18
  28. package/dist/module/user/service/role.service.js +4 -4
  29. package/dist/module/user/service/user-session.service.js +2 -2
  30. package/dist/module/workflow/controller/workflow.controller.d.ts +1 -1
  31. package/dist/module/workflow/repository/action.repository.js +20 -20
  32. package/dist/module/workflow/repository/comm-template.repository.js +6 -6
  33. package/dist/module/workflow/repository/form-master.repository.js +2 -2
  34. package/dist/module/workflow/repository/stage-group.repository.js +20 -20
  35. package/dist/module/workflow/repository/stage-movement.repository.js +17 -17
  36. package/dist/module/workflow/repository/stage.repository.js +8 -8
  37. package/dist/module/workflow/service/action-template-mapping.service.js +13 -13
  38. package/dist/module/workflow/service/action.service.js +7 -7
  39. package/dist/module/workflow/service/entity-modification.service.js +2 -2
  40. package/dist/module/workflow/service/populate-workflow.service.d.ts +1 -1
  41. package/dist/module/workflow/service/populate-workflow.service.js +93 -16
  42. package/dist/module/workflow/service/populate-workflow.service.js.map +1 -1
  43. package/dist/module/workflow/service/stage-group.service.js +2 -2
  44. package/dist/module/workflow/service/stage.service.js +2 -2
  45. package/dist/module/workflow/service/task.service.js +35 -35
  46. package/dist/module/workflow/service/workflow-list-master.service.js +15 -15
  47. package/dist/module/workflow/service/workflow-meta.service.js +26 -26
  48. package/dist/module/workflow/service/workflow.service.js +2 -2
  49. package/dist/module/workflow-automation/service/schedule-handler.service.js +9 -9
  50. package/dist/module/workflow-schedule/processors/schedule.processor.js +4 -4
  51. package/dist/module/workflow-schedule/service/workflow-schedule.service.js +9 -9
  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 +124 -124
  59. package/src/app.controller.ts +12 -12
  60. package/src/app.module.ts +66 -66
  61. package/src/app.service.ts +8 -8
  62. package/src/config/bull.config.ts +69 -69
  63. package/src/config/config.module.ts +17 -17
  64. package/src/config/database.config.ts +48 -48
  65. package/src/constant/global.constant.ts +67 -67
  66. package/src/core.module.ts +91 -91
  67. package/src/decorators/roles.decorator.ts +7 -7
  68. package/src/dtos/response.dto.ts +6 -6
  69. package/src/dtos/response.ts +5 -5
  70. package/src/index.ts +1 -1
  71. package/src/module/auth/auth.module.ts +49 -49
  72. package/src/module/auth/controller/auth.controller.ts +28 -28
  73. package/src/module/auth/guards/google-auth.guard.ts +9 -9
  74. package/src/module/auth/guards/jwt.guard.ts +22 -22
  75. package/src/module/auth/guards/role.guard.ts +68 -68
  76. package/src/module/auth/services/auth.service.ts +50 -50
  77. package/src/module/auth/services/jwt.service.ts +11 -11
  78. package/src/module/auth/strategies/google.strategy.ts +54 -54
  79. package/src/module/auth/strategies/jwt.strategy.ts +58 -58
  80. package/src/module/auth/strategies/local.strategy.ts +13 -13
  81. package/src/module/dashboard/controller/dashboard.controller.ts +36 -36
  82. package/src/module/dashboard/dashboard.module.ts +21 -21
  83. package/src/module/dashboard/entity/dashboard_page_data.entity.ts +27 -27
  84. package/src/module/dashboard/entity/widget_master.entity.ts +18 -18
  85. package/src/module/dashboard/repository/dashboard.repository.ts +42 -42
  86. package/src/module/dashboard/service/dashboard.service.ts +73 -73
  87. package/src/module/dev/dev.module.ts +12 -12
  88. package/src/module/dev/service/dev.service.ts +7 -7
  89. package/src/module/enterprise/controller/organization.controller.ts +36 -36
  90. package/src/module/enterprise/enterprise.module.ts +30 -30
  91. package/src/module/enterprise/entity/enterprise.entity.ts +37 -37
  92. package/src/module/enterprise/entity/organization-app-mapping.entity.ts +13 -13
  93. package/src/module/enterprise/entity/organization.entity.ts +92 -92
  94. package/src/module/enterprise/repository/enterprise.repository.ts +31 -31
  95. package/src/module/enterprise/repository/organization.repository.ts +26 -26
  96. package/src/module/enterprise/repository/school.repository.ts +278 -278
  97. package/src/module/enterprise/service/brand.service.ts +5 -5
  98. package/src/module/enterprise/service/enterprise.service.ts +16 -16
  99. package/src/module/enterprise/service/organization-app-mapping.service.ts +4 -4
  100. package/src/module/enterprise/service/organization.service.ts +145 -145
  101. package/src/module/entity_json/controller/entity_json.controller.ts +47 -47
  102. package/src/module/entity_json/entity/entityJson.entity.ts +39 -39
  103. package/src/module/entity_json/entity_json.module.ts +18 -18
  104. package/src/module/entity_json/service/entityJson.repository.ts +37 -37
  105. package/src/module/entity_json/service/entity_json.service.ts +234 -234
  106. package/src/module/filter/controller/filter.controller.ts +84 -84
  107. package/src/module/filter/dto/filter-request.dto.ts +38 -38
  108. package/src/module/filter/entity/saved-filter-detail.entity.ts +41 -41
  109. package/src/module/filter/entity/saved-filter-master.entity.ts +23 -23
  110. package/src/module/filter/filter.module.ts +31 -31
  111. package/src/module/filter/repository/saved-filter.repository.ts +168 -168
  112. package/src/module/filter/service/filter-evaluator.service.ts +86 -86
  113. package/src/module/filter/service/filter.service.ts +1144 -1144
  114. package/src/module/filter/service/saved-filter.service.ts +170 -170
  115. package/src/module/ics/controller/ics.controller.ts +21 -21
  116. package/src/module/ics/dto/ics.dto.ts +55 -55
  117. package/src/module/ics/ics.module.ts +13 -13
  118. package/src/module/ics/service/ics.service.ts +57 -57
  119. package/src/module/integration/controller/calender-event.controller.ts +31 -31
  120. package/src/module/integration/controller/integration.controller.ts +662 -662
  121. package/src/module/integration/controller/wrapper.controller.ts +37 -37
  122. package/src/module/integration/dto/create-config.dto.ts +526 -526
  123. package/src/module/integration/entity/integration-config.entity.ts +112 -112
  124. package/src/module/integration/entity/integration-entity-mapper.entity.ts +14 -14
  125. package/src/module/integration/entity/integration-source.entity.ts +17 -17
  126. package/src/module/integration/entity/user-integration.entity.ts +71 -71
  127. package/src/module/integration/examples/usage.example.ts +338 -338
  128. package/src/module/integration/factories/base.factory.ts +7 -7
  129. package/src/module/integration/factories/email.factory.ts +49 -49
  130. package/src/module/integration/factories/integration.factory.ts +121 -121
  131. package/src/module/integration/factories/sms.factory.ts +51 -51
  132. package/src/module/integration/factories/telephone.factory.ts +41 -41
  133. package/src/module/integration/factories/whatsapp.factory.ts +56 -56
  134. package/src/module/integration/integration.module.ts +110 -110
  135. package/src/module/integration/service/calendar-event.service.ts +118 -118
  136. package/src/module/integration/service/integration-entity-mapper.service.ts +17 -17
  137. package/src/module/integration/service/integration-queue.service.ts +229 -229
  138. package/src/module/integration/service/integration.service.ts +2633 -2633
  139. package/src/module/integration/service/oauth.service.ts +224 -224
  140. package/src/module/integration/service/wrapper.service.ts +701 -701
  141. package/src/module/integration/strategies/email/gmail-api.strategy.ts +280 -280
  142. package/src/module/integration/strategies/email/outlook-api.strategy.ts +44 -44
  143. package/src/module/integration/strategies/email/outlook.strategy.ts +64 -64
  144. package/src/module/integration/strategies/email/sendgrid-api.strategy.ts +260 -260
  145. package/src/module/integration/strategies/integration.strategy.ts +97 -97
  146. package/src/module/integration/strategies/sms/gupshup-sms.strategy.ts +146 -146
  147. package/src/module/integration/strategies/sms/msg91-sms.strategy.ts +164 -164
  148. package/src/module/integration/strategies/sms/tubelight-sms.strategy.ts +163 -163
  149. package/src/module/integration/strategies/telephone/ozonetel-voice.strategy.ts +238 -238
  150. package/src/module/integration/strategies/telephone/tubelight-voice.strategy.ts +210 -210
  151. package/src/module/integration/strategies/whatsapp/gupshup-whatsapp.strategy.ts +359 -359
  152. package/src/module/integration/strategies/whatsapp/tubelight-whatsapp.strategy.ts +372 -372
  153. package/src/module/integration/strategies/whatsapp/whatsapp-cloud.strategy.ts +403 -403
  154. package/src/module/integration/strategies/whatsapp/whatsapp.strategy.ts +57 -57
  155. package/src/module/layout/controller/layout.controller.ts +47 -47
  156. package/src/module/layout/entity/header-items.entity.ts +28 -28
  157. package/src/module/layout/entity/header-section.entity.ts +19 -19
  158. package/src/module/layout/layout.module.ts +21 -21
  159. package/src/module/layout/repository/header-items.repository.ts +18 -18
  160. package/src/module/layout/repository/header-section.repository.ts +22 -22
  161. package/src/module/layout/service/header-section.service.ts +25 -25
  162. package/src/module/layout_preference/controller/layout_preference.controller.ts +73 -73
  163. package/src/module/layout_preference/entity/layout_preference.entity.ts +28 -28
  164. package/src/module/layout_preference/layout_preference.module.ts +22 -22
  165. package/src/module/layout_preference/repository/layout_preference.repository.ts +65 -65
  166. package/src/module/layout_preference/service/layout_preference.service.ts +191 -191
  167. package/src/module/lead/controller/lead.controller.ts +30 -30
  168. package/src/module/lead/lead.module.ts +14 -14
  169. package/src/module/lead/repository/lead.repository.ts +41 -41
  170. package/src/module/lead/service/lead.service.ts +54 -54
  171. package/src/module/linked_attributes/controller/linked_attributes.controller.ts +37 -37
  172. package/src/module/linked_attributes/entity/linked_attribute.entity.ts +51 -51
  173. package/src/module/linked_attributes/linked_attributes.module.ts +16 -16
  174. package/src/module/linked_attributes/repository/linked_attribute.repository.ts +12 -12
  175. package/src/module/linked_attributes/service/linked_attributes.service.ts +75 -75
  176. package/src/module/listmaster/controller/list-master.controller.ts +230 -230
  177. package/src/module/listmaster/entity/list-master-items.entity.ts +43 -43
  178. package/src/module/listmaster/entity/list-master.entity.ts +33 -33
  179. package/src/module/listmaster/listmaster.module.ts +46 -46
  180. package/src/module/listmaster/repository/list-master-items.repository.ts +173 -173
  181. package/src/module/listmaster/repository/list-master.repository.ts +46 -46
  182. package/src/module/listmaster/service/list-master-engine.ts +19 -19
  183. package/src/module/listmaster/service/list-master-extension.interface.ts +4 -4
  184. package/src/module/listmaster/service/list-master-item.service.ts +292 -292
  185. package/src/module/listmaster/service/list-master-registry.ts +15 -15
  186. package/src/module/listmaster/service/list-master.service.ts +544 -544
  187. package/src/module/mapper/controller/field-mapper.controller.ts +76 -76
  188. package/src/module/mapper/controller/mapper.controller.ts +20 -20
  189. package/src/module/mapper/dto/field-mapper.dto.ts +14 -14
  190. package/src/module/mapper/entity/field-lovs.entity.ts +19 -19
  191. package/src/module/mapper/entity/field-mapper.entity.ts +53 -53
  192. package/src/module/mapper/entity/mapper.entity.ts +16 -16
  193. package/src/module/mapper/mapper.module.ts +35 -35
  194. package/src/module/mapper/repository/field-lovs.repository.ts +35 -35
  195. package/src/module/mapper/repository/field-mapper.repository.ts +42 -42
  196. package/src/module/mapper/repository/mapper.repository.ts +32 -32
  197. package/src/module/mapper/service/field-mapper.service.ts +271 -271
  198. package/src/module/mapper/service/mapper.service.ts +81 -81
  199. package/src/module/master/controller/master.controller.ts +74 -74
  200. package/src/module/master/service/master.service.ts +483 -483
  201. package/src/module/meta/controller/app-master.controller.ts +38 -38
  202. package/src/module/meta/controller/attribute-master.controller.ts +84 -84
  203. package/src/module/meta/controller/entity-dynamic.controller.ts +125 -125
  204. package/src/module/meta/controller/entity-master.controller.ts +41 -41
  205. package/src/module/meta/controller/entity-relation.controller.ts +36 -36
  206. package/src/module/meta/controller/entity.controller.ts +392 -392
  207. package/src/module/meta/controller/entity.public.controller.ts +75 -75
  208. package/src/module/meta/controller/media.controller.ts +107 -107
  209. package/src/module/meta/controller/meta.controller.ts +96 -96
  210. package/src/module/meta/controller/view-master.controller.ts +86 -86
  211. package/src/module/meta/dto/entity-list-data.dto.ts +6 -6
  212. package/src/module/meta/dto/entity-tab.dto.ts +4 -4
  213. package/src/module/meta/dto/entity-table.dto.ts +9 -9
  214. package/src/module/meta/entity/app-master.entity.ts +34 -34
  215. package/src/module/meta/entity/attribute-master.entity.ts +92 -92
  216. package/src/module/meta/entity/base-entity.entity.ts +75 -75
  217. package/src/module/meta/entity/entity-master.entity.ts +85 -85
  218. package/src/module/meta/entity/entity-relation-data.entity.ts +29 -29
  219. package/src/module/meta/entity/entity-relation.entity.ts +23 -23
  220. package/src/module/meta/entity/entity-table-column.entity.ts +61 -61
  221. package/src/module/meta/entity/entity-table.entity.ts +50 -50
  222. package/src/module/meta/entity/media-data.entity.ts +32 -32
  223. package/src/module/meta/entity/preference.entity.ts +62 -62
  224. package/src/module/meta/entity/view-master.entity.ts +41 -41
  225. package/src/module/meta/entity.module.ts +166 -166
  226. package/src/module/meta/repository/app-master.repository.ts +20 -20
  227. package/src/module/meta/repository/attribute-master.repository.ts +138 -138
  228. package/src/module/meta/repository/entity-attribute-update.repository.ts +44 -44
  229. package/src/module/meta/repository/entity-master.repository.ts +111 -111
  230. package/src/module/meta/repository/entity-table-column.repository.ts +39 -39
  231. package/src/module/meta/repository/entity-table.repository.ts +53 -53
  232. package/src/module/meta/repository/media-data.repository.ts +50 -50
  233. package/src/module/meta/repository/preference.repository.ts +20 -20
  234. package/src/module/meta/repository/user-app-mapping.repository.ts +28 -28
  235. package/src/module/meta/repository/view-master.repository.ts +42 -42
  236. package/src/module/meta/service/app-master.service.ts +37 -37
  237. package/src/module/meta/service/attribute-master.service.ts +130 -130
  238. package/src/module/meta/service/common.service.ts +9 -9
  239. package/src/module/meta/service/entity-attribute-update.service.ts +28 -28
  240. package/src/module/meta/service/entity-dynamic.service.ts +809 -809
  241. package/src/module/meta/service/entity-list.service.ts +205 -205
  242. package/src/module/meta/service/entity-master.service.ts +171 -171
  243. package/src/module/meta/service/entity-realation-data.service.ts +9 -9
  244. package/src/module/meta/service/entity-relation.service.ts +87 -87
  245. package/src/module/meta/service/entity-service-impl.service.ts +525 -525
  246. package/src/module/meta/service/entity-table-column.service.ts +39 -39
  247. package/src/module/meta/service/entity-table.service.ts +150 -150
  248. package/src/module/meta/service/entity-validation.service.ts +187 -187
  249. package/src/module/meta/service/entity.service.ts +67 -67
  250. package/src/module/meta/service/field-group.service.ts +103 -103
  251. package/src/module/meta/service/media-data.service.ts +507 -507
  252. package/src/module/meta/service/populate-meta.service.ts +222 -193
  253. package/src/module/meta/service/preference.service.ts +16 -16
  254. package/src/module/meta/service/resolver.service.ts +271 -271
  255. package/src/module/meta/service/section-master.service.ts +104 -104
  256. package/src/module/meta/service/update-form-json.service.ts +22 -22
  257. package/src/module/meta/service/user-app-mapping.service.ts +17 -17
  258. package/src/module/meta/service/view-master.service.ts +127 -127
  259. package/src/module/microservice-client/microservice-clients.module.ts +13 -13
  260. package/src/module/microservice-client/service/microservice-client-factory.ts +37 -37
  261. package/src/module/microservice-client/service/microservice-clients.ts +4 -4
  262. package/src/module/module/controller/menu.controller.ts +15 -15
  263. package/src/module/module/controller/module-access.controller.ts +134 -134
  264. package/src/module/module/entity/menu.entity.ts +43 -43
  265. package/src/module/module/entity/module-access.entity.ts +25 -25
  266. package/src/module/module/entity/module-action.entity.ts +17 -17
  267. package/src/module/module/entity/module.entity.ts +52 -52
  268. package/src/module/module/module.module.ts +42 -42
  269. package/src/module/module/repository/menu.repository.ts +191 -191
  270. package/src/module/module/repository/module-access.repository.ts +344 -344
  271. package/src/module/module/service/menu.service.ts +82 -82
  272. package/src/module/module/service/module-access.service.ts +195 -195
  273. package/src/module/notification/controller/notification.controller.ts +58 -58
  274. package/src/module/notification/controller/otp.controller.ts +117 -117
  275. package/src/module/notification/entity/notification.entity.ts +26 -26
  276. package/src/module/notification/entity/otp.entity.ts +28 -28
  277. package/src/module/notification/firebase-admin.config.ts +22 -22
  278. package/src/module/notification/notification.module.ts +69 -69
  279. package/src/module/notification/repository/otp.repository.ts +27 -27
  280. package/src/module/notification/service/email.service.ts +127 -127
  281. package/src/module/notification/service/notification.service.ts +160 -160
  282. package/src/module/notification/service/otp.service.ts +133 -133
  283. package/src/module/third-party-module/entity/third-party-api-registry.entity.ts +52 -52
  284. package/src/module/third-party-module/repository/third-party-api-registry.repository.ts +20 -20
  285. package/src/module/third-party-module/service/api-registry.service.ts +13 -13
  286. package/src/module/third-party-module/third-party.module.ts +12 -12
  287. package/src/module/user/controller/login.controller.ts +198 -198
  288. package/src/module/user/controller/user.controller.ts +40 -40
  289. package/src/module/user/dto/create-user.dto.ts +62 -62
  290. package/src/module/user/dto/update-user.dto.ts +4 -4
  291. package/src/module/user/entity/role.entity.ts +33 -33
  292. package/src/module/user/entity/user-role-mapping.entity.ts +38 -38
  293. package/src/module/user/entity/user-session.entity.ts +73 -73
  294. package/src/module/user/entity/user.entity.ts +59 -59
  295. package/src/module/user/repository/role.repository.ts +96 -96
  296. package/src/module/user/repository/user-role-mapping.repository.ts +126 -126
  297. package/src/module/user/repository/user.repository.ts +50 -50
  298. package/src/module/user/repository/userSession.repository.ts +33 -33
  299. package/src/module/user/service/login.service.ts +326 -326
  300. package/src/module/user/service/role.service.ts +189 -189
  301. package/src/module/user/service/user-role-mapping.service.ts +98 -98
  302. package/src/module/user/service/user-session.service.ts +168 -168
  303. package/src/module/user/service/user.service.ts +368 -368
  304. package/src/module/user/user.module.ts +65 -65
  305. package/src/module/workflow/controller/action-category.controller.ts +54 -54
  306. package/src/module/workflow/controller/action-resource-mapping.controller.ts +23 -23
  307. package/src/module/workflow/controller/action-template-mapping.controller.ts +35 -35
  308. package/src/module/workflow/controller/action.controller.ts +111 -111
  309. package/src/module/workflow/controller/activity-log.controller.ts +55 -55
  310. package/src/module/workflow/controller/comm-template.controller.ts +43 -43
  311. package/src/module/workflow/controller/entity-modification.controller.ts +35 -35
  312. package/src/module/workflow/controller/form-master.controller.ts +43 -43
  313. package/src/module/workflow/controller/stage-group.controller.ts +48 -48
  314. package/src/module/workflow/controller/stage.controller.ts +50 -50
  315. package/src/module/workflow/controller/task.controller.ts +77 -77
  316. package/src/module/workflow/controller/workflow-list-master.controller.ts +44 -44
  317. package/src/module/workflow/controller/workflow-meta.controller.ts +80 -80
  318. package/src/module/workflow/controller/workflow.controller.ts +67 -67
  319. package/src/module/workflow/entity/action-category.entity.ts +38 -38
  320. package/src/module/workflow/entity/action-data.entity.ts +55 -55
  321. package/src/module/workflow/entity/action-resources-mapping.entity.ts +29 -29
  322. package/src/module/workflow/entity/action-template-mapping.entity.ts +17 -17
  323. package/src/module/workflow/entity/action.entity.ts +53 -53
  324. package/src/module/workflow/entity/activity-log.entity.ts +43 -43
  325. package/src/module/workflow/entity/comm-template.entity.ts +43 -43
  326. package/src/module/workflow/entity/entity-modification.entity.ts +38 -38
  327. package/src/module/workflow/entity/form.entity.ts +25 -25
  328. package/src/module/workflow/entity/stage-action-mapping.entity.ts +17 -17
  329. package/src/module/workflow/entity/stage-group.entity.ts +23 -23
  330. package/src/module/workflow/entity/stage-movement-data.entity.ts +38 -38
  331. package/src/module/workflow/entity/stage.entity.ts +20 -20
  332. package/src/module/workflow/entity/task-data.entity.ts +88 -88
  333. package/src/module/workflow/entity/template-attach-mapper.entity.ts +30 -30
  334. package/src/module/workflow/entity/workflow-data.entity.ts +11 -11
  335. package/src/module/workflow/entity/workflow-level-mapping.entity.ts +18 -18
  336. package/src/module/workflow/entity/workflow.entity.ts +20 -20
  337. package/src/module/workflow/repository/action-category.repository.ts +79 -79
  338. package/src/module/workflow/repository/action-data.repository.ts +334 -334
  339. package/src/module/workflow/repository/action.repository.ts +324 -324
  340. package/src/module/workflow/repository/activity-log.repository.ts +148 -148
  341. package/src/module/workflow/repository/comm-template.repository.ts +149 -149
  342. package/src/module/workflow/repository/form-master.repository.ts +59 -59
  343. package/src/module/workflow/repository/stage-group.repository.ts +197 -197
  344. package/src/module/workflow/repository/stage-movement.repository.ts +246 -246
  345. package/src/module/workflow/repository/stage.repository.ts +172 -172
  346. package/src/module/workflow/repository/task.repository.ts +134 -134
  347. package/src/module/workflow/repository/workflow.repository.ts +42 -42
  348. package/src/module/workflow/service/action-category.service.ts +33 -33
  349. package/src/module/workflow/service/action-data.service.ts +62 -62
  350. package/src/module/workflow/service/action-resources-mapping.service.ts +10 -10
  351. package/src/module/workflow/service/action-template-mapping.service.ts +131 -131
  352. package/src/module/workflow/service/action.service.ts +279 -279
  353. package/src/module/workflow/service/activity-log.service.ts +107 -107
  354. package/src/module/workflow/service/comm-template.service.ts +180 -180
  355. package/src/module/workflow/service/entity-modification.service.ts +61 -61
  356. package/src/module/workflow/service/form-master.service.ts +35 -35
  357. package/src/module/workflow/service/populate-workflow.service.ts +330 -303
  358. package/src/module/workflow/service/stage-action-mapping.service.ts +5 -5
  359. package/src/module/workflow/service/stage-group.service.ts +342 -342
  360. package/src/module/workflow/service/stage.service.ts +199 -199
  361. package/src/module/workflow/service/task.service.ts +558 -558
  362. package/src/module/workflow/service/workflow-list-master.service.ts +60 -60
  363. package/src/module/workflow/service/workflow-meta.service.ts +654 -654
  364. package/src/module/workflow/service/workflow.service.ts +205 -205
  365. package/src/module/workflow/workflow.module.ts +180 -180
  366. package/src/module/workflow-automation/SCHEDULING_GUIDE.md +145 -145
  367. package/src/module/workflow-automation/controller/workflow-automation.controller.ts +43 -43
  368. package/src/module/workflow-automation/entity/workflow-automation-action.entity.ts +26 -26
  369. package/src/module/workflow-automation/entity/workflow-automation.entity.ts +40 -40
  370. package/src/module/workflow-automation/interface/action.decorator.ts +7 -7
  371. package/src/module/workflow-automation/interface/action.interface.ts +5 -5
  372. package/src/module/workflow-automation/service/action-registery.service.ts +35 -35
  373. package/src/module/workflow-automation/service/schedule-handler.service.ts +168 -168
  374. package/src/module/workflow-automation/service/workflow-automation-engine.service.ts +224 -224
  375. package/src/module/workflow-automation/service/workflow-automation.service.ts +515 -515
  376. package/src/module/workflow-automation/workflow-automation.module.ts +54 -54
  377. package/src/module/workflow-schedule/INSTALLATION.md +244 -244
  378. package/src/module/workflow-schedule/MULTI_PROJECT_GUIDE.md +196 -196
  379. package/src/module/workflow-schedule/README.md +422 -422
  380. package/src/module/workflow-schedule/constants/schedule.constants.ts +48 -48
  381. package/src/module/workflow-schedule/controller/workflow-schedule.controller.ts +255 -255
  382. package/src/module/workflow-schedule/docs/CLAUDE_CODE_GUIDE.md +510 -510
  383. package/src/module/workflow-schedule/docs/CLAUDE_CODE_PROMPT.md +362 -362
  384. package/src/module/workflow-schedule/docs/RUN_CLAUDE_CODE.sh +68 -68
  385. package/src/module/workflow-schedule/dto/create-schedule.dto.ts +147 -147
  386. package/src/module/workflow-schedule/dto/get-execution-logs.dto.ts +119 -119
  387. package/src/module/workflow-schedule/dto/update-schedule.dto.ts +96 -96
  388. package/src/module/workflow-schedule/entities/scheduled-workflow.entity.ts +148 -148
  389. package/src/module/workflow-schedule/entities/workflow-execution-log.entity.ts +154 -154
  390. package/src/module/workflow-schedule/interfaces/schedule-job-data.interface.ts +53 -53
  391. package/src/module/workflow-schedule/interfaces/workflow-schedule-options.interface.ts +12 -12
  392. package/src/module/workflow-schedule/processors/schedule.processor.ts +584 -584
  393. package/src/module/workflow-schedule/service/workflow-schedule.service.ts +600 -600
  394. package/src/module/workflow-schedule/workflow-schedule.module.ts +67 -67
  395. package/src/resources/dev.properties.yaml +31 -31
  396. package/src/resources/local.properties.yaml +27 -27
  397. package/src/resources/properties.module.ts +12 -12
  398. package/src/resources/properties.yaml.ts +11 -11
  399. package/src/resources/uat.properties.yaml +31 -31
  400. package/src/table.config.ts +133 -133
  401. package/src/utils/dto/excel-data.dto.ts +14 -14
  402. package/src/utils/dto/excelsheet-data.dto.ts +5 -5
  403. package/src/utils/service/base64util.service.ts +18 -18
  404. package/src/utils/service/clockIDGenUtil.service.ts +21 -21
  405. package/src/utils/service/codeGenerator.service.ts +22 -22
  406. package/src/utils/service/dateUtil.service.ts +17 -17
  407. package/src/utils/service/encryptUtil.service.ts +97 -97
  408. package/src/utils/service/excel-helper.service.ts +72 -72
  409. package/src/utils/service/excelUtil.service.ts +15 -15
  410. package/src/utils/service/file-util.service.ts +11 -11
  411. package/src/utils/service/json-util.service.ts +23 -23
  412. package/src/utils/service/loggingUtil.service.ts +88 -88
  413. package/src/utils/service/reflection-helper.service.ts +62 -62
  414. package/src/utils/service/wbsCodeGen.service.ts +8 -8
  415. package/src/utils/utils.module.ts +27 -27
  416. package/tsconfig.build.json +4 -4
  417. package/tsconfig.json +24 -24
  418. package/.claude/settings.local.json +0 -26
  419. package/.idea/250218_nodejs_core.iml +0 -9
  420. package/.idea/codeStyles/Project.xml +0 -59
  421. package/.idea/codeStyles/codeStyleConfig.xml +0 -5
  422. package/.idea/copilot.data.migration.agent.xml +0 -6
  423. package/.idea/copilot.data.migration.ask.xml +0 -6
  424. package/.idea/copilot.data.migration.ask2agent.xml +0 -6
  425. package/.idea/copilot.data.migration.edit.xml +0 -6
  426. package/.idea/inspectionProfiles/Project_Default.xml +0 -6
  427. package/.idea/misc.xml +0 -6
  428. package/.idea/modules.xml +0 -8
  429. package/.idea/prettier.xml +0 -6
  430. package/.idea/vcs.xml +0 -6
  431. package/server.log +0 -850
@@ -31,10 +31,10 @@ let WrapperService = WrapperService_1 = class WrapperService {
31
31
  this.loggingService.log('debug', 'wrapperService', 'sendMailWrapper', `sendMailWrapper called. User: ${JSON.stringify(loggedInUser)}, Payload: ${JSON.stringify(payload)}`, [], []);
32
32
  const { level_id, level_type, organization_id } = loggedInUser;
33
33
  this.loggingService.log('debug', 'wrapperService', 'sendMailWrapper', `Fetching configs for level_id=${level_id}, level_type=${level_type}`, [], []);
34
- const configs = await this.datasource.query(`SELECT * FROM frm_integration_config
35
- WHERE level_id = $1
36
- AND level_type = $2
37
- AND status = 1
34
+ const configs = await this.datasource.query(`SELECT * FROM frm_integration_config
35
+ WHERE level_id = $1
36
+ AND level_type = $2
37
+ AND status = 1
38
38
  AND integration_type = 'EMAIL'`, [level_id, level_type]);
39
39
  this.loggingService.log('debug', 'wrapperService', 'sendMailWrapper', `Configs found: ${JSON.stringify(configs)}`, [], []);
40
40
  let templateCode;
@@ -70,9 +70,9 @@ let WrapperService = WrapperService_1 = class WrapperService {
70
70
  }
71
71
  else {
72
72
  this.loggingService.log('warn', 'wrapperService', 'sendMailWrapper', `No user-level configs found. Falling back to ORG-level`, [], []);
73
- const fallbackConfigs = await this.datasource.query(`SELECT * FROM frm_integration_config
74
- WHERE level_type = 'ORG'
75
- AND integration_type = 'EMAIL'
73
+ const fallbackConfigs = await this.datasource.query(`SELECT * FROM frm_integration_config
74
+ WHERE level_type = 'ORG'
75
+ AND integration_type = 'EMAIL'
76
76
  AND status = 1`);
77
77
  this.loggingService.log('debug', 'wrapperService', 'sendMailWrapper', `ORG-level configs: ${JSON.stringify(fallbackConfigs)}`, [], []);
78
78
  if (!fallbackConfigs || fallbackConfigs.length === 0) {
@@ -130,17 +130,17 @@ let WrapperService = WrapperService_1 = class WrapperService {
130
130
  let resolvedTemplateId = entity?.templateId;
131
131
  if (entity.template_code) {
132
132
  this.loggingService.log('debug', 'wrapperService', 'sendCommunicationWrapperService', `Looking up template for code=${entity.template_code}, level_id=${level_id}, level_type=${level_type}`, [], []);
133
- let templates = await this.datasource.query(`SELECT id FROM frm_wf_comm_template
134
- WHERE code = $1
135
- AND level_id = $2
136
- AND level_type = $3
133
+ let templates = await this.datasource.query(`SELECT id FROM frm_wf_comm_template
134
+ WHERE code = $1
135
+ AND level_id = $2
136
+ AND level_type = $3
137
137
  LIMIT 1`, [entity.template_code, level_id, level_type]);
138
138
  if (!templates || templates.length === 0) {
139
139
  this.loggingService.log('warn', 'wrapperService', 'sendCommunicationWrapperService', `No template found for ${entity.template_code} at provided level. Falling back to ORG-level.`, [], []);
140
- templates = await this.datasource.query(`SELECT id FROM frm_wf_comm_template
141
- WHERE code = $1
142
- AND level_type = 'ORG'
143
- AND organization_id = $2
140
+ templates = await this.datasource.query(`SELECT id FROM frm_wf_comm_template
141
+ WHERE code = $1
142
+ AND level_type = 'ORG'
143
+ AND organization_id = $2
144
144
  LIMIT 1`, [entity.template_code, organization_id]);
145
145
  }
146
146
  if (templates && templates.length > 0) {
@@ -206,11 +206,11 @@ let WrapperService = WrapperService_1 = class WrapperService {
206
206
  };
207
207
  }
208
208
  this.loggingService.log('log', 'wrapperService', 'scheduleMeetingWrapper', `No user-level config found, checking ORG-level...`, [], []);
209
- const orgConfigs = await this.datasource.query(`SELECT * FROM frm_integration_config
210
- WHERE level_id = 1
211
- AND level_type = 'ORG'
212
- AND integration_type = 'EMAIL'
213
- AND app_code ='DEFAULT'
209
+ const orgConfigs = await this.datasource.query(`SELECT * FROM frm_integration_config
210
+ WHERE level_id = 1
211
+ AND level_type = 'ORG'
212
+ AND integration_type = 'EMAIL'
213
+ AND app_code ='DEFAULT'
214
214
  AND status = 1`, []);
215
215
  integrationConfig = await this.integrationService.getSingleActiveConfig(1, 'ORG', 'DEFAULT', 'EMAIL');
216
216
  this.loggingService.log('debug', 'wrapperService', 'scheduleMeetingWrapper', `ORG configs found: ${JSON.stringify(orgConfigs)}`, [], []);
@@ -228,8 +228,8 @@ let WrapperService = WrapperService_1 = class WrapperService {
228
228
  }
229
229
  async getConfigCred(configId) {
230
230
  this.loggingService.log('debug', 'wrapperService', 'getConfigCred', `Fetching config JSON for configId=${configId}`, [], []);
231
- const configRes = await this.datasource.query(`SELECT config_json
232
- FROM frm_integration_config
231
+ const configRes = await this.datasource.query(`SELECT config_json
232
+ FROM frm_integration_config
233
233
  WHERE id = $1`, [configId]);
234
234
  this.loggingService.log('debug', 'wrapperService', 'getConfigCred', `Config fetch result: ${JSON.stringify(configRes)}`, [], []);
235
235
  return configRes?.[0]?.config_json || null;
@@ -237,10 +237,10 @@ let WrapperService = WrapperService_1 = class WrapperService {
237
237
  async sendIcsInvite(payload, levelId, levelType, appCode, organizationId, mapped_entities) {
238
238
  this.loggingService.log('log', 'wrapperService', 'sendIcsInvite', `Generating ICS file. Payload: ${JSON.stringify(payload)}`, [], []);
239
239
  if (payload.template_code) {
240
- let templates = await this.datasource.query(`SELECT id FROM frm_wf_comm_template
241
- WHERE code = $1
242
- AND level_id = $2
243
- AND level_type = $3
240
+ let templates = await this.datasource.query(`SELECT id FROM frm_wf_comm_template
241
+ WHERE code = $1
242
+ AND level_id = $2
243
+ AND level_type = $3
244
244
  LIMIT 1`, [payload.template_code, levelId, levelType]);
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 frm_list_master
135
+ const data = await this.dataSource.query(`SELECT name AS label, type AS value
136
+ FROM frm_list_master
137
137
  WHERE organization_id = $1 AND source = $2`, [loggedInUser.organization_id, source]);
138
138
  return data;
139
139
  }
@@ -107,10 +107,10 @@ let FieldMapperService = class FieldMapperService extends entity_service_impl_se
107
107
  entity_data[field.mapped_entity_type];
108
108
  }
109
109
  else {
110
- const relations = await this.datasource.query(`SELECT target_entity_id
111
- FROM frm_entity_relation_data
112
- WHERE source_entity_type = $1
113
- AND source_entity_id = $2
110
+ const relations = await this.datasource.query(`SELECT target_entity_id
111
+ FROM frm_entity_relation_data
112
+ WHERE source_entity_type = $1
113
+ AND source_entity_id = $2
114
114
  AND target_entity_type = $3`, [parent_type, parent_id, field.mapped_entity_type]);
115
115
  const targetEntityIds = relations.map((r) => r.target_entity_id);
116
116
  this.loggingService.log('debug', 'fieldMapperService', 'resolveData', `Resolved targetEntityIds: ${targetEntityIds} for entityType: ${entityType}`, [parent_type, parent_id, field.mapped_entity_type], []);
@@ -18,9 +18,9 @@ let EntityUpdateRepository = class EntityUpdateRepository {
18
18
  }
19
19
  async updateEntityAttribute(entity, config) {
20
20
  const { entityType, organization_id } = entity;
21
- const result = await this.dataSource.query(`SELECT db_table_name
22
- FROM frm_entity_master
23
- WHERE mapped_entity_type = ?
21
+ const result = await this.dataSource.query(`SELECT db_table_name
22
+ FROM frm_entity_master
23
+ WHERE mapped_entity_type = ?
24
24
  and organization_id = ?`, [config.entity_type, organization_id]);
25
25
  if (!result.length) {
26
26
  throw new Error("Entity table not found");
@@ -29,8 +29,8 @@ let EntityMasterRepository = class EntityMasterRepository {
29
29
  async getEntityById(id) {
30
30
  let data = await this.entityMasterRepository.findOne({ where: { id } });
31
31
  if (data) {
32
- let listMasterData = await this.entityMasterRepository.query(`SELECT *
33
- FROM frm_list_master_items
32
+ let listMasterData = await this.entityMasterRepository.query(`SELECT *
33
+ FROM frm_list_master_items
34
34
  where id = $1`, [data?.status]);
35
35
  data.status = listMasterData?.[0].name;
36
36
  }
@@ -81,10 +81,10 @@ let EntityMasterRepository = class EntityMasterRepository {
81
81
  }
82
82
  async getAttributesOfTypeDate(entity_type, loggedInUser) {
83
83
  const organization_id = loggedInUser.organization_id;
84
- const attributes = await this.dataSource.query(`SELECT *
85
- FROM frm_entity_attribute
86
- WHERE mapped_entity_type = $1
87
- AND data_type = 'DATE'
84
+ const attributes = await this.dataSource.query(`SELECT *
85
+ FROM frm_entity_attribute
86
+ WHERE mapped_entity_type = $1
87
+ AND data_type = 'DATE'
88
88
  AND organization_id = $2`, [entity_type, organization_id]);
89
89
  const attributeList = attributes.map((attr) => ({
90
90
  label: attr.name,
@@ -43,19 +43,19 @@ let EntityDynamicService = class EntityDynamicService {
43
43
  if (!entityData.entity_type)
44
44
  entityData.entity_type = entityType;
45
45
  }
46
- const statusList = await this.dataSource.query(`
47
- SELECT id
48
- FROM frm_list_master_items
49
- WHERE code = $1
50
- AND organization_id = $2
46
+ const statusList = await this.dataSource.query(`
47
+ SELECT id
48
+ FROM frm_list_master_items
49
+ WHERE code = $1
50
+ AND organization_id = $2
51
51
  `, [global_constant_1.STATUS_ACTIVE, organizationId]);
52
52
  if (!entityData.status)
53
53
  entityData.status = statusList[0]?.id;
54
54
  if (!entityData.code && entityData.entity_type) {
55
- const result = await this.dataSource.query(`
56
- SELECT MAX(id) AS max_seq_no
57
- FROM ${tableName}
58
- WHERE entity_type = $1
55
+ const result = await this.dataSource.query(`
56
+ SELECT MAX(id) AS max_seq_no
57
+ FROM ${tableName}
58
+ WHERE entity_type = $1
59
59
  `, [entityData.entity_type]);
60
60
  let maxSeq = Number(result?.[0]?.max_seq_no) || 0;
61
61
  maxSeq++;
@@ -97,18 +97,18 @@ let EntityDynamicService = class EntityDynamicService {
97
97
  }
98
98
  const colList = columns.map(c => `"${c}"`).join(', ');
99
99
  const placeholderList = placeholders.join(', ');
100
- const sql = `
101
- INSERT INTO ${tableName} (${colList})
102
- VALUES (${placeholderList}) RETURNING id
100
+ const sql = `
101
+ INSERT INTO ${tableName} (${colList})
102
+ VALUES (${placeholderList}) RETURNING id
103
103
  `;
104
104
  const result = await this.dataSource.query(sql, values);
105
105
  return result[0];
106
106
  }
107
107
  async createEntityWithRelation(entityType, data, loggedInUser) {
108
108
  const organizationId = loggedInUser.organization_id;
109
- const getRelation = await this.dataSource.query(`SELECT *
110
- FROM frm_entity_relation
111
- WHERE organization_id = $1
109
+ const getRelation = await this.dataSource.query(`SELECT *
110
+ FROM frm_entity_relation
111
+ WHERE organization_id = $1
112
112
  AND source_entity_type = $2`, [organizationId, entityType]);
113
113
  const { mappedEntities, ...mainData } = data;
114
114
  const createdEntityData = await this.createEntity(entityType, mainData, loggedInUser);
@@ -129,8 +129,8 @@ let EntityDynamicService = class EntityDynamicService {
129
129
  entity_type: targetEntityType,
130
130
  };
131
131
  const createdRelatedEntity = await this.createEntity(targetEntityType, itemWithRef, loggedInUser, mainID);
132
- await this.dataSource.query(`INSERT INTO frm_entity_relation_data (organization_id, source_entity_id, source_entity_type,
133
- target_entity_id, target_entity_type, relation_type)
132
+ await this.dataSource.query(`INSERT INTO frm_entity_relation_data (organization_id, source_entity_id, source_entity_type,
133
+ target_entity_id, target_entity_type, relation_type)
134
134
  VALUES ($1, $2, $3, $4, $5, $6)`, [
135
135
  organizationId,
136
136
  mainID,
@@ -152,9 +152,9 @@ let EntityDynamicService = class EntityDynamicService {
152
152
  }
153
153
  async getEntityWithRelation(entityType, id, loggedInUser) {
154
154
  const mainEntity = await this.getEntityByDataSource(entityType, id, loggedInUser);
155
- const relatedEntities = await this.dataSource.query(`SELECT *
156
- FROM frm_entity_relation_data
157
- WHERE source_entity_id = $1
155
+ const relatedEntities = await this.dataSource.query(`SELECT *
156
+ FROM frm_entity_relation_data
157
+ WHERE source_entity_id = $1
158
158
  AND target_entity_type IN (SELECT target_entity_type FROM frm_entity_relation WHERE source_entity_type = $2)`, [id, entityType]);
159
159
  const response = {
160
160
  entity_type: entityType,
@@ -184,9 +184,9 @@ let EntityDynamicService = class EntityDynamicService {
184
184
  const updatedMainEntity = await this.updateEntity(entityType, id, mainData, loggedInUser);
185
185
  const updatedRelations = {};
186
186
  if (mappedEntities) {
187
- const getRelationDefs = await this.dataSource.query(`SELECT *
188
- FROM frm_entity_relation
189
- WHERE organization_id = $1
187
+ const getRelationDefs = await this.dataSource.query(`SELECT *
188
+ FROM frm_entity_relation
189
+ WHERE organization_id = $1
190
190
  AND source_entity_type = $2`, [organizationId, entityType]);
191
191
  for (const [targetEntityType, rawEntityData] of Object.entries(mappedEntities)) {
192
192
  const relationDef = getRelationDefs.find((r) => r.target_entity_type === targetEntityType);
@@ -196,10 +196,10 @@ let EntityDynamicService = class EntityDynamicService {
196
196
  const entityArray = Array.isArray(rawEntityData)
197
197
  ? rawEntityData
198
198
  : [rawEntityData];
199
- const existingRelationsForType = await this.dataSource.query(`SELECT *
200
- FROM frm_entity_relation_data
201
- WHERE source_entity_type = $1
202
- AND source_entity_id = $2
199
+ const existingRelationsForType = await this.dataSource.query(`SELECT *
200
+ FROM frm_entity_relation_data
201
+ WHERE source_entity_type = $1
202
+ AND source_entity_id = $2
203
203
  AND target_entity_type = $3`, [entityType, id, targetEntityType]);
204
204
  const updatedEntities = [];
205
205
  for (const item of entityArray) {
@@ -214,9 +214,9 @@ let EntityDynamicService = class EntityDynamicService {
214
214
  const createdEntity = await this.createEntity(targetEntityType, item, loggedInUser, Number(id));
215
215
  targetEntityId = createdEntity.insertId || createdEntity.id;
216
216
  entityData = await this.getEntity(targetEntityType, targetEntityId, loggedInUser);
217
- await this.dataSource.query(`INSERT INTO frm_entity_relation_data
218
- (organization_id, source_entity_id, source_entity_type, target_entity_id, target_entity_type,
219
- relation_type)
217
+ await this.dataSource.query(`INSERT INTO frm_entity_relation_data
218
+ (organization_id, source_entity_id, source_entity_type, target_entity_id, target_entity_type,
219
+ relation_type)
220
220
  VALUES ($1, $2, $3, $4, $5, $6)`, [
221
221
  organizationId,
222
222
  id,
@@ -300,10 +300,10 @@ let EntityDynamicService = class EntityDynamicService {
300
300
  }
301
301
  const idPlaceholder = `$${idx}`;
302
302
  values.push(id);
303
- const updateQuery = `
304
- UPDATE ${tableName}
305
- SET ${updates.join(', ')}
306
- WHERE id = ${idPlaceholder}
303
+ const updateQuery = `
304
+ UPDATE ${tableName}
305
+ SET ${updates.join(', ')}
306
+ WHERE id = ${idPlaceholder}
307
307
  `;
308
308
  return await this.dataSource.query(updateQuery, values);
309
309
  }
@@ -314,8 +314,8 @@ let EntityDynamicService = class EntityDynamicService {
314
314
  const columns = validAttributes
315
315
  .map((attr) => `${attr.attribute_key}`)
316
316
  .join(', ');
317
- const selectQuery = `SELECT ${columns}
318
- FROM ${dataSource}
317
+ const selectQuery = `SELECT ${columns}
318
+ FROM ${dataSource}
319
319
  WHERE id = $1`;
320
320
  const result = await this.dataSource.query(selectQuery, [id]);
321
321
  if (!result.length)
@@ -344,8 +344,8 @@ let EntityDynamicService = class EntityDynamicService {
344
344
  const columns = validAttributes
345
345
  .map((attr) => `t.${attr.attribute_key}`)
346
346
  .join(', ');
347
- const selectQuery = `SELECT ${columns}
348
- FROM ${tableName} t
347
+ const selectQuery = `SELECT ${columns}
348
+ FROM ${tableName} t
349
349
  WHERE id = $1`;
350
350
  const result = await this.dataSource.query(selectQuery, [id]);
351
351
  if (!result.length)
@@ -407,16 +407,16 @@ let EntityDynamicService = class EntityDynamicService {
407
407
  async deleteEntity(entityType, id, loggedInUser) {
408
408
  const organizationId = loggedInUser.organization_id;
409
409
  const tableName = await this.getTableName(entityType, organizationId);
410
- const deleteQuery = `DELETE
411
- FROM \`${tableName}\`
410
+ const deleteQuery = `DELETE
411
+ FROM \`${tableName}\`
412
412
  WHERE id = $1`;
413
413
  const result = await this.dataSource.query(deleteQuery, [id]);
414
414
  return result;
415
415
  }
416
416
  async getEntitiesDropdownList(loggedInUser, appcode) {
417
417
  const organizationId = loggedInUser.organization_id;
418
- let query = `SELECT name as label, mapped_entity_type as value
419
- FROM frm_entity_master
418
+ let query = `SELECT name as label, mapped_entity_type as value
419
+ FROM frm_entity_master
420
420
  WHERE organization_id = $1`;
421
421
  const params = [organizationId];
422
422
  if (appcode) {
@@ -433,8 +433,8 @@ let EntityDynamicService = class EntityDynamicService {
433
433
  throw new Error(`Entity type '${entityType}' not found in frm_entity_master for org '${organizationId}'`);
434
434
  }
435
435
  const tableName = result.db_table_name;
436
- const seqResult = await this.dataSource.query(`SELECT MAX(id) AS max_seq_no
437
- FROM ${tableName}
436
+ const seqResult = await this.dataSource.query(`SELECT MAX(id) AS max_seq_no
437
+ FROM ${tableName}
438
438
  WHERE entity_type = $1`, [entityType]);
439
439
  let maxSeqNo = seqResult?.[0]?.max_seq_no
440
440
  ? 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 max(id) as seq_no
126
+ const query = `SELECT max(id) as seq_no
127
127
  FROM ${tableName} WHERE 1=1 `;
128
128
  const argsObjectList = [];
129
129
  const result = await this.entityManager.query(query, argsObjectList);
@@ -21,8 +21,8 @@ let EntityRelationService = class EntityRelationService extends entity_service_i
21
21
  this.entityMasterRepo = entityMasterRepo;
22
22
  }
23
23
  async getEntityRelations(entityType, loggedInUser, includeSelf = false) {
24
- const relations = await this.dataSource.query(`SELECT name as label, target_entity_type as value, id
25
- FROM frm_entity_relation
24
+ const relations = await this.dataSource.query(`SELECT name as label, target_entity_type as value, id
25
+ FROM frm_entity_relation
26
26
  WHERE source_entity_type = $1 AND organization_id = $2`, [entityType, loggedInUser.organization_id]);
27
27
  if (includeSelf) {
28
28
  const entity = await this.entityMasterRepo.getEntityByMappedEntityType(entityType, loggedInUser.organization_id);
@@ -53,13 +53,13 @@ let EntityRelationService = class EntityRelationService extends entity_service_i
53
53
  .join(", ");
54
54
  params.push(Number(orgId));
55
55
  const orgPlaceholder = `$${paramIndex}`;
56
- const sql = `
57
- SELECT DISTINCT source_entity_id
58
- FROM frm_entity_relation_data
59
- WHERE source_entity_type = ${sourceEntityParam}
60
- AND target_entity_type = ${targetEntityParam}
61
- AND target_entity_id IN (${idPlaceholders})
62
- AND organization_id = ${orgPlaceholder}
56
+ const sql = `
57
+ SELECT DISTINCT source_entity_id
58
+ FROM frm_entity_relation_data
59
+ WHERE source_entity_type = ${sourceEntityParam}
60
+ AND target_entity_type = ${targetEntityParam}
61
+ AND target_entity_id IN (${idPlaceholders})
62
+ AND organization_id = ${orgPlaceholder}
63
63
  `;
64
64
  const rows = await this.dataSource.query(sql, params);
65
65
  return rows.map((r) => Number(r.source_entity_id));
@@ -50,9 +50,9 @@ let EntityServiceImpl = class EntityServiceImpl {
50
50
  maxSeqNo = Number(maxSeqNo) + 1;
51
51
  entityData.code = entityData.entity_type + maxSeqNo;
52
52
  }
53
- const statusList = await repo.query(`SELECT id
54
- FROM frm_list_master_items
55
- WHERE code = $1
53
+ const statusList = await repo.query(`SELECT id
54
+ FROM frm_list_master_items
55
+ WHERE code = $1
56
56
  AND organization_id = $2`, [global_constant_1.STATUS_ACTIVE, loggedInUser?.organization_id || 0]);
57
57
  console.log('Status List:', statusList);
58
58
  console.log(`status_code,${global_constant_1.STATUS_ACTIVE},statusList, ${loggedInUser?.organization_id}`);
@@ -1,11 +1,13 @@
1
1
  import { DataSource } from 'typeorm';
2
2
  import { EntityServiceImpl } from './entity-service-impl.service';
3
+ import { ReflectionHelper } from 'src/utils/service/reflection-helper.service';
3
4
  export declare class PopulateMetaService {
4
5
  private readonly dataSource;
5
6
  private readonly entityServiceImpl;
6
- constructor(dataSource: DataSource, entityServiceImpl: EntityServiceImpl);
7
+ private readonly reflectionHelper;
8
+ constructor(dataSource: DataSource, entityServiceImpl: EntityServiceImpl, reflectionHelper: ReflectionHelper);
7
9
  populateMetaData(organization_id: number): Promise<{
8
10
  message: string;
9
11
  status: string;
10
- }>;
12
+ } | undefined>;
11
13
  }
@@ -13,10 +13,12 @@ exports.PopulateMetaService = void 0;
13
13
  const common_1 = require("@nestjs/common");
14
14
  const typeorm_1 = require("typeorm");
15
15
  const entity_service_impl_service_1 = require("./entity-service-impl.service");
16
+ const reflection_helper_service_1 = require("../../../utils/service/reflection-helper.service");
16
17
  let PopulateMetaService = class PopulateMetaService {
17
- constructor(dataSource, entityServiceImpl) {
18
+ constructor(dataSource, entityServiceImpl, reflectionHelper) {
18
19
  this.dataSource = dataSource;
19
20
  this.entityServiceImpl = entityServiceImpl;
21
+ this.reflectionHelper = reflectionHelper;
20
22
  }
21
23
  async populateMetaData(organization_id) {
22
24
  const metadataTables = [
@@ -25,17 +27,48 @@ let PopulateMetaService = class PopulateMetaService {
25
27
  'frm_entity_view',
26
28
  'frm_entity_relation',
27
29
  ];
28
- const entityTypeToNewIdMap = new Map();
29
- const getStatus = await this.dataSource.query(`SELECT * FROM frm_list_master_items WHERE organization_id = ${organization_id} AND code = "STATUS_ACTIVE"`);
30
- const status = getStatus[0]?.id ? getStatus[0].id : 'ACTIVE';
31
- let oneToManyId = await this.dataSource.query(`SELECT id FROM frm_list_master_items WHERE value = 'ONE_TO_MANY' AND organization_id = ${organization_id}`);
32
- let oneToOneId = await this.dataSource.query(`SELECT id FROM frm_list_master_items WHERE value = 'ONE_TO_MANY' AND organization_id = ${organization_id}`);
30
+ const metaData = [
31
+ 'EntityMaster',
32
+ 'AttributeMaster',
33
+ 'ViewMaster',
34
+ 'EntityRelationData',
35
+ ];
36
+ const listMasterItemsRepo = this.reflectionHelper.getRepoService('ListMasterItems');
37
+ const viewMasterRepo = this.reflectionHelper.getRepoService('ViewMaster');
38
+ const relationDataRepo = this.reflectionHelper.getRepoService('EntityRelationData');
39
+ const relationRepo = this.reflectionHelper.getRepoService('EntityRelation');
40
+ const attributeMasterRepo = this.reflectionHelper.getRepoService('AttributeMaster');
41
+ const entityMasterRepo = this.reflectionHelper.getRepoService('EntityMaster');
42
+ if (!listMasterItemsRepo)
43
+ return;
44
+ const getStatus = (await listMasterItemsRepo.find({
45
+ where: { organization_id: organization_id, code: 'STATUS_ACTIVE' },
46
+ }));
47
+ let status;
48
+ if (getStatus && getStatus.length > 0) {
49
+ status = getStatus[0].id;
50
+ }
51
+ else {
52
+ status = 'ACTIVE';
53
+ }
54
+ let oneToManyId = await listMasterItemsRepo?.find({
55
+ where: { value: 'ONE_TO_MANY', organization_id: organization_id },
56
+ });
57
+ let oneToOneId = await listMasterItemsRepo?.find({
58
+ where: { value: 'ONE_TO_ONE', organization_id: organization_id },
59
+ });
33
60
  for (const table of metadataTables) {
34
- const factoryData = await this.dataSource.query(`SELECT * FROM ${table} WHERE organization_id = -1 AND level_type = 'ORG' AND level_id = -1`);
35
- if (!factoryData.length)
36
- continue;
37
61
  let transformedData;
62
+ let transformRepo;
38
63
  if (table === 'frm_entity_master') {
64
+ transformRepo = entityMasterRepo;
65
+ const factoryData = await transformRepo?.find({
66
+ where: {
67
+ organization_id: -1,
68
+ level_type: 'ORG',
69
+ level_id: -1,
70
+ },
71
+ });
39
72
  transformedData = factoryData.map(({ id, created_date, modified_date, ...rest }) => ({
40
73
  ...rest,
41
74
  organization_id,
@@ -46,28 +79,53 @@ let PopulateMetaService = class PopulateMetaService {
46
79
  }));
47
80
  }
48
81
  else if (table === 'frm_entity_attribute') {
82
+ transformRepo = attributeMasterRepo;
83
+ const factoryData = await transformRepo?.find({
84
+ where: {
85
+ organization_id: -1,
86
+ level_type: 'ORG',
87
+ level_id: -1,
88
+ },
89
+ });
49
90
  transformedData = factoryData.map(({ id, created_date, modified_date, ...rest }) => ({
50
91
  ...rest,
51
92
  organization_id,
52
93
  level_type: 'ORG',
53
94
  level_id: organization_id,
54
- is_unique: rest.is_unique == 1 ? true : false,
55
- required: rest.required == 1 ? true : false,
56
- is_hidden: rest.is_hidden == 1 ? true : false,
57
95
  status: status,
58
96
  }));
59
97
  }
60
98
  else if (table === 'frm_entity_relation') {
99
+ if (!oneToManyId || !oneToOneId)
100
+ continue;
101
+ transformRepo = relationRepo;
102
+ const factoryData = await transformRepo?.find({
103
+ where: {
104
+ organization_id: -1,
105
+ level_type: 'ORG',
106
+ level_id: -1,
107
+ },
108
+ });
61
109
  transformedData = factoryData.map(({ id, created_date, modified_date, ...rest }) => ({
62
110
  ...rest,
63
111
  organization_id,
64
112
  level_type: 'ORG',
65
113
  level_id: organization_id,
66
114
  status: status,
67
- relation_id: rest.relation_type == "ONE_TO_ONE" ? oneToOneId[0].id : oneToManyId[0].id
115
+ relation_id: rest.relation_type == 'ONE_TO_ONE'
116
+ ? oneToOneId[0].id
117
+ : oneToManyId[0].id,
68
118
  }));
69
119
  }
70
- else {
120
+ else if (table === 'frm_entity_view') {
121
+ transformRepo = viewMasterRepo;
122
+ const factoryData = await transformRepo?.find({
123
+ where: {
124
+ organization_id: -1,
125
+ level_type: 'ORG',
126
+ level_id: -1,
127
+ },
128
+ });
71
129
  transformedData = factoryData.map(({ id, created_date, modified_date, ...rest }) => ({
72
130
  ...rest,
73
131
  organization_id,
@@ -76,14 +134,19 @@ let PopulateMetaService = class PopulateMetaService {
76
134
  status: status,
77
135
  }));
78
136
  }
79
- await this.dataSource
80
- .createQueryBuilder()
81
- .insert()
82
- .into(table)
83
- .values(transformedData)
84
- .execute();
137
+ await transformRepo?.save(transformedData);
85
138
  }
86
- const entityTables = await this.dataSource.query(`SELECT * FROM frm_entity_table WHERE organization_id = -1 AND level_type = 'ORG' AND level_id = -1`);
139
+ const entityTableRepo = this.reflectionHelper.getRepoService('EntityTable');
140
+ const entityTableColumnRepo = this.reflectionHelper.getRepoService('EntityTableColumn');
141
+ if (!entityTableRepo || !entityTableColumnRepo)
142
+ return;
143
+ const entityTables = await entityTableRepo.find({
144
+ where: {
145
+ organization_id: -1,
146
+ level_type: 'ORG',
147
+ level_id: -1,
148
+ },
149
+ });
87
150
  for (let entityTable of entityTables) {
88
151
  const { id, mapped_entity_type, display_type, ...rest } = entityTable;
89
152
  entityTable = {
@@ -94,14 +157,18 @@ let PopulateMetaService = class PopulateMetaService {
94
157
  level_id: organization_id,
95
158
  display_type: display_type,
96
159
  };
97
- const insertResult = await this.dataSource
98
- .createQueryBuilder()
99
- .insert()
100
- .into('frm_entity_table')
101
- .values(entityTable)
102
- .execute();
103
- const newId = insertResult.identifiers[0].id;
104
- const entityTableColumns = await this.dataSource.query(`SELECT * FROM frm_entity_table_column WHERE organization_id = -1 AND level_type = 'ORG' AND level_id = -1 AND mapped_entity_type = '${mapped_entity_type}' AND display_type = '${display_type}'`);
160
+ const insertResult = await entityTableRepo.save(entityTable);
161
+ const newId = insertResult.id;
162
+ const entityTableColumns = await entityTableColumnRepo.find({
163
+ where: {
164
+ organization_id: -1,
165
+ level_type: 'ORG',
166
+ level_id: -1,
167
+ mapped_entity_type: mapped_entity_type,
168
+ display_type: display_type,
169
+ },
170
+ });
171
+ let tableCloumnArray = [];
105
172
  for (const column of entityTableColumns) {
106
173
  const { id, created_date, modified_date, ...columnRest } = column;
107
174
  const newColumn = {
@@ -113,13 +180,9 @@ let PopulateMetaService = class PopulateMetaService {
113
180
  mapped_entity_type: mapped_entity_type,
114
181
  display_type: display_type,
115
182
  };
116
- await this.dataSource
117
- .createQueryBuilder()
118
- .insert()
119
- .into('frm_entity_table_column')
120
- .values(newColumn)
121
- .execute();
183
+ tableCloumnArray.push(newColumn);
122
184
  }
185
+ await entityTableColumnRepo.save(tableCloumnArray);
123
186
  }
124
187
  return {
125
188
  message: 'Metadata populated successfully',
@@ -131,6 +194,7 @@ exports.PopulateMetaService = PopulateMetaService;
131
194
  exports.PopulateMetaService = PopulateMetaService = __decorate([
132
195
  (0, common_1.Injectable)(),
133
196
  __metadata("design:paramtypes", [typeorm_1.DataSource,
134
- entity_service_impl_service_1.EntityServiceImpl])
197
+ entity_service_impl_service_1.EntityServiceImpl,
198
+ reflection_helper_service_1.ReflectionHelper])
135
199
  ], PopulateMetaService);
136
200
  //# sourceMappingURL=populate-meta.service.js.map