Skip to content

Shared Link Edit Dto

Bases: BaseModel

SharedLinkEditDto

Show JSON schema:
{
  "description": "SharedLinkEditDto",
  "properties": {
    "allowDownload": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Allow downloads",
      "title": "Allowdownload"
    },
    "allowUpload": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Allow uploads",
      "title": "Allowupload"
    },
    "changeExpiryTime": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Whether to change the expiry time. Few clients cannot send null to set the expiryTime to never. Setting this flag and not sending expiryAt is considered as null instead. Clients that can send null values can ignore this.",
      "title": "Changeexpirytime"
    },
    "description": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Link description",
      "title": "Description"
    },
    "expiresAt": {
      "anyOf": [
        {
          "format": "date-time",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Expiration date",
      "title": "Expiresat"
    },
    "password": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Link password",
      "title": "Password"
    },
    "showMetadata": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Show metadata",
      "title": "Showmetadata"
    },
    "slug": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Custom URL slug",
      "title": "Slug"
    }
  },
  "title": "SharedLinkEditDto",
  "type": "object"
}

Config:

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

Fields:

allow_download: Optional[StrictBool] = None

Allow downloads

allow_upload: Optional[StrictBool] = None

Allow uploads

change_expiry_time: Optional[StrictBool] = None

Whether to change the expiry time. Few clients cannot send null to set the expiryTime to never. Setting this flag and not sending expiryAt is considered as null instead. Clients that can send null values can ignore this.

description: Optional[StrictStr] = None

Link description

expires_at: Optional[datetime] = None

Expiration date

password: Optional[StrictStr] = None

Link password

show_metadata: Optional[StrictBool] = None

Show metadata

slug: Optional[StrictStr] = None

Custom URL slug

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

Create an instance of SharedLinkEditDto from a dict

Source code in immichpy/client/generated/models/shared_link_edit_dto.py
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
@classmethod
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
    """Create an instance of SharedLinkEditDto from a dict"""
    if obj is None:
        return None

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

    _obj = cls.model_validate(
        {
            "allowDownload": obj.get("allowDownload"),
            "allowUpload": obj.get("allowUpload"),
            "changeExpiryTime": obj.get("changeExpiryTime"),
            "description": obj.get("description"),
            "expiresAt": obj.get("expiresAt"),
            "password": obj.get("password"),
            "showMetadata": obj.get("showMetadata"),
            "slug": obj.get("slug"),
        }
    )
    return _obj
from_json(json_str: str) -> Optional[Self]

Create an instance of SharedLinkEditDto from a JSON string

Source code in immichpy/client/generated/models/shared_link_edit_dto.py
79
80
81
82
@classmethod
def from_json(cls, json_str: str) -> Optional[Self]:
    """Create an instance of SharedLinkEditDto from a JSON string"""
    return cls.from_dict(json.loads(json_str))
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/shared_link_edit_dto.py
 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
112
113
114
115
116
117
118
119
120
121
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,
    )
    # set to None if description (nullable) is None
    # and model_fields_set contains the field
    if self.description is None and "description" in self.model_fields_set:
        _dict["description"] = None

    # set to None if expires_at (nullable) is None
    # and model_fields_set contains the field
    if self.expires_at is None and "expires_at" in self.model_fields_set:
        _dict["expiresAt"] = None

    # set to None if password (nullable) is None
    # and model_fields_set contains the field
    if self.password is None and "password" in self.model_fields_set:
        _dict["password"] = None

    # set to None if slug (nullable) is None
    # and model_fields_set contains the field
    if self.slug is None and "slug" in self.model_fields_set:
        _dict["slug"] = None

    return _dict
to_json() -> str

Returns the JSON representation of the model using alias

Source code in immichpy/client/generated/models/shared_link_edit_dto.py
74
75
76
77
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() -> str

Returns the string representation of the model using alias

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