rez_core 4.0.97 → 4.0.98

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (384) hide show
  1. package/.claude/settings.local.json +26 -0
  2. package/.idea/250218_nodejs_core.iml +8 -11
  3. package/.idea/codeStyles/Project.xml +58 -58
  4. package/.idea/codeStyles/codeStyleConfig.xml +4 -4
  5. package/.idea/copilot.data.migration.agent.xml +6 -0
  6. package/.idea/copilot.data.migration.ask.xml +6 -0
  7. package/.idea/copilot.data.migration.ask2agent.xml +6 -0
  8. package/.idea/copilot.data.migration.edit.xml +6 -0
  9. package/.idea/inspectionProfiles/Project_Default.xml +1 -1
  10. package/.idea/misc.xml +6 -0
  11. package/.idea/modules.xml +7 -7
  12. package/.idea/prettier.xml +5 -5
  13. package/.idea/vcs.xml +5 -5
  14. package/.prettierrc +3 -3
  15. package/README.md +99 -99
  16. package/dist/module/auth/guards/role.guard.js +3 -3
  17. package/dist/module/auth/services/auth.service.js +2 -2
  18. package/dist/module/filter/repository/saved-filter.repository.js +4 -4
  19. package/dist/module/filter/service/filter-evaluator.service.js +2 -2
  20. package/dist/module/filter/service/filter.service.js +22 -22
  21. package/dist/module/integration/examples/usage.example.js +9 -9
  22. package/dist/module/integration/service/integration.service.js +1 -1
  23. package/dist/module/integration/service/wrapper.service.js +25 -31
  24. package/dist/module/integration/service/wrapper.service.js.map +1 -1
  25. package/dist/module/listmaster/service/list-master-item.service.js +2 -2
  26. package/dist/module/mapper/service/field-mapper.service.js +4 -4
  27. package/dist/module/mapper/service/mapper.service.js +2 -2
  28. package/dist/module/meta/service/entity-dynamic.service.js +16 -16
  29. package/dist/module/meta/service/entity-list.service.js +3 -3
  30. package/dist/module/meta/service/entity-master.service.js +3 -3
  31. package/dist/module/meta/service/entity-relation.service.js +11 -11
  32. package/dist/module/meta/service/entity-service-impl.service.js +3 -3
  33. package/dist/module/meta/service/resolver.service.js +3 -3
  34. package/dist/module/module/repository/menu.repository.js +12 -12
  35. package/dist/module/notification/service/notification.service.js +9 -9
  36. package/dist/module/user/controller/login.controller.js +18 -18
  37. package/dist/module/user/service/role.service.js +4 -4
  38. package/dist/module/user/service/user-session.service.js +2 -2
  39. package/dist/module/workflow/repository/action.repository.js +20 -20
  40. package/dist/module/workflow/repository/comm-template.repository.js +6 -6
  41. package/dist/module/workflow/repository/form-master.repository.js +2 -2
  42. package/dist/module/workflow/repository/stage-group.repository.js +23 -23
  43. package/dist/module/workflow/repository/stage-movement.repository.js +15 -15
  44. package/dist/module/workflow/repository/stage.repository.js +8 -8
  45. package/dist/module/workflow/service/action-template-mapping.service.js +22 -22
  46. package/dist/module/workflow/service/action.service.js +7 -7
  47. package/dist/module/workflow/service/entity-modification.service.js +6 -6
  48. package/dist/module/workflow/service/stage-group.service.js +2 -2
  49. package/dist/module/workflow/service/stage.service.js +2 -2
  50. package/dist/module/workflow/service/task.service.js +28 -28
  51. package/dist/module/workflow/service/workflow-list-master.service.js +15 -15
  52. package/dist/module/workflow/service/workflow-meta.service.js +35 -35
  53. package/dist/module/workflow/service/workflow.service.js +2 -2
  54. package/dist/tsconfig.build.tsbuildinfo +1 -1
  55. package/dist/utils/service/reflection-helper.service.js +2 -2
  56. package/docs/modules/event-driven-integration-design.md +91 -91
  57. package/docs/modules/integration.md +250 -250
  58. package/eslint.config.mjs +34 -34
  59. package/nest-cli.json +14 -14
  60. package/package.json +118 -118
  61. package/server.log +850 -0
  62. package/src/app.controller.ts +12 -12
  63. package/src/app.module.ts +49 -49
  64. package/src/app.service.ts +8 -8
  65. package/src/config/config.module.ts +18 -18
  66. package/src/config/database.config.ts +23 -23
  67. package/src/constant/global.constant.ts +67 -67
  68. package/src/core.module.ts +81 -81
  69. package/src/decorators/roles.decorator.ts +7 -7
  70. package/src/dtos/response.dto.ts +6 -6
  71. package/src/dtos/response.ts +5 -5
  72. package/src/index.ts +1 -1
  73. package/src/module/auth/auth.module.ts +49 -49
  74. package/src/module/auth/controller/auth.controller.ts +28 -28
  75. package/src/module/auth/guards/google-auth.guard.ts +9 -9
  76. package/src/module/auth/guards/jwt.guard.ts +22 -22
  77. package/src/module/auth/guards/role.guard.ts +68 -68
  78. package/src/module/auth/services/auth.service.ts +50 -50
  79. package/src/module/auth/services/jwt.service.ts +11 -11
  80. package/src/module/auth/strategies/google.strategy.ts +54 -54
  81. package/src/module/auth/strategies/jwt.strategy.ts +58 -58
  82. package/src/module/auth/strategies/local.strategy.ts +13 -13
  83. package/src/module/dashboard/controller/dashboard.controller.ts +36 -36
  84. package/src/module/dashboard/dashboard.module.ts +21 -21
  85. package/src/module/dashboard/entity/dashboard_page_data.entity.ts +27 -27
  86. package/src/module/dashboard/entity/widget_master.entity.ts +18 -18
  87. package/src/module/dashboard/repository/dashboard.repository.ts +42 -42
  88. package/src/module/dashboard/service/dashboard.service.ts +73 -73
  89. package/src/module/dev/dev.module.ts +12 -12
  90. package/src/module/dev/service/dev.service.ts +7 -7
  91. package/src/module/enterprise/controller/organization.controller.ts +36 -36
  92. package/src/module/enterprise/enterprise.module.ts +30 -30
  93. package/src/module/enterprise/entity/enterprise.entity.ts +37 -37
  94. package/src/module/enterprise/entity/organization-app-mapping.entity.ts +13 -13
  95. package/src/module/enterprise/entity/organization.entity.ts +92 -92
  96. package/src/module/enterprise/repository/enterprise.repository.ts +31 -31
  97. package/src/module/enterprise/repository/organization.repository.ts +26 -26
  98. package/src/module/enterprise/repository/school.repository.ts +278 -278
  99. package/src/module/enterprise/service/brand.service.ts +5 -5
  100. package/src/module/enterprise/service/enterprise.service.ts +16 -16
  101. package/src/module/enterprise/service/organization-app-mapping.service.ts +4 -4
  102. package/src/module/enterprise/service/organization.service.ts +145 -145
  103. package/src/module/filter/controller/filter.controller.ts +84 -84
  104. package/src/module/filter/dto/filter-request.dto.ts +38 -38
  105. package/src/module/filter/entity/saved-filter-detail.entity.ts +41 -41
  106. package/src/module/filter/entity/saved-filter-master.entity.ts +23 -23
  107. package/src/module/filter/filter.module.ts +31 -31
  108. package/src/module/filter/repository/saved-filter.repository.ts +168 -168
  109. package/src/module/filter/service/filter-evaluator.service.ts +86 -86
  110. package/src/module/filter/service/filter.service.ts +941 -941
  111. package/src/module/filter/service/saved-filter.service.ts +170 -170
  112. package/src/module/ics/controller/ics.controller.ts +21 -21
  113. package/src/module/ics/dto/ics.dto.ts +55 -55
  114. package/src/module/ics/ics.module.ts +13 -13
  115. package/src/module/ics/service/ics.service.ts +57 -57
  116. package/src/module/integration/controller/calender-event.controller.ts +31 -31
  117. package/src/module/integration/controller/integration.controller.ts +662 -662
  118. package/src/module/integration/controller/wrapper.controller.ts +37 -37
  119. package/src/module/integration/dto/create-config.dto.ts +526 -526
  120. package/src/module/integration/entity/integration-config.entity.ts +112 -112
  121. package/src/module/integration/entity/integration-entity-mapper.entity.ts +14 -14
  122. package/src/module/integration/entity/integration-source.entity.ts +17 -17
  123. package/src/module/integration/entity/user-integration.entity.ts +71 -71
  124. package/src/module/integration/examples/usage.example.ts +338 -338
  125. package/src/module/integration/factories/base.factory.ts +7 -7
  126. package/src/module/integration/factories/email.factory.ts +49 -49
  127. package/src/module/integration/factories/integration.factory.ts +121 -121
  128. package/src/module/integration/factories/sms.factory.ts +51 -51
  129. package/src/module/integration/factories/telephone.factory.ts +41 -41
  130. package/src/module/integration/factories/whatsapp.factory.ts +56 -56
  131. package/src/module/integration/integration.module.ts +110 -110
  132. package/src/module/integration/service/calendar-event.service.ts +118 -118
  133. package/src/module/integration/service/integration-entity-mapper.service.ts +17 -17
  134. package/src/module/integration/service/integration-queue.service.ts +229 -229
  135. package/src/module/integration/service/integration.service.ts +2633 -2633
  136. package/src/module/integration/service/oauth.service.ts +224 -224
  137. package/src/module/integration/service/wrapper.service.ts +493 -499
  138. package/src/module/integration/strategies/email/gmail-api.strategy.ts +280 -280
  139. package/src/module/integration/strategies/email/outlook-api.strategy.ts +44 -44
  140. package/src/module/integration/strategies/email/outlook.strategy.ts +64 -64
  141. package/src/module/integration/strategies/email/sendgrid-api.strategy.ts +260 -260
  142. package/src/module/integration/strategies/integration.strategy.ts +97 -97
  143. package/src/module/integration/strategies/sms/gupshup-sms.strategy.ts +146 -146
  144. package/src/module/integration/strategies/sms/msg91-sms.strategy.ts +164 -164
  145. package/src/module/integration/strategies/sms/tubelight-sms.strategy.ts +163 -163
  146. package/src/module/integration/strategies/telephone/ozonetel-voice.strategy.ts +238 -238
  147. package/src/module/integration/strategies/telephone/tubelight-voice.strategy.ts +210 -210
  148. package/src/module/integration/strategies/whatsapp/gupshup-whatsapp.strategy.ts +359 -359
  149. package/src/module/integration/strategies/whatsapp/tubelight-whatsapp.strategy.ts +372 -372
  150. package/src/module/integration/strategies/whatsapp/whatsapp-cloud.strategy.ts +403 -403
  151. package/src/module/integration/strategies/whatsapp/whatsapp.strategy.ts +57 -57
  152. package/src/module/layout/controller/layout.controller.ts +47 -47
  153. package/src/module/layout/entity/header-items.entity.ts +28 -28
  154. package/src/module/layout/entity/header-section.entity.ts +19 -19
  155. package/src/module/layout/layout.module.ts +21 -21
  156. package/src/module/layout/repository/header-items.repository.ts +18 -18
  157. package/src/module/layout/repository/header-section.repository.ts +22 -22
  158. package/src/module/layout/service/header-section.service.ts +25 -25
  159. package/src/module/layout_preference/controller/layout_preference.controller.ts +73 -73
  160. package/src/module/layout_preference/entity/layout_preference.entity.ts +28 -28
  161. package/src/module/layout_preference/layout_preference.module.ts +22 -22
  162. package/src/module/layout_preference/repository/layout_preference.repository.ts +65 -65
  163. package/src/module/layout_preference/service/layout_preference.service.ts +184 -184
  164. package/src/module/lead/controller/lead.controller.ts +30 -30
  165. package/src/module/lead/lead.module.ts +14 -14
  166. package/src/module/lead/repository/lead.repository.ts +41 -41
  167. package/src/module/lead/service/lead.service.ts +54 -54
  168. package/src/module/listmaster/controller/list-master.controller.ts +187 -187
  169. package/src/module/listmaster/entity/list-master-items.entity.ts +43 -43
  170. package/src/module/listmaster/entity/list-master.entity.ts +33 -33
  171. package/src/module/listmaster/listmaster.module.ts +44 -44
  172. package/src/module/listmaster/repository/list-master-items.repository.ts +169 -169
  173. package/src/module/listmaster/repository/list-master.repository.ts +46 -46
  174. package/src/module/listmaster/service/list-master-engine.ts +19 -19
  175. package/src/module/listmaster/service/list-master-extension.interface.ts +4 -4
  176. package/src/module/listmaster/service/list-master-item.service.ts +292 -292
  177. package/src/module/listmaster/service/list-master-registry.ts +15 -15
  178. package/src/module/listmaster/service/list-master.service.ts +441 -441
  179. package/src/module/mapper/controller/field-mapper.controller.ts +76 -76
  180. package/src/module/mapper/controller/mapper.controller.ts +20 -20
  181. package/src/module/mapper/dto/field-mapper.dto.ts +14 -14
  182. package/src/module/mapper/entity/field-lovs.entity.ts +19 -19
  183. package/src/module/mapper/entity/field-mapper.entity.ts +53 -53
  184. package/src/module/mapper/entity/mapper.entity.ts +16 -16
  185. package/src/module/mapper/mapper.module.ts +34 -34
  186. package/src/module/mapper/repository/field-lovs.repository.ts +35 -35
  187. package/src/module/mapper/repository/field-mapper.repository.ts +42 -42
  188. package/src/module/mapper/repository/mapper.repository.ts +15 -15
  189. package/src/module/mapper/service/field-mapper.service.ts +266 -266
  190. package/src/module/mapper/service/mapper.service.ts +79 -79
  191. package/src/module/master/controller/master.controller.ts +74 -74
  192. package/src/module/master/service/master.service.ts +483 -483
  193. package/src/module/meta/controller/app-master.controller.ts +38 -38
  194. package/src/module/meta/controller/attribute-master.controller.ts +66 -66
  195. package/src/module/meta/controller/entity-dynamic.controller.ts +125 -125
  196. package/src/module/meta/controller/entity-master.controller.ts +28 -28
  197. package/src/module/meta/controller/entity-relation.controller.ts +36 -36
  198. package/src/module/meta/controller/entity.controller.ts +392 -392
  199. package/src/module/meta/controller/entity.public.controller.ts +75 -75
  200. package/src/module/meta/controller/media.controller.ts +107 -107
  201. package/src/module/meta/controller/meta.controller.ts +96 -96
  202. package/src/module/meta/controller/view-master.controller.ts +86 -86
  203. package/src/module/meta/dto/entity-list-data.dto.ts +6 -6
  204. package/src/module/meta/dto/entity-tab.dto.ts +4 -4
  205. package/src/module/meta/dto/entity-table.dto.ts +9 -9
  206. package/src/module/meta/entity/app-master.entity.ts +34 -34
  207. package/src/module/meta/entity/attribute-master.entity.ts +89 -89
  208. package/src/module/meta/entity/base-entity.entity.ts +75 -75
  209. package/src/module/meta/entity/entity-master.entity.ts +85 -85
  210. package/src/module/meta/entity/entity-relation-data.entity.ts +29 -29
  211. package/src/module/meta/entity/entity-relation.entity.ts +23 -23
  212. package/src/module/meta/entity/entity-table-column.entity.ts +61 -61
  213. package/src/module/meta/entity/entity-table.entity.ts +50 -50
  214. package/src/module/meta/entity/media-data.entity.ts +32 -32
  215. package/src/module/meta/entity/preference.entity.ts +62 -62
  216. package/src/module/meta/entity/view-master.entity.ts +41 -41
  217. package/src/module/meta/entity.module.ts +158 -158
  218. package/src/module/meta/repository/app-master.repository.ts +20 -20
  219. package/src/module/meta/repository/attribute-master.repository.ts +110 -110
  220. package/src/module/meta/repository/entity-master.repository.ts +69 -69
  221. package/src/module/meta/repository/entity-table-column.repository.ts +39 -39
  222. package/src/module/meta/repository/entity-table.repository.ts +53 -53
  223. package/src/module/meta/repository/media-data.repository.ts +50 -50
  224. package/src/module/meta/repository/preference.repository.ts +20 -20
  225. package/src/module/meta/repository/user-app-mapping.repository.ts +28 -28
  226. package/src/module/meta/repository/view-master.repository.ts +42 -42
  227. package/src/module/meta/service/app-master.service.ts +37 -37
  228. package/src/module/meta/service/attribute-master.service.ts +117 -117
  229. package/src/module/meta/service/common.service.ts +9 -9
  230. package/src/module/meta/service/entity-dynamic.service.ts +809 -809
  231. package/src/module/meta/service/entity-list.service.ts +205 -205
  232. package/src/module/meta/service/entity-master.service.ts +169 -169
  233. package/src/module/meta/service/entity-realation-data.service.ts +9 -9
  234. package/src/module/meta/service/entity-relation.service.ts +69 -69
  235. package/src/module/meta/service/entity-service-impl.service.ts +525 -525
  236. package/src/module/meta/service/entity-table-column.service.ts +39 -39
  237. package/src/module/meta/service/entity-table.service.ts +150 -150
  238. package/src/module/meta/service/entity-validation.service.ts +187 -187
  239. package/src/module/meta/service/entity.service.ts +67 -67
  240. package/src/module/meta/service/field-group.service.ts +103 -103
  241. package/src/module/meta/service/media-data.service.ts +507 -507
  242. package/src/module/meta/service/populate-meta.service.ts +193 -193
  243. package/src/module/meta/service/preference.service.ts +16 -16
  244. package/src/module/meta/service/resolver.service.ts +267 -267
  245. package/src/module/meta/service/section-master.service.ts +104 -104
  246. package/src/module/meta/service/update-form-json.service.ts +22 -22
  247. package/src/module/meta/service/user-app-mapping.service.ts +17 -17
  248. package/src/module/meta/service/view-master.service.ts +127 -127
  249. package/src/module/module/controller/menu.controller.ts +15 -15
  250. package/src/module/module/controller/module-access.controller.ts +134 -134
  251. package/src/module/module/entity/menu.entity.ts +43 -43
  252. package/src/module/module/entity/module-access.entity.ts +25 -25
  253. package/src/module/module/entity/module-action.entity.ts +17 -17
  254. package/src/module/module/entity/module.entity.ts +52 -52
  255. package/src/module/module/module.module.ts +42 -42
  256. package/src/module/module/repository/menu.repository.ts +184 -184
  257. package/src/module/module/repository/module-access.repository.ts +344 -344
  258. package/src/module/module/service/menu.service.ts +82 -82
  259. package/src/module/module/service/module-access.service.ts +209 -209
  260. package/src/module/notification/controller/notification.controller.ts +58 -58
  261. package/src/module/notification/controller/otp.controller.ts +117 -117
  262. package/src/module/notification/entity/notification.entity.ts +26 -26
  263. package/src/module/notification/entity/otp.entity.ts +28 -28
  264. package/src/module/notification/firebase-admin.config.ts +22 -22
  265. package/src/module/notification/notification.module.ts +69 -69
  266. package/src/module/notification/repository/otp.repository.ts +27 -27
  267. package/src/module/notification/service/email.service.ts +127 -127
  268. package/src/module/notification/service/notification.service.ts +163 -163
  269. package/src/module/notification/service/otp.service.ts +132 -132
  270. package/src/module/third-party-module/entity/third-party-api-registry.entity.ts +52 -52
  271. package/src/module/third-party-module/repository/third-party-api-registry.repository.ts +20 -20
  272. package/src/module/third-party-module/service/api-registry.service.ts +13 -13
  273. package/src/module/third-party-module/third-party.module.ts +12 -12
  274. package/src/module/user/controller/login.controller.ts +197 -197
  275. package/src/module/user/controller/user.controller.ts +40 -40
  276. package/src/module/user/dto/create-user.dto.ts +62 -62
  277. package/src/module/user/dto/update-user.dto.ts +4 -4
  278. package/src/module/user/entity/role.entity.ts +33 -33
  279. package/src/module/user/entity/user-role-mapping.entity.ts +38 -38
  280. package/src/module/user/entity/user-session.entity.ts +73 -73
  281. package/src/module/user/entity/user.entity.ts +59 -59
  282. package/src/module/user/repository/role.repository.ts +96 -96
  283. package/src/module/user/repository/user-role-mapping.repository.ts +126 -126
  284. package/src/module/user/repository/user.repository.ts +50 -50
  285. package/src/module/user/repository/userSession.repository.ts +33 -33
  286. package/src/module/user/service/login.service.ts +284 -284
  287. package/src/module/user/service/role.service.ts +189 -189
  288. package/src/module/user/service/user-role-mapping.service.ts +98 -98
  289. package/src/module/user/service/user-session.service.ts +168 -168
  290. package/src/module/user/service/user.service.ts +365 -365
  291. package/src/module/user/user.module.ts +65 -65
  292. package/src/module/workflow/controller/action-category.controller.ts +54 -54
  293. package/src/module/workflow/controller/action-resource-mapping.controller.ts +23 -23
  294. package/src/module/workflow/controller/action-template-mapping.controller.ts +35 -35
  295. package/src/module/workflow/controller/action.controller.ts +111 -111
  296. package/src/module/workflow/controller/activity-log.controller.ts +55 -55
  297. package/src/module/workflow/controller/comm-template.controller.ts +43 -43
  298. package/src/module/workflow/controller/entity-modification.controller.ts +35 -35
  299. package/src/module/workflow/controller/form-master.controller.ts +43 -43
  300. package/src/module/workflow/controller/stage-group.controller.ts +48 -48
  301. package/src/module/workflow/controller/stage.controller.ts +50 -50
  302. package/src/module/workflow/controller/task.controller.ts +77 -77
  303. package/src/module/workflow/controller/workflow-list-master.controller.ts +44 -44
  304. package/src/module/workflow/controller/workflow-meta.controller.ts +80 -80
  305. package/src/module/workflow/controller/workflow.controller.ts +67 -67
  306. package/src/module/workflow/entity/action-category.entity.ts +38 -38
  307. package/src/module/workflow/entity/action-data.entity.ts +55 -55
  308. package/src/module/workflow/entity/action-resources-mapping.entity.ts +29 -29
  309. package/src/module/workflow/entity/action-template-mapping.entity.ts +17 -17
  310. package/src/module/workflow/entity/action.entity.ts +50 -50
  311. package/src/module/workflow/entity/activity-log.entity.ts +43 -43
  312. package/src/module/workflow/entity/comm-template.entity.ts +43 -43
  313. package/src/module/workflow/entity/entity-modification.entity.ts +38 -38
  314. package/src/module/workflow/entity/form.entity.ts +25 -25
  315. package/src/module/workflow/entity/stage-action-mapping.entity.ts +17 -17
  316. package/src/module/workflow/entity/stage-group.entity.ts +23 -23
  317. package/src/module/workflow/entity/stage-movement-data.entity.ts +38 -38
  318. package/src/module/workflow/entity/stage.entity.ts +20 -20
  319. package/src/module/workflow/entity/task-data.entity.ts +88 -88
  320. package/src/module/workflow/entity/template-attach-mapper.entity.ts +30 -30
  321. package/src/module/workflow/entity/workflow-data.entity.ts +11 -11
  322. package/src/module/workflow/entity/workflow-level-mapping.entity.ts +18 -18
  323. package/src/module/workflow/entity/workflow.entity.ts +20 -20
  324. package/src/module/workflow/repository/action-category.repository.ts +79 -79
  325. package/src/module/workflow/repository/action-data.repository.ts +333 -333
  326. package/src/module/workflow/repository/action.repository.ts +323 -323
  327. package/src/module/workflow/repository/activity-log.repository.ts +148 -148
  328. package/src/module/workflow/repository/comm-template.repository.ts +149 -149
  329. package/src/module/workflow/repository/form-master.repository.ts +59 -59
  330. package/src/module/workflow/repository/stage-group.repository.ts +176 -176
  331. package/src/module/workflow/repository/stage-movement.repository.ts +244 -244
  332. package/src/module/workflow/repository/stage.repository.ts +172 -172
  333. package/src/module/workflow/repository/task.repository.ts +127 -127
  334. package/src/module/workflow/repository/workflow.repository.ts +42 -42
  335. package/src/module/workflow/service/action-category.service.ts +33 -33
  336. package/src/module/workflow/service/action-data.service.ts +62 -62
  337. package/src/module/workflow/service/action-resources-mapping.service.ts +10 -10
  338. package/src/module/workflow/service/action-template-mapping.service.ts +106 -106
  339. package/src/module/workflow/service/action.service.ts +279 -279
  340. package/src/module/workflow/service/activity-log.service.ts +107 -107
  341. package/src/module/workflow/service/comm-template.service.ts +180 -180
  342. package/src/module/workflow/service/entity-modification.service.ts +67 -67
  343. package/src/module/workflow/service/form-master.service.ts +35 -35
  344. package/src/module/workflow/service/populate-workflow.service.ts +303 -303
  345. package/src/module/workflow/service/stage-action-mapping.service.ts +5 -5
  346. package/src/module/workflow/service/stage-group.service.ts +319 -319
  347. package/src/module/workflow/service/stage.service.ts +199 -199
  348. package/src/module/workflow/service/task.service.ts +560 -560
  349. package/src/module/workflow/service/workflow-list-master.service.ts +60 -60
  350. package/src/module/workflow/service/workflow-meta.service.ts +640 -640
  351. package/src/module/workflow/service/workflow.service.ts +205 -205
  352. package/src/module/workflow/workflow.module.ts +176 -176
  353. package/src/module/workflow-automation/controller/workflow-automation.controller.ts +21 -21
  354. package/src/module/workflow-automation/entity/workflow-automation-action.entity.ts +26 -26
  355. package/src/module/workflow-automation/entity/workflow-automation.entity.ts +35 -35
  356. package/src/module/workflow-automation/interface/action.decorator.ts +7 -7
  357. package/src/module/workflow-automation/interface/action.interface.ts +5 -5
  358. package/src/module/workflow-automation/service/action-registery.service.ts +35 -35
  359. package/src/module/workflow-automation/service/workflow-automation-engine.service.ts +214 -214
  360. package/src/module/workflow-automation/service/workflow-automation.service.ts +347 -347
  361. package/src/module/workflow-automation/workflow-automation.module.ts +34 -34
  362. package/src/resources/dev.properties.yaml +30 -30
  363. package/src/resources/local.properties.yaml +27 -27
  364. package/src/resources/properties.module.ts +12 -12
  365. package/src/resources/properties.yaml.ts +11 -11
  366. package/src/resources/uat.properties.yaml +31 -31
  367. package/src/table.config.ts +126 -126
  368. package/src/utils/dto/excel-data.dto.ts +14 -14
  369. package/src/utils/dto/excelsheet-data.dto.ts +5 -5
  370. package/src/utils/service/base64util.service.ts +18 -18
  371. package/src/utils/service/clockIDGenUtil.service.ts +21 -21
  372. package/src/utils/service/codeGenerator.service.ts +22 -22
  373. package/src/utils/service/dateUtil.service.ts +17 -17
  374. package/src/utils/service/encryptUtil.service.ts +97 -97
  375. package/src/utils/service/excel-helper.service.ts +72 -72
  376. package/src/utils/service/excelUtil.service.ts +15 -15
  377. package/src/utils/service/file-util.service.ts +11 -11
  378. package/src/utils/service/json-util.service.ts +23 -23
  379. package/src/utils/service/loggingUtil.service.ts +34 -34
  380. package/src/utils/service/reflection-helper.service.ts +62 -62
  381. package/src/utils/service/wbsCodeGen.service.ts +8 -8
  382. package/src/utils/utils.module.ts +25 -25
  383. package/tsconfig.build.json +4 -4
  384. package/tsconfig.json +24 -24
