Skip to content

dumps

Dump models differ from their Read counterpart in that: * They are directly JSON-able, without any additional encoder. * They may only include a subset of the Read attributes.

These models are used in at least two situations: 1. In the "*_dump" attributes of Job models; 2. In the _DatasetHistoryItem.workflowtask model, to trim its size.

WorkflowTaskDumpV2

Bases: BaseModel

Before v2.5.0, WorkflowTaskV2 could have task_id=task=None and non-None task_legacy_id and task_legacy. Since these objects may still exist in the database after version updates, we are setting task_id and task to Optional to avoid response-validation errors for the endpoints that GET datasets. Ref issue #1783.

Source code in fractal_server/app/schemas/v2/dumps.py
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
class WorkflowTaskDumpV2(BaseModel):
    """
    Before v2.5.0, WorkflowTaskV2 could have `task_id=task=None` and
    non-`None` `task_legacy_id` and `task_legacy`. Since these objects
    may still exist in the database after version updates, we are setting
    `task_id` and `task` to `Optional` to avoid response-validation errors
    for the endpoints that GET datasets.
    Ref issue #1783.
    """

    id: int
    workflow_id: int
    order: Optional[int]

    input_filters: Filters

    task_id: Optional[int]
    task: Optional[TaskDumpV2]