fromis_9/backend/src/routes/index.js
caadiq bc3f536ec7 feat: X 카테고리 일정 추가 폼 구현
- 백엔드: /api/admin/x/post-info, /api/admin/x/schedule API 추가
- scraper.js에 fetchSingleTweet 함수 추가 (Nitter로 단일 트윗 조회)
- 프론트엔드: XForm 컴포넌트 생성 (게시글 ID 입력 → 미리보기 → 저장)
- 일정 추가 폼에서 X 카테고리 분기 추가
- API 문서 업데이트

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-19 12:57:06 +09:00

38 lines
1.1 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 youtubeAdminRoutes from './admin/youtube.js';
import xAdminRoutes from './admin/x.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(youtubeAdminRoutes, { prefix: '/admin/youtube' });
// 관리자 - X 라우트
fastify.register(xAdminRoutes, { prefix: '/admin/x' });
}