Files
nuxtfiber/lib/types/auth.ts
Beyhan Oğur 7b2b27a42c first commit
2026-04-26 22:18:17 +03:00

95 lines
1.7 KiB
TypeScript

/**
* Auth API types (backend /api/v1/auth/*)
* @see Temp/login_register.md
*/
/** User object in login response */
export interface AuthUserLogin {
id: number
email: string
first_name: string
last_name: string
username: string
is_admin: boolean
}
/** User object in /me response (no username in doc, but same shape) */
export interface AuthUserMe {
id: number
email: string
first_name: string
last_name: string
is_admin: boolean
}
/** User object in register response */
export interface AuthUserRegister {
id: number
email: string
first_name: string
last_name: string
username: string
email_verified: boolean
is_admin: boolean
}
// --- Login ---
export interface LoginRequest {
email: string
password: string
}
export interface LoginResponse {
access_token: string
refresh_token: string
user: AuthUserLogin
}
// --- Me ---
export interface MeResponse {
user: AuthUserMe
}
// --- Refresh ---
export interface RefreshRequest {
refresh_token: string
}
export interface RefreshResponse {
access_token: string
refresh_token: string
}
// --- Register ---
export interface RegisterRequest {
email: string
first_name: string
last_name: string
password: string
username: string
}
/** Client sends turnstile_token to our proxy; backend receives only RegisterRequest */
export interface RegisterRequestWithTurnstile extends RegisterRequest {
turnstile_token: string
}
export interface RegisterResponse {
message: string
user: AuthUserRegister
}
// --- Resend verification ---
export interface ResendVerificationRequest {
email: string
}
export interface ResendVerificationResponse {
message: string
}
// --- Verify email ---
export interface VerifyEmailResponse {
message: string
}