Files
MeganJohns/server/app/model/quotes.py
2024-12-01 19:15:25 -08:00

23 lines
696 B
Python

from typing import Optional, Type
from icecream import ic
from pydantic import HttpUrl
from app.constants import QUOTES_TABLE
from app.model.model_object import ModelObject
from app.model.response_object import ResponseObject
class Quote(ModelObject, ResponseObject):
body: str
author: str
source: Optional[HttpUrl] = None
@classmethod
def select_one(cls, obj_id: int, table_name: str = QUOTES_TABLE) -> "Quote | None":
return cls._construct(cls, super().select_one(obj_id, table_name))
@classmethod
def select_all(cls, table_name: str = QUOTES_TABLE) -> list["Quote"]:
return [cls._construct(cls, row) for row in super().select_all(table_name)]