/**
 * 代理账号相关类型定义 - 匹配后端 API 文档
 */

import { PaginationParams } from './common'

// 代理账号响应实体（根据API文档使用小写字段名）
export interface ShopAccountResponse {
  id: number // 账号ID
  created_at: string // 创建时间
  updated_at: string // 更新时间
  username: string // 用户名
  phone: string // 手机号
  shop_id: number // 店铺ID
  user_type: number // 用户类型 (1:超级管理员, 2:平台用户, 3:代理账号, 4:企业账号)
  status: number // 状态 (0:禁用, 1:启用)
}

// 代理账号列表查询参数
export interface ShopAccountQueryParams extends PaginationParams {
  username?: string // 用户名模糊查询
  phone?: string // 手机号精确查询
  shop_id?: number | null // 店铺ID过滤
  status?: number | null // 状态 (0:禁用, 1:启用)
  page?: number // 页码
  page_size?: number // 每页数量
}

// 创建代理账号参数
export interface CreateShopAccountParams {
  username: string // 用户名
  password: string // 密码
  phone: string // 手机号
  shop_id: number // 店铺ID
}

// 更新代理账号参数
export interface UpdateShopAccountParams {
  username: string // 用户名
}

// 重置密码参数
export interface UpdateShopAccountPasswordParams {
  new_password: string // 新密码
}

// 更新状态参数
export interface UpdateShopAccountStatusParams {
  status: number // 状态 (0:禁用, 1:启用)
}

// 代理账号列表分页响应
export interface ShopAccountPageResult {
  items: ShopAccountResponse[] | null // 账号列表
  page?: number // 当前页码
  size?: number // 每页数量
  total?: number // 总记录数
}
