/**
 * 用户角色枚举
 */
export enum UserRole {
  ADMIN = 'admin',
  USER = 'user',
}

/**
 * 基础用户模型 (对应数据库 users 表)
 */
export interface User {
  id: number;
  casdoor_uuid: string; // 关联 Casdoor 的唯一标识
  username: string;
  email?: string;
  avatar?: string;
  role: UserRole;
  created_at: string | Date;
}

/**
 * 统一 API 返回格式
 */
export interface ApiResponse<T = any> {
  code: number;    // 0 表示成功，非 0 表示业务错误
  data: T;
  message: string;
}

/**
 * 分页返回格式
 */
export interface PaginatedResponse<T> {
  items: T[];
  total: number;
  page: number;
  pageSize: number;
}

/**
 * Casdoor 登录成功后前端传给后端的 Payload
 */
export interface AuthCallbackPayload {
  code: string;
  state?: string;
}

