From 08992089f77c14e876260a022885a5c960f2d055 Mon Sep 17 00:00:00 2001 From: Joel Jacob Stephen <70131076+JoelJacobStephen@users.noreply.github.com> Date: Fri, 23 Feb 2024 12:15:25 +0530 Subject: [PATCH] feat: new implementation for rest routes that check setup status --- .../hoppscotch-sh-admin/src/helpers/auth.ts | 28 +++++++++++++++++++ .../src/helpers/backend/rest/authQuery.ts | 2 ++ 2 files changed, 30 insertions(+) diff --git a/packages/hoppscotch-sh-admin/src/helpers/auth.ts b/packages/hoppscotch-sh-admin/src/helpers/auth.ts index 64251a49b..e9ce45c24 100644 --- a/packages/hoppscotch-sh-admin/src/helpers/auth.ts +++ b/packages/hoppscotch-sh-admin/src/helpers/auth.ts @@ -154,6 +154,14 @@ export const auth = { getCurrentUserStream: () => currentUser$, getAuthEventsStream: () => authEvents$, getCurrentUser: () => currentUser$.value, + checkCurrentUser: async () => { + try { + const res = await authQuery.getUserDetails(); + return res.data.data.me; + } catch (err) { + return null; + } + }, performAuthInit: () => { const currentUser = JSON.parse(getLocalConfig('login_state') ?? 'null'); @@ -232,4 +240,24 @@ export const auth = { const res = await authQuery.getProviders(); return res.data?.providers; }, + + getFirstTimeInfraSetupStatus: async (): Promise => { + try { + const res = await authQuery.getFirstTimeInfraSetupStatus(); + return res.data?.value; + } catch (err) { + // Setup is not done + return true; + } + }, + + updateFirstTimeInfraSetupStatus: async () => { + try { + await authQuery.updateFirstTimeInfraSetupStatus(); + return true; + } catch (err) { + console.error(err); + return false; + } + }, }; diff --git a/packages/hoppscotch-sh-admin/src/helpers/backend/rest/authQuery.ts b/packages/hoppscotch-sh-admin/src/helpers/backend/rest/authQuery.ts index d6fc35a94..5ab3023b8 100644 --- a/packages/hoppscotch-sh-admin/src/helpers/backend/rest/authQuery.ts +++ b/packages/hoppscotch-sh-admin/src/helpers/backend/rest/authQuery.ts @@ -29,5 +29,7 @@ export default { token, deviceIdentifier, }), + getFirstTimeInfraSetupStatus: () => restApi.get('/site/setup'), + updateFirstTimeInfraSetupStatus: () => restApi.put('/site/setup'), logout: () => restApi.get('/auth/logout'), };