Files
my_bookmate/backend/app/schemas/book.py
T

56 lines
953 B
Python

from pydantic import BaseModel
from datetime import datetime
class BookOut(BaseModel):
id: str
filename: str
title: str | None
author: str | None
language: str
char_count: int
status: str
created_at: datetime
class Config:
from_attributes = True
class BookDetailOut(BookOut):
chapter_count: int = 0
segment_count: int = 0
class ChapterOut(BaseModel):
id: str
book_id: str
order_idx: int
title: str | None
level: int
heading_path: str | None
cfi_start: str | None
cfi_end: str | None
char_count: int
class Config:
from_attributes = True
class SegmentOut(BaseModel):
id: str
chapter_id: str
book_id: str
order_idx: int
text: str
char_count: int
cfi: str | None
class Config:
from_attributes = True
class ParseStatus(BaseModel):
book_id: str
status: str
title: str | None
char_count: int