From de974e76e2727418df416d2e1aedbc8403dc7127 Mon Sep 17 00:00:00 2001 From: Yarne Coppens Date: Sun, 4 Aug 2024 10:23:58 +0200 Subject: [PATCH] Added barcode to products --- src/classes/product_classes.py | 1 + src/data_connection.py | 11 ++++++++--- src/main.py | 7 +++---- 3 files changed, 12 insertions(+), 7 deletions(-) diff --git a/src/classes/product_classes.py b/src/classes/product_classes.py index 8a33754..0752d78 100644 --- a/src/classes/product_classes.py +++ b/src/classes/product_classes.py @@ -3,4 +3,5 @@ from pydantic import BaseModel, HttpUrl class Product(BaseModel): name: str price: float + barcode: int image_url: HttpUrl \ No newline at end of file diff --git a/src/data_connection.py b/src/data_connection.py index d9f65d8..eae726a 100644 --- a/src/data_connection.py +++ b/src/data_connection.py @@ -1,9 +1,14 @@ from src.classes import product_classes -apple = product_classes.Product(name="Appel", price=1.0, image_url="https://i.etsystatic.com/16348658/r/il/380709/1340147432/il_570xN.1340147432_p3pc.jpg") -bubble_tea = product_classes.Product(name="Bubble Tea", price=5.0, image_url="https://uxwing.com/wp-content/themes/uxwing/download/food-and-drinks/bubble-tea-icon.png") +apple = product_classes.Product(name="Appel", price=1.0, barcode=1000 , image_url="https://i.etsystatic.com/16348658/r/il/380709/1340147432/il_570xN.1340147432_p3pc.jpg") +bubble_tea = product_classes.Product(name="Bubble Tea", price=5.0, barcode=1001 ,image_url="https://uxwing.com/wp-content/themes/uxwing/download/food-and-drinks/bubble-tea-icon.png") product_list = [apple, bubble_tea] def get_all_products() -> list[product_classes.Product]: - return product_list \ No newline at end of file + return product_list + +def get_single_product(barcode: int) -> product_classes.Product: + for product in product_list: + if product.barcode == barcode: + return product \ No newline at end of file diff --git a/src/main.py b/src/main.py index cc9cdd2..c53f3d6 100644 --- a/src/main.py +++ b/src/main.py @@ -26,7 +26,6 @@ def read_root(): def get_all_products(): return data_connection.get_all_products() -# @app.get("/boardgames/{boardgame_id}", response_model=boardgame_classes.BoardGame) -# def get_boardgame_by_id(boardgame_id: int): -# requested_boardgame: boardgame_classes.BoardGame = data_connection.get_boardgame(boardgame_id) -# return requested_boardgame \ No newline at end of file +@app.get("/products/{barcode}", response_model=product_classes.Product) +def get_single_product(barcode: int): + return data_connection.get_single_product(barcode) \ No newline at end of file