Skip to content

Asset Edit Action Item Dto

immichpy.client.generated.models.asset_edit_action_item_dto.AssetEditActionItemDto pydantic-model

Bases: BaseModel

AssetEditActionItemDto

Show JSON schema:
{
  "$defs": {
    "AssetEditAction": {
      "description": "Type of edit action to perform",
      "enum": [
        "crop",
        "rotate",
        "mirror"
      ],
      "title": "AssetEditAction",
      "type": "string"
    },
    "AssetEditActionItemDtoParameters": {
      "description": "List of edit actions to apply (crop, rotate, or mirror)",
      "properties": {
        "anyof_schema_1_validator": {
          "anyOf": [
            {
              "$ref": "#/$defs/CropParameters"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "anyof_schema_2_validator": {
          "anyOf": [
            {
              "$ref": "#/$defs/RotateParameters"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "anyof_schema_3_validator": {
          "anyOf": [
            {
              "$ref": "#/$defs/MirrorParameters"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "actual_instance": {
          "default": null,
          "title": "Actual Instance"
        },
        "any_of_schemas": {
          "default": [
            "CropParameters",
            "MirrorParameters",
            "RotateParameters"
          ],
          "items": {
            "type": "string"
          },
          "title": "Any Of Schemas",
          "type": "array",
          "uniqueItems": true
        }
      },
      "title": "AssetEditActionItemDtoParameters",
      "type": "object"
    },
    "CropParameters": {
      "description": "CropParameters",
      "properties": {
        "height": {
          "anyOf": [
            {
              "minimum": 1,
              "type": "number"
            },
            {
              "minimum": 1,
              "type": "integer"
            }
          ],
          "description": "Height of the crop",
          "title": "Height"
        },
        "width": {
          "anyOf": [
            {
              "minimum": 1,
              "type": "number"
            },
            {
              "minimum": 1,
              "type": "integer"
            }
          ],
          "description": "Width of the crop",
          "title": "Width"
        },
        "x": {
          "anyOf": [
            {
              "minimum": 0,
              "type": "number"
            },
            {
              "minimum": 0,
              "type": "integer"
            }
          ],
          "description": "Top-Left X coordinate of crop",
          "title": "X"
        },
        "y": {
          "anyOf": [
            {
              "minimum": 0,
              "type": "number"
            },
            {
              "minimum": 0,
              "type": "integer"
            }
          ],
          "description": "Top-Left Y coordinate of crop",
          "title": "Y"
        }
      },
      "required": [
        "height",
        "width",
        "x",
        "y"
      ],
      "title": "CropParameters",
      "type": "object"
    },
    "MirrorAxis": {
      "description": "Axis to mirror along",
      "enum": [
        "horizontal",
        "vertical"
      ],
      "title": "MirrorAxis",
      "type": "string"
    },
    "MirrorParameters": {
      "description": "MirrorParameters",
      "properties": {
        "axis": {
          "$ref": "#/$defs/MirrorAxis"
        }
      },
      "required": [
        "axis"
      ],
      "title": "MirrorParameters",
      "type": "object"
    },
    "RotateParameters": {
      "description": "RotateParameters",
      "properties": {
        "angle": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "integer"
            }
          ],
          "description": "Rotation angle in degrees",
          "title": "Angle"
        }
      },
      "required": [
        "angle"
      ],
      "title": "RotateParameters",
      "type": "object"
    }
  },
  "description": "AssetEditActionItemDto",
  "properties": {
    "action": {
      "$ref": "#/$defs/AssetEditAction"
    },
    "parameters": {
      "$ref": "#/$defs/AssetEditActionItemDtoParameters"
    }
  },
  "required": [
    "action",
    "parameters"
  ],
  "title": "AssetEditActionItemDto",
  "type": "object"
}

Config:

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

Fields:

action pydantic-field

action: AssetEditAction

Type of edit action to perform

from_dict classmethod

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

Create an instance of AssetEditActionItemDto from a dict

Source code in immichpy/client/generated/models/asset_edit_action_item_dto.py
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
@classmethod
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
    """Create an instance of AssetEditActionItemDto from a dict"""
    if obj is None:
        return None

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

    _obj = cls.model_validate(
        {
            "action": obj.get("action"),
            "parameters": AssetEditActionItemDtoParameters.from_dict(
                obj["parameters"]
            )
            if obj.get("parameters") is not None
            else None,
        }
    )
    return _obj

from_json classmethod

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

Create an instance of AssetEditActionItemDto from a JSON string

Source code in immichpy/client/generated/models/asset_edit_action_item_dto.py
53
54
55
56
@classmethod
def from_json(cls, json_str: str) -> Optional[Self]:
    """Create an instance of AssetEditActionItemDto 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/asset_edit_action_item_dto.py
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
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 parameters
    if self.parameters:
        _dict["parameters"] = self.parameters.to_dict()
    return _dict

to_json

to_json() -> str

Returns the JSON representation of the model using alias

Source code in immichpy/client/generated/models/asset_edit_action_item_dto.py
48
49
50
51
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/asset_edit_action_item_dto.py
44
45
46
def to_str(self) -> str:
    """Returns the string representation of the model using alias"""
    return pprint.pformat(self.model_dump(by_alias=True))