mosaicmap/types/user.ts
2025-08-18 00:03:16 +08:00

38 lines
584 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
}