import { createQuery } from '@tanstack/svelte-query'; import { api, apiFetch } from './client'; import { qk } from './queries'; import type { LidarrQuarantineRow, LidarrQuarantineMineRow, LidarrQuarantineReason } from './types'; export type FlagParams = { track_id: string; reason: LidarrQuarantineReason; notes?: string; }; export async function flagTrack(params: FlagParams): Promise { const body: FlagParams = { track_id: params.track_id, reason: params.reason }; if (params.notes && params.notes.length > 0) body.notes = params.notes; return api.post('/api/quarantine', body); } // Server returns 204 (no body) for DELETE; apiFetch handles it. export async function unflagTrack(trackID: string): Promise { await apiFetch(`/api/quarantine/${trackID}`, { method: 'DELETE' }); } export async function listMyQuarantine(): Promise { return api.get('/api/quarantine/mine'); } export function createMyQuarantineQuery() { return createQuery({ queryKey: qk.myQuarantine(), queryFn: listMyQuarantine, staleTime: 60_000 }); }