/**
 * 企业资产模块 API (企业端/代理端查看企业资产)
 * 用于代理端查看企业的授权资产列表
 */
import { get } from '@/utils/request'
import type { CardInfo, DeviceInfo } from './assets'

/**
 * 企业信息
 */
export interface EnterpriseInfo {
  id: number
  name: string
  total_cards?: number
  total_devices?: number
  [key: string]: any
}

/**
 * 企业卡片列表参数
 */
export interface EnterpriseCardsParams {
  page?: number
  page_size?: number
  status?: number // 卡状态 (具体值待后端确认)
  carrier_id?: number // 运营商ID
  iccid?: string // ICCID (模糊查询)
  virtual_no?: string // 虚拟号 (模糊查询)
  msisdn?: string // 接入号 (模糊查询)
}

/**
 * 企业设备列表参数
 */
export interface EnterpriseDevicesParams {
  page?: number
  page_size?: number
  status?: number
  device_name?: string // 设备号 / 设备名称 (模糊搜索)
  virtual_no?: string // 虚拟号 (模糊搜索)
  imei?: string // IMEI (模糊搜索)
}

/**
 * 列表响应
 */
export interface ListResponse<T> {
  items: T[]
  total: number
  page?: number
  size?: number
}

/**
 * 获取企业卡片列表
 * GET /api/admin/enterprises/:id/cards
 * @param id 企业ID (来自登录返回的 user.enterprise_id)
 */
export function getEnterpriseCards(id: number, params?: EnterpriseCardsParams) {
  return get<ListResponse<CardInfo>>(`/api/admin/enterprises/${id}/cards`, { params })
}

/**
 * 获取企业设备列表
 * GET /api/admin/enterprises/:id/devices
 * @param id 企业ID (来自登录返回的 user.enterprise_id)
 */
export function getEnterpriseDevices(id: number, params?: EnterpriseDevicesParams) {
  return get<{ items: DeviceInfo[], total: number }>(`/api/admin/enterprises/${id}/devices`, { params })
}

/**
 * 获取企业信息
 * GET /api/admin/enterprises/:id
 * @param id 企业ID (来自登录返回的 user.enterprise_id)
 */
export function getEnterpriseInfo(id: number) {
  return get<EnterpriseInfo>(`/api/admin/enterprises/${id}`)
}
