22 lines
439 B
TypeScript
22 lines
439 B
TypeScript
import TokenStorage from '../tokenstorage/TokenStorage';
|
|
|
|
export type User = {
|
|
id: number;
|
|
displayName: string;
|
|
role: UserRole;
|
|
email: string;
|
|
};
|
|
|
|
export interface AuthContext {
|
|
user: User | null;
|
|
tokenStorage: TokenStorage;
|
|
signIn: (
|
|
email: string,
|
|
password: string,
|
|
staySignedIn: boolean,
|
|
validate?: (user: User) => boolean
|
|
) => Promise<User | null>;
|
|
signOut: () => Promise<void>;
|
|
loading: boolean;
|
|
}
|