Source code for ewoksserver.app.routes.workflows.models

from typing import List, Optional, Dict
from pydantic import BaseModel
from pydantic import Field


[docs]class EwoksWorkflow(BaseModel): graph: Optional[Dict] = Field(title="Workflow attributes", default=None) nodes: Optional[List[Dict]] = Field(title="Node attributes", default=None) links: Optional[List[Dict]] = Field(title="Link attributes", default=None)
[docs]class EwoksWorkflowDescription(BaseModel): id: Optional[str] = Field( title="Workflow identifier unique to the server", default=None ) label: Optional[str] = Field( title="Workflow label for human consumption", default=None ) category: Optional[str] = Field(title="Workflow category", default=None) keywords: Optional[Dict] = Field(title="Workflow search keywords", default=None) input_schema: Optional[Dict] = Field( title="Workflow execute input schema for the frontend", default=None ) ui_schema: Optional[Dict] = Field( title="Workflow execute UI schema for the frontend", default=None )
[docs]class EwoksWorkflowIdentifiers(BaseModel): identifiers: List[str] = Field(title="Workflow identifiers")
[docs]class EwoksWorkflowDescriptions(BaseModel): items: List[EwoksWorkflowDescription] = Field(title="Workflow descriptions")