Improving user management and auto-refreshing user firms

This commit is contained in:
2025-04-10 01:31:37 +02:00
parent bc059de65b
commit f1fe81a146
13 changed files with 131 additions and 67 deletions

View File

@@ -1,4 +1,6 @@
import isEmpty from 'lodash/isEmpty';
import { AuthProvider } from "@refinedev/core";
import {IUser} from "../interfaces";
const API_URL = "/api/v1";
const LOCAL_STORAGE_USER_KEY = "rpk-gui-current-user";
@@ -55,17 +57,24 @@ export const authProvider: AuthProvider = {
return { success: false };
},
check: async () => {
return { authenticated: Boolean(get_user()) };
if (get_user() == null) {
return {
authenticated: false,
redirectTo: "/login",
logout: true
}
}
return { authenticated: true };
},
getIdentity: async () => {
getIdentity: async (): Promise<IUser> => {
const user = get_user();
if (user != null) {
if (user !== null && !isEmpty(user)) {
return user;
}
const response = await fetch(`${API_URL}/users/me`);
if (response.status < 200 || response.status > 299) {
return
return null;
}
const user_data = await response.json();
store_user(user_data)
@@ -163,6 +172,10 @@ function forget_user() {
localStorage.removeItem(LOCAL_STORAGE_USER_KEY);
}
export function empty_user() {
store_user({})
}
function findGetParameter(parameterName: string) {
let result = null, tmp = [];
location.search.substr(1).split("&")