Initial commit

This commit is contained in:
Oli Passey
2025-12-10 18:07:21 +00:00
commit 1fb43156e8
58 changed files with 15656 additions and 0 deletions

View File

@@ -0,0 +1,39 @@
import { apiClient } from './client';
import { Device, PingResult } from './types';
export interface CreateDeviceInput {
name: string;
ipAddress: string;
port?: number;
enabled?: boolean;
}
export interface UpdateDeviceInput {
name?: string;
ipAddress?: string;
port?: number;
enabled?: boolean;
}
export const deviceApi = {
getAll: () => apiClient.get<Device[]>('/devices'),
getById: (id: string) => apiClient.get<Device>(`/devices/${id}`),
create: (data: CreateDeviceInput) => apiClient.post<Device>('/devices', data),
update: (id: string, data: UpdateDeviceInput) =>
apiClient.put<Device>(`/devices/${id}`, data),
delete: (id: string) => apiClient.delete(`/devices/${id}`),
ping: (id: string) => apiClient.post<PingResult>(`/devices/${id}/ping`),
turnOn: (id: string) => apiClient.post(`/devices/${id}/turn-on`),
turnOff: (id: string) => apiClient.post(`/devices/${id}/turn-off`),
turnOnAll: () => apiClient.post('/devices/all/turn-on'),
turnOffAll: () => apiClient.post('/devices/all/turn-off'),
};