Make admin quotas editable and simplify uploader storage
This commit is contained in:
@@ -210,3 +210,12 @@
|
||||
- 계정 삭제는 이메일 확인·관리자 보호·일반 계정 거절을 적용하고 개인정보/자격 증명 익명화·세션/토큰 폐기·보관함 접근권 제거·대기 중 계정 전송 취소를 수행한다. 다른 수신자가 참조하는 실제 파일은 삭제하지 않고 다운로드가 유지된다. 비밀번호 검증 중 계정 삭제와 겹쳐도 로그인 성공 세션을 발급하지 않도록 최신 상태를 다시 확인한다. 사용자 기능은 평소 더보기 안에만 표시한다.
|
||||
- API 전체 139개와 마지막 내부 health 예외를 포함한 네트워크 8개·전체 빌드/타입 검사·포맷 검사를 통과했다. 실제 Chromium에서 네트워크 모달/선택 제거·화이트리스트·로그인 실패 자동 차단 목록/해제·국가 코드 표시·변경 기록 선택/전체 삭제·사용자 더보기 재설정/삭제와 PC/390px 모바일을 확인했다. 기존 계정 가입/인증/보관함·일반 텍스트/링크/파일 전송의 브라우저 회귀도 통과했다.
|
||||
- 최종 운영 Docker에서 새 테이블 자동 마이그레이션, 화이트리스트·자동 차단 IP·사용자 접속·변경 필드 기록의 재시작 보존, 기존 계정 쿠키·자료·Unicode 텍스트·8MiB 부분 조각 이어 보내기·SQLite integrity·호스트 바인드 수동 삭제를 확인했다. 실제 Resend 메일과 NAS 운영 데이터·Cloudflare 설정은 사용하지 않고 격리 자원/메일 대역으로 검증했다. 운영 `docker-compose.yaml`은 변경하지 않았다.
|
||||
|
||||
## 2026-10-15 관리자 수정 모드·실시간 용량 정책·업로더 표시
|
||||
|
||||
- 용량/네트워크는 기본적으로 값과 표만 보여준다. 수정 버튼으로 입력/토글/규칙 추가·제거를 열고 저장/취소로 종료한다. 취소가 서버를 변경하지 않고 반올림된 GB를 수정하지 않으면 기존 바이트 값을 유지함을 실제 Chromium PC/390px 모바일에서 확인했다. 설정 리비전 충돌 검사는 유지한다. 목록 검색·명시적 자동 차단 해제·사용자 더보기 동작은 그대로 제공한다.
|
||||
- 계정별 보관함·기기 세션별/전체 업로드·파일 한 개·NAS 최소 여유 공간도 관리자 설정으로 저장한다. `.env`는 새 필드의 최초 기본값에만 사용하고 기존 관리 설정과 계정은 보존한다. 실제 파일 요청·공간 예약·보관함 수신 정책·사용량 응답에 즉시 적용하며 변경분만 관리 기록에 남긴다. 수락해 예약한 업로드는 한도를 낮춘 뒤에도 직접 업로드와 8MiB 조각 이어 보내기를 완료한다. 요청한 파일 크기를 넘기는 본문과 잘못된 수치는 거절한다.
|
||||
- IPv4 뒤쪽 전체 자리 와일드카드를 양쪽 목록에서 지원하고 `203.0.113.*`를 `203.0.113.0/24`로 저장한다. `/8`·`/16`·`/24`·전체 대역 정규화, 중복 제거, 경계 IP의 허용/거절, 불연속/부분 자리/IPv6 와일드카드 거절과 관리자 자신 차단 방지를 검증했다.
|
||||
- 새 파일 폴더는 `originals/업로더UUID/`이다. 관리 목록은 기기명을 생략하고 UUID + 계정 이메일 또는 비로그인을 표시한다. 계정 이메일은 관리자 API에서 DB의 업로더 계정으로 조회하며 일반 전송 API에 추가하지 않는다. 기존 prefix 폴더를 강제로 옮기는 새 이관 기능은 추가하지 않았다.
|
||||
- 출시 전 자료를 비워도 된다는 운영자 요청에 맞춰 별도 오프라인 초기화 도구를 준비했다. 서비스 실행 중 실행을 막는 NAS 래퍼를 사용하며 전송/보관함/기기 세션만 DB 트랜잭션으로 비운다. 격리 DB와 실제 Docker DB 볼륨에서 계정·비밀번호·인증/로그인 세션·사용자 정보·관리 설정을 그대로 보존하고 외래 키/SQLite integrity를 확인했다. uploads의 내용은 운영자가 서비스 중지 상태에서 직접 삭제한다. NAS 운영 DB나 파일은 여기서 초기화하지 않았다.
|
||||
- 전체 API 144개, 관리자 PC/모바일 브라우저, 타입 검사와 빌드를 통과했다. 운영 이미지의 격리 Docker에서 설정/파일/텍스트/인증 재시작 보존, 8MiB 조각 재개, UUID 경로·NAS UID·호스트 수동 삭제 대응, 오프라인 기록 초기화 후 계정/관리 설정 보존과 재시작을 통과했다. 테스트 자원은 종료 후 제거했고 운영 Compose 설정은 변경하지 않았다.
|
||||
|
||||
Reference in New Issue
Block a user