1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
|
from typing import (
Optional,
Union,
)
from pydantic import BaseModel
from typing_extensions import Literal
from galaxy.tool_util_models import (
DynamicToolSources,
UserToolSource,
)
class BaseDynamicToolCreatePayload(BaseModel):
active: Optional[bool] = None
hidden: Optional[bool] = None
class DynamicToolCreatePayload(BaseDynamicToolCreatePayload):
src: Literal["representation"] = "representation"
representation: DynamicToolSources
active: Optional[bool] = True
hidden: Optional[bool] = False
class DynamicUnprivilegedToolCreatePayload(DynamicToolCreatePayload):
representation: UserToolSource
class PathBasedDynamicToolCreatePayload(BaseDynamicToolCreatePayload):
src: Literal["from_path"]
path: str
tool_directory: Optional[str] = None
DynamicToolPayload = Union[DynamicToolCreatePayload, PathBasedDynamicToolCreatePayload]
|