mirror of
https://github.com/flibusta-apps/book_library_server.git
synced 2025-12-06 07:05:36 +01:00
Init
This commit is contained in:
48
fastapi_book_server/app/serializers/author.py
Normal file
48
fastapi_book_server/app/serializers/author.py
Normal file
@@ -0,0 +1,48 @@
|
||||
from typing import Optional
|
||||
from datetime import date
|
||||
|
||||
from pydantic import BaseModel
|
||||
|
||||
|
||||
class Author(BaseModel):
|
||||
id: int
|
||||
|
||||
first_name: str
|
||||
last_name: str
|
||||
middle_name: Optional[str]
|
||||
|
||||
|
||||
class CreateAuthor(BaseModel):
|
||||
source: int
|
||||
remote_id: int
|
||||
|
||||
first_name: str
|
||||
last_name: str
|
||||
middle_name: Optional[str]
|
||||
|
||||
|
||||
class UpdateAuthor(BaseModel):
|
||||
first_name: str
|
||||
last_name: str
|
||||
middle_name: Optional[str]
|
||||
|
||||
|
||||
class AuthorBook(BaseModel):
|
||||
id: int
|
||||
title: str
|
||||
lang: str
|
||||
file_type: str
|
||||
|
||||
|
||||
class Translation(BaseModel):
|
||||
translator: Author
|
||||
position: int
|
||||
|
||||
|
||||
class TranslatedBook(BaseModel):
|
||||
id: int
|
||||
title: str
|
||||
lang: str
|
||||
file_type: str
|
||||
authors: list[Author]
|
||||
translations: list[Translation]
|
||||
23
fastapi_book_server/app/serializers/author_annotation.py
Normal file
23
fastapi_book_server/app/serializers/author_annotation.py
Normal file
@@ -0,0 +1,23 @@
|
||||
from typing import Optional
|
||||
|
||||
from pydantic import BaseModel
|
||||
|
||||
|
||||
class AuthorAnnotation(BaseModel):
|
||||
id: int
|
||||
title: str
|
||||
text: str
|
||||
file: Optional[str]
|
||||
|
||||
|
||||
class CreateAuthorAnnotation(BaseModel):
|
||||
author: int
|
||||
title: str
|
||||
text: str
|
||||
file: Optional[str]
|
||||
|
||||
|
||||
class UpdateAuthorAnnotation(BaseModel):
|
||||
title: str
|
||||
text: str
|
||||
file: Optional[str]
|
||||
42
fastapi_book_server/app/serializers/book.py
Normal file
42
fastapi_book_server/app/serializers/book.py
Normal file
@@ -0,0 +1,42 @@
|
||||
from datetime import date
|
||||
|
||||
from pydantic import BaseModel
|
||||
|
||||
from app.serializers.author import Author
|
||||
|
||||
|
||||
class Book(BaseModel):
|
||||
id: int
|
||||
title: str
|
||||
lang: str
|
||||
file_type: str
|
||||
uploaded: date
|
||||
authors: list[Author]
|
||||
|
||||
|
||||
class CreateBook(BaseModel):
|
||||
source: int
|
||||
remote_id: int
|
||||
title: str
|
||||
lang: str
|
||||
file_type: str
|
||||
uploaded: date
|
||||
authors: list[int]
|
||||
|
||||
|
||||
class UpdateBook(BaseModel):
|
||||
title: str
|
||||
lang: str
|
||||
file_type: str
|
||||
uploaded: date
|
||||
authors: list[int]
|
||||
|
||||
|
||||
class CreateRemoteBook(BaseModel):
|
||||
source: int
|
||||
remote_id: int
|
||||
title: str
|
||||
lang: str
|
||||
file_type: str
|
||||
uploaded: date
|
||||
remote_authors: list[int]
|
||||
24
fastapi_book_server/app/serializers/book_annotation.py
Normal file
24
fastapi_book_server/app/serializers/book_annotation.py
Normal file
@@ -0,0 +1,24 @@
|
||||
from typing import Optional
|
||||
|
||||
from pydantic import BaseModel
|
||||
|
||||
|
||||
class BookAnnotation(BaseModel):
|
||||
id: int
|
||||
title: str
|
||||
text: str
|
||||
file: Optional[str]
|
||||
|
||||
|
||||
class CreateBookAnnotation(BaseModel):
|
||||
id: int
|
||||
title: str
|
||||
text: str
|
||||
file: Optional[str]
|
||||
|
||||
|
||||
class UpdateBookAnnotation(BaseModel):
|
||||
id: int
|
||||
title: str
|
||||
text: str
|
||||
file: Optional[str]
|
||||
12
fastapi_book_server/app/serializers/sequence.py
Normal file
12
fastapi_book_server/app/serializers/sequence.py
Normal file
@@ -0,0 +1,12 @@
|
||||
from pydantic import BaseModel
|
||||
|
||||
|
||||
class Sequence(BaseModel):
|
||||
id: int
|
||||
name: str
|
||||
|
||||
|
||||
class CreateSequence(BaseModel):
|
||||
source: int
|
||||
remote_id: int
|
||||
name: str
|
||||
54
fastapi_book_server/app/serializers/sequence_info.py
Normal file
54
fastapi_book_server/app/serializers/sequence_info.py
Normal file
@@ -0,0 +1,54 @@
|
||||
from pydantic import BaseModel
|
||||
|
||||
|
||||
class SequenceBookAuthor(BaseModel):
|
||||
id: int
|
||||
first_name: str
|
||||
last_name: str
|
||||
middle_name: str
|
||||
|
||||
|
||||
class SeqTranslationTranslator(BaseModel):
|
||||
id: int
|
||||
first_name: str
|
||||
last_name: str
|
||||
middle_name: str
|
||||
|
||||
|
||||
class SequenceBookTranslation(BaseModel):
|
||||
id: int
|
||||
translator: SeqTranslationTranslator
|
||||
|
||||
|
||||
class SequenceBook(BaseModel):
|
||||
id: int
|
||||
title: str
|
||||
lang: str
|
||||
file_type: str
|
||||
authors: SequenceBookAuthor
|
||||
translation: SequenceBookTranslation
|
||||
|
||||
|
||||
class Sequence(BaseModel):
|
||||
id: int
|
||||
name: str
|
||||
|
||||
|
||||
class SequenceInfo(BaseModel):
|
||||
id: int
|
||||
book: SequenceBook
|
||||
sequence: Sequence
|
||||
position: int
|
||||
|
||||
|
||||
class CreateSequenceInfo(BaseModel):
|
||||
book: int
|
||||
sequence: int
|
||||
position: int
|
||||
|
||||
|
||||
class CreateRemoteSequenceInfo(BaseModel):
|
||||
source: int
|
||||
remote_book: int
|
||||
remote_sequence: int
|
||||
position: int
|
||||
10
fastapi_book_server/app/serializers/source.py
Normal file
10
fastapi_book_server/app/serializers/source.py
Normal file
@@ -0,0 +1,10 @@
|
||||
from pydantic import BaseModel
|
||||
|
||||
|
||||
class Source(BaseModel):
|
||||
id: int
|
||||
name: str
|
||||
|
||||
|
||||
class CreateSource(BaseModel):
|
||||
name: str
|
||||
34
fastapi_book_server/app/serializers/translation.py
Normal file
34
fastapi_book_server/app/serializers/translation.py
Normal file
@@ -0,0 +1,34 @@
|
||||
from pydantic import BaseModel
|
||||
|
||||
|
||||
class TranslationBook(BaseModel):
|
||||
id: int
|
||||
title: str
|
||||
lang: str
|
||||
file_type: str
|
||||
|
||||
|
||||
class TranslationTranslator(BaseModel):
|
||||
id: int
|
||||
first_name: str
|
||||
last_name: str
|
||||
middle_name: str
|
||||
|
||||
|
||||
class Translation(BaseModel):
|
||||
book: TranslationBook
|
||||
translator: TranslationTranslator
|
||||
position: int
|
||||
|
||||
|
||||
class CreateTranslation(BaseModel):
|
||||
book: int
|
||||
translator: int
|
||||
position: int
|
||||
|
||||
|
||||
class CreateRemoteTranslation(BaseModel):
|
||||
source: int
|
||||
remote_book: int
|
||||
remote_translator: int
|
||||
position: int
|
||||
Reference in New Issue
Block a user