Phase 1: 모노레포 디렉토리 구조 구축 - 기존 React 프로젝트를 frontend/ 디렉토리로 이동 (git mv) - backend/ 디렉토리 생성 (Phase 2에서 Spring Boot 초기화) - database/migration/ 디렉토리 생성 (Phase 2에서 Flyway 마이그레이션) - 루트 .gitignore에 frontend/, backend/ 경로 반영 - 루트 CLAUDE.md를 모노레포 가이드로 갱신 - Makefile 추가 (dev/build/lint 통합 명령) - frontend/vite.config.ts에 /api → :8080 백엔드 proxy 설정 - .githooks/pre-commit을 모노레포 구조에 맞게 갱신 (frontend/ 변경 시 frontend/ 내부에서 검증) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
26 lines
829 B
TypeScript
26 lines
829 B
TypeScript
/**
|
|
* 선박 API 서비스
|
|
* 현재: mock 데이터 반환 / 향후: 실제 API 호출
|
|
*/
|
|
import type { VesselData } from '@data/mock/vessels';
|
|
import { MOCK_VESSELS, MOCK_SUSPECTS } from '@data/mock/vessels';
|
|
// import { apiGet } from './api';
|
|
|
|
/** TODO: GET /api/v1/vessels */
|
|
export async function getVessels(): Promise<VesselData[]> {
|
|
// return apiGet<VesselData[]>('/vessels');
|
|
return MOCK_VESSELS;
|
|
}
|
|
|
|
/** TODO: GET /api/v1/vessels/suspects */
|
|
export async function getSuspects(): Promise<VesselData[]> {
|
|
// return apiGet<VesselData[]>('/vessels/suspects');
|
|
return MOCK_SUSPECTS;
|
|
}
|
|
|
|
/** TODO: GET /api/v1/vessels/:mmsi */
|
|
export async function getVesselDetail(mmsi: string): Promise<VesselData | undefined> {
|
|
// return apiGet<VesselData>(`/vessels/${mmsi}`);
|
|
return MOCK_VESSELS.find(v => v.mmsi === mmsi);
|
|
}
|