# schemas.py
from __future__ import annotations
from pydantic import BaseModel, Field, RootModel
from datetime import datetime
from typing import Dict, Any, Optional, List, Tuple
JsonDict = Dict[str, Any]
# -------------- api / queue ------------------
[文档]class EnqueueRequest(RootModel):
root: Dict[str, Any]
[文档]class EnqueueResponse(BaseModel):
flag: str
message: str
result: Dict[str, Any]
[文档]class QueueItem(BaseModel):
id: str
priority: int
[文档]class QueueStateResult(BaseModel):
running: List[Dict[str, Any]]
pending: List[Dict[str, Any]]
dispatched: List[Dict[str, Any]] = []
[文档]class QueueStateResponse(BaseModel):
flag: str
message: str
result: QueueStateResult
[文档]class HistoryItem(BaseModel):
items: List[Dict[str, Any]]
total: int
[文档]class HistoryResponse(BaseModel):
flag: str
message: str
result: HistoryItem
[文档]class ProgressPayload(BaseModel):
type: str
data: Dict[str, Any]
[文档]class NodeListResponse(BaseModel):
flag: str
message: str
result: Dict[str, Any]
[文档]class WorkFlowListResponse(BaseModel):
flag: str
message: str
result: list[dict]
[文档]class WorkFlowSaveResponse(BaseModel):
flag: str
message: str
result: Dict[str, str]
[文档]class WorkFlowLoadResponse(BaseModel):
flag: str
message: str
result: Dict[str, Any]
[文档]class TemplateDirListResponse(BaseModel):
flag: str
message: str
result: list[str]
[文档]class TemplateJsonListResponse(BaseModel):
flag: str
message: str
result: list[dict]
[文档]class TemplateLoadResponse(BaseModel):
flag: str
message: str
result: Dict[str, Any]
[文档]class TemplateDownloadRequest(BaseModel):
flag: str
message: str
result: Dict[str, Any]
[文档]class TemplateDownloadResponse(BaseModel):
flag: str
message: str
result: Dict[str, Any]
[文档]class WorkFlowDeleteResponse(BaseModel):
flag: str
message: str
[文档]class UploadResponse(BaseModel):
flag: str
message: str
result: Dict[str, Any]
[文档]class DeleteResponse(BaseModel):
flag: str
message: str
[文档]class FileListResponse(BaseModel):
flag: str
message: str
result: list[Dict]
[文档]class FileInfoResponse(BaseModel):
flag: str
message: str
result: dict
[文档]class PreviewPayload(BaseModel):
type: Literal["preview"]
data: Dict[str, Any]
[文档]class ParamTypeResponse(BaseModel):
flag: str
message: str
result: Dict[str, Any]
[文档]class WsPreviewPayload(BaseModel):
type: str
result: str
UploadResponse.model_rebuild()