Backend API Contract

백엔드 API는 설정, 인증, 소유권, 트랜잭션을 한 흐름으로 검증한다

ConfigModule, TypeORM, Passport-JWT, 프로젝트 서비스가 같은 사용자 기준으로 이어져야 파일 작업이 안전하다.

01config

DB와 JWT secret이 시작 시점에 검증된다.

02signup

비밀번호는 해시로 저장된다.

03login

JWT payload가 userId를 담는다.

04guard

req.user가 보호 API에 전달된다.

05owner

projectId와 userId를 함께 조회한다.

06tree

폴더/파일 변경은 트랜잭션으로 묶인다.

경계 정합성 조건 막는 문제 확인 방법
인증AuthGuard 모든 프로젝트 API에 req.user 필요 익명 사용자의 데이터 접근 토큰 없이 401
권한ownerId findProjectById(projectId, userId) 다른 사용자 파일 열람 cross-user 403/404
삭제transaction 하위 파일과 폴더를 함께 처리 고아 레코드와 부분 삭제 실패 시 rollback

테스트 순서: 회원가입, 로그인, 프로필 조회, 프로젝트 생성, 파일 생성, 파일 내용 업데이트가 같은 access token으로 이어지는지 본다.