Files
my-v0-server/app/schemas/actions/__init__.py
T
2026-09-23 15:33:28 +08:00

25 lines
750 B
Python

"""动作类型统一入口,新增操作时在这里显式加入联合类型"""
from typing import Annotated
from pydantic import Field, TypeAdapter
from .base import ActionModel, BaseAction
from .move import MoveAction
from .resize import ResizeAction
from .update import UpdateAction
# 按 type 选择对应模型,不维护重复的操作名称映射
Action = Annotated[MoveAction | ResizeAction | UpdateAction, Field(discriminator="type")]
action_adapter = TypeAdapter(Action)
class ActionBatch(ActionModel):
actions: list[Action] = Field(description="按数组顺序执行的动作列表,允许为空")
__all__ = [
"Action", "ActionBatch", "BaseAction", "MoveAction", "ResizeAction",
"UpdateAction", "action_adapter",
]