🔐 Permission System Consistency:
- 수신함/관리함/폐기함 권한이 있는 사용자는 모든 이슈 조회/처리 가능
- 기존: 조회는 관리자만, 처리는 권한 사용자 → 일관성 부족
- 개선: 조회와 처리 모두 동일한 권한 체계 적용
📋 Issues API Updates:
- GET /api/issues/admin/all: get_current_admin → get_current_user + 권한 체크
- 이슈 관리 관련 페이지 권한 확인 (issues_manage, issues_inbox, issues_management, issues_archive)
- 관리자이거나 해당 권한이 있는 사용자만 접근 가능
🔄 Inbox API Updates:
- 모든 수신함 워크플로우 API: get_current_admin → get_current_user + 페이지 권한 체크
- dispose_issue: 수신함 권한 확인 추가
- review_issue: 수신함 권한 확인 추가
- update_issue_status: 수신함 권한 확인 추가
🎯 Permission Logic:
- 사용자 관리 (auth.py): 관리자 전용 유지 (보안상 중요)
- 이슈 관리: 권한 부여된 사용자 모두 접근 가능
- 수신함 워크플로우: 권한 부여된 사용자 모두 접근 가능
🔧 Technical Implementation:
- check_page_access() 함수로 페이지별 권한 체크
- 관리자는 자동으로 모든 권한 보유
- 일반 사용자는 개별 페이지 권한 확인
🚀 User Experience:
- 권한이 있는 일반 사용자도 수신함에서 이슈 처리 가능
- 일관된 권한 체계로 사용자 혼란 방지
- 관리자와 권한 사용자 동일한 기능 제공
Expected Result:
✅ 수신함 권한이 있는 일반 사용자도 이슈 폐기/검토/상태변경 가능
✅ 이슈 관리 권한이 있는 사용자도 모든 이슈 조회 가능
✅ 권한 시스템 전체적으로 일관성 있게 통일
✅ 사용자 관리만 관리자 전용으로 보안 유지
- 기존 4단계 권한을 admin/user 2단계로 단순화
- 페이지별 세부 접근 권한 관리 시스템 추가
- 부적합 조회 시 일반 사용자는 본인 등록 건만 조회 가능하도록 제한
- 관리자 전용 전체 부적합 조회 API 추가 (/api/issues/admin/all)
Backend Changes:
- models.py: UserPagePermission 모델 추가, UserRole 단순화
- page_permissions.py: 페이지 권한 관리 API 라우터 추가
- auth.py: 사용자 목록 조회 및 비밀번호 초기화 API 추가
- issues.py: 권한별 부적합 조회 제한 로직 구현
- 마이그레이션: 010~012 권한 시스템 관련 DB 스키마 변경
- localStorage와 DB ID 불일치 문제 해결
- 프로젝트별 보고서 시간 필터링 수정
- 일반 사용자에게 일일공수 메뉴 숨김
- 공통 헤더 및 인증 시스템 구현
- 프로젝트별 일일공수 분리 기능 추가 (ProjectDailyWork 모델)
- IssuesAPI에서 project_id 누락 문제 수정
- 사용자 인증 통합 (TokenManager 기반)
- 사진 2장까지 업로드 지원
- 카메라 촬영 + 갤러리 선택 분리
- 이미지 압축 및 최적화 (ImageUtils)
- iPhone .mpo 파일 JPEG 변환 지원
- 카테고리 변경: 치수불량 → 설계미스, 검사미스 추가
- KST 시간대 설정
- URL 해시 처리로 목록관리 페이지 이동 개선
- 로그인 OAuth2 form-data 형식 수정
- 업로드 속도 개선 및 프로그레스바 추가
- 일일 공수 입력 기능
- 부적합 사항 등록 (이미지 선택사항)
- 날짜별 부적합 조회 (시간순 나열)
- 목록 관리 (인라인 편집, 작업시간 확인 버튼)
- 보고서 생성 (총 공수/부적합 시간 분리)
- JWT 인증 및 권한 관리
- Docker 기반 배포 환경 구성