From 6c961db275f194f3e5b747fa2da446257ac12d9e Mon Sep 17 00:00:00 2001 From: Esa Kataja Date: Sat, 9 Nov 2024 22:17:30 +0200 Subject: [PATCH] Add card endpoint --- src/lib/database/card.py | 20 ++++++++++++++++++++ src/routes/card.py | 9 +++++++++ 2 files changed, 29 insertions(+) create mode 100644 src/lib/database/card.py diff --git a/src/lib/database/card.py b/src/lib/database/card.py new file mode 100644 index 0000000..8a88dd7 --- /dev/null +++ b/src/lib/database/card.py @@ -0,0 +1,20 @@ +from models.card import Card +from lib.database.database import get_db + + +def get_all_cards() -> list[Card]: + sql = "SELECT * FROM cards" + with get_db() as conn: + result = conn.execute(sql).fetchall() + cards: list[Card] = [] + for row in result: + card = Card( + id=str(row[0]), + title=row[1], + description=row[2], + point_value=row[3], + created_at=row[4], + updated_at=row[5], + ) + cards.append(card) + return cards diff --git a/src/routes/card.py b/src/routes/card.py index 3319706..a85f376 100644 --- a/src/routes/card.py +++ b/src/routes/card.py @@ -1,7 +1,16 @@ from fastapi import APIRouter +from models.card import Card +from lib.database.card import get_all_cards + router = APIRouter( prefix="/card", tags=["card"], responses={404: {"description": "Not found"}}, ) + + +@router.get("/", response_model=list[Card]) +async def get_cards() -> list[Card]: + """Get all cards""" + return get_all_cards()