Skip to content

Sync Memory V1

immichpy.client.generated.models.sync_memory_v1.SyncMemoryV1 pydantic-model

Bases: BaseModel

SyncMemoryV1

Show JSON schema:
{
  "$defs": {
    "MemoryType": {
      "description": "Memory type",
      "enum": [
        "on_this_day"
      ],
      "title": "MemoryType",
      "type": "string"
    }
  },
  "description": "SyncMemoryV1",
  "properties": {
    "createdAt": {
      "description": "Created at",
      "examples": [
        "2024-01-01T00:00:00Z"
      ],
      "format": "date-time",
      "title": "Createdat",
      "type": "string"
    },
    "data": {
      "additionalProperties": true,
      "description": "Data",
      "title": "Data",
      "type": "object"
    },
    "deletedAt": {
      "anyOf": [
        {
          "format": "date-time",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "description": "Deleted at",
      "examples": [
        "2024-01-01T00:00:00Z"
      ],
      "title": "Deletedat"
    },
    "hideAt": {
      "anyOf": [
        {
          "format": "date-time",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "description": "Hide at",
      "examples": [
        "2024-01-01T00:00:00Z"
      ],
      "title": "Hideat"
    },
    "id": {
      "description": "Memory ID",
      "format": "uuid",
      "title": "Id",
      "type": "string"
    },
    "isSaved": {
      "description": "Is saved",
      "title": "Issaved",
      "type": "boolean"
    },
    "memoryAt": {
      "description": "Memory at",
      "examples": [
        "2024-01-01T00:00:00Z"
      ],
      "format": "date-time",
      "title": "Memoryat",
      "type": "string"
    },
    "ownerId": {
      "description": "Owner ID",
      "format": "uuid",
      "title": "Ownerid",
      "type": "string"
    },
    "seenAt": {
      "anyOf": [
        {
          "format": "date-time",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "description": "Seen at",
      "examples": [
        "2024-01-01T00:00:00Z"
      ],
      "title": "Seenat"
    },
    "showAt": {
      "anyOf": [
        {
          "format": "date-time",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "description": "Show at",
      "examples": [
        "2024-01-01T00:00:00Z"
      ],
      "title": "Showat"
    },
    "type": {
      "$ref": "#/$defs/MemoryType"
    },
    "updatedAt": {
      "description": "Updated at",
      "examples": [
        "2024-01-01T00:00:00Z"
      ],
      "format": "date-time",
      "title": "Updatedat",
      "type": "string"
    }
  },
  "required": [
    "createdAt",
    "data",
    "deletedAt",
    "hideAt",
    "id",
    "isSaved",
    "memoryAt",
    "ownerId",
    "seenAt",
    "showAt",
    "type",
    "updatedAt"
  ],
  "title": "SyncMemoryV1",
  "type": "object"
}

Config:

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

Fields:

Validators:

created_at pydantic-field

created_at: datetime

Created at

data pydantic-field

data: Dict[str, Any]

Data

deleted_at pydantic-field

deleted_at: Optional[datetime]

Deleted at

hide_at pydantic-field

hide_at: Optional[datetime]

Hide at

id pydantic-field

id: UUID

Memory ID

is_saved pydantic-field

is_saved: StrictBool

Is saved

memory_at pydantic-field

memory_at: datetime

Memory at

owner_id pydantic-field

owner_id: UUID

Owner ID

seen_at pydantic-field

seen_at: Optional[datetime]

Seen at

show_at pydantic-field

show_at: Optional[datetime]

Show at

updated_at pydantic-field

updated_at: datetime

Updated at

created_at_validate_regular_expression pydantic-validator

created_at_validate_regular_expression(value)

Validates the regular expression

Source code in immichpy/client/generated/models/sync_memory_v1.py
89
90
91
92
93
94
95
96
97
98
99
@field_validator("created_at", mode="before")
def created_at_validate_regular_expression(cls, value):
    """Validates the regular expression"""
    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

deleted_at_validate_regular_expression pydantic-validator

deleted_at_validate_regular_expression(value)

Validates the regular expression

Source code in immichpy/client/generated/models/sync_memory_v1.py
101
102
103
104
105
106
107
108
109
110
111
112
113
114
@field_validator("deleted_at", mode="before")
def deleted_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 classmethod

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

Create an instance of SyncMemoryV1 from a dict

Source code in immichpy/client/generated/models/sync_memory_v1.py
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
@classmethod
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
    """Create an instance of SyncMemoryV1 from a dict"""
    if obj is None:
        return None

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

    _obj = cls.model_validate(
        {
            "createdAt": obj.get("createdAt"),
            "data": obj.get("data"),
            "deletedAt": obj.get("deletedAt"),
            "hideAt": obj.get("hideAt"),
            "id": obj.get("id"),
            "isSaved": obj.get("isSaved"),
            "memoryAt": obj.get("memoryAt"),
            "ownerId": obj.get("ownerId"),
            "seenAt": obj.get("seenAt"),
            "showAt": obj.get("showAt"),
            "type": obj.get("type"),
            "updatedAt": obj.get("updatedAt"),
        }
    )
    return _obj

from_json classmethod

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

Create an instance of SyncMemoryV1 from a JSON string

Source code in immichpy/client/generated/models/sync_memory_v1.py
224
225
226
227
@classmethod
def from_json(cls, json_str: str) -> Optional[Self]:
    """Create an instance of SyncMemoryV1 from a JSON string"""
    return cls.from_dict(json.loads(json_str))

hide_at_validate_regular_expression pydantic-validator

hide_at_validate_regular_expression(value)

Validates the regular expression

Source code in immichpy/client/generated/models/sync_memory_v1.py
116
117
118
119
120
121
122
123
124
125
126
127
128
129
@field_validator("hide_at", mode="before")
def hide_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

id_validate_regular_expression pydantic-validator

id_validate_regular_expression(value)

Validates the regular expression

Source code in immichpy/client/generated/models/sync_memory_v1.py
131
132
133
134
135
136
137
138
139
140
141
@field_validator("id", mode="before")
def id_validate_regular_expression(cls, value):
    """Validates the regular expression"""
    if isinstance(value, str) and not re.match(
        r"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$",
        value,
    ):
        raise ValueError(
            r"must validate the regular expression /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$/"
        )
    return value

memory_at_validate_regular_expression pydantic-validator

memory_at_validate_regular_expression(value)

Validates the regular expression

Source code in immichpy/client/generated/models/sync_memory_v1.py
143
144
145
146
147
148
149
150
151
152
153
@field_validator("memory_at", mode="before")
def memory_at_validate_regular_expression(cls, value):
    """Validates the regular expression"""
    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

owner_id_validate_regular_expression pydantic-validator

owner_id_validate_regular_expression(value)

Validates the regular expression

Source code in immichpy/client/generated/models/sync_memory_v1.py
155
156
157
158
159
160
161
162
163
164
165
@field_validator("owner_id", mode="before")
def owner_id_validate_regular_expression(cls, value):
    """Validates the regular expression"""
    if isinstance(value, str) and not re.match(
        r"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$",
        value,
    ):
        raise ValueError(
            r"must validate the regular expression /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$/"
        )
    return value

seen_at_validate_regular_expression pydantic-validator

seen_at_validate_regular_expression(value)

Validates the regular expression

Source code in immichpy/client/generated/models/sync_memory_v1.py
167
168
169
170
171
172
173
174
175
176
177
178
179
180
@field_validator("seen_at", mode="before")
def seen_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

show_at_validate_regular_expression pydantic-validator

show_at_validate_regular_expression(value)

Validates the regular expression

Source code in immichpy/client/generated/models/sync_memory_v1.py
182
183
184
185
186
187
188
189
190
191
192
193
194
195
@field_validator("show_at", mode="before")
def show_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

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/sync_memory_v1.py
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
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 deleted_at (nullable) is None
    # and model_fields_set contains the field
    if self.deleted_at is None and "deleted_at" in self.model_fields_set:
        _dict["deletedAt"] = None

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

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

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

    return _dict

to_json

to_json() -> str

Returns the JSON representation of the model using alias

Source code in immichpy/client/generated/models/sync_memory_v1.py
220
221
222
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

to_str() -> str

Returns the string representation of the model using alias

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

updated_at_validate_regular_expression pydantic-validator

updated_at_validate_regular_expression(value)

Validates the regular expression

Source code in immichpy/client/generated/models/sync_memory_v1.py
197
198
199
200
201
202
203
204
205
206
207
@field_validator("updated_at", mode="before")
def updated_at_validate_regular_expression(cls, value):
    """Validates the regular expression"""
    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