feat: 添加 SQLAlchemy 模型 + Alembic 数据库迁移

This commit is contained in:
2026-05-09 13:35:08 +08:00
parent 1cdd0bcab1
commit a994dc5f53
9 changed files with 513 additions and 0 deletions
+56
View File
@@ -0,0 +1,56 @@
from datetime import datetime
from typing import Optional
from pydantic import BaseModel
class AnnouncementResponse(BaseModel):
id: int
title: str
publish_date: datetime
purchase_name: str
content_url: str
source_code: str
source_name: str
announcement_type: str
crawl_mode: str
is_new: bool
is_sent: bool
keyword_matched: bool
created_at: datetime
model_config = {"from_attributes": True}
class AnnouncementListResponse(BaseModel):
total: int
page: int
page_size: int
items: list[AnnouncementResponse]
class CrawlTriggerRequest(BaseModel):
keywords: Optional[list[str]] = None
sources: Optional[list[str]] = None
manual: bool = False
class CrawlStatusResponse(BaseModel):
running: bool
last_crawl_time: Optional[datetime] = None
total_sources: int
class SourceInfo(BaseModel):
code: str
name: str
type: str
class SourcesResponse(BaseModel):
sources: list[SourceInfo]
class JobResponse(BaseModel):
id: str
name: str
next_run_time: Optional[str] = None