Skip to content

Workflow Update Dto

immichpy.client.generated.models.workflow_update_dto.WorkflowUpdateDto pydantic-model

Bases: BaseModel

WorkflowUpdateDto

Show JSON schema:
{
  "$defs": {
    "PluginTriggerType": {
      "description": "Trigger type",
      "enum": [
        "AssetCreate",
        "PersonRecognized"
      ],
      "title": "PluginTriggerType",
      "type": "string"
    },
    "WorkflowActionItemDto": {
      "description": "WorkflowActionItemDto",
      "properties": {
        "actionConfig": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Action configuration",
          "title": "Actionconfig"
        },
        "pluginActionId": {
          "description": "Plugin action ID",
          "format": "uuid",
          "title": "Pluginactionid",
          "type": "string"
        }
      },
      "required": [
        "pluginActionId"
      ],
      "title": "WorkflowActionItemDto",
      "type": "object"
    },
    "WorkflowFilterItemDto": {
      "description": "WorkflowFilterItemDto",
      "properties": {
        "filterConfig": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Filter configuration",
          "title": "Filterconfig"
        },
        "pluginFilterId": {
          "description": "Plugin filter ID",
          "format": "uuid",
          "title": "Pluginfilterid",
          "type": "string"
        }
      },
      "required": [
        "pluginFilterId"
      ],
      "title": "WorkflowFilterItemDto",
      "type": "object"
    }
  },
  "description": "WorkflowUpdateDto",
  "properties": {
    "actions": {
      "anyOf": [
        {
          "items": {
            "$ref": "#/$defs/WorkflowActionItemDto"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Workflow actions",
      "title": "Actions"
    },
    "description": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Workflow description",
      "title": "Description"
    },
    "enabled": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Workflow enabled",
      "title": "Enabled"
    },
    "filters": {
      "anyOf": [
        {
          "items": {
            "$ref": "#/$defs/WorkflowFilterItemDto"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Workflow filters",
      "title": "Filters"
    },
    "name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Workflow name",
      "title": "Name"
    },
    "triggerType": {
      "anyOf": [
        {
          "$ref": "#/$defs/PluginTriggerType"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Workflow trigger type"
    }
  },
  "title": "WorkflowUpdateDto",
  "type": "object"
}

Config:

  • populate_by_name: True
  • validate_assignment: True
  • protected_namespaces: ()

Fields:

actions pydantic-field

actions: Optional[List[WorkflowActionItemDto]] = None

Workflow actions

description pydantic-field

description: Optional[StrictStr] = None

Workflow description

enabled pydantic-field

enabled: Optional[StrictBool] = None

Workflow enabled

filters pydantic-field

filters: Optional[List[WorkflowFilterItemDto]] = None

Workflow filters

name pydantic-field

name: Optional[StrictStr] = None

Workflow name

trigger_type pydantic-field

trigger_type: Optional[PluginTriggerType] = None

Workflow trigger type

from_dict classmethod

from_dict(obj: Optional[Dict[str, Any]]) -> Optional[Self]

Create an instance of WorkflowUpdateDto from a dict

Source code in immichpy/client/generated/models/workflow_update_dto.py
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
@classmethod
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
    """Create an instance of WorkflowUpdateDto from a dict"""
    if obj is None:
        return None

    if not isinstance(obj, dict):
        return cls.model_validate(obj)

    _obj = cls.model_validate(
        {
            "actions": [
                WorkflowActionItemDto.from_dict(_item) for _item in obj["actions"]
            ]
            if obj.get("actions") is not None
            else None,
            "description": obj.get("description"),
            "enabled": obj.get("enabled"),
            "filters": [
                WorkflowFilterItemDto.from_dict(_item) for _item in obj["filters"]
            ]
            if obj.get("filters") is not None
            else None,
            "name": obj.get("name"),
            "triggerType": obj.get("triggerType"),
        }
    )
    return _obj

from_json classmethod

from_json(json_str: str) -> Optional[Self]

Create an instance of WorkflowUpdateDto from a JSON string

Source code in immichpy/client/generated/models/workflow_update_dto.py
75
76
77
78
@classmethod
def from_json(cls, json_str: str) -> Optional[Self]:
    """Create an instance of WorkflowUpdateDto from a JSON string"""
    return cls.from_dict(json.loads(json_str))

to_dict

to_dict() -> Dict[str, Any]

Return the dictionary representation of the model using alias.

This has the following differences from calling pydantic's self.model_dump(by_alias=True):

  • None is only added to the output dict for nullable fields that were set at model initialization. Other fields with value None are ignored.
Source code in immichpy/client/generated/models/workflow_update_dto.py
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
def to_dict(self) -> Dict[str, Any]:
    """Return the dictionary representation of the model using alias.

    This has the following differences from calling pydantic's
    `self.model_dump(by_alias=True)`:

    * `None` is only added to the output dict for nullable fields that
      were set at model initialization. Other fields with value `None`
      are ignored.
    """
    excluded_fields: Set[str] = set([])

    _dict = self.model_dump(
        by_alias=True,
        exclude=excluded_fields,
        exclude_none=True,
    )
    # override the default output from pydantic by calling `to_dict()` of each item in actions (list)
    _items = []
    if self.actions:
        for _item_actions in self.actions:
            if _item_actions:
                _items.append(_item_actions.to_dict())
        _dict["actions"] = _items
    # override the default output from pydantic by calling `to_dict()` of each item in filters (list)
    _items = []
    if self.filters:
        for _item_filters in self.filters:
            if _item_filters:
                _items.append(_item_filters.to_dict())
        _dict["filters"] = _items
    return _dict

to_json

to_json() -> str

Returns the JSON representation of the model using alias

Source code in immichpy/client/generated/models/workflow_update_dto.py
70
71
72
73
def to_json(self) -> str:
    """Returns the JSON representation of the model using alias"""
    # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
    return json.dumps(self.to_dict())

to_str

to_str() -> str

Returns the string representation of the model using alias

Source code in immichpy/client/generated/models/workflow_update_dto.py
66
67
68
def to_str(self) -> str:
    """Returns the string representation of the model using alias"""
    return pprint.pformat(self.model_dump(by_alias=True))