From 5f3855f9ea99a7cbd865377ccd4a4933494af051 Mon Sep 17 00:00:00 2001 From: Amjith Titus Date: Wed, 5 Feb 2025 17:54:17 +0530 Subject: [PATCH] Logout API --- src/Providers/AuthUserProvider.tsx | 17 ++++++++++++++++- src/Utils/request/api.tsx | 6 ++++++ 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/src/Providers/AuthUserProvider.tsx b/src/Providers/AuthUserProvider.tsx index 7b94ba73e4a..a0e9aefeac2 100644 --- a/src/Providers/AuthUserProvider.tsx +++ b/src/Providers/AuthUserProvider.tsx @@ -9,7 +9,8 @@ import { AuthUserContext } from "@/hooks/useAuthUser"; import { LocalStorageKeys } from "@/common/constants"; -import routes from "@/Utils/request/api"; +import routes, { Type } from "@/Utils/request/api"; +import mutate from "@/Utils/request/mutate"; import query from "@/Utils/request/query"; import request from "@/Utils/request/request"; import { TokenData } from "@/types/auth/otpToken"; @@ -85,6 +86,20 @@ export default function AuthUserProvider({ }; const signOut = useCallback(async () => { + const accessToken = localStorage.getItem(LocalStorageKeys.accessToken); + const refreshToken = localStorage.getItem(LocalStorageKeys.refreshToken); + + if (accessToken && refreshToken) { + try { + await mutate({ + ...routes.logout, + TRes: Type>(), + })({ access: accessToken, refresh: refreshToken }); + } catch (error) { + console.error("Error during logout:", error); + } + } + localStorage.removeItem(LocalStorageKeys.accessToken); localStorage.removeItem(LocalStorageKeys.refreshToken); localStorage.removeItem(LocalStorageKeys.patientTokenKey); diff --git a/src/Utils/request/api.tsx b/src/Utils/request/api.tsx index c6edaeb3fb6..9066aab0e1f 100644 --- a/src/Utils/request/api.tsx +++ b/src/Utils/request/api.tsx @@ -103,6 +103,12 @@ const routes = { TBody: Type(), }, + logout: { + path: "/api/v1/auth/logout/", + method: "POST", + TBody: Type(), + }, + token_refresh: { path: "/api/v1/auth/token/refresh/", method: "POST",