환경 변수와 TypeORM
DATABASE_HOST, DATABASE_NAME,
JWT_SECRET을 로드하고 엔티티 목록을 명시해 앱 시작 시
연결한다.
온라인 코드 에디터 백엔드는 ConfigModule, TypeORM,
Passport-JWT, 프로젝트 서비스가 연결되어 사용자별 프로젝트와 파일
작업을 보호한다.
DATABASE_HOST, DATABASE_NAME,
JWT_SECRET을 로드하고 엔티티 목록을 명시해 앱 시작 시
연결한다.
비밀번호는 bcryptjs로 해싱하고, 로그인 성공 시
sub와 이메일을 담은 JWT를 발급한다.
AuthGuard('jwt')
프로젝트 컨트롤러 전체에 가드를 적용해 req.user가 있는
요청만 파일과 폴더 API에 접근하게 한다.
ownerId 기반 조회
findProjectById(projectId, userId)로 프로젝트 소유자를
함께 확인해 다른 사용자의 파일을 열지 못하게 한다.
하위 파일과 폴더를 함께 지울 때 하나라도 실패하면 전체를 롤백해 파일만 사라지는 상태를 막는다.
정합성 유지