# 관리자 운영

역할은 `user`, `moderator`, `admin`입니다. 모더레이터는 검수와 신고를 처리합니다. 크레딧 정정, 정책, 역할, 배너·약관 수정은 관리자만 합니다.

## 계정

```bash
php artisan vibepeer:make-admin ops@example.com
```

비밀번호는 명령 출력에만 나옵니다. 저장소나 채팅에 남기지 마세요. 로그인 후 설정에서 TOTP를 켜면 다음 로그인부터 코드가 필요합니다.

## 매일 볼 곳

1. `/admin` 대기 앱, 대기 피드백, 열린 신고, 원장 불일치
2. 피드백 승인 시 보상 지급과 공개만 하기를 구분
3. 중복 플래그가 있으면 이미지를 직접 보고, 해제한 뒤에만 보상
4. 승인 취소는 역거래입니다. 잔액이 모자라면 부채가 생깁니다
5. 앱 거절·철회는 예약을 되돌립니다. 이미 공개된 글을 숨겨도 사용한 크레딧을 자동 환불하지 않습니다
6. 신고를 처리하면 신고자에게 상태만 알립니다. 상대 개인정보는 넣지 않습니다
7. 소유자 배지는 별도 확인 기록이 있을 때만 붙입니다

## 정책

`/admin/settings`에서 저장하면 새 정책 버전이 생깁니다. 예전에 지급된 3크레딧은 비율을 5로 바꿔도 3으로 남습니다. 대표 도메인은 이 화면에 없습니다.

사이트가 비어 첫 앱을 올릴 수 없으면 `require_approved_feedback_before_first_post`를 잠시 끄고, 기준에 맞는 소개글을 공개한 뒤 다시 켜세요.

## 유지보수

```bash
php artisan vibepeer:maintain purge-evidence
php artisan vibepeer:maintain reconcile
php artisan vibepeer:maintain reconcile --fix
php artisan vibepeer:maintain rankings
php artisan vibepeer:maintain orphans
php artisan vibepeer:maintain reservations
php artisan vibepeer:maintain digest
```

`--fix` 없는 `reconcile`은 차이만 보여 줍니다. 스케줄이 같은 작업을 나누어 실행합니다. 실패한 큐 작업은 감사 화면에서 다시 넣을 수 있습니다.

## 회원 탈퇴

설정에서 삭제하면 이메일과 이름을 지우고 상태는 탈퇴가 됩니다. 공개 소개글은 남고 표시 이름은 “탈퇴한 회원”입니다. 원장은 삭제하지 않습니다.
