- MenuFavorite 모델 생성 (menu_favorites 테이블)
- SidebarMenuService에 즐겨찾기 CRUD 메서드 추가
- MenuFavoriteController 생성 (toggle/reorder API)
- 사이드바 상단에 즐겨찾기 섹션 표시
- 메뉴 아이템에 별 아이콘 추가 (hover 시 표시, 토글)
- 최대 10개 제한, 리프 메뉴만 대상
- AppServiceProvider와 ViewServiceProvider에서 각각 View::share 호출하여 덮어쓰기 발생
- ViewServiceProvider 한 곳에서 영업+결재 뱃지를 통합 관리하도록 수정
- AppServiceProvider에서 뱃지 로직 제거
- 사이드바: 결재 대기/기안함/참조함 메뉴에 빨간 뱃지 표시
- 헤더: 알림 벨 클릭 시 결재 대기 목록 드롭다운 표시
- 드롭다운: 제목/기안자/양식/긴급 여부/일시 표시, 클릭 시 상세 이동
- 뱃지 건수 60초 자동 갱신 (API: /api/admin/approvals/badge-counts)
- FileObserver: 파일 생성/삭제 시 tenant.storage_used 자동 업데이트
- RecalculateTenantStorageCommand: 기존 데이터 재계산 명령어
- php artisan tenant:recalculate-storage [--tenant=ID] [--dry-run]
- 음수 storage_used 방지 로직 포함
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Morph map에 Post, Department 모델 등록 (ClassMorphViolationException 해결)
- 파일 저장 방식을 API 스타일로 변경 (document_id + document_type)
- 파일 미리보기 라우트 및 메서드 추가 (previewFile)
- 게시글 상세 페이지에서 이미지 첨부파일을 본문 상단에 풀 너비로 표시
- 비이미지 첨부파일은 하단에 다운로드 목록으로 분리
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- AppServiceProvider에 Relation::enforceMorphMap 설정 추가
- tokenable_type을 'user' 별칭으로 통일
- mng에서 생성한 토큰을 api에서 사용 시 500 에러 해결
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- 소프트 삭제된 필드 목록에 표시 (withTrashed)
- 삭제된 필드 시각적 구분 (빨간 배경, '삭제됨' 배지)
- 필드 복원 기능 추가 (restore API)
- 필드 영구 삭제 기능 추가 (forceDelete API)
- 체크박스 선택 및 일괄 삭제 기능 추가
- 시스템 필드 삭제 제한 해제
- 커스텀 모달 적용 (showConfirm, showDeleteConfirm)