30 lines
576 B
Python
30 lines
576 B
Python
from typing import List, Optional
|
|
from pydantic import BaseModel, constr, conint
|
|
|
|
class AuthorCreate(BaseModel):
|
|
name: constr(min_length=2, max_length=100)
|
|
|
|
class AuthorModel(BaseModel):
|
|
id: int
|
|
name: str
|
|
|
|
class Config:
|
|
orm_mode = True
|
|
|
|
class BookCreate(BaseModel):
|
|
title: constr(min_length=1, max_length=100)
|
|
author_id: conint(gt=0)
|
|
|
|
class BookModel(BaseModel):
|
|
id: int
|
|
title: str
|
|
author_id: int
|
|
status: Optional[str] = None
|
|
|
|
class Config:
|
|
orm_mode = True
|
|
|
|
class BookWithAuthor(BookModel):
|
|
author: AuthorModel
|
|
|