import { api, BATCH_REQUEST_TIMEOUT } from './client' export type GenerateSTRMInput = { library_id: string output_dir?: string base_url?: string enabled?: boolean overwrite?: boolean include_local?: boolean preserve_tree?: boolean } export type GenerateSTRMResult = { library_id: string output_dir: string generated: number updated: number skipped: number cleaned: number errors?: string[] items?: Array<{ media_id: string title: string file_path: string url?: string action: string reason?: string }> } export type GenerateSTRMTreeInput = { provider: string tree_text?: string paths?: string[] source_root?: string output_prefix?: string output_dir: string base_url?: string overwrite?: boolean cleanup?: boolean } export const strmAPI = { set: (mediaID: string, url: string) => api.put(`/media/${mediaID}/strm`, { url }).then((r) => r.data), clear: (mediaID: string) => api.delete(`/media/${mediaID}/strm`).then((r) => r.data), importURL: (libraryID: string, title: string, url: string) => api.post('/strm/import', { library_id: libraryID, title, url }).then((r) => r.data), generate: (input: GenerateSTRMInput) => api .post('/strm/generate', input, { timeout: BATCH_REQUEST_TIMEOUT }) .then((r) => r.data), generateFromTree: (input: GenerateSTRMTreeInput) => api .post('/strm/generate-from-tree', input, { timeout: BATCH_REQUEST_TIMEOUT }) .then((r) => r.data), }