Skip to content
Snippets Groups Projects

CE-3625: Migrate auth components

Merged Johanna Szepanski requested to merge CE-3625-migrate-auth-components into main
3 files
+ 70
14
Compare changes
  • Side-by-side
  • Inline
Files
3
+ 69
0
import { createContext, useContext } from "react";
export interface User {
fullName?: string;
loginName?: string;
avatar?: string;
email?: string;
gitlabUserName?: string;
}
export interface AuthContextProps {
user: User | undefined;
userRoles: string[] | undefined;
isAdmin: boolean | undefined;
isManager: boolean;
loginError: string | undefined;
loginLoading: boolean;
setUser: (user: User | undefined) => void;
setUserRoles: (roles: string[] | undefined) => void;
login: (userName: string, password: string) => void;
logout: () => void;
resetLoginError: () => void;
}
const defaultValue: AuthContextProps = {
user: undefined,
userRoles: undefined,
isAdmin: false,
isManager: false,
loginError: undefined,
loginLoading: false,
setUser: () => {},
setUserRoles: () => {},
login: () => {},
logout: () => {},
resetLoginError: () => {}
};
export const AuthContext = createContext<AuthContextProps>(defaultValue);
export const useUserContext = () => {
const {
user,
userRoles,
isAdmin,
isManager,
loginError,
loginLoading,
setUser,
setUserRoles,
login,
logout,
resetLoginError
} = useContext(AuthContext);
return {
user,
userRoles,
isAdmin,
isManager,
loginError,
loginLoading,
setUser,
setUserRoles,
login,
logout,
resetLoginError
};
};
Loading