add action templates

This commit is contained in:
jxxghp
2025-02-16 13:45:15 +08:00
parent 21ae36bc3a
commit 0b7cf305a0
4 changed files with 18 additions and 2 deletions

View File

View File

@@ -20,3 +20,4 @@ from .exception import *
from .system import *
from .event import *
from .workflow import *
from .download import *

12
app/schemas/download.py Normal file
View File

@@ -0,0 +1,12 @@
from typing import Optional
from pydantic import BaseModel, Field
class DownloadTask(BaseModel):
"""
下载任务
"""
download_id: Optional[str] = Field(None, description="任务ID")
downloader: Optional[str] = Field(None, description="下载器")
completed: Optional[bool] = Field(False, description="是否完成")

View File

@@ -2,7 +2,7 @@ from typing import Optional, List, Tuple
from pydantic import BaseModel, Field
from app.schemas import Context, MediaInfo, FileItem, Site, Subscribe, Notification
from app.schemas import Context, MediaInfo, FileItem, Site, Subscribe, Notification, DownloadTask
class Workflow(BaseModel):
@@ -27,6 +27,9 @@ class Action(BaseModel):
"""
name: Optional[str] = Field(None, description="动作名称")
description: Optional[str] = Field(None, description="动作描述")
loop: Optional[bool] = Field(False, description="是否需要循环")
loop_interval: Optional[int] = Field(0, description="循环间隔 (秒)")
params: Optional[dict] = Field({}, description="参数")
class ActionContext(BaseModel):
@@ -37,7 +40,7 @@ class ActionContext(BaseModel):
torrents: Optional[List[Context]] = Field([], description="资源列表")
medias: Optional[List[MediaInfo]] = Field([], description="媒体列表")
fileitems: Optional[List[FileItem]] = Field([], description="文件列表")
downloads: Optional[List[Tuple[str, str]]] = Field([], description="下载任务列表")
downloads: Optional[List[DownloadTask]] = Field([], description="下载任务列表")
sites: Optional[List[Site]] = Field([], description="站点列表")
subscribes: Optional[List[Subscribe]] = Field([], description="订阅列表")
messages: Optional[List[Notification]] = Field([], description="消息列表")