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"
    },
    "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",
      "examples": [
        "2024-01-01T00:00:00Z"
      ],
      "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:

  • validate_by_name: True
  • validate_by_alias: True
  • validate_assignment: True
  • protected_namespaces: ()

Fields:

Validators:

allow_download: Optional[StrictBool] = None

Allow downloads

allow_upload: Optional[StrictBool] = None

Allow uploads

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

expires_at_validate_regular_expression(value)

Validates the regular expression

Source code in immichpy/client/generated/models/shared_link_edit_dto.py
69
70
71
72
73
74
75
76
77
78
79
80
81
82
@field_validator("expires_at", mode="before")
def expires_at_validate_regular_expression(cls, value):
    """Validates the regular expression"""
    if value is None:
        return value

    if isinstance(value, str) and not re.match(
        r"^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$",
        value,
    ):
        raise ValueError(
            r"must validate the regular expression /^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$/"
        )
    return value
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
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
@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"),
            "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
 99
100
101
102
@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
104
105
106
107
108
109
110
111
112
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
141
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
95
96
97
def to_json(self) -> str:
    """Returns the JSON representation of the model using alias"""
    return json.dumps(to_jsonable_python(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
91
92
93
def to_str(self) -> str:
    """Returns the string representation of the model using alias"""
    return pprint.pformat(self.model_dump(by_alias=True))