import request from '@/config/axios'

// 安防后端设备 VO
export interface ServerVO {
  id: number // 服务ID
  name: string // 名称
  type: string // 类型
  brand: string // 品牌
  model: string // 型号
  orgId: number // 所属机构
  protocol: string // 接入协议
  ip: string // 地址
  port: number // 端口
  domain: string // 服务域
  username: string // 用户名
  password: string // 密码
  desc: string // 描述
}

// 安防后端设备 API
export const ServerApi = {
  // 查询安防所有后端设备
  getAllServer: async () => {
    return await request.get({ url: `/safe/server/list`})
  },

  // 查询安防后端设备分页
  getServerPage: async (params: any) => {
    return await request.get({ url: `/safe/server/page`, params })
  },

  // 查询安防后端设备详情
  getServer: async (id: number) => {
    return await request.get({ url: `/safe/server/get?id=` + id })
  },

  // 新增安防后端设备
  createServer: async (data: ServerVO) => {
    return await request.post({ url: `/safe/server/create`, data })
  },

  // 修改安防后端设备
  updateServer: async (data: ServerVO) => {
    return await request.put({ url: `/safe/server/update`, data })
  },

  // 删除安防后端设备
  deleteServer: async (id: number) => {
    return await request.delete({ url: `/safe/server/delete?id=` + id })
  },

  // 导出安防后端设备 Excel
  exportServer: async (params) => {
    return await request.download({ url: `/safe/server/export-excel`, params })
  },

  // 根据机构id查询后端设备
  getServers: async (id: number) => {
    return await request.get({ url: `/safe/server/servers?orgId=` + id })
  },
}
