import { request } from '../auth/auth-api-client.js';

/** File purpose (plain language): sends device requests through the shared cookie and CSRF-safe authentication helper. */
/** 代码作用（白话）：按筛选条件读取设备列表。关联文件：DeviceAssetView.js、DeviceAssetController.java。关联逻辑（调用链/数据流）：筛选器 -> GET -> 分页响应 -> 表格。 */
export function listDeviceAssets(query) { const params = new URLSearchParams(); Object.entries(query).forEach(([key,value]) => { if (value !== '' && value !== null && value !== undefined) params.set(key,value); }); return request('/api/device-assets?' + params); }
/** 代码作用（白话）：用 multipart 表单新建设备。关联文件：DeviceAssetView.js、DeviceAssetController.java。关联逻辑（调用链/数据流）：新增弹窗 -> POST -> 文件/设备写入 -> 响应。 */
export function createDeviceAsset(form) { return request('/api/device-assets', { method: 'POST', body: form }); }
/** 代码作用（白话）：用 multipart 表单编辑设备。关联文件：DeviceAssetView.js、DeviceAssetController.java。关联逻辑（调用链/数据流）：编辑弹窗 -> PUT -> 文件/设备更新 -> 响应。 */
export function updateDeviceAsset(id, form) { return request('/api/device-assets/' + id, { method: 'PUT', body: form }); }
/** 代码作用（白话）：请求后端执行受引用保护的软删除。关联文件：DeviceAssetView.js、DeviceAssetController.java。关联逻辑（调用链/数据流）：删除确认 -> DELETE -> 引用检查/软删除 -> 列表刷新。 */
export function deleteDeviceAsset(id) { return request('/api/device-assets/' + id, { method: 'DELETE' }); }
/** 代码作用（白话）：搜索可作为设备使用人的公司人员。关联文件：DeviceAssetView.js、DeviceAssetController.java。关联逻辑（调用链/数据流）：远程选择器 -> GET lookup -> 人员选项。 */
export function searchDeviceCompanyPersons(keyword) { return request('/api/device-assets/lookups/company-persons?keyword=' + encodeURIComponent(keyword || '')); }
