visuddhinanda 3 лет назад
Родитель
Сommit
a196a716ab
1 измененных файлов с 35 добавлено и 34 удалено
  1. 35 34
      dashboard/src/reducers/current-user.ts

+ 35 - 34
dashboard/src/reducers/current-user.ts

@@ -7,6 +7,7 @@ export const ROLE_ADMINISTRATOR = "administrator";
 
 export const TO_SIGN_IN = "/anonymous/users/sign-in";
 export const TO_PROFILE = "/dashboard/users/logs";
+export const TO_HOME = "/";
 
 const KEY = "token";
 export const DURATION = 60 * 60 * 24;
@@ -14,63 +15,63 @@ export const DURATION = 60 * 60 * 24;
 const IS_LOCAL_ENABLE = process.env.REACT_APP_ENABLE_LOCAL_TOKEN === "true";
 
 export const get = (): string | null => {
-  const token = sessionStorage.getItem(KEY);
-  if (token) {
-    return token;
-  }
-  if (IS_LOCAL_ENABLE) {
-    return localStorage.getItem(KEY);
-  }
-  return null;
+	const token = sessionStorage.getItem(KEY);
+	if (token) {
+		return token;
+	}
+	if (IS_LOCAL_ENABLE) {
+		return localStorage.getItem(KEY);
+	}
+	return null;
 };
 
 const set = (token: string) => {
-  sessionStorage.setItem(KEY, token);
-  if (IS_LOCAL_ENABLE) {
-    localStorage.setItem(KEY, token);
-  }
+	sessionStorage.setItem(KEY, token);
+	if (IS_LOCAL_ENABLE) {
+		localStorage.setItem(KEY, token);
+	}
 };
 
 const remove = () => {
-  sessionStorage.removeItem(KEY);
-  localStorage.removeItem(KEY);
+	sessionStorage.removeItem(KEY);
+	localStorage.removeItem(KEY);
 };
 
 export interface IUser {
-  nickName: string;
-  realName: string;
-  avatar: string;
-  roles: string[];
+	nickName: string;
+	realName: string;
+	avatar: string;
+	roles: string[];
 }
 
 interface IState {
-  payload?: IUser;
+	payload?: IUser;
 }
 
 const initialState: IState = {};
 
 export const slice = createSlice({
-  name: "current-user",
-  initialState,
-  reducers: {
-    signIn: (state, action: PayloadAction<[IUser, string]>) => {
-      state.payload = action.payload[0];
-      set(action.payload[1]);
-    },
-    signOut: (state) => {
-      state.payload = undefined;
-      remove();
-    },
-  },
+	name: "current-user",
+	initialState,
+	reducers: {
+		signIn: (state, action: PayloadAction<[IUser, string]>) => {
+			state.payload = action.payload[0];
+			set(action.payload[1]);
+		},
+		signOut: (state) => {
+			state.payload = undefined;
+			remove();
+		},
+	},
 });
 
 export const { signIn, signOut } = slice.actions;
 
 export const isRoot = (state: RootState): boolean =>
-  state.currentUser.payload?.roles.includes(ROLE_ROOT) || false;
+	state.currentUser.payload?.roles.includes(ROLE_ROOT) || false;
 export const isAdministrator = (state: RootState): boolean =>
-  state.currentUser.payload?.roles.includes(ROLE_ADMINISTRATOR) || false;
+	state.currentUser.payload?.roles.includes(ROLE_ADMINISTRATOR) || false;
 export const currentUser = (state: RootState): IUser | undefined =>
-  state.currentUser.payload;
+	state.currentUser.payload;
 
 export default slice.reducer;