Files
blog-frontend/src/api/category.ts
2025-12-27 15:45:12 +09:00

27 lines
1.1 KiB
TypeScript

import { http } from './http';
import { ApiResponse, Category, CategoryCreateRequest, CategoryUpdateRequest } from '@/types';
// 카테고리 트리 구조 조회 (GET /api/categories)
export const getCategories = async () => {
const response = await http.get<ApiResponse<Category[]>>('/api/categories');
return response.data.data;
};
// 카테고리 생성 (POST /api/admin/categories)
export const createCategory = async (data: CategoryCreateRequest) => {
const response = await http.post<ApiResponse<Category>>('/api/admin/categories', data);
return response.data;
};
// 카테고리 수정/이동 (PUT /api/admin/categories/{id})
// 백엔드 반환값이 ApiResponse<Nothing> 이므로 data는 null입니다.
export const updateCategory = async (id: number, data: CategoryUpdateRequest) => {
const response = await http.put<ApiResponse<null>>(`/api/admin/categories/${id}`, data);
return response.data;
};
// 카테고리 삭제 (DELETE /api/admin/categories/{id})
export const deleteCategory = async (id: number) => {
const response = await http.delete<ApiResponse<null>>(`/api/admin/categories/${id}`);
return response.data;
};