API Contract Map

API 경계는 입력, 권한, 소유권, 실패 응답을 계약으로 묶는다

인증과 파일 트리 API는 서로 연결되어 있으므로 각 경계의 입력과 실패 응답을 먼저 맞춰야 한다.

config환경 계약

DB 연결과 JWT secret을 시작 단계에서 검증한다.

auth인증 계약

가입, 로그인, 현재 사용자 응답 형식을 맞춘다.

owner소유권 계약

URL ID보다 토큰 userId를 우선 기준으로 삼는다.

tree파일 트리 계약

순환과 고아 레코드를 만들지 않도록 제약한다.

error실패 응답 계약

검증/권한/충돌/서버 오류 형식을 구분한다.

경계 차단할 실패 응답 기준 구현 순서
Auth토큰 생명주기 만료/위조/누락 토큰 401 Unauthorized Auth 테스트 먼저 통과
Ownertenant guard 다른 사용자 프로젝트 접근 403 또는 404 정책 고정 모든 project query에 userId 포함
Tree무결성 순환 이동, 부분 삭제 400/409와 rollback 파일 트리 API를 트랜잭션으로 확장

구현 순서: 인증과 소유권 테스트를 먼저 잠근 뒤 파일 트리 변경 API를 트랜잭션 기준으로 넓힌다.