Skip to content

Album Response Dto

immichpy.client.generated.models.album_response_dto.AlbumResponseDto pydantic-model

Bases: BaseModel

AlbumResponseDto

Show JSON schema:
{
  "$defs": {
    "AlbumUserResponseDto": {
      "description": "AlbumUserResponseDto",
      "properties": {
        "role": {
          "$ref": "#/$defs/AlbumUserRole"
        },
        "user": {
          "$ref": "#/$defs/UserResponseDto"
        }
      },
      "required": [
        "role",
        "user"
      ],
      "title": "AlbumUserResponseDto",
      "type": "object"
    },
    "AlbumUserRole": {
      "description": "Album user role",
      "enum": [
        "editor",
        "viewer"
      ],
      "title": "AlbumUserRole",
      "type": "string"
    },
    "AssetFaceWithoutPersonResponseDto": {
      "description": "AssetFaceWithoutPersonResponseDto",
      "properties": {
        "boundingBoxX1": {
          "description": "Bounding box X1 coordinate",
          "title": "Boundingboxx1",
          "type": "integer"
        },
        "boundingBoxX2": {
          "description": "Bounding box X2 coordinate",
          "title": "Boundingboxx2",
          "type": "integer"
        },
        "boundingBoxY1": {
          "description": "Bounding box Y1 coordinate",
          "title": "Boundingboxy1",
          "type": "integer"
        },
        "boundingBoxY2": {
          "description": "Bounding box Y2 coordinate",
          "title": "Boundingboxy2",
          "type": "integer"
        },
        "id": {
          "description": "Face ID",
          "format": "uuid",
          "title": "Id",
          "type": "string"
        },
        "imageHeight": {
          "description": "Image height in pixels",
          "title": "Imageheight",
          "type": "integer"
        },
        "imageWidth": {
          "description": "Image width in pixels",
          "title": "Imagewidth",
          "type": "integer"
        },
        "sourceType": {
          "anyOf": [
            {
              "$ref": "#/$defs/SourceType"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Face detection source type"
        }
      },
      "required": [
        "boundingBoxX1",
        "boundingBoxX2",
        "boundingBoxY1",
        "boundingBoxY2",
        "id",
        "imageHeight",
        "imageWidth"
      ],
      "title": "AssetFaceWithoutPersonResponseDto",
      "type": "object"
    },
    "AssetOrder": {
      "description": "Asset sort order",
      "enum": [
        "asc",
        "desc"
      ],
      "title": "AssetOrder",
      "type": "string"
    },
    "AssetResponseDto": {
      "description": "AssetResponseDto",
      "properties": {
        "checksum": {
          "description": "Base64 encoded SHA1 hash",
          "title": "Checksum",
          "type": "string"
        },
        "createdAt": {
          "description": "The UTC timestamp when the asset was originally uploaded to Immich.",
          "format": "date-time",
          "title": "Createdat",
          "type": "string"
        },
        "deviceAssetId": {
          "description": "Device asset ID",
          "title": "Deviceassetid",
          "type": "string"
        },
        "deviceId": {
          "description": "Device ID",
          "title": "Deviceid",
          "type": "string"
        },
        "duplicateId": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Duplicate group ID",
          "title": "Duplicateid"
        },
        "duration": {
          "description": "Video duration (for videos)",
          "title": "Duration",
          "type": "string"
        },
        "exifInfo": {
          "anyOf": [
            {
              "$ref": "#/$defs/ExifResponseDto"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "fileCreatedAt": {
          "description": "The actual UTC timestamp when the file was created/captured, preserving timezone information. This is the authoritative timestamp for chronological sorting within timeline groups. Combined with timezone data, this can be used to determine the exact moment the photo was taken.",
          "format": "date-time",
          "title": "Filecreatedat",
          "type": "string"
        },
        "fileModifiedAt": {
          "description": "The UTC timestamp when the file was last modified on the filesystem. This reflects the last time the physical file was changed, which may be different from when the photo was originally taken.",
          "format": "date-time",
          "title": "Filemodifiedat",
          "type": "string"
        },
        "hasMetadata": {
          "description": "Whether asset has metadata",
          "title": "Hasmetadata",
          "type": "boolean"
        },
        "height": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "description": "Asset height",
          "title": "Height"
        },
        "id": {
          "description": "Asset ID",
          "title": "Id",
          "type": "string"
        },
        "isArchived": {
          "description": "Is archived",
          "title": "Isarchived",
          "type": "boolean"
        },
        "isEdited": {
          "description": "Is edited",
          "title": "Isedited",
          "type": "boolean"
        },
        "isFavorite": {
          "description": "Is favorite",
          "title": "Isfavorite",
          "type": "boolean"
        },
        "isOffline": {
          "description": "Is offline",
          "title": "Isoffline",
          "type": "boolean"
        },
        "isTrashed": {
          "description": "Is trashed",
          "title": "Istrashed",
          "type": "boolean"
        },
        "libraryId": {
          "anyOf": [
            {
              "format": "uuid",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Library ID",
          "title": "Libraryid"
        },
        "livePhotoVideoId": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Live photo video ID",
          "title": "Livephotovideoid"
        },
        "localDateTime": {
          "description": "The local date and time when the photo/video was taken, derived from EXIF metadata. This represents the photographer's local time regardless of timezone, stored as a timezone-agnostic timestamp. Used for timeline grouping by \"local\" days and months.",
          "format": "date-time",
          "title": "Localdatetime",
          "type": "string"
        },
        "originalFileName": {
          "description": "Original file name",
          "title": "Originalfilename",
          "type": "string"
        },
        "originalMimeType": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Original MIME type",
          "title": "Originalmimetype"
        },
        "originalPath": {
          "description": "Original file path",
          "title": "Originalpath",
          "type": "string"
        },
        "owner": {
          "anyOf": [
            {
              "$ref": "#/$defs/UserResponseDto"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "ownerId": {
          "description": "Owner user ID",
          "title": "Ownerid",
          "type": "string"
        },
        "people": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/PersonWithFacesResponseDto"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "People"
        },
        "resized": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Is resized",
          "title": "Resized"
        },
        "stack": {
          "anyOf": [
            {
              "$ref": "#/$defs/AssetStackResponseDto"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "tags": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/TagResponseDto"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Tags"
        },
        "thumbhash": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Thumbhash for thumbnail generation (base64) also used as the c query param for thumbnail cache busting.",
          "title": "Thumbhash"
        },
        "type": {
          "$ref": "#/$defs/AssetTypeEnum"
        },
        "unassignedFaces": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/AssetFaceWithoutPersonResponseDto"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Unassignedfaces"
        },
        "updatedAt": {
          "description": "The UTC timestamp when the asset record was last updated in the database. This is automatically maintained by the database and reflects when any field in the asset was last modified.",
          "format": "date-time",
          "title": "Updatedat",
          "type": "string"
        },
        "visibility": {
          "$ref": "#/$defs/AssetVisibility"
        },
        "width": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "description": "Asset width",
          "title": "Width"
        }
      },
      "required": [
        "checksum",
        "createdAt",
        "deviceAssetId",
        "deviceId",
        "duration",
        "fileCreatedAt",
        "fileModifiedAt",
        "hasMetadata",
        "height",
        "id",
        "isArchived",
        "isEdited",
        "isFavorite",
        "isOffline",
        "isTrashed",
        "localDateTime",
        "originalFileName",
        "originalPath",
        "ownerId",
        "thumbhash",
        "type",
        "updatedAt",
        "visibility",
        "width"
      ],
      "title": "AssetResponseDto",
      "type": "object"
    },
    "AssetStackResponseDto": {
      "description": "AssetStackResponseDto",
      "properties": {
        "assetCount": {
          "description": "Number of assets in stack",
          "title": "Assetcount",
          "type": "integer"
        },
        "id": {
          "description": "Stack ID",
          "title": "Id",
          "type": "string"
        },
        "primaryAssetId": {
          "description": "Primary asset ID",
          "title": "Primaryassetid",
          "type": "string"
        }
      },
      "required": [
        "assetCount",
        "id",
        "primaryAssetId"
      ],
      "title": "AssetStackResponseDto",
      "type": "object"
    },
    "AssetTypeEnum": {
      "description": "Asset type",
      "enum": [
        "IMAGE",
        "VIDEO",
        "AUDIO",
        "OTHER"
      ],
      "title": "AssetTypeEnum",
      "type": "string"
    },
    "AssetVisibility": {
      "description": "Asset visibility",
      "enum": [
        "archive",
        "timeline",
        "hidden",
        "locked"
      ],
      "title": "AssetVisibility",
      "type": "string"
    },
    "ContributorCountResponseDto": {
      "description": "ContributorCountResponseDto",
      "properties": {
        "assetCount": {
          "description": "Number of assets contributed",
          "title": "Assetcount",
          "type": "integer"
        },
        "userId": {
          "description": "User ID",
          "title": "Userid",
          "type": "string"
        }
      },
      "required": [
        "assetCount",
        "userId"
      ],
      "title": "ContributorCountResponseDto",
      "type": "object"
    },
    "ExifResponseDto": {
      "description": "ExifResponseDto",
      "properties": {
        "city": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "City name",
          "title": "City"
        },
        "country": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Country name",
          "title": "Country"
        },
        "dateTimeOriginal": {
          "anyOf": [
            {
              "format": "date-time",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Original date/time",
          "title": "Datetimeoriginal"
        },
        "description": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Image description",
          "title": "Description"
        },
        "exifImageHeight": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Image height in pixels",
          "title": "Exifimageheight"
        },
        "exifImageWidth": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Image width in pixels",
          "title": "Exifimagewidth"
        },
        "exposureTime": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Exposure time",
          "title": "Exposuretime"
        },
        "fNumber": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "F-number (aperture)",
          "title": "Fnumber"
        },
        "fileSizeInByte": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "File size in bytes",
          "title": "Filesizeinbyte"
        },
        "focalLength": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Focal length in mm",
          "title": "Focallength"
        },
        "iso": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "ISO sensitivity",
          "title": "Iso"
        },
        "latitude": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "GPS latitude",
          "title": "Latitude"
        },
        "lensModel": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Lens model",
          "title": "Lensmodel"
        },
        "longitude": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "GPS longitude",
          "title": "Longitude"
        },
        "make": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Camera make",
          "title": "Make"
        },
        "model": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Camera model",
          "title": "Model"
        },
        "modifyDate": {
          "anyOf": [
            {
              "format": "date-time",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Modification date/time",
          "title": "Modifydate"
        },
        "orientation": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Image orientation",
          "title": "Orientation"
        },
        "projectionType": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Projection type",
          "title": "Projectiontype"
        },
        "rating": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Rating",
          "title": "Rating"
        },
        "state": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "State/province name",
          "title": "State"
        },
        "timeZone": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Time zone",
          "title": "Timezone"
        }
      },
      "title": "ExifResponseDto",
      "type": "object"
    },
    "PersonWithFacesResponseDto": {
      "description": "PersonWithFacesResponseDto",
      "properties": {
        "birthDate": {
          "anyOf": [
            {
              "format": "date",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Person date of birth",
          "title": "Birthdate"
        },
        "color": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Person color (hex)",
          "title": "Color"
        },
        "faces": {
          "description": "Face detections",
          "items": {
            "$ref": "#/$defs/AssetFaceWithoutPersonResponseDto"
          },
          "title": "Faces",
          "type": "array"
        },
        "id": {
          "description": "Person ID",
          "title": "Id",
          "type": "string"
        },
        "isFavorite": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Is favorite",
          "title": "Isfavorite"
        },
        "isHidden": {
          "description": "Is hidden",
          "title": "Ishidden",
          "type": "boolean"
        },
        "name": {
          "description": "Person name",
          "title": "Name",
          "type": "string"
        },
        "thumbnailPath": {
          "description": "Thumbnail path",
          "title": "Thumbnailpath",
          "type": "string"
        },
        "updatedAt": {
          "anyOf": [
            {
              "format": "date-time",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Last update date",
          "title": "Updatedat"
        }
      },
      "required": [
        "birthDate",
        "faces",
        "id",
        "isHidden",
        "name",
        "thumbnailPath"
      ],
      "title": "PersonWithFacesResponseDto",
      "type": "object"
    },
    "SourceType": {
      "description": "Face detection source type",
      "enum": [
        "machine-learning",
        "exif",
        "manual"
      ],
      "title": "SourceType",
      "type": "string"
    },
    "TagResponseDto": {
      "description": "TagResponseDto",
      "properties": {
        "color": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Tag color (hex)",
          "title": "Color"
        },
        "createdAt": {
          "description": "Creation date",
          "format": "date-time",
          "title": "Createdat",
          "type": "string"
        },
        "id": {
          "description": "Tag ID",
          "title": "Id",
          "type": "string"
        },
        "name": {
          "description": "Tag name",
          "title": "Name",
          "type": "string"
        },
        "parentId": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Parent tag ID",
          "title": "Parentid"
        },
        "updatedAt": {
          "description": "Last update date",
          "format": "date-time",
          "title": "Updatedat",
          "type": "string"
        },
        "value": {
          "description": "Tag value (full path)",
          "title": "Value",
          "type": "string"
        }
      },
      "required": [
        "createdAt",
        "id",
        "name",
        "updatedAt",
        "value"
      ],
      "title": "TagResponseDto",
      "type": "object"
    },
    "UserAvatarColor": {
      "description": "Avatar color",
      "enum": [
        "primary",
        "pink",
        "red",
        "yellow",
        "blue",
        "green",
        "purple",
        "orange",
        "gray",
        "amber"
      ],
      "title": "UserAvatarColor",
      "type": "string"
    },
    "UserResponseDto": {
      "description": "UserResponseDto",
      "properties": {
        "avatarColor": {
          "$ref": "#/$defs/UserAvatarColor"
        },
        "email": {
          "description": "User email",
          "title": "Email",
          "type": "string"
        },
        "id": {
          "description": "User ID",
          "title": "Id",
          "type": "string"
        },
        "name": {
          "description": "User name",
          "title": "Name",
          "type": "string"
        },
        "profileChangedAt": {
          "description": "Profile change date",
          "format": "date-time",
          "title": "Profilechangedat",
          "type": "string"
        },
        "profileImagePath": {
          "description": "Profile image path",
          "title": "Profileimagepath",
          "type": "string"
        }
      },
      "required": [
        "avatarColor",
        "email",
        "id",
        "name",
        "profileChangedAt",
        "profileImagePath"
      ],
      "title": "UserResponseDto",
      "type": "object"
    }
  },
  "description": "AlbumResponseDto",
  "properties": {
    "albumName": {
      "description": "Album name",
      "title": "Albumname",
      "type": "string"
    },
    "albumThumbnailAssetId": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "description": "Thumbnail asset ID",
      "title": "Albumthumbnailassetid"
    },
    "albumUsers": {
      "items": {
        "$ref": "#/$defs/AlbumUserResponseDto"
      },
      "title": "Albumusers",
      "type": "array"
    },
    "assetCount": {
      "description": "Number of assets",
      "title": "Assetcount",
      "type": "integer"
    },
    "assets": {
      "items": {
        "$ref": "#/$defs/AssetResponseDto"
      },
      "title": "Assets",
      "type": "array"
    },
    "contributorCounts": {
      "anyOf": [
        {
          "items": {
            "$ref": "#/$defs/ContributorCountResponseDto"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Contributorcounts"
    },
    "createdAt": {
      "description": "Creation date",
      "format": "date-time",
      "title": "Createdat",
      "type": "string"
    },
    "description": {
      "description": "Album description",
      "title": "Description",
      "type": "string"
    },
    "endDate": {
      "anyOf": [
        {
          "format": "date-time",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "End date (latest asset)",
      "title": "Enddate"
    },
    "hasSharedLink": {
      "description": "Has shared link",
      "title": "Hassharedlink",
      "type": "boolean"
    },
    "id": {
      "description": "Album ID",
      "title": "Id",
      "type": "string"
    },
    "isActivityEnabled": {
      "description": "Activity feed enabled",
      "title": "Isactivityenabled",
      "type": "boolean"
    },
    "lastModifiedAssetTimestamp": {
      "anyOf": [
        {
          "format": "date-time",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Last modified asset timestamp",
      "title": "Lastmodifiedassettimestamp"
    },
    "order": {
      "anyOf": [
        {
          "$ref": "#/$defs/AssetOrder"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Asset sort order"
    },
    "owner": {
      "$ref": "#/$defs/UserResponseDto"
    },
    "ownerId": {
      "description": "Owner user ID",
      "title": "Ownerid",
      "type": "string"
    },
    "shared": {
      "description": "Is shared album",
      "title": "Shared",
      "type": "boolean"
    },
    "startDate": {
      "anyOf": [
        {
          "format": "date-time",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Start date (earliest asset)",
      "title": "Startdate"
    },
    "updatedAt": {
      "description": "Last update date",
      "format": "date-time",
      "title": "Updatedat",
      "type": "string"
    }
  },
  "required": [
    "albumName",
    "albumThumbnailAssetId",
    "albumUsers",
    "assetCount",
    "assets",
    "createdAt",
    "description",
    "hasSharedLink",
    "id",
    "isActivityEnabled",
    "owner",
    "ownerId",
    "shared",
    "updatedAt"
  ],
  "title": "AlbumResponseDto",
  "type": "object"
}

Config:

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

Fields:

album_name pydantic-field

album_name: StrictStr

Album name

album_thumbnail_asset_id pydantic-field

album_thumbnail_asset_id: Optional[StrictStr]

Thumbnail asset ID

asset_count pydantic-field

asset_count: StrictInt

Number of assets

created_at pydantic-field

created_at: datetime

Creation date

description pydantic-field

description: StrictStr

Album description

end_date pydantic-field

end_date: Optional[datetime] = None

End date (latest asset)

has_shared_link: StrictBool

Has shared link

id pydantic-field

id: StrictStr

Album ID

is_activity_enabled pydantic-field

is_activity_enabled: StrictBool

Activity feed enabled

last_modified_asset_timestamp pydantic-field

last_modified_asset_timestamp: Optional[datetime] = None

Last modified asset timestamp

order pydantic-field

order: Optional[AssetOrder] = None

Asset sort order

owner_id pydantic-field

owner_id: StrictStr

Owner user ID

shared pydantic-field

shared: StrictBool

Is shared album

start_date pydantic-field

start_date: Optional[datetime] = None

Start date (earliest asset)

updated_at pydantic-field

updated_at: datetime

Last update date

from_dict classmethod

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

Create an instance of AlbumResponseDto from a dict

Source code in immichpy/client/generated/models/album_response_dto.py
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
@classmethod
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
    """Create an instance of AlbumResponseDto from a dict"""
    if obj is None:
        return None

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

    _obj = cls.model_validate(
        {
            "albumName": obj.get("albumName"),
            "albumThumbnailAssetId": obj.get("albumThumbnailAssetId"),
            "albumUsers": [
                AlbumUserResponseDto.from_dict(_item) for _item in obj["albumUsers"]
            ]
            if obj.get("albumUsers") is not None
            else None,
            "assetCount": obj.get("assetCount"),
            "assets": [AssetResponseDto.from_dict(_item) for _item in obj["assets"]]
            if obj.get("assets") is not None
            else None,
            "contributorCounts": [
                ContributorCountResponseDto.from_dict(_item)
                for _item in obj["contributorCounts"]
            ]
            if obj.get("contributorCounts") is not None
            else None,
            "createdAt": obj.get("createdAt"),
            "description": obj.get("description"),
            "endDate": obj.get("endDate"),
            "hasSharedLink": obj.get("hasSharedLink"),
            "id": obj.get("id"),
            "isActivityEnabled": obj.get("isActivityEnabled"),
            "lastModifiedAssetTimestamp": obj.get("lastModifiedAssetTimestamp"),
            "order": obj.get("order"),
            "owner": UserResponseDto.from_dict(obj["owner"])
            if obj.get("owner") is not None
            else None,
            "ownerId": obj.get("ownerId"),
            "shared": obj.get("shared"),
            "startDate": obj.get("startDate"),
            "updatedAt": obj.get("updatedAt"),
        }
    )
    return _obj

from_json classmethod

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

Create an instance of AlbumResponseDto from a JSON string

Source code in immichpy/client/generated/models/album_response_dto.py
112
113
114
115
@classmethod
def from_json(cls, json_str: str) -> Optional[Self]:
    """Create an instance of AlbumResponseDto 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/album_response_dto.py
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
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
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 album_users (list)
    _items = []
    if self.album_users:
        for _item_album_users in self.album_users:
            if _item_album_users:
                _items.append(_item_album_users.to_dict())
        _dict["albumUsers"] = _items
    # override the default output from pydantic by calling `to_dict()` of each item in assets (list)
    _items = []
    if self.assets:
        for _item_assets in self.assets:
            if _item_assets:
                _items.append(_item_assets.to_dict())
        _dict["assets"] = _items
    # override the default output from pydantic by calling `to_dict()` of each item in contributor_counts (list)
    _items = []
    if self.contributor_counts:
        for _item_contributor_counts in self.contributor_counts:
            if _item_contributor_counts:
                _items.append(_item_contributor_counts.to_dict())
        _dict["contributorCounts"] = _items
    # override the default output from pydantic by calling `to_dict()` of owner
    if self.owner:
        _dict["owner"] = self.owner.to_dict()
    # set to None if album_thumbnail_asset_id (nullable) is None
    # and model_fields_set contains the field
    if (
        self.album_thumbnail_asset_id is None
        and "album_thumbnail_asset_id" in self.model_fields_set
    ):
        _dict["albumThumbnailAssetId"] = None

    return _dict

to_json

to_json() -> str

Returns the JSON representation of the model using alias

Source code in immichpy/client/generated/models/album_response_dto.py
107
108
109
110
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/album_response_dto.py
103
104
105
def to_str(self) -> str:
    """Returns the string representation of the model using alias"""
    return pprint.pformat(self.model_dump(by_alias=True))