# Task Log: Soft Delete Verification & Restore Implementation

> **일시**: 2026-02-15 22:50
> **태스크 ID**: task00019
> **작성자**: Antigravity High-Code Agent
> **상태**: 완료

---

## 1. 작업 개요
Soft Delete 기능의 검증과 누락된 '문서 복원(Restore)' 기능을 구현합니다. 또한 검색 결과 등에서 삭제된 문서가 노출되지 않는지 확인합니다.

## 2. 현황 분석
- **Soft Delete**: 구현됨 (`handleDelete` -> `isDeleted: true`).
- **Purge**: 구현됨 (`handlePurge` -> API Call).
- **Restore**: **미구현** (UI 및 핸들러 없음). 삭제된 문서를 되살릴 방법이 현재 DB 직접 조작 외엔 없음.
- **Filtering**: `SearchModal.tsx` 등 주요 조회 포인트 점검 필요.

## 3. 작업 계획
1.  [x] **Filtering 검증**: `SearchModal`, `BacklinksPanel` 등에서 `isDeleted != true` 필터 확인.
2.  [x] **Restore 기능 구현**:
    - `DocumentClient.tsx`에 `handleRestore` 추가 (Admin or Author).
    - UI에 '복원' 버튼 추가 (삭제된 문서 상태일 때).
3.  [x] **검증**:
    - 문서 삭제 -> 검색 제외 확인 -> 복원 -> 검색 재노출 확인.

## 4. 상세 구현 내용
### [NEW] `handleRestore` Logic
```typescript
const handleRestore = async () => {
    // Permission check
    await runTransaction(db, async (transaction) => {
        // update isDeleted: false, deletedAt: null, deletedBy: null
    });
}
```
