import type { BoardProfile, BoardProfileName, APIcall, Settings, Status, CoreData, Devices, DeviceData, DeviceEntity, UniqueID, CustomEntities, WriteDeviceValue, WriteTemperatureSensor, WriteAnalogSensor, SensorData, Schedule, Entities } from './types'; import type { AxiosPromise } from 'axios'; import { AXIOS, AXIOS_API, AXIOS_BIN } from 'api/endpoints'; export function restart(): AxiosPromise { return AXIOS.post('/restart'); } export function readSettings(): AxiosPromise { return AXIOS.get('/settings'); } export function writeSettings(settings: Settings): AxiosPromise { return AXIOS.post('/settings', settings); } export function getBoardProfile(boardProfile: BoardProfileName): AxiosPromise { return AXIOS.post('/boardProfile', boardProfile); } export function readStatus(): AxiosPromise { return AXIOS.get('/status'); } export function readCoreData(): AxiosPromise { return AXIOS.get('/coreData'); } export function readDevices(): AxiosPromise { return AXIOS.get('/devices'); } export function scanDevices(): AxiosPromise { return AXIOS.post('/scanDevices'); } export function readDeviceData(unique_id: UniqueID): AxiosPromise { return AXIOS_BIN.post('/deviceData', unique_id); } export function readSensorData(): AxiosPromise { return AXIOS.get('/sensorData'); } export function readDeviceEntities(unique_id: UniqueID): AxiosPromise { return AXIOS_BIN.post('/deviceEntities', unique_id); } export function writeCustomEntities(customEntities: CustomEntities): AxiosPromise { return AXIOS.post('/customEntities', customEntities); } export function writeDeviceValue(dv: WriteDeviceValue): AxiosPromise { return AXIOS.post('/writeDeviceValue', dv); } export function writeTemperatureSensor(ts: WriteTemperatureSensor): AxiosPromise { return AXIOS.post('/writeTemperatureSensor', ts); } export function writeAnalogSensor(as: WriteAnalogSensor): AxiosPromise { return AXIOS.post('/writeAnalogSensor', as); } export function resetCustomizations(): AxiosPromise { return AXIOS.post('/resetCustomizations'); } export function API(apiCall: APIcall): AxiosPromise { return AXIOS_API.post('/', apiCall); } export function getSettings(): AxiosPromise { return AXIOS.get('/getSettings'); } export function getCustomizations(): AxiosPromise { return AXIOS.get('/getCustomizations'); } export function getSchedule(): AxiosPromise { return AXIOS.get('/getSchedule'); } export function readSchedule(): AxiosPromise { return AXIOS.get('/schedule'); } export function writeSchedule(schedule: Schedule): AxiosPromise { return AXIOS.post('/schedule', schedule); } export function getEntities(): AxiosPromise { return AXIOS.get('/getEntities'); } export function readEntities(): AxiosPromise { return AXIOS.get('/entities'); } export function writeEntities(entities: Entities): AxiosPromise { return AXIOS.post('/entities', entities); }