/**
 * OpenAPI 프록시 라우트
 * - 외부 API 호출을 프록시하는 라우트
 */

import { Router } from 'express';
import { OpenApiProxyController } from '../controllers/openApiProxyController';
// import { authenticateToken } from '../middleware/authMiddleware'; // 공개 API는 인증 불필요

const router = Router();
const controller = new OpenApiProxyController();

// 날씨, 환율 등 공개 정보는 인증 없이 접근 가능
// router.use(authenticateToken);

/**
 * GET /api/open-api/weather
 * 날씨 정보 조회 (인증 불필요)
 * Query: city (도시명, 기본값: Seoul)
 */
router.get('/weather', (req, res) => controller.getWeather(req, res));

/**
 * GET /api/open-api/exchange-rate
 * 환율 정보 조회
 * Query: base (기준 통화, 기본값: KRW), target (대상 통화, 기본값: USD)
 */
router.get('/exchange-rate', (req, res) => controller.getExchangeRate(req, res));

/**
 * POST /api/open-api/geocode
 * 주소를 좌표로 변환 (Geocoding)
 * Body: { address: string }
 */
router.post('/geocode', (req, res) => controller.geocode(req, res));

export default router;

