2026-01-09 21:56:32 +09:00
|
|
|
/**
|
|
|
|
|
* 어드민 일정 관리 API
|
|
|
|
|
*/
|
|
|
|
|
import { fetchAdminApi, fetchAdminFormData } from "../index";
|
|
|
|
|
|
|
|
|
|
// 일정 목록 조회 (월별)
|
|
|
|
|
export async function getSchedules(year, month) {
|
2026-01-17 17:52:15 +09:00
|
|
|
const data = await fetchAdminApi(`/api/schedules?year=${year}&month=${month}`);
|
|
|
|
|
|
|
|
|
|
// 날짜별 그룹화된 응답을 플랫 배열로 변환
|
|
|
|
|
const schedules = [];
|
|
|
|
|
for (const [date, dayData] of Object.entries(data)) {
|
|
|
|
|
for (const schedule of dayData.schedules) {
|
|
|
|
|
const category = schedule.category || {};
|
|
|
|
|
schedules.push({
|
|
|
|
|
...schedule,
|
|
|
|
|
date,
|
|
|
|
|
category_id: category.id,
|
|
|
|
|
category_name: category.name,
|
|
|
|
|
category_color: category.color,
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return schedules;
|
2026-01-09 21:56:32 +09:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 일정 검색 (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) {
|
2026-01-19 12:49:29 +09:00
|
|
|
return fetchAdminApi(`/api/schedules/${id}`, { method: "DELETE" });
|
2026-01-09 21:56:32 +09:00
|
|
|
}
|