feat: Phase 1D+2 — 모바일 대응, 스마트 그룹, 메모, 태그 편집

- 모바일: 카드 클릭 시 detail 페이지로 이동 (뷰어 패널 미표시)
- 스마트 그룹: 사이드바에 최근 7일/법령 알림/이메일 프리셋 필터
- 메모: user_note 컬럼 추가 (migration 004), PATCH API, PreviewPanel 인라인 편집
- 태그 편집: PreviewPanel에서 태그 추가(+)/삭제(×) 기능
- DB 모델 + API 스키마 user_note 필드 추가

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Hyungi Ahn
2026-04-03 09:27:18 +09:00
parent 47abf40bf1
commit 17d41a8526
6 changed files with 177 additions and 30 deletions

View File

@@ -36,6 +36,7 @@ class DocumentResponse(BaseModel):
ai_sub_group: str | None
ai_tags: list | None
ai_summary: str | None
user_note: str | None
source_channel: str | None
data_origin: str | None
extracted_at: datetime | None
@@ -60,6 +61,7 @@ class DocumentUpdate(BaseModel):
ai_domain: str | None = None
ai_sub_group: str | None = None
ai_tags: list | None = None
user_note: str | None = None
source_channel: str | None = None
data_origin: str | None = None

View File

@@ -44,6 +44,9 @@ class Document(Base):
embed_model_version: Mapped[str | None] = mapped_column(String(50))
embedded_at: Mapped[datetime | None] = mapped_column(DateTime(timezone=True))
# 사용자 메모
user_note: Mapped[str | None] = mapped_column(Text)
# 메타데이터
source_channel: Mapped[str | None] = mapped_column(
Enum("law_monitor", "devonagent", "email", "web_clip",