83 lines
1.2 KiB
Python
83 lines
1.2 KiB
Python
from typing import List, Union
|
|
|
|
from pydantic import BaseModel
|
|
|
|
|
|
class Photo(BaseModel):
|
|
id: str
|
|
album: str
|
|
hash: str
|
|
filename: str
|
|
|
|
|
|
class PhotoPublic(BaseModel):
|
|
id: str
|
|
caption: str
|
|
filename: str
|
|
|
|
|
|
class PhotoSearch(BaseModel):
|
|
id: str
|
|
filename: str
|
|
caption: Union[str, None]
|
|
|
|
|
|
class Video(BaseModel):
|
|
id: str
|
|
album: str
|
|
hash: str
|
|
filename: str
|
|
|
|
|
|
class VideoPublic(BaseModel):
|
|
id: str
|
|
caption: str
|
|
filename: str
|
|
|
|
|
|
class VideoSearch(BaseModel):
|
|
id: str
|
|
filename: str
|
|
caption: Union[str, None]
|
|
|
|
|
|
class Album(BaseModel):
|
|
id: str
|
|
name: str
|
|
title: str
|
|
|
|
|
|
class AlbumSearch(BaseModel):
|
|
id: str
|
|
name: str
|
|
title: str
|
|
|
|
|
|
class AlbumModified(BaseModel):
|
|
name: str
|
|
title: str
|
|
cover: Union[str, None]
|
|
|
|
|
|
class SearchResultsAlbum(BaseModel):
|
|
results: List[Album]
|
|
next_page: Union[str, None]
|
|
|
|
|
|
class SearchResultsPhoto(BaseModel):
|
|
results: List[PhotoSearch]
|
|
next_page: Union[str, None]
|
|
|
|
|
|
class SearchResultsVideo(BaseModel):
|
|
results: List[VideoSearch]
|
|
next_page: Union[str, None]
|
|
|
|
|
|
class RandomSearchResultsPhoto(BaseModel):
|
|
results: List[PhotoSearch]
|
|
|
|
|
|
class RandomSearchResultsVideo(BaseModel):
|
|
results: List[VideoSearch]
|