This commit is contained in:
@@ -5,17 +5,46 @@ const login = (data) => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const getCurrentUserFromServer = () => {
|
const getCurrentUserFromServer = () => {
|
||||||
return http.get('/auth/me');
|
return http.get('/auth/me', {
|
||||||
|
params: {
|
||||||
|
_ts: Date.now()
|
||||||
|
}
|
||||||
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
const refreshCurrentUserPermissions = async () => {
|
const refreshCurrentUserPermissions = async () => {
|
||||||
const token = localStorage.getItem('token');
|
const token = localStorage.getItem('token');
|
||||||
if (!token) return null;
|
if (!token) return null;
|
||||||
const { data } = await getCurrentUserFromServer();
|
const existingUser = getCurrentUser() || {};
|
||||||
if (data) {
|
const persistUser = (nextUserData) => {
|
||||||
localStorage.setItem('user', JSON.stringify(data));
|
const mergedUser = {
|
||||||
|
...existingUser,
|
||||||
|
...nextUserData
|
||||||
|
};
|
||||||
|
localStorage.setItem('user', JSON.stringify(mergedUser));
|
||||||
|
return mergedUser;
|
||||||
|
};
|
||||||
|
|
||||||
|
try {
|
||||||
|
const { data } = await getCurrentUserFromServer();
|
||||||
|
if (data) {
|
||||||
|
return persistUser(data);
|
||||||
|
}
|
||||||
|
} catch (error) {
|
||||||
|
const userId = existingUser?.id;
|
||||||
|
if (!userId) throw error;
|
||||||
|
const { data } = await http.get(`/employees/${userId}`, {
|
||||||
|
params: {
|
||||||
|
_ts: Date.now()
|
||||||
|
}
|
||||||
|
});
|
||||||
|
if (data) {
|
||||||
|
return persistUser(data);
|
||||||
|
}
|
||||||
|
throw error;
|
||||||
}
|
}
|
||||||
return data;
|
|
||||||
|
return existingUser;
|
||||||
};
|
};
|
||||||
|
|
||||||
const logout = (data, shouldClearSession = false) => {
|
const logout = (data, shouldClearSession = false) => {
|
||||||
|
|||||||
Reference in New Issue
Block a user