This commit is contained in:
@@ -1,5 +1,10 @@
|
||||
from datetime import datetime
|
||||
from typing import Optional
|
||||
|
||||
from pydantic import BaseModel
|
||||
|
||||
from src.db.models.comic import Artist
|
||||
|
||||
|
||||
class ArtistCreation(BaseModel):
|
||||
id: str
|
||||
@@ -7,7 +12,23 @@ class ArtistCreation(BaseModel):
|
||||
|
||||
class ArtistResponse(BaseModel):
|
||||
id: str
|
||||
created_date: datetime
|
||||
last_modified_date: datetime
|
||||
version: int
|
||||
name: str
|
||||
weblink: Optional[str]
|
||||
|
||||
def artist_to_response(artist: Artist) -> ArtistResponse:
|
||||
response: ArtistResponse = ArtistResponse(
|
||||
id=artist.id,
|
||||
created_date=artist.created_date,
|
||||
last_modified_date=artist.last_modified_date,
|
||||
version=artist.version,
|
||||
name=artist.name,
|
||||
weblink=artist.weblink
|
||||
)
|
||||
return response
|
||||
|
||||
|
||||
class AddArtist(BaseModel):
|
||||
id: str
|
||||
|
||||
@@ -1,17 +1,40 @@
|
||||
"""
|
||||
Schema definitions for Comics.
|
||||
"""
|
||||
from datetime import datetime
|
||||
from typing import Optional
|
||||
from pydantic import BaseModel, AnyUrl
|
||||
|
||||
from src.db.models.comic import Comic
|
||||
|
||||
|
||||
class ComicResponse(BaseModel):
|
||||
"""
|
||||
Pydantic model for returning Comic objects.
|
||||
"""
|
||||
id: str
|
||||
created_date: datetime
|
||||
last_modified_date: datetime
|
||||
version: int
|
||||
title: str
|
||||
publisher_id: str
|
||||
current_order: bool
|
||||
completed: bool
|
||||
weblink: Optional[str]
|
||||
|
||||
def comic_to_response(comic: Comic) -> ComicResponse:
|
||||
response: ComicResponse = ComicResponse(
|
||||
id=comic.id,
|
||||
created_date=comic.created_date,
|
||||
last_modified_date=comic.last_modified_date,
|
||||
version=comic.version,
|
||||
title=comic.title,
|
||||
publisher_id=comic.publisher_id,
|
||||
current_order=comic.current_order,
|
||||
completed=comic.completed,
|
||||
weblink=comic.weblink
|
||||
)
|
||||
return response
|
||||
|
||||
|
||||
class ComicSchema(BaseModel):
|
||||
|
||||
@@ -19,7 +19,7 @@ class ComicWorkResponse(BaseModel):
|
||||
work_type_id: str
|
||||
|
||||
|
||||
def to_response(comicwork: ComicWork) -> ComicWorkResponse:
|
||||
def comicwork_to_response(comicwork: ComicWork) -> ComicWorkResponse:
|
||||
response: ComicWorkResponse = ComicWorkResponse(
|
||||
id=comicwork.id,
|
||||
created_date=comicwork.created_date,
|
||||
|
||||
@@ -20,7 +20,7 @@ class IssueResponse(BaseModel):
|
||||
volume_id: Optional[str]
|
||||
story_arc_id: Optional[str]
|
||||
|
||||
def to_response(issue: Issue) -> IssueResponse:
|
||||
def issue_to_response(issue: Issue) -> IssueResponse:
|
||||
response: IssueResponse = IssueResponse(
|
||||
id=issue.id,
|
||||
created_date=issue.created_date,
|
||||
|
||||
@@ -19,7 +19,7 @@ class IssueWorkResponse(BaseModel):
|
||||
work_type_id: str
|
||||
|
||||
|
||||
def to_response(issuework: IssueWork) -> IssueWorkResponse:
|
||||
def issuework_to_response(issuework: IssueWork) -> IssueWorkResponse:
|
||||
response: IssueWorkResponse = IssueWorkResponse(
|
||||
id=issuework.id,
|
||||
created_date=issuework.created_date,
|
||||
|
||||
@@ -1,6 +1,30 @@
|
||||
from datetime import datetime
|
||||
from typing import Optional
|
||||
|
||||
from pydantic import BaseModel
|
||||
|
||||
from src.db.models.comic import Publisher
|
||||
|
||||
|
||||
class PublisherResponse(BaseModel):
|
||||
id: str
|
||||
created_date: datetime
|
||||
last_modified_date: datetime
|
||||
version: int
|
||||
name: str
|
||||
weblink: Optional[str]
|
||||
parent_publisher_id: Optional[str]
|
||||
|
||||
|
||||
def publisher_to_response(publisher: Publisher) -> PublisherResponse:
|
||||
response: PublisherResponse = PublisherResponse(
|
||||
id=publisher.id,
|
||||
created_date=publisher.created_date,
|
||||
last_modified_date=publisher.last_modified_date,
|
||||
version=publisher.version,
|
||||
name=publisher.name,
|
||||
weblink=publisher.weblink,
|
||||
parent_publisher_id=publisher.parent_publisher_id
|
||||
)
|
||||
return response
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@ class StoryArcResponse(BaseModel):
|
||||
class AddLink(BaseModel):
|
||||
url: str
|
||||
|
||||
def to_response(storyarc: StoryArc) -> StoryArcResponse:
|
||||
def storyarc_to_response(storyarc: StoryArc) -> StoryArcResponse:
|
||||
response: StoryArcResponse = StoryArcResponse(
|
||||
id=storyarc.id,
|
||||
created_date=storyarc.created_date,
|
||||
|
||||
@@ -13,7 +13,7 @@ class VolumeResponse(BaseModel):
|
||||
name: str
|
||||
comic_id: str
|
||||
|
||||
def to_response(volume: Volume) -> VolumeResponse:
|
||||
def volume_to_response(volume: Volume) -> VolumeResponse:
|
||||
response: VolumeResponse = VolumeResponse(
|
||||
id=volume.id,
|
||||
created_date=volume.created_date,
|
||||
|
||||
@@ -15,7 +15,7 @@ class WorktypeResponse(BaseModel):
|
||||
name: str
|
||||
|
||||
|
||||
def to_response(worktype: WorkType) -> WorktypeResponse:
|
||||
def worktype_to_response(worktype: WorkType) -> WorktypeResponse:
|
||||
response: WorktypeResponse = WorktypeResponse(
|
||||
id=worktype.id,
|
||||
created_date=worktype.created_date,
|
||||
|
||||
@@ -1,11 +1,29 @@
|
||||
from datetime import datetime
|
||||
from typing import Optional
|
||||
from pydantic import BaseModel
|
||||
|
||||
from src.db.models.media import MediaActor
|
||||
|
||||
|
||||
class MediaActorResponse(BaseModel):
|
||||
id: str
|
||||
created_date: datetime
|
||||
last_modified_date: datetime
|
||||
version: int
|
||||
name: Optional[str]
|
||||
url: str
|
||||
url: Optional[str]
|
||||
|
||||
def actor_to_response(actor: MediaActor) -> MediaActorResponse:
|
||||
response: MediaActorResponse = MediaActorResponse(
|
||||
id=actor.id,
|
||||
created_date=actor.created_date,
|
||||
last_modified_date=actor.last_modified_date,
|
||||
version=actor.version,
|
||||
name=actor.name,
|
||||
url=actor.url
|
||||
)
|
||||
return response
|
||||
|
||||
|
||||
class MediaActorModel(BaseModel):
|
||||
name: Optional[str]
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
from datetime import datetime
|
||||
from typing import Optional
|
||||
|
||||
from src.db.models.media import MediaActorFile
|
||||
from pydantic import BaseModel
|
||||
@@ -6,5 +7,19 @@ from pydantic import BaseModel
|
||||
|
||||
class MediaActorFileResponse(BaseModel):
|
||||
id: str
|
||||
file_id: str
|
||||
actor_id: str
|
||||
created_date: datetime
|
||||
last_modified_date: datetime
|
||||
version: int
|
||||
media_actor_id: str
|
||||
media_file_id: Optional[str]
|
||||
|
||||
def actorfile_to_response(actorfile: MediaActorFile) -> MediaActorFileResponse:
|
||||
response: MediaActorFileResponse = MediaActorFileResponse(
|
||||
id=actorfile.id,
|
||||
created_date=actorfile.created_date,
|
||||
last_modified_date=actorfile.last_modified_date,
|
||||
version=actorfile.version,
|
||||
media_actor_id=actorfile.media_actor_id,
|
||||
media_file_id=actorfile.media_file_id
|
||||
)
|
||||
return response
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
from datetime import datetime
|
||||
from typing import Optional
|
||||
|
||||
from src.db.models.media import MediaFile
|
||||
from pydantic import BaseModel
|
||||
@@ -6,28 +7,35 @@ from pydantic import BaseModel
|
||||
|
||||
class MediaFileResponse(BaseModel):
|
||||
id: str
|
||||
title: str | None = None
|
||||
file_name: str | None = None
|
||||
cloud_link: str | None = None
|
||||
url: str | None = None
|
||||
created_date: datetime
|
||||
last_modified_date: datetime
|
||||
version: int
|
||||
title: Optional[str]
|
||||
file_name: Optional[str]
|
||||
cloud_link: Optional[str]
|
||||
url: Optional[str]
|
||||
review: bool = False
|
||||
should_download: bool = False
|
||||
|
||||
def file_to_response(mediafile: MediaFile) -> MediaFileResponse:
|
||||
response: MediaFileResponse = MediaFileResponse(
|
||||
id=mediafile.id,
|
||||
created_date=mediafile.created_date,
|
||||
last_modified_date=mediafile.last_modified_date,
|
||||
version=mediafile.version,
|
||||
title=mediafile.title,
|
||||
file_name=mediafile.file_name,
|
||||
cloud_link=mediafile.cloud_link,
|
||||
url=mediafile.url,
|
||||
review=mediafile.review,
|
||||
should_download=mediafile.should_download
|
||||
)
|
||||
return response
|
||||
|
||||
|
||||
class Link(BaseModel):
|
||||
url: str
|
||||
|
||||
def get_file_details(mediafile: MediaFile) -> MediaFileResponse:
|
||||
response = MediaFileResponse(id=mediafile.id,
|
||||
title=mediafile.title,
|
||||
file_name=mediafile.file_name,
|
||||
cloud_link=mediafile.cloud_link,
|
||||
url=str(mediafile.url),
|
||||
review=mediafile.review,
|
||||
should_download=mediafile.should_download)
|
||||
#print(f"id: {mediafile.id}: review: {response.review} <- {mediafile.review}")
|
||||
#print(f"id: {mediafile.id}: download: {response.should_download} <- {mediafile.should_download}")
|
||||
return response
|
||||
|
||||
def set_file(model: MediaFileResponse, mediafile: MediaFile) -> None:
|
||||
mediafile.file_name = model.file_name
|
||||
mediafile.cloud_link = model.cloud_link
|
||||
|
||||
@@ -21,7 +21,7 @@ class MediaVideoResponse(BaseModel):
|
||||
class AddLink(BaseModel):
|
||||
url: str
|
||||
|
||||
def to_response(video: MediaVideo) -> MediaVideoResponse:
|
||||
def video_to_response(video: MediaVideo) -> MediaVideoResponse:
|
||||
response: MediaVideoResponse = MediaVideoResponse(
|
||||
id=video.id,
|
||||
created_date=video.created_date,
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
from datetime import datetime
|
||||
|
||||
from pydantic import BaseModel
|
||||
|
||||
from src.db.models.admin import Profile
|
||||
@@ -5,8 +7,30 @@ from src.db.models.admin import Profile
|
||||
|
||||
class ProfileResponse(BaseModel):
|
||||
id: str
|
||||
username: str
|
||||
created_date: datetime
|
||||
last_modified_date: datetime
|
||||
version: int
|
||||
first_name: str
|
||||
last_name: str
|
||||
user_name: str
|
||||
email: str
|
||||
password: str
|
||||
enabled: bool
|
||||
|
||||
def to_response(profile: Profile) -> ProfileResponse:
|
||||
response: ProfileResponse = ProfileResponse(
|
||||
id=profile.id,
|
||||
created_date=profile.created_date,
|
||||
last_modified_date=profile.last_modified_date,
|
||||
version=profile.version,
|
||||
first_name=profile.first_name,
|
||||
last_name=profile.last_name,
|
||||
user_name=profile.user_name,
|
||||
email=profile.email,
|
||||
password=profile.password,
|
||||
enabled=profile.enabled
|
||||
)
|
||||
return response
|
||||
|
||||
class ProfileModel(BaseModel):
|
||||
username: str
|
||||
|
||||
Reference in New Issue
Block a user