import { ref } from 'vue'; import { apiClient } from '../api/client'; import { relayDtoToDomain } from '../types/mappers/relayDtoMapper'; import type { Relay, RelayDto } from '../types/relay'; export function useRelay() { const isLoading = ref(false); const error = ref(null); const response = ref(null); const toggleRelay = async (id: number) => { isLoading.value = true; try { const { data } = await apiClient.POST('/api/relays/{id}/toggle', { params: { path: { id, }, }, }); error.value = null; response.value = relayDtoToDomain(data as RelayDto); } catch (err: any) { console.error(`Failed to toggle relay ${id}:`, err); error.value = err.message || `Failed to toggle relay ${id}`; } finally { isLoading.value = false; } }; return { toggleRelay, isLoading, error, response, }; }