Improving user management and auto-refreshing user firms
This commit is contained in:
@@ -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("&")
|
||||
|
||||
Reference in New Issue
Block a user