/** * @file auth.ts * @description Type definitions for authentication and user profiles. */ export interface User { id: number username: string email: string email_verified_at?: string | null created_at?: string updated_at?: string role: { code: string // เช่น 'STUDENT', 'INSTRUCTOR', 'ADMIN' name: { th: string; en: string } } profile?: { prefix: { th: string; en: string } first_name: string last_name: string phone: string | null avatar_url: string | null } } export interface LoginResponse { token: string refreshToken: string user: User profile: User['profile'] } export interface RegisterPayload { username: string email: string password: string first_name: string last_name: string prefix: { th: string; en: string } phone: string }