
import * as base from './_crud-base'
import type { Infra } from '~/models/infra'

const name = 'infra'
const path = `/api/v1/${name}`

export function create(data: Infra) {
  return base.create(path, data, name)
}

export function getList(params: any = null) {
  return base.getList(path, params, name)
}

export function getDetail(id: number | string) {
  return base.getDetail(path, id, name)
}

export function update(id: number | string, data: Infra) {
  return base.update(path, id, data, name)
}

export function remove(id: number | string) {
  return base.remove(path, id, name)
}

export async function getValueLabelList(params: any = null, useId = false): Promise<{ value: string; label: string }[]> {
  let data: { value: string; label: string }[] = []
  const result = await getList(params)
  if (result.success) {
    const resultData = result.body?.data || []
    data = !useId ?
      resultData.map((item: Infra) => ({ value: item.code, label: item.name })) :
      resultData.map((item: Infra) => ({ value: item.id, label: item.name }))
  }
  return data
}

// export async function getProcedureRoomValueLabelList(params: any = null, useId = false): Promise<{ value: string; label: string }[]> {
//   let data: { value: string; label: string }[] = []
//   const result = await getList({ 'infraGroup_code': 'procedure-room' ,...params})
//   if (result.success) {
//     const resultData = result.body?.data || []
//     data = !useId ?
//       resultData.map((item: Infra) => ({ value: item.code, label: item.name })) :
//       resultData.map((item: Infra) => ({ value: item.id, label: item.name }))
//   }
//   return data
// }
