/**
 * 通用 API 响应类型
 */

/** 统一成功响应（基础） */
export interface ApiSuccessResponse {
  success: true
}

/** 统一错误响应 */
export interface ApiErrorResponse {
  success: false
  error: {
    code: number
    message: string
  }
}

/** 统一响应（成功或错误） */
export type ApiResponse = ApiSuccessResponse | ApiErrorResponse

/** 分页请求参数 */
export interface PaginationParams {
  page?: number
  page_size?: number
}

/** 日期范围参数 */
export interface DateRangeParams {
  start_date?: string  // YYYY-MM-DD
  end_date?: string    // YYYY-MM-DD
}

/** 用户信息 */
export interface UserInfo {
  id: number
  username: string
  role: 'admin' | 'user'
}

/** 登录请求 */
export interface LoginRequest {
  username: string
  password: string
  remember?: boolean
  next?: string
}

/** 登录响应 */
export interface LoginResponse {
  success: boolean
  user: UserInfo
  next: string
}

/** 项目列表响应 */
export interface ProjectsResponse {
  success: boolean
  projects: string[]
}

/** 分类列表响应 */
export interface CategoriesResponse {
  success: boolean
  categories: string[]
}