初始化

This commit is contained in:
lhx
2025-09-26 15:58:32 +08:00
commit fe73da9cf5
45 changed files with 1075 additions and 0 deletions

14
app/schemas/__init__.py Normal file
View File

@@ -0,0 +1,14 @@
from .account import (
AccountBase, AccountCreate, AccountUpdate, AccountResponse,
AccountListRequest, AccountGetRequest, AccountUpdateRequest, AccountDeleteRequest
)
from .database import SQLExecuteRequest, SQLExecuteResponse, TableDataRequest, TableDataResponse, CreateTableRequest, ImportDataRequest
from .task import JobResponse, AddCronJobRequest, AddIntervalJobRequest, AddDateJobRequest, TaskResponse
__all__ = [
"AccountBase", "AccountCreate", "AccountUpdate", "AccountResponse",
"AccountListRequest", "AccountGetRequest", "AccountUpdateRequest", "AccountDeleteRequest",
"SQLExecuteRequest", "SQLExecuteResponse", "TableDataRequest",
"TableDataResponse", "CreateTableRequest", "ImportDataRequest",
"JobResponse", "AddCronJobRequest", "AddIntervalJobRequest", "AddDateJobRequest", "TaskResponse"
]

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

42
app/schemas/account.py Normal file
View File

@@ -0,0 +1,42 @@
from pydantic import BaseModel
from typing import Optional
from datetime import datetime
class AccountBase(BaseModel):
account: str
password: str
status: Optional[int] = 1
today_updated: Optional[int] = 0
section: Optional[str] = None
class AccountCreate(AccountBase):
pass
class AccountUpdate(BaseModel):
account: Optional[str] = None
password: Optional[str] = None
status: Optional[int] = None
today_updated: Optional[int] = None
section: Optional[str] = None
class AccountResponse(AccountBase):
id: int
created_at: datetime
updated_at: datetime
class Config:
from_attributes = True
class AccountListRequest(BaseModel):
skip: Optional[int] = 0
limit: Optional[int] = 100
class AccountGetRequest(BaseModel):
account_id: int
class AccountUpdateRequest(BaseModel):
account_id: int
account_data: AccountUpdate
class AccountDeleteRequest(BaseModel):
account_id: int

31
app/schemas/database.py Normal file
View File

@@ -0,0 +1,31 @@
from pydantic import BaseModel
from typing import Any, Dict, List, Optional
class SQLExecuteRequest(BaseModel):
sql: str
class SQLExecuteResponse(BaseModel):
success: bool
message: str
data: Optional[Any] = None
rows_affected: Optional[int] = None
class TableDataRequest(BaseModel):
table_name: str
limit: Optional[int] = 100
offset: Optional[int] = 0
class TableDataResponse(BaseModel):
success: bool
message: str
data: Optional[List[Dict[str, Any]]] = None
total_count: Optional[int] = None
class CreateTableRequest(BaseModel):
table_name: str
columns: Dict[str, str] # 列名: 数据类型
primary_key: Optional[str] = None
class ImportDataRequest(BaseModel):
table_name: str
data: List[Dict[str, Any]]

41
app/schemas/task.py Normal file
View File

@@ -0,0 +1,41 @@
from pydantic import BaseModel
from typing import Optional, List, Dict, Any
from datetime import datetime
class JobResponse(BaseModel):
id: str
name: Optional[str] = None
func: str
trigger: str
next_run_time: Optional[datetime] = None
class AddCronJobRequest(BaseModel):
job_id: str
func_name: str
cron_expression: Optional[str] = None
year: Optional[int] = None
month: Optional[int] = None
day: Optional[int] = None
week: Optional[int] = None
day_of_week: Optional[int] = None
hour: Optional[int] = None
minute: Optional[int] = None
second: Optional[int] = None
class AddIntervalJobRequest(BaseModel):
job_id: str
func_name: str
seconds: Optional[int] = None
minutes: Optional[int] = None
hours: Optional[int] = None
days: Optional[int] = None
class AddDateJobRequest(BaseModel):
job_id: str
func_name: str
run_date: datetime
class TaskResponse(BaseModel):
success: bool
message: str
data: Optional[Any] = None