38 lines
587 B
TypeScript
38 lines
587 B
TypeScript
export interface User {
|
|
id: string
|
|
email: string
|
|
name?: string
|
|
avatar?: string
|
|
permissionPairs?: {
|
|
resource: string
|
|
action: string
|
|
}[]
|
|
// role?: string
|
|
}
|
|
|
|
export interface AuthState {
|
|
user: User | null
|
|
token: string | null
|
|
isAuthenticated: boolean
|
|
isLoading: boolean
|
|
}
|
|
|
|
export interface LoginCredentials {
|
|
username: string
|
|
password: string
|
|
}
|
|
|
|
export interface RegisterData {
|
|
username: string
|
|
password: string
|
|
name?: string
|
|
}
|
|
|
|
export interface JWTPayload {
|
|
sub: string
|
|
email: string
|
|
name?: string
|
|
role?: string
|
|
exp: number
|
|
iat: number
|
|
} |