Files
GX-gp-notify/app/models/schemas.py
T
v6ole 7455d7e426 chore: ruff 代码检查与修复
130 issues auto-fixed (import ordering, UP045/UP006 type annotations),
33 issues manually fixed (E712/E501/E402/E722 + N818 rename + per-file
wechat ignore for N8xx naming conventions). All 33 tests pass.
2026-05-09 14:28:09 +08:00

57 lines
1.0 KiB
Python

from datetime import datetime
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: list[str] | None = None
sources: list[str] | None = None
manual: bool = False
class CrawlStatusResponse(BaseModel):
running: bool
last_crawl_time: datetime | None = 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: str | None = None