mirror of
https://github.com/chillpadclub/bedolaga-cabinet.git
synced 2026-07-28 09:33:46 +00:00
Merge pull request #2 from PEDZEO/PEDZ
Refactor authentication flow to check admin status before updating lo…
This commit is contained in:
@@ -145,6 +145,8 @@ export const useAuthStore = create<AuthState>()(
|
|||||||
const newToken = await tokenRefreshManager.refreshAccessToken()
|
const newToken = await tokenRefreshManager.refreshAccessToken()
|
||||||
if (newToken) {
|
if (newToken) {
|
||||||
const user = await authApi.getMe()
|
const user = await authApi.getMe()
|
||||||
|
// Сначала проверяем admin статус, потом снимаем isLoading
|
||||||
|
await get().checkAdminStatus()
|
||||||
set({
|
set({
|
||||||
accessToken: newToken,
|
accessToken: newToken,
|
||||||
refreshToken,
|
refreshToken,
|
||||||
@@ -152,7 +154,6 @@ export const useAuthStore = create<AuthState>()(
|
|||||||
isAuthenticated: true,
|
isAuthenticated: true,
|
||||||
isLoading: false,
|
isLoading: false,
|
||||||
})
|
})
|
||||||
get().checkAdminStatus()
|
|
||||||
} else {
|
} else {
|
||||||
tokenStorage.clearTokens()
|
tokenStorage.clearTokens()
|
||||||
set({
|
set({
|
||||||
@@ -168,6 +169,8 @@ export const useAuthStore = create<AuthState>()(
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
const user = await authApi.getMe()
|
const user = await authApi.getMe()
|
||||||
|
// Сначала проверяем admin статус, потом снимаем isLoading
|
||||||
|
await get().checkAdminStatus()
|
||||||
set({
|
set({
|
||||||
accessToken,
|
accessToken,
|
||||||
refreshToken,
|
refreshToken,
|
||||||
@@ -175,13 +178,14 @@ export const useAuthStore = create<AuthState>()(
|
|||||||
isAuthenticated: true,
|
isAuthenticated: true,
|
||||||
isLoading: false,
|
isLoading: false,
|
||||||
})
|
})
|
||||||
get().checkAdminStatus()
|
|
||||||
} catch {
|
} catch {
|
||||||
// Token might be invalid on server, try to refresh
|
// Token might be invalid on server, try to refresh
|
||||||
const newToken = await tokenRefreshManager.refreshAccessToken()
|
const newToken = await tokenRefreshManager.refreshAccessToken()
|
||||||
if (newToken) {
|
if (newToken) {
|
||||||
try {
|
try {
|
||||||
const user = await authApi.getMe()
|
const user = await authApi.getMe()
|
||||||
|
// Сначала проверяем admin статус, потом снимаем isLoading
|
||||||
|
await get().checkAdminStatus()
|
||||||
set({
|
set({
|
||||||
accessToken: newToken,
|
accessToken: newToken,
|
||||||
refreshToken,
|
refreshToken,
|
||||||
@@ -189,7 +193,6 @@ export const useAuthStore = create<AuthState>()(
|
|||||||
isAuthenticated: true,
|
isAuthenticated: true,
|
||||||
isLoading: false,
|
isLoading: false,
|
||||||
})
|
})
|
||||||
get().checkAdminStatus()
|
|
||||||
} catch {
|
} catch {
|
||||||
tokenStorage.clearTokens()
|
tokenStorage.clearTokens()
|
||||||
set({
|
set({
|
||||||
|
|||||||
Reference in New Issue
Block a user