mirror of
https://github.com/wowlikon/LiB.git
synced 2026-02-04 20:34:38 +00:00
36 lines
827 B
Python
36 lines
827 B
Python
"""Модуль DTO-моделей для выдачи книг"""
|
||
from typing import List
|
||
|
||
from datetime import datetime
|
||
from sqlmodel import SQLModel
|
||
|
||
|
||
class LoanBase(SQLModel):
|
||
"""Базовая модель выдачи"""
|
||
book_id: int
|
||
user_id: int
|
||
due_date: datetime
|
||
|
||
|
||
class LoanCreate(LoanBase):
|
||
"""Модель для создания записи о выдаче"""
|
||
pass
|
||
|
||
|
||
class LoanUpdate(SQLModel):
|
||
"""Модель для обновления записи о выдаче"""
|
||
returned_at: datetime | None = None
|
||
|
||
|
||
class LoanRead(LoanBase):
|
||
"""Модель чтения записи о выдаче"""
|
||
id: int
|
||
borrowed_at: datetime
|
||
returned_at: datetime | None = None
|
||
|
||
|
||
class LoanList(SQLModel):
|
||
"""Список выдач"""
|
||
loans: List[LoanRead]
|
||
total: int
|