diff --git a/app/api/documents.py b/app/api/documents.py index d786ee9..c8d2de9 100644 --- a/app/api/documents.py +++ b/app/api/documents.py @@ -402,7 +402,7 @@ async def upload_document( library_path: str | None = Form(None, description="자료실 경로 (자동 @library/ 태깅)"), ): """파일 업로드 → Inbox 저장 + DB 등록 + 처리 큐 등록""" - from core.library import LIBRARY_PREFIX, normalize_library_path + from core.library import DEFAULT_LIBRARY_PATH, LIBRARY_PREFIX, normalize_library_path # doc_purpose 검증 if doc_purpose is not None: @@ -421,6 +421,10 @@ async def upload_document( except ValueError as e: raise HTTPException(status_code=400, detail=f"잘못된 자료실 경로: {e}") + # 자료실 업로드인데 경로 미지정 → 미분류 자동 태깅 + if doc_purpose == "business" and not library_tag: + library_tag = f"{LIBRARY_PREFIX}{DEFAULT_LIBRARY_PATH}" + if not file.filename: raise HTTPException(status_code=400, detail="파일명이 필요합니다") diff --git a/app/core/library.py b/app/core/library.py index 5d32dda..19be47b 100644 --- a/app/core/library.py +++ b/app/core/library.py @@ -4,6 +4,7 @@ user_tags 내 @library/ 접두사 태그를 정규화·검증·추출한다. """ LIBRARY_PREFIX = "@library/" +DEFAULT_LIBRARY_PATH = "미분류" MAX_DEPTH = 5 MAX_SEGMENT_LEN = 30 diff --git a/frontend/src/routes/library/+page.svelte b/frontend/src/routes/library/+page.svelte index bdb6063..afd35a9 100644 --- a/frontend/src/routes/library/+page.svelte +++ b/frontend/src/routes/library/+page.svelte @@ -42,6 +42,7 @@ ]; const ODF_FORMATS = ['ods', 'odt', 'odp', 'odoc', 'osheet']; + const DEFAULT_LIBRARY_PATH = '미분류'; // ─── 데이터 로드 ─── @@ -198,7 +199,7 @@ const formData = new FormData(); formData.append('file', file); formData.append('doc_purpose', 'business'); - if (activePath) formData.append('library_path', activePath); + formData.append('library_path', activePath || DEFAULT_LIBRARY_PATH); try { await api('/documents/', { method: 'POST', body: formData }); success++;