import { http } from './client' import type { Outline, OutlineCreate, OutlineUpdate, OutlineList, OutlineReorder } from '@/types/outline' const base = (novelId: number) => `/novels/${novelId}/outlines` export async function fetchOutlines(novelId: number): Promise { const { data } = await http.get(base(novelId)) return data } export async function fetchOutline(novelId: number, outlineId: number): Promise { const { data } = await http.get(`${base(novelId)}/${outlineId}`) return data } export async function createOutline(novelId: number, payload: OutlineCreate): Promise { const { data } = await http.post(base(novelId), payload) return data } export async function updateOutline(novelId: number, outlineId: number, payload: OutlineUpdate): Promise { const { data } = await http.patch(`${base(novelId)}/${outlineId}`, payload) return data } export async function deleteOutline(novelId: number, outlineId: number): Promise { await http.delete(`${base(novelId)}/${outlineId}`) } export async function reorderOutlines(novelId: number, orderedIds: number[]): Promise { const { data } = await http.put(`${base(novelId)}/reorder`, { ordered_ids: orderedIds }) return data }