- api/ 디렉토리 구조 생성 - index.js: 공통 fetch 래퍼 - schedules.js, albums.js, members.js: 공개 API - admin/: 어드민 API (bots, albums, categories, members, schedules) - Schedule.jsx: API 모듈 적용 - AdminScheduleBots.jsx: API 모듈 적용
36 lines
987 B
JavaScript
36 lines
987 B
JavaScript
/**
|
|
* 어드민 일정 관리 API
|
|
*/
|
|
import { fetchAdminApi, fetchAdminFormData } from "../index";
|
|
|
|
// 일정 목록 조회 (월별)
|
|
export async function getSchedules(year, month) {
|
|
return fetchAdminApi(`/api/admin/schedules?year=${year}&month=${month}`);
|
|
}
|
|
|
|
// 일정 검색 (Meilisearch)
|
|
export async function searchSchedules(query) {
|
|
return fetchAdminApi(
|
|
`/api/admin/schedules/search?q=${encodeURIComponent(query)}`
|
|
);
|
|
}
|
|
|
|
// 일정 상세 조회
|
|
export async function getSchedule(id) {
|
|
return fetchAdminApi(`/api/admin/schedules/${id}`);
|
|
}
|
|
|
|
// 일정 생성
|
|
export async function createSchedule(formData) {
|
|
return fetchAdminFormData("/api/admin/schedules", formData, "POST");
|
|
}
|
|
|
|
// 일정 수정
|
|
export async function updateSchedule(id, formData) {
|
|
return fetchAdminFormData(`/api/admin/schedules/${id}`, formData, "PUT");
|
|
}
|
|
|
|
// 일정 삭제
|
|
export async function deleteSchedule(id) {
|
|
return fetchAdminApi(`/api/admin/schedules/${id}`, { method: "DELETE" });
|
|
}
|