@@ -1,49 +1,49 @@
1
- import { Module } from '@nestjs/common';
2
- import { ConfigModule, ConfigService } from '@nestjs/config';
3
- import { JwtModule } from '@nestjs/jwt';
4
- import { TypeOrmModule } from '@nestjs/typeorm';
5
- import { JwtStrategy } from './strategies/jwt.strategy';
6
- import { JwtAuthService } from './services/jwt.service';
7
- import { JwtAuthGuard } from './guards/jwt.guard';
8
- import { secretKey } from '../../constant/global.constant';
9
- import { PassportModule } from '@nestjs/passport';
10
- import { UserSession } from '../user/entity/user-session.entity';
11
- import { GoogleStrategy } from './strategies/google.strategy';
12
- import { RolesGuard } from './guards/role.guard';
13
- import { AuthService } from './services/auth.service';
14
- import { AuthController } from './controller/auth.controller';
15
- import { UserModule } from '../user/user.module';
16
-
17
- @Module({
18
- imports: [
19
- ConfigModule, // ✅ Ensure ConfigModule is imported
20
- PassportModule.register({ defaultStrategy: 'jwt' }),
21
- JwtModule.registerAsync({
22
- imports: [ConfigModule],
23
- inject: [ConfigService],
24
- useFactory: async (configService: ConfigService) => {
25
- const expiryInHours = parseFloat(
26
- configService.get('TOKEN_EXPIRY') || '1',
27
- );
28
- const expiryInSeconds = expiryInHours * 60 * 60;
29
-
30
- return {
31
- secret: configService.get('SECRET_KEY'),
32
- signOptions: { expiresIn: expiryInSeconds },
33
- };
34
- },
35
- }),
36
- TypeOrmModule.forFeature([UserSession]),
37
- ],
38
- controllers: [AuthController],
39
- providers: [
40
- JwtAuthService,
41
- JwtStrategy,
42
- JwtAuthGuard,
43
- GoogleStrategy,
44
- RolesGuard,
45
- AuthService,
46
- ],
47
- exports: [JwtAuthService, JwtAuthGuard, RolesGuard, AuthService],
48
- })
49
- export class AuthModule {}
1
+ import { Module } from '@nestjs/common';
2
+ import { ConfigModule, ConfigService } from '@nestjs/config';
3
+ import { JwtModule } from '@nestjs/jwt';
4
+ import { TypeOrmModule } from '@nestjs/typeorm';
5
+ import { JwtStrategy } from './strategies/jwt.strategy';
6
+ import { JwtAuthService } from './services/jwt.service';
7
+ import { JwtAuthGuard } from './guards/jwt.guard';
8
+ import { secretKey } from '../../constant/global.constant';
9
+ import { PassportModule } from '@nestjs/passport';
10
+ import { UserSession } from '../user/entity/user-session.entity';
11
+ import { GoogleStrategy } from './strategies/google.strategy';
12
+ import { RolesGuard } from './guards/role.guard';
13
+ import { AuthService } from './services/auth.service';
14
+ import { AuthController } from './controller/auth.controller';
15
+ import { UserModule } from '../user/user.module';
16
+
17
+ @Module({
18
+ imports: [
19
+ ConfigModule, // ✅ Ensure ConfigModule is imported
20
+ PassportModule.register({ defaultStrategy: 'jwt' }),
21
+ JwtModule.registerAsync({
22
+ imports: [ConfigModule],
23
+ inject: [ConfigService],
24
+ useFactory: async (configService: ConfigService) => {
25
+ const expiryInHours = parseFloat(
26
+ configService.get('TOKEN_EXPIRY') || '1',
27
+ );
28
+ const expiryInSeconds = expiryInHours * 60 * 60;
29
+
30
+ return {
31
+ secret: configService.get('SECRET_KEY'),
32
+ signOptions: { expiresIn: expiryInSeconds },
33
+ };
34
+ },
35
+ }),
36
+ TypeOrmModule.forFeature([UserSession]),
37
+ ],
38
+ controllers: [AuthController],
39
+ providers: [
40
+ JwtAuthService,
41
+ JwtStrategy,
42
+ JwtAuthGuard,
43
+ GoogleStrategy,
44
+ RolesGuard,
45
+ AuthService,
46
+ ],
47
+ exports: [JwtAuthService, JwtAuthGuard, RolesGuard, AuthService],
48
+ })
49
+ export class AuthModule {}
@@ -1,28 +1,28 @@
1
- import { Body, Controller, Post, Req, UseGuards } from '@nestjs/common';
2
- import { JwtAuthGuard } from 'src/module/auth/guards/jwt.guard';
3
- import { AuthService } from '../services/auth.service';
4
- import { UAParser } from 'ua-parser-js';
5
-
6
- @Controller('auth')
7
- export class AuthController {
8
- constructor(private readonly authService: AuthService) {}
9
-
10
- // @Post('fcmtoken')
11
- // @UseGuards(JwtAuthGuard)
12
- // async getDashboard(@Req() req: any, @Body('fcmtoken') fcmtoken: string) {
13
- // const loggedInUser = req.user.userData;
14
-
15
- // const ip =
16
- // (req.headers['x-forwarded-for'] as string)?.split(',')[0].trim() ||
17
- // req.socket.remoteAddress ||
18
- // req.ip ||
19
- // '';
20
-
21
- // const userAgent = req.headers['user-agent'] || '';
22
- // const parser = new UAParser(userAgent);
23
- // const browser = parser.getBrowser().name || 'Unknown';
24
- // const os = parser.getOS().name || 'Unknown';
25
-
26
- // return this.authService.fcmtoken(fcmtoken, loggedInUser, ip, browser, os);
27
- // }
28
- }
1
+ import { Body, Controller, Post, Req, UseGuards } from '@nestjs/common';
2
+ import { JwtAuthGuard } from 'src/module/auth/guards/jwt.guard';
3
+ import { AuthService } from '../services/auth.service';
4
+ import { UAParser } from 'ua-parser-js';
5
+
6
+ @Controller('auth')
7
+ export class AuthController {
8
+ constructor(private readonly authService: AuthService) {}
9
+
10
+ // @Post('fcmtoken')
11
+ // @UseGuards(JwtAuthGuard)
12
+ // async getDashboard(@Req() req: any, @Body('fcmtoken') fcmtoken: string) {
13
+ // const loggedInUser = req.user.userData;
14
+
15
+ // const ip =
16
+ // (req.headers['x-forwarded-for'] as string)?.split(',')[0].trim() ||
17
+ // req.socket.remoteAddress ||
18
+ // req.ip ||
19
+ // '';
20
+
21
+ // const userAgent = req.headers['user-agent'] || '';
22
+ // const parser = new UAParser(userAgent);
23
+ // const browser = parser.getBrowser().name || 'Unknown';
24
+ // const os = parser.getOS().name || 'Unknown';
25
+
26
+ // return this.authService.fcmtoken(fcmtoken, loggedInUser, ip, browser, os);
27
+ // }
28
+ }
@@ -1,9 +1,9 @@
1
- import { ExecutionContext, Injectable } from '@nestjs/common';
2
- import { AuthGuard } from '@nestjs/passport';
3
-
4
- @Injectable()
5
- export class GoogleAuthGuard extends AuthGuard('google') {
6
- canActivate(context: ExecutionContext) {
7
- return super.canActivate(context);
8
- }
9
- }
1
+ import { ExecutionContext, Injectable } from '@nestjs/common';
2
+ import { AuthGuard } from '@nestjs/passport';
3
+
4
+ @Injectable()
5
+ export class GoogleAuthGuard extends AuthGuard('google') {
6
+ canActivate(context: ExecutionContext) {
7
+ return super.canActivate(context);
8
+ }
9
+ }
@@ -1,22 +1,22 @@
1
- import { ExecutionContext, Injectable } from '@nestjs/common';
2
- import { AuthGuard } from '@nestjs/passport';
3
- import { Reflector } from '@nestjs/core';
4
- import { Observable } from 'rxjs';
5
-
6
- @Injectable()
7
- export class JwtAuthGuard extends AuthGuard('jwt') {
8
- constructor(private reflector: Reflector) {
9
- super();
10
- }
11
-
12
- canActivate(
13
- context: ExecutionContext,
14
- ): Promise<boolean> | boolean | Observable<boolean> {
15
- const isPublic = this.reflector.getAllAndOverride('isPublic', [
16
- context.getHandler(),
17
- context.getClass(),
18
- ]);
19
- if (isPublic) return true;
20
- return super.canActivate(context);
21
- }
22
- }
1
+ import { ExecutionContext, Injectable } from '@nestjs/common';
2
+ import { AuthGuard } from '@nestjs/passport';
3
+ import { Reflector } from '@nestjs/core';
4
+ import { Observable } from 'rxjs';
5
+
6
+ @Injectable()
7
+ export class JwtAuthGuard extends AuthGuard('jwt') {
8
+ constructor(private reflector: Reflector) {
9
+ super();
10
+ }
11
+
12
+ canActivate(
13
+ context: ExecutionContext,
14
+ ): Promise<boolean> | boolean | Observable<boolean> {
15
+ const isPublic = this.reflector.getAllAndOverride('isPublic', [
16
+ context.getHandler(),
17
+ context.getClass(),
18
+ ]);
19
+ if (isPublic) return true;
20
+ return super.canActivate(context);
21
+ }
22
+ }
@@ -1,68 +1,68 @@
1
- import {
2
- CanActivate,
3
- ExecutionContext,
4
- ForbiddenException,
5
- Injectable,
6
- UnauthorizedException,
7
- } from '@nestjs/common';
8
- import { Reflector } from '@nestjs/core';
9
- import { UserData } from '../../user/entity/user.entity';
10
- import { InjectEntityManager } from '@nestjs/typeorm';
11
- import { EntityManager } from 'typeorm';
12
-
13
- @Injectable()
14
- export class RolesGuard implements CanActivate {
15
- constructor(
16
- private reflector: Reflector,
17
- @InjectEntityManager() private entityManager: EntityManager,
18
- ) {}
19
-
20
- async canActivate(context: ExecutionContext) {
21
- const request = context
22
- .switchToHttp()
23
- .getRequest<Request & { user: any }>();
24
- const object = request.user;
25
-
26
- const users: UserData = await this.entityManager.query(
27
- `SELECT * FROM sso_user WHERE id = ${object.userId} LIMIT 1`,
28
- );
29
-
30
- const user = users[0];
31
- if (!user || !user['role_id']) {
32
- throw new UnauthorizedException('User not authorized');
33
- }
34
-
35
- const requiredModule = this.reflector.get<string>(
36
- 'moduleCode',
37
- context.getHandler(),
38
- );
39
- const requiredActions = this.reflector.get<string>(
40
- 'actions',
41
- context.getHandler(),
42
- );
43
-
44
- const roleAccess = await this.entityManager.query(
45
- `SELECT *
46
- FROM sso_module_access
47
- WHERE role_id = ${user['role_id']}
48
- AND module_code = '${requiredModule}'`,
49
- );
50
-
51
- if (!roleAccess || roleAccess.length === 0) {
52
- throw new ForbiddenException(
53
- 'Access denied: No permissions found for this module',
54
- );
55
- }
56
-
57
- const hasAccess = roleAccess.some(
58
- (access) =>
59
- requiredActions.includes(access.action_type) &&
60
- access.access_flag === 1,
61
- );
62
-
63
- if (!hasAccess) {
64
- throw new ForbiddenException('Access denied: Insufficient permissions.');
65
- }
66
- return true;
67
- }
68
- }
1
+ import {
2
+ CanActivate,
3
+ ExecutionContext,
4
+ ForbiddenException,
5
+ Injectable,
6
+ UnauthorizedException,
7
+ } from '@nestjs/common';
8
+ import { Reflector } from '@nestjs/core';
9
+ import { UserData } from '../../user/entity/user.entity';
10
+ import { InjectEntityManager } from '@nestjs/typeorm';
11
+ import { EntityManager } from 'typeorm';
12
+
13
+ @Injectable()
14
+ export class RolesGuard implements CanActivate {
15
+ constructor(
16
+ private reflector: Reflector,
17
+ @InjectEntityManager() private entityManager: EntityManager,
18
+ ) {}
19
+
20
+ async canActivate(context: ExecutionContext) {
21
+ const request = context
22
+ .switchToHttp()
23
+ .getRequest<Request & { user: any }>();
24
+ const object = request.user;
25
+
26
+ const users: UserData = await this.entityManager.query(
27
+ `SELECT * FROM sso_user WHERE id = ${object.userId} LIMIT 1`,
28
+ );
29
+
30
+ const user = users[0];
31
+ if (!user || !user['role_id']) {
32
+ throw new UnauthorizedException('User not authorized');
33
+ }
34
+
35
+ const requiredModule = this.reflector.get<string>(
36
+ 'moduleCode',
37
+ context.getHandler(),
38
+ );
39
+ const requiredActions = this.reflector.get<string>(
40
+ 'actions',
41
+ context.getHandler(),
42
+ );
43
+
44
+ const roleAccess = await this.entityManager.query(
45
+ `SELECT *
46
+ FROM sso_module_access
47
+ WHERE role_id = ${user['role_id']}
48
+ AND module_code = '${requiredModule}'`,
49
+ );
50
+
51
+ if (!roleAccess || roleAccess.length === 0) {
52
+ throw new ForbiddenException(
53
+ 'Access denied: No permissions found for this module',
54
+ );
55
+ }
56
+
57
+ const hasAccess = roleAccess.some(
58
+ (access) =>
59
+ requiredActions.includes(access.action_type) &&
60
+ access.access_flag === 1,
61
+ );
62
+
63
+ if (!hasAccess) {
64
+ throw new ForbiddenException('Access denied: Insufficient permissions.');
65
+ }
66
+ return true;
67
+ }
68
+ }
@@ -1,50 +1,50 @@
1
- import { BadRequestException, Inject, Injectable } from '@nestjs/common';
2
- import { UserService } from '../../user/service/user.service';
3
- import { JwtService } from '@nestjs/jwt';
4
- import { UserData } from '../../user/entity/user.entity';
5
- import { DataSource } from 'typeorm';
6
-
7
- @Injectable()
8
- export class AuthService {
9
- constructor(
10
- private jwtService: JwtService,
11
- private dataSource: DataSource,
12
- ) {}
13
-
14
- // async validateUser(email: string, password: string): Promise<UserData> {
15
- // const user = await this.userService.findByEmailId(email);
16
- // if (!user) {
17
- // throw new BadRequestException('User not found');
18
- // }
19
- // const isMatch: boolean = password === user.password;
20
- // if (!isMatch) {
21
- // throw new BadRequestException('Password does not match');
22
- // }
23
- // return user;
24
- // }
25
-
26
- async login(user: UserData) {
27
- const payload = { email: user.email_id, id: user.id };
28
- return { access_token: this.jwtService.sign(payload) };
29
- }
30
-
31
- async fcmtoken(
32
- fcmtoken: string,
33
- loggedInUser: any,
34
- ip: string,
35
- browser: string,
36
- os: string,
37
- ) {
38
- const { id: userId, sessionToken } = loggedInUser;
39
-
40
- // Update the sso_user table
41
- await this.dataSource.query(
42
- `UPDATE sso_user_session
43
- SET fcm_token = ?, ip = ?, browser = ?, os = ?
44
- WHERE session_key = ? AND user_id = ? `,
45
- [fcmtoken, ip, browser, os, sessionToken, userId],
46
- );
47
-
48
- return { message: 'FCM token updated successfully' };
49
- }
50
- }
1
+ import { BadRequestException, Inject, Injectable } from '@nestjs/common';
2
+ import { UserService } from '../../user/service/user.service';
3
+ import { JwtService } from '@nestjs/jwt';
4
+ import { UserData } from '../../user/entity/user.entity';
5
+ import { DataSource } from 'typeorm';
6
+
7
+ @Injectable()
8
+ export class AuthService {
9
+ constructor(
10
+ private jwtService: JwtService,
11
+ private dataSource: DataSource,
12
+ ) {}
13
+
14
+ // async validateUser(email: string, password: string): Promise<UserData> {
15
+ // const user = await this.userService.findByEmailId(email);
16
+ // if (!user) {
17
+ // throw new BadRequestException('User not found');
18
+ // }
19
+ // const isMatch: boolean = password === user.password;
20
+ // if (!isMatch) {
21
+ // throw new BadRequestException('Password does not match');
22
+ // }
23
+ // return user;
24
+ // }
25
+
26
+ async login(user: UserData) {
27
+ const payload = { email: user.email_id, id: user.id };
28
+ return { access_token: this.jwtService.sign(payload) };
29
+ }
30
+
31
+ async fcmtoken(
32
+ fcmtoken: string,
33
+ loggedInUser: any,
34
+ ip: string,
35
+ browser: string,
36
+ os: string,
37
+ ) {
38
+ const { id: userId, sessionToken } = loggedInUser;
39
+
40
+ // Update the sso_user table
41
+ await this.dataSource.query(
42
+ `UPDATE sso_user_session
43
+ SET fcm_token = ?, ip = ?, browser = ?, os = ?
44
+ WHERE session_key = ? AND user_id = ? `,
45
+ [fcmtoken, ip, browser, os, sessionToken, userId],
46
+ );
47
+
48
+ return { message: 'FCM token updated successfully' };
49
+ }
50
+ }
@@ -1,11 +1,11 @@
1
- import { Injectable } from '@nestjs/common';
2
- import { JwtService } from '@nestjs/jwt';
3
-
4
- @Injectable()
5
- export class JwtAuthService {
6
- constructor(private readonly jwtService: JwtService) {}
7
-
8
- generateJwt(payload: any): string {
9
- return this.jwtService.sign(payload);
10
- }
11
- }
1
+ import { Injectable } from '@nestjs/common';
2
+ import { JwtService } from '@nestjs/jwt';
3
+
4
+ @Injectable()
5
+ export class JwtAuthService {
6
+ constructor(private readonly jwtService: JwtService) {}
7
+
8
+ generateJwt(payload: any): string {
9
+ return this.jwtService.sign(payload);
10
+ }
11
+ }
@@ -1,54 +1,54 @@
1
- import { Injectable } from '@nestjs/common';
2
- import { PassportStrategy } from '@nestjs/passport';
3
- import { Strategy, VerifyCallback } from 'passport-google-oauth20';
4
- import { ConfigService } from '@nestjs/config';
5
-
6
- @Injectable()
7
- export class GoogleStrategy extends PassportStrategy(Strategy, 'google') {
8
- constructor(private configService: ConfigService) {
9
- super({
10
- clientID: configService.get<string>('CLIENT_ID')!,
11
- clientSecret: configService.get<string>('CLIENT_SECRET')!,
12
- callbackURL: configService.get<string>('CALLBACK_URL')!,
13
- scope: [
14
- 'openid',
15
- 'email',
16
- 'profile',
17
- ],
18
- accessType: 'offline', // good: gets refresh_token on first consent
19
- includeGrantedScopes: true, // optional, keeps prior grants
20
- // ⛔️ don't rely on 'prompt' here; add via authorizationParams()
21
- });
22
- }
23
-
24
- // ✅ Guarantees account chooser every time
25
- authorizationParams(): Record<string, string> {
26
- return {
27
- prompt: 'select_account', // or 'consent select_account' if you want re-consent too
28
- // login_hint: 'user@domain.com', // optional
29
- // hd: 'your-domain.com', // optional: restrict to a Google Workspace domain
30
- };
31
- }
32
-
33
- async validate(
34
- accessToken: string,
35
- refreshToken: string,
36
- profile: any,
37
- done: VerifyCallback,
38
- ) {
39
- const email = profile.emails?.[0]?.value ?? null;
40
- const name = {
41
- givenName: profile.name?.givenName ?? '',
42
- familyName: profile.name?.familyName ?? '',
43
- displayName: profile.displayName ?? '',
44
- };
45
-
46
- return done(null, {
47
- email,
48
- name,
49
- accessToken,
50
- refreshToken,
51
- provider: 'google',
52
- });
53
- }
54
- }
1
+ import { Injectable } from '@nestjs/common';
2
+ import { PassportStrategy } from '@nestjs/passport';
3
+ import { Strategy, VerifyCallback } from 'passport-google-oauth20';
4
+ import { ConfigService } from '@nestjs/config';
5
+
6
+ @Injectable()
7
+ export class GoogleStrategy extends PassportStrategy(Strategy, 'google') {
8
+ constructor(private configService: ConfigService) {
9
+ super({
10
+ clientID: configService.get<string>('CLIENT_ID')!,
11
+ clientSecret: configService.get<string>('CLIENT_SECRET')!,
12
+ callbackURL: configService.get<string>('CALLBACK_URL')!,
13
+ scope: [
14
+ 'openid',
15
+ 'email',
16
+ 'profile',
17
+ ],
18
+ accessType: 'offline', // good: gets refresh_token on first consent
19
+ includeGrantedScopes: true, // optional, keeps prior grants
20
+ // ⛔️ don't rely on 'prompt' here; add via authorizationParams()
21
+ });
22
+ }
23
+
24
+ // ✅ Guarantees account chooser every time
25
+ authorizationParams(): Record<string, string> {
26
+ return {
27
+ prompt: 'select_account', // or 'consent select_account' if you want re-consent too
28
+ // login_hint: 'user@domain.com', // optional
29
+ // hd: 'your-domain.com', // optional: restrict to a Google Workspace domain
30
+ };
31
+ }
32
+
33
+ async validate(
34
+ accessToken: string,
35
+ refreshToken: string,
36
+ profile: any,
37
+ done: VerifyCallback,
38
+ ) {
39
+ const email = profile.emails?.[0]?.value ?? null;
40
+ const name = {
41
+ givenName: profile.name?.givenName ?? '',
42
+ familyName: profile.name?.familyName ?? '',
43
+ displayName: profile.displayName ?? '',
44
+ };
45
+
46
+ return done(null, {
47
+ email,
48
+ name,
49
+ accessToken,
50
+ refreshToken,
51
+ provider: 'google',
52
+ });
53
+ }
54
+ }