Skip to content

Smart Search Dto

immichpy.client.generated.models.smart_search_dto.SmartSearchDto pydantic-model

Bases: BaseModel

SmartSearchDto

Show JSON schema:
{
  "$defs": {
    "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"
    },
    "BoolFilter": {
      "description": "BoolFilter",
      "properties": {
        "eq": {
          "title": "Eq",
          "type": "boolean"
        }
      },
      "required": [
        "eq"
      ],
      "title": "BoolFilter",
      "type": "object"
    },
    "DateFilter": {
      "description": "DateFilter",
      "properties": {
        "eq": {
          "anyOf": [
            {
              "format": "date-time",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "examples": [
            "2024-01-01T00:00:00Z"
          ],
          "title": "Eq"
        },
        "gt": {
          "anyOf": [
            {
              "format": "date-time",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "examples": [
            "2024-01-01T00:00:00Z"
          ],
          "title": "Gt"
        },
        "gte": {
          "anyOf": [
            {
              "format": "date-time",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "examples": [
            "2024-01-01T00:00:00Z"
          ],
          "title": "Gte"
        },
        "lt": {
          "anyOf": [
            {
              "format": "date-time",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "examples": [
            "2024-01-01T00:00:00Z"
          ],
          "title": "Lt"
        },
        "lte": {
          "anyOf": [
            {
              "format": "date-time",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "examples": [
            "2024-01-01T00:00:00Z"
          ],
          "title": "Lte"
        },
        "ne": {
          "anyOf": [
            {
              "format": "date-time",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "examples": [
            "2024-01-01T00:00:00Z"
          ],
          "title": "Ne"
        }
      },
      "title": "DateFilter",
      "type": "object"
    },
    "DateFilterNullable": {
      "description": "DateFilterNullable",
      "properties": {
        "eq": {
          "anyOf": [
            {
              "format": "date-time",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "examples": [
            "2024-01-01T00:00:00Z"
          ],
          "title": "Eq"
        },
        "gt": {
          "anyOf": [
            {
              "format": "date-time",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "examples": [
            "2024-01-01T00:00:00Z"
          ],
          "title": "Gt"
        },
        "gte": {
          "anyOf": [
            {
              "format": "date-time",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "examples": [
            "2024-01-01T00:00:00Z"
          ],
          "title": "Gte"
        },
        "lt": {
          "anyOf": [
            {
              "format": "date-time",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "examples": [
            "2024-01-01T00:00:00Z"
          ],
          "title": "Lt"
        },
        "lte": {
          "anyOf": [
            {
              "format": "date-time",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "examples": [
            "2024-01-01T00:00:00Z"
          ],
          "title": "Lte"
        },
        "ne": {
          "anyOf": [
            {
              "format": "date-time",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "examples": [
            "2024-01-01T00:00:00Z"
          ],
          "title": "Ne"
        }
      },
      "title": "DateFilterNullable",
      "type": "object"
    },
    "EnumFilterAssetType": {
      "description": "EnumFilterAssetType",
      "properties": {
        "eq": {
          "anyOf": [
            {
              "$ref": "#/$defs/AssetTypeEnum"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "in": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/AssetTypeEnum"
              },
              "minItems": 1,
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "In"
        },
        "ne": {
          "anyOf": [
            {
              "$ref": "#/$defs/AssetTypeEnum"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "notIn": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/AssetTypeEnum"
              },
              "minItems": 1,
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Notin"
        }
      },
      "title": "EnumFilterAssetType",
      "type": "object"
    },
    "EnumFilterAssetVisibility": {
      "description": "EnumFilterAssetVisibility",
      "properties": {
        "eq": {
          "anyOf": [
            {
              "$ref": "#/$defs/AssetVisibility"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "in": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/AssetVisibility"
              },
              "minItems": 1,
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "In"
        },
        "ne": {
          "anyOf": [
            {
              "$ref": "#/$defs/AssetVisibility"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "notIn": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/AssetVisibility"
              },
              "minItems": 1,
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Notin"
        }
      },
      "title": "EnumFilterAssetVisibility",
      "type": "object"
    },
    "IdFilter": {
      "description": "IdFilter",
      "properties": {
        "eq": {
          "anyOf": [
            {
              "format": "uuid",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Eq"
        },
        "ne": {
          "anyOf": [
            {
              "format": "uuid",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Ne"
        }
      },
      "title": "IdFilter",
      "type": "object"
    },
    "IdFilterNullable": {
      "description": "IdFilterNullable",
      "properties": {
        "eq": {
          "anyOf": [
            {
              "format": "uuid",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Eq"
        },
        "ne": {
          "anyOf": [
            {
              "format": "uuid",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Ne"
        }
      },
      "title": "IdFilterNullable",
      "type": "object"
    },
    "IdsFilter": {
      "description": "IdsFilter",
      "properties": {
        "all": {
          "anyOf": [
            {
              "items": {
                "format": "uuid",
                "type": "string"
              },
              "minItems": 1,
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "All"
        },
        "any": {
          "anyOf": [
            {
              "items": {
                "format": "uuid",
                "type": "string"
              },
              "minItems": 1,
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Any"
        },
        "none": {
          "anyOf": [
            {
              "items": {
                "format": "uuid",
                "type": "string"
              },
              "minItems": 1,
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "None"
        }
      },
      "title": "IdsFilter",
      "type": "object"
    },
    "NumberFilter": {
      "description": "NumberFilter",
      "properties": {
        "eq": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Eq"
        },
        "gt": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Gt"
        },
        "gte": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Gte"
        },
        "in": {
          "anyOf": [
            {
              "items": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "integer"
                  }
                ]
              },
              "minItems": 1,
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "In"
        },
        "lt": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Lt"
        },
        "lte": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Lte"
        },
        "ne": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Ne"
        },
        "notIn": {
          "anyOf": [
            {
              "items": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "integer"
                  }
                ]
              },
              "minItems": 1,
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Notin"
        }
      },
      "title": "NumberFilter",
      "type": "object"
    },
    "NumberFilterNullable": {
      "description": "NumberFilterNullable",
      "properties": {
        "eq": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Eq"
        },
        "gt": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Gt"
        },
        "gte": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Gte"
        },
        "in": {
          "anyOf": [
            {
              "items": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "integer"
                  }
                ]
              },
              "minItems": 1,
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "In"
        },
        "lt": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Lt"
        },
        "lte": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Lte"
        },
        "ne": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Ne"
        },
        "notIn": {
          "anyOf": [
            {
              "items": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "integer"
                  }
                ]
              },
              "minItems": 1,
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Notin"
        }
      },
      "title": "NumberFilterNullable",
      "type": "object"
    },
    "SearchFilter": {
      "description": "SearchFilter",
      "properties": {
        "albumIds": {
          "anyOf": [
            {
              "$ref": "#/$defs/IdsFilter"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "checksum": {
          "anyOf": [
            {
              "$ref": "#/$defs/StringFilter"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "city": {
          "anyOf": [
            {
              "$ref": "#/$defs/StringFilterNullable"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "country": {
          "anyOf": [
            {
              "$ref": "#/$defs/StringFilterNullable"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "createdAt": {
          "anyOf": [
            {
              "$ref": "#/$defs/DateFilter"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "description": {
          "anyOf": [
            {
              "$ref": "#/$defs/StringPatternFilter"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "encodedVideoPath": {
          "anyOf": [
            {
              "$ref": "#/$defs/StringFilter"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "fileSizeInBytes": {
          "anyOf": [
            {
              "$ref": "#/$defs/NumberFilter"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "hasAlbums": {
          "anyOf": [
            {
              "$ref": "#/$defs/BoolFilter"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "hasPeople": {
          "anyOf": [
            {
              "$ref": "#/$defs/BoolFilter"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "hasTags": {
          "anyOf": [
            {
              "$ref": "#/$defs/BoolFilter"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "id": {
          "anyOf": [
            {
              "$ref": "#/$defs/IdFilter"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "isEncoded": {
          "anyOf": [
            {
              "$ref": "#/$defs/BoolFilter"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "isFavorite": {
          "anyOf": [
            {
              "$ref": "#/$defs/BoolFilter"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "isMotion": {
          "anyOf": [
            {
              "$ref": "#/$defs/BoolFilter"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "isOffline": {
          "anyOf": [
            {
              "$ref": "#/$defs/BoolFilter"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "lensModel": {
          "anyOf": [
            {
              "$ref": "#/$defs/StringFilterNullable"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "libraryId": {
          "anyOf": [
            {
              "$ref": "#/$defs/IdFilterNullable"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "make": {
          "anyOf": [
            {
              "$ref": "#/$defs/StringFilterNullable"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "model": {
          "anyOf": [
            {
              "$ref": "#/$defs/StringFilterNullable"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "ocr": {
          "anyOf": [
            {
              "$ref": "#/$defs/StringSimilarityFilter"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "or": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/SearchFilterBranch"
              },
              "minItems": 1,
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Or"
        },
        "originalFileName": {
          "anyOf": [
            {
              "$ref": "#/$defs/StringPatternFilter"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "originalPath": {
          "anyOf": [
            {
              "$ref": "#/$defs/StringPatternFilter"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "personIds": {
          "anyOf": [
            {
              "$ref": "#/$defs/IdsFilter"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "rating": {
          "anyOf": [
            {
              "$ref": "#/$defs/NumberFilterNullable"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "state": {
          "anyOf": [
            {
              "$ref": "#/$defs/StringFilterNullable"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "tagIds": {
          "anyOf": [
            {
              "$ref": "#/$defs/IdsFilter"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "takenAt": {
          "anyOf": [
            {
              "$ref": "#/$defs/DateFilter"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "trashedAt": {
          "anyOf": [
            {
              "$ref": "#/$defs/DateFilterNullable"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "type": {
          "anyOf": [
            {
              "$ref": "#/$defs/EnumFilterAssetType"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "updatedAt": {
          "anyOf": [
            {
              "$ref": "#/$defs/DateFilter"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "visibility": {
          "anyOf": [
            {
              "$ref": "#/$defs/EnumFilterAssetVisibility"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "title": "SearchFilter",
      "type": "object"
    },
    "SearchFilterBranch": {
      "description": "SearchFilterBranch",
      "properties": {
        "albumIds": {
          "anyOf": [
            {
              "$ref": "#/$defs/IdsFilter"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "checksum": {
          "anyOf": [
            {
              "$ref": "#/$defs/StringFilter"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "city": {
          "anyOf": [
            {
              "$ref": "#/$defs/StringFilterNullable"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "country": {
          "anyOf": [
            {
              "$ref": "#/$defs/StringFilterNullable"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "createdAt": {
          "anyOf": [
            {
              "$ref": "#/$defs/DateFilter"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "description": {
          "anyOf": [
            {
              "$ref": "#/$defs/StringPatternFilter"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "encodedVideoPath": {
          "anyOf": [
            {
              "$ref": "#/$defs/StringFilter"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "fileSizeInBytes": {
          "anyOf": [
            {
              "$ref": "#/$defs/NumberFilter"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "hasAlbums": {
          "anyOf": [
            {
              "$ref": "#/$defs/BoolFilter"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "hasPeople": {
          "anyOf": [
            {
              "$ref": "#/$defs/BoolFilter"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "hasTags": {
          "anyOf": [
            {
              "$ref": "#/$defs/BoolFilter"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "id": {
          "anyOf": [
            {
              "$ref": "#/$defs/IdFilter"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "isEncoded": {
          "anyOf": [
            {
              "$ref": "#/$defs/BoolFilter"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "isFavorite": {
          "anyOf": [
            {
              "$ref": "#/$defs/BoolFilter"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "isMotion": {
          "anyOf": [
            {
              "$ref": "#/$defs/BoolFilter"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "isOffline": {
          "anyOf": [
            {
              "$ref": "#/$defs/BoolFilter"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "lensModel": {
          "anyOf": [
            {
              "$ref": "#/$defs/StringFilterNullable"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "libraryId": {
          "anyOf": [
            {
              "$ref": "#/$defs/IdFilterNullable"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "make": {
          "anyOf": [
            {
              "$ref": "#/$defs/StringFilterNullable"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "model": {
          "anyOf": [
            {
              "$ref": "#/$defs/StringFilterNullable"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "ocr": {
          "anyOf": [
            {
              "$ref": "#/$defs/StringSimilarityFilter"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "originalFileName": {
          "anyOf": [
            {
              "$ref": "#/$defs/StringPatternFilter"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "originalPath": {
          "anyOf": [
            {
              "$ref": "#/$defs/StringPatternFilter"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "personIds": {
          "anyOf": [
            {
              "$ref": "#/$defs/IdsFilter"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "rating": {
          "anyOf": [
            {
              "$ref": "#/$defs/NumberFilterNullable"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "state": {
          "anyOf": [
            {
              "$ref": "#/$defs/StringFilterNullable"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "tagIds": {
          "anyOf": [
            {
              "$ref": "#/$defs/IdsFilter"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "takenAt": {
          "anyOf": [
            {
              "$ref": "#/$defs/DateFilter"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "trashedAt": {
          "anyOf": [
            {
              "$ref": "#/$defs/DateFilterNullable"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "type": {
          "anyOf": [
            {
              "$ref": "#/$defs/EnumFilterAssetType"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "updatedAt": {
          "anyOf": [
            {
              "$ref": "#/$defs/DateFilter"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "visibility": {
          "anyOf": [
            {
              "$ref": "#/$defs/EnumFilterAssetVisibility"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "title": "SearchFilterBranch",
      "type": "object"
    },
    "StringFilter": {
      "description": "StringFilter",
      "properties": {
        "eq": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Eq"
        },
        "in": {
          "anyOf": [
            {
              "items": {
                "type": "string"
              },
              "minItems": 1,
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "In"
        },
        "ne": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Ne"
        },
        "notIn": {
          "anyOf": [
            {
              "items": {
                "type": "string"
              },
              "minItems": 1,
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Notin"
        }
      },
      "title": "StringFilter",
      "type": "object"
    },
    "StringFilterNullable": {
      "description": "StringFilterNullable",
      "properties": {
        "eq": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Eq"
        },
        "in": {
          "anyOf": [
            {
              "items": {
                "type": "string"
              },
              "minItems": 1,
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "In"
        },
        "ne": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Ne"
        },
        "notIn": {
          "anyOf": [
            {
              "items": {
                "type": "string"
              },
              "minItems": 1,
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Notin"
        }
      },
      "title": "StringFilterNullable",
      "type": "object"
    },
    "StringPatternFilter": {
      "description": "StringPatternFilter",
      "properties": {
        "endsWith": {
          "anyOf": [
            {
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Endswith"
        },
        "eq": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Eq"
        },
        "in": {
          "anyOf": [
            {
              "items": {
                "type": "string"
              },
              "minItems": 1,
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "In"
        },
        "like": {
          "anyOf": [
            {
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Like"
        },
        "ne": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Ne"
        },
        "notIn": {
          "anyOf": [
            {
              "items": {
                "type": "string"
              },
              "minItems": 1,
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Notin"
        },
        "notLike": {
          "anyOf": [
            {
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Notlike"
        },
        "startsWith": {
          "anyOf": [
            {
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Startswith"
        }
      },
      "title": "StringPatternFilter",
      "type": "object"
    },
    "StringSimilarityFilter": {
      "description": "StringSimilarityFilter",
      "properties": {
        "matches": {
          "minLength": 1,
          "title": "Matches",
          "type": "string"
        }
      },
      "required": [
        "matches"
      ],
      "title": "StringSimilarityFilter",
      "type": "object"
    }
  },
  "description": "SmartSearchDto",
  "properties": {
    "albumIds": {
      "anyOf": [
        {
          "items": {
            "format": "uuid",
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Filter by album IDs",
      "title": "Albumids"
    },
    "city": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Filter by city name",
      "title": "City"
    },
    "country": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Filter by country name",
      "title": "Country"
    },
    "createdAfter": {
      "anyOf": [
        {
          "format": "date-time",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Filter by creation date (after)",
      "examples": [
        "2024-01-01T00:00:00Z"
      ],
      "title": "Createdafter"
    },
    "createdBefore": {
      "anyOf": [
        {
          "format": "date-time",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Filter by creation date (before)",
      "examples": [
        "2024-01-01T00:00:00Z"
      ],
      "title": "Createdbefore"
    },
    "filter": {
      "anyOf": [
        {
          "$ref": "#/$defs/SearchFilter"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "isEncoded": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Filter by encoded status",
      "title": "Isencoded"
    },
    "isFavorite": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Filter by favorite status",
      "title": "Isfavorite"
    },
    "isMotion": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Filter by motion photo status",
      "title": "Ismotion"
    },
    "isNotInAlbum": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Filter assets not in any album",
      "title": "Isnotinalbum"
    },
    "isOffline": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Filter by offline status",
      "title": "Isoffline"
    },
    "language": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Search language code",
      "title": "Language"
    },
    "lensModel": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Filter by lens model",
      "title": "Lensmodel"
    },
    "libraryId": {
      "anyOf": [
        {
          "format": "uuid",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Library ID to filter by",
      "title": "Libraryid"
    },
    "make": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Filter by camera make",
      "title": "Make"
    },
    "model": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Filter by camera model",
      "title": "Model"
    },
    "ocr": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Filter by OCR text content",
      "title": "Ocr"
    },
    "page": {
      "anyOf": [
        {
          "maximum": 9007199254740991,
          "minimum": 1,
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Page number",
      "title": "Page"
    },
    "personIds": {
      "anyOf": [
        {
          "items": {
            "format": "uuid",
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Filter by person IDs",
      "title": "Personids"
    },
    "query": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Natural language search query",
      "title": "Query"
    },
    "queryAssetId": {
      "anyOf": [
        {
          "format": "uuid",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Asset ID to use as search reference",
      "title": "Queryassetid"
    },
    "rating": {
      "anyOf": [
        {
          "maximum": 5,
          "minimum": 1,
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Filter by rating [1-5], or null for unrated",
      "title": "Rating"
    },
    "size": {
      "anyOf": [
        {
          "maximum": 1000,
          "minimum": 1,
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": 100,
      "description": "Number of results to return",
      "title": "Size"
    },
    "state": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Filter by state/province name",
      "title": "State"
    },
    "tagIds": {
      "anyOf": [
        {
          "items": {
            "format": "uuid",
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Filter by tag IDs",
      "title": "Tagids"
    },
    "takenAfter": {
      "anyOf": [
        {
          "format": "date-time",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Filter by taken date (after)",
      "examples": [
        "2024-01-01T00:00:00Z"
      ],
      "title": "Takenafter"
    },
    "takenBefore": {
      "anyOf": [
        {
          "format": "date-time",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Filter by taken date (before)",
      "examples": [
        "2024-01-01T00:00:00Z"
      ],
      "title": "Takenbefore"
    },
    "trashedAfter": {
      "anyOf": [
        {
          "format": "date-time",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Filter by trash date (after)",
      "examples": [
        "2024-01-01T00:00:00Z"
      ],
      "title": "Trashedafter"
    },
    "trashedBefore": {
      "anyOf": [
        {
          "format": "date-time",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Filter by trash date (before)",
      "examples": [
        "2024-01-01T00:00:00Z"
      ],
      "title": "Trashedbefore"
    },
    "type": {
      "anyOf": [
        {
          "$ref": "#/$defs/AssetTypeEnum"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "updatedAfter": {
      "anyOf": [
        {
          "format": "date-time",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Filter by update date (after)",
      "examples": [
        "2024-01-01T00:00:00Z"
      ],
      "title": "Updatedafter"
    },
    "updatedBefore": {
      "anyOf": [
        {
          "format": "date-time",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Filter by update date (before)",
      "examples": [
        "2024-01-01T00:00:00Z"
      ],
      "title": "Updatedbefore"
    },
    "visibility": {
      "anyOf": [
        {
          "$ref": "#/$defs/AssetVisibility"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "withDeleted": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Include deleted assets",
      "title": "Withdeleted"
    },
    "withExif": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Include EXIF data in response",
      "title": "Withexif"
    }
  },
  "title": "SmartSearchDto",
  "type": "object"
}

Config:

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

Fields:

Validators:

album_ids pydantic-field

album_ids: Optional[List[UUID]] = None

Filter by album IDs

city pydantic-field

city: Optional[StrictStr] = None

Filter by city name

country pydantic-field

country: Optional[StrictStr] = None

Filter by country name

created_after pydantic-field

created_after: Optional[datetime] = None

Filter by creation date (after)

created_before pydantic-field

created_before: Optional[datetime] = None

Filter by creation date (before)

is_encoded pydantic-field

is_encoded: Optional[StrictBool] = None

Filter by encoded status

is_favorite pydantic-field

is_favorite: Optional[StrictBool] = None

Filter by favorite status

is_motion pydantic-field

is_motion: Optional[StrictBool] = None

Filter by motion photo status

is_not_in_album pydantic-field

is_not_in_album: Optional[StrictBool] = None

Filter assets not in any album

is_offline pydantic-field

is_offline: Optional[StrictBool] = None

Filter by offline status

language pydantic-field

language: Optional[StrictStr] = None

Search language code

lens_model pydantic-field

lens_model: Optional[StrictStr] = None

Filter by lens model

library_id pydantic-field

library_id: Optional[UUID] = None

Library ID to filter by

make pydantic-field

make: Optional[StrictStr] = None

Filter by camera make

model pydantic-field

model: Optional[StrictStr] = None

Filter by camera model

ocr pydantic-field

ocr: Optional[StrictStr] = None

Filter by OCR text content

page pydantic-field

page: Optional[Annotated[int, Field(le=9007199254740991, strict=True, ge=1)]] = None

Page number

person_ids pydantic-field

person_ids: Optional[List[UUID]] = None

Filter by person IDs

query pydantic-field

query: Optional[StrictStr] = None

Natural language search query

query_asset_id pydantic-field

query_asset_id: Optional[UUID] = None

Asset ID to use as search reference

rating pydantic-field

rating: Optional[Annotated[int, Field(le=5, strict=True, ge=1)]] = None

Filter by rating [1-5], or null for unrated

size pydantic-field

size: Optional[Annotated[int, Field(le=1000, strict=True, ge=1)]] = 100

Number of results to return

state pydantic-field

state: Optional[StrictStr] = None

Filter by state/province name

tag_ids pydantic-field

tag_ids: Optional[List[UUID]] = None

Filter by tag IDs

taken_after pydantic-field

taken_after: Optional[datetime] = None

Filter by taken date (after)

taken_before pydantic-field

taken_before: Optional[datetime] = None

Filter by taken date (before)

trashed_after pydantic-field

trashed_after: Optional[datetime] = None

Filter by trash date (after)

trashed_before pydantic-field

trashed_before: Optional[datetime] = None

Filter by trash date (before)

updated_after pydantic-field

updated_after: Optional[datetime] = None

Filter by update date (after)

updated_before pydantic-field

updated_before: Optional[datetime] = None

Filter by update date (before)

with_deleted pydantic-field

with_deleted: Optional[StrictBool] = None

Include deleted assets

with_exif pydantic-field

with_exif: Optional[StrictBool] = None

Include EXIF data in response

created_after_validate_regular_expression pydantic-validator

created_after_validate_regular_expression(value)

Validates the regular expression

Source code in immichpy/client/generated/models/smart_search_dto.py
203
204
205
206
207
208
209
210
211
212
213
214
215
216
@field_validator("created_after", mode="before")
def created_after_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

created_before_validate_regular_expression pydantic-validator

created_before_validate_regular_expression(value)

Validates the regular expression

Source code in immichpy/client/generated/models/smart_search_dto.py
218
219
220
221
222
223
224
225
226
227
228
229
230
231
@field_validator("created_before", mode="before")
def created_before_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 SmartSearchDto from a dict

Source code in immichpy/client/generated/models/smart_search_dto.py
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
@classmethod
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
    """Create an instance of SmartSearchDto from a dict"""
    if obj is None:
        return None

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

    _obj = cls.model_validate(
        {
            "albumIds": obj.get("albumIds"),
            "city": obj.get("city"),
            "country": obj.get("country"),
            "createdAfter": obj.get("createdAfter"),
            "createdBefore": obj.get("createdBefore"),
            "filter": SearchFilter.from_dict(obj["filter"])
            if obj.get("filter") is not None
            else None,
            "isEncoded": obj.get("isEncoded"),
            "isFavorite": obj.get("isFavorite"),
            "isMotion": obj.get("isMotion"),
            "isNotInAlbum": obj.get("isNotInAlbum"),
            "isOffline": obj.get("isOffline"),
            "language": obj.get("language"),
            "lensModel": obj.get("lensModel"),
            "libraryId": obj.get("libraryId"),
            "make": obj.get("make"),
            "model": obj.get("model"),
            "ocr": obj.get("ocr"),
            "page": obj.get("page"),
            "personIds": obj.get("personIds"),
            "query": obj.get("query"),
            "queryAssetId": obj.get("queryAssetId"),
            "rating": obj.get("rating"),
            "size": obj.get("size") if obj.get("size") is not None else 100,
            "state": obj.get("state"),
            "tagIds": obj.get("tagIds"),
            "takenAfter": obj.get("takenAfter"),
            "takenBefore": obj.get("takenBefore"),
            "trashedAfter": obj.get("trashedAfter"),
            "trashedBefore": obj.get("trashedBefore"),
            "type": obj.get("type"),
            "updatedAfter": obj.get("updatedAfter"),
            "updatedBefore": obj.get("updatedBefore"),
            "visibility": obj.get("visibility"),
            "withDeleted": obj.get("withDeleted"),
            "withExif": obj.get("withExif"),
        }
    )
    return _obj

from_json classmethod

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

Create an instance of SmartSearchDto from a JSON string

Source code in immichpy/client/generated/models/smart_search_dto.py
368
369
370
371
@classmethod
def from_json(cls, json_str: str) -> Optional[Self]:
    """Create an instance of SmartSearchDto from a JSON string"""
    return cls.from_dict(json.loads(json_str))

library_id_validate_regular_expression pydantic-validator

library_id_validate_regular_expression(value)

Validates the regular expression

Source code in immichpy/client/generated/models/smart_search_dto.py
233
234
235
236
237
238
239
240
241
242
243
244
245
246
@field_validator("library_id", mode="before")
def library_id_validate_regular_expression(cls, value):
    """Validates the regular expression"""
    if value is None:
        return value

    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

query_asset_id_validate_regular_expression pydantic-validator

query_asset_id_validate_regular_expression(value)

Validates the regular expression

Source code in immichpy/client/generated/models/smart_search_dto.py
248
249
250
251
252
253
254
255
256
257
258
259
260
261
@field_validator("query_asset_id", mode="before")
def query_asset_id_validate_regular_expression(cls, value):
    """Validates the regular expression"""
    if value is None:
        return value

    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

taken_after_validate_regular_expression pydantic-validator

taken_after_validate_regular_expression(value)

Validates the regular expression

Source code in immichpy/client/generated/models/smart_search_dto.py
263
264
265
266
267
268
269
270
271
272
273
274
275
276
@field_validator("taken_after", mode="before")
def taken_after_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

taken_before_validate_regular_expression pydantic-validator

taken_before_validate_regular_expression(value)

Validates the regular expression

Source code in immichpy/client/generated/models/smart_search_dto.py
278
279
280
281
282
283
284
285
286
287
288
289
290
291
@field_validator("taken_before", mode="before")
def taken_before_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/smart_search_dto.py
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
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 filter
    if self.filter:
        _dict["filter"] = self.filter.to_dict()
    # set to None if city (nullable) is None
    # and model_fields_set contains the field
    if self.city is None and "city" in self.model_fields_set:
        _dict["city"] = None

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

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

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

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

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

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

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

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

    return _dict

to_json

to_json() -> str

Returns the JSON representation of the model using alias

Source code in immichpy/client/generated/models/smart_search_dto.py
364
365
366
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/smart_search_dto.py
360
361
362
def to_str(self) -> str:
    """Returns the string representation of the model using alias"""
    return pprint.pformat(self.model_dump(by_alias=True))

trashed_after_validate_regular_expression pydantic-validator

trashed_after_validate_regular_expression(value)

Validates the regular expression

Source code in immichpy/client/generated/models/smart_search_dto.py
293
294
295
296
297
298
299
300
301
302
303
304
305
306
@field_validator("trashed_after", mode="before")
def trashed_after_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

trashed_before_validate_regular_expression pydantic-validator

trashed_before_validate_regular_expression(value)

Validates the regular expression

Source code in immichpy/client/generated/models/smart_search_dto.py
308
309
310
311
312
313
314
315
316
317
318
319
320
321
@field_validator("trashed_before", mode="before")
def trashed_before_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

updated_after_validate_regular_expression pydantic-validator

updated_after_validate_regular_expression(value)

Validates the regular expression

Source code in immichpy/client/generated/models/smart_search_dto.py
323
324
325
326
327
328
329
330
331
332
333
334
335
336
@field_validator("updated_after", mode="before")
def updated_after_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

updated_before_validate_regular_expression pydantic-validator

updated_before_validate_regular_expression(value)

Validates the regular expression

Source code in immichpy/client/generated/models/smart_search_dto.py
338
339
340
341
342
343
344
345
346
347
348
349
350
351
@field_validator("updated_before", mode="before")
def updated_before_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