420a794c9e
Clasificador por reglas sin IA, correccion manual (migracion 040) y filas desplegables en ListView. Flyout por encima de popups. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
25 lines
1.5 KiB
JavaScript
25 lines
1.5 KiB
JavaScript
import { api } from './api.js';
|
|
|
|
export const listDevices = (params = {}) => {
|
|
const qs = new URLSearchParams(Object.entries(params).filter(([, v]) => v)).toString();
|
|
return api.get(`/devices${qs ? `?${qs}` : ''}`);
|
|
};
|
|
export const getDevice = (id) => api.get(`/devices/${id}`);
|
|
export const updateDevice = (id, data) => api.put(`/devices/${id}`, data);
|
|
export const getDevicesDashboard = () => api.get('/devices/dashboard');
|
|
export const listSoftware = (all) => api.get(`/devices/software${all ? '?all=1' : ''}`);
|
|
export const setSoftwareClassification = (name, licenseType) => api.put('/devices/software/classification', { name, licenseType });
|
|
export const listSoftwareDevices = (name) => api.get(`/devices/software/devices?name=${encodeURIComponent(name)}`);
|
|
|
|
export const listInventoryTokens = () => api.get('/devices/tokens');
|
|
export const createInventoryToken = (label) => api.post('/devices/tokens', { label });
|
|
export const setInventoryTokenActive = (id, isActive) => api.patch(`/devices/tokens/${id}`, { isActive });
|
|
export const deleteInventoryToken = (id) => api.delete(`/devices/tokens/${id}`);
|
|
export const getInventoryTokenSecret = (id) => api.get(`/devices/tokens/${id}/secret`);
|
|
|
|
export const getDevicesAccess = () => api.get('/devices/access');
|
|
export const listDeviceViewers = () => api.get('/devices/viewers');
|
|
export const addDeviceViewer = (userId) => api.post('/devices/viewers', { userId });
|
|
export const removeDeviceViewer = (userId) => api.delete(`/devices/viewers/${userId}`);
|
|
export const fetchDeviceCpuYear = (id) => api.post(`/devices/${id}/cpu-year`);
|