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
+ 62
14
Compare changes
  • Side-by-side
  • Inline
Files
3
+ 61
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;
 
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,
 
login: () => {},
 
logout: () => {},
 
resetLoginError: () => {}
 
};
 
 
export const AuthContext = createContext<AuthContextProps>(defaultValue);
 
 
export const useUserContext = () => {
 
const {
 
user,
 
userRoles,
 
isAdmin,
 
isManager,
 
loginError,
 
loginLoading,
 
login,
 
logout,
 
resetLoginError
 
} = useContext(AuthContext);
 
 
return {
 
user,
 
userRoles,
 
isAdmin,
 
isManager,
 
loginError,
 
loginLoading,
 
login,
 
logout,
 
resetLoginError
 
};
 
};
Loading