feat(saju): api helpers (saju + compat) + 라우트 + 아이콘 + placeholder pages

This commit is contained in:
2026-05-25 20:31:35 +09:00
parent e634cdedba
commit eab52ca424
7 changed files with 136 additions and 0 deletions

View File

@@ -769,3 +769,59 @@ export function tarotPatchReading(id, body) {
export function tarotDeleteReading(id) {
return apiDelete(`/api/tarot/readings/${id}`);
}
// ====== Saju ======
export function sajuInterpret(body) {
return apiPost('/api/saju/interpret', body);
}
export function sajuListReadings({ page = 1, size = 20, favorite } = {}) {
const qs = new URLSearchParams();
qs.set('page', page);
qs.set('size', size);
if (favorite !== undefined) qs.set('favorite', favorite);
return apiGet(`/api/saju/readings?${qs.toString()}`);
}
export function sajuGetReading(id) {
return apiGet(`/api/saju/readings/${id}`);
}
export function sajuPatchReading(id, body) {
return apiPatch(`/api/saju/readings/${id}`, body);
}
export function sajuDeleteReading(id) {
return apiDelete(`/api/saju/readings/${id}`);
}
export function sajuCurrentFortune(readingId) {
return apiGet(`/api/saju/current-fortune?reading_id=${readingId}`);
}
// ====== Compatibility ======
export function compatInterpret(body) {
return apiPost('/api/saju/compat/interpret', body);
}
export function compatListReadings({ page = 1, size = 20, favorite } = {}) {
const qs = new URLSearchParams();
qs.set('page', page);
qs.set('size', size);
if (favorite !== undefined) qs.set('favorite', favorite);
return apiGet(`/api/saju/compat/readings?${qs.toString()}`);
}
export function compatGetReading(id) {
return apiGet(`/api/saju/compat/readings/${id}`);
}
export function compatPatchReading(id, body) {
return apiPatch(`/api/saju/compat/readings/${id}`, body);
}
export function compatDeleteReading(id) {
return apiDelete(`/api/saju/compat/readings/${id}`);
}