Files
eomsangdonandClaude Opus 5 eb30b774f8 chore(docs): docs 폴더 git 추적 전환 · PLAN·OWNERS 최상위 이관
- `docs/` 를 .gitignore 에서 빼 git 추적 대상으로 전환 (위키·완료 이력·검증 기록)
- `docs/raw/PLAN.md` · `docs/raw/OWNERS.md` 를 저장소 최상위로 이동 후 .gitignore 에 등록
  — 창끼리 공유하되 저장소에는 안 올리는 장부
- 살아 있는 경로 참조 7개 파일 정정 (아카이브 107건은 그때 사실이라 그대로 둠)
- graphify 날짜별 산출물(`docs/wiki/graphify-out/20*/`) 제외 — `graphify update` 가 다시 만듦

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-09 18:19:07 +09:00

34 lines
2.0 KiB
Markdown

---
type: concept
status: stable
page_id: concept_temp_upload
related_pages: ["[[B01_Dashboard/B01_frontend]]", "[[B03_FileInput/B03_backend]]", "[[B03_FileInput/B03_frontend]]", "[[architecture/shared_resources]]"]
last_updated: 2026-08-08
source: docs/raw/verification/2026-08-08_verify_R1_R2_features.md
---
# Temp Upload (프로젝트 생성 전 임시 보관함)
R2 요구사항에 따른 프로젝트 생성 전 라이다/설계 자료 임시 보관 및 관리 기능 명세.
## 주요 개념 및 스펙
- **DB 테이블**: `temp_upload_batches` (임시 보관 묶음/그룹), `temp_upload_files` (보관 파일), `upload_sessions` (`project_id` NULL 허용 완화 및 `temp_batch_id` 연결).
- **만료 관리**: 30일 경과 만료 보관 자료 자동 삭제 정리 (`common_util_temp_cleanup.py``lifespan` 주기 루프).
- **영구 저장소 연동**: B03 파일 입력에서 [임시 보관함에서 불러오기] 선택 시 `attach` API 호출을 통해 영구 프로젝트 저장소로 이동 및 체인 자동 트리거.
## 주요 구성 요소
| 항목 | 위치 | 역할 |
|---|---|---|
| `010_temp_upload.sql` | `db_management/010_temp_upload.sql` | DB DDL 스크립트 |
| `B03_FileInput_Router_Temp.py` | `B03_FileInput/B03_FileInput_Router_Temp.py` | 임시 보관함 라우터 (묶음/파일 CRUD, attach) |
| `B03_FileInput_Schema_Temp.py` | `B03_FileInput/B03_FileInput_Schema_Temp.py` | Pydantic 스키마 |
| `B03_FileInput_Repository_Temp.py` | `B03_FileInput/B03_FileInput_Repository_Temp.py` | DB Access Repository |
| `common_util_temp_cleanup.py` | `common_util/common_util_temp_cleanup.py` | 만료 보관 자료 자동 삭제 크론/정리 |
| `B01_Dashboard_UI_TempUpload.ts` | `B01_Dashboard/B01_Dashboard_UI_TempUpload.ts` | 대시보드 하단 임시 보관함 표 |
| `B01_Dashboard_UI_TempModal.ts` | `B01_Dashboard/B01_Dashboard_UI_TempModal.ts` | 파일 등록 및 업로드 모달 |
## 사용처
- [[B01_Dashboard/B01_frontend]]
- [[B03_FileInput/B03_backend]]
- [[B03_FileInput/B03_frontend]]