from flask import Flask
from flask import request
#Instanz der Klasse Flask
store_app = Flask(__name__)

#Daten
stores = [
    {
        "name": "My Store",
        "items": [
            {
                "name": "Stuhl",
                "preis": 49.90
            }
        ]
    }
    ]

#Endpunkt = /shop, die Funktion get_shop() ist mit ihm verbunden
@store_app.get("/shop")               #unter http://127.0.0.1:5000/shop wird die Funktion ausgeführt
def get_shop():
    return {"shop":stores}

@store_app.post("/shop")    #Mit einem Decorator werden verschiedene Implementierungen derselben Methode unterschieden
def create_department():
    request_data = request.get_json()
    new_store = {"name": request_data["name"], "items":[]}  
    stores.append(new_store)
    return new_store, 200

#Löschen eines bestimmten Artikels (item)
@store_app.delete("/shop") 
def delete_item():
    a=request.args.get('item') #http://127.0.0.1:5000/shop?item=Tisch
    i=0
    for items in stores[0]["items"]:
        if items["name"]==a:
            del stores[0]["items"][i]
        i=i+1    
    return a

#Aufruf eines bestimmten Shops  
@store_app.post("/shop/<string:name>/items") #http://127.0.0.1:5000/shop/My Store/item
def create_item(name):
    request_data = request.get_json()
    for store in stores:
        if store["name"] == name:
            new_item = {"name": request_data["name"], "preis": request_data["preis"]}
            store["items"].append(new_item)
            return new_item, 201
    return {"message": "Store not found"}, 404



    
