fromis_9/backend/src/routes/index.js
caadiq ec3839bcc7 feat(admin): YouTube 봇 CRUD API 및 수정 다이얼로그 개선
- YouTube 봇 전용 API 라우트 추가 (GET/POST/PUT/DELETE /api/admin/youtube-bots)
- 봇 목록 API에 YouTube 봇 상세 정보 포함 (db_id, channel_id 등)
- 수정 다이얼로그에서 useQuery로 봇 데이터 조회
- 채널 배너 이미지 표시 추가
- Fastify 스키마에 additionalProperties 설정으로 auto_schedule_config 정상 반환

Co-Authored-By: Claude <noreply@anthropic.com>
2026-02-07 10:43:06 +09:00

50 lines
1.6 KiB
JavaScript

import authRoutes from './auth.js';
import membersRoutes from './members/index.js';
import albumsRoutes from './albums/index.js';
import schedulesRoutes from './schedules/index.js';
import statsRoutes from './stats/index.js';
import botsRoutes from './admin/bots.js';
import youtubeBotsRoutes from './admin/youtube-bots.js';
import youtubeAdminRoutes from './admin/youtube.js';
import xAdminRoutes from './admin/x.js';
import concertAdminRoutes from './admin/concert.js';
import placesAdminRoutes from './admin/places.js';
/**
* 라우트 통합
* /api/*
*/
export default async function routes(fastify) {
// 인증 라우트
fastify.register(authRoutes, { prefix: '/auth' });
// 멤버 라우트
fastify.register(membersRoutes, { prefix: '/members' });
// 앨범 라우트
fastify.register(albumsRoutes, { prefix: '/albums' });
// 일정 라우트
fastify.register(schedulesRoutes, { prefix: '/schedules' });
// 통계 라우트
fastify.register(statsRoutes, { prefix: '/stats' });
// 관리자 - 봇 라우트
fastify.register(botsRoutes, { prefix: '/admin/bots' });
// 관리자 - YouTube 봇 라우트
fastify.register(youtubeBotsRoutes, { prefix: '/admin/youtube-bots' });
// 관리자 - YouTube 라우트
fastify.register(youtubeAdminRoutes, { prefix: '/admin/youtube' });
// 관리자 - X 라우트
fastify.register(xAdminRoutes, { prefix: '/admin/x' });
// 관리자 - 콘서트 라우트
fastify.register(concertAdminRoutes, { prefix: '/admin/concert' });
// 관리자 - 장소 검색 라우트
fastify.register(placesAdminRoutes, { prefix: '/admin' });
}