-
Notifications
You must be signed in to change notification settings - Fork 0
/
sendungsdatenverwaltung.py
59 lines (41 loc) · 2.21 KB
/
sendungsdatenverwaltung.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
from fastapi import FastAPI
from starlette import status
from starlette.responses import JSONResponse
from models import Sendung
app = FastAPI()
app.data = [] # Enthält eine Liste aller Sendungsinformationen
@app.get("/hello_world/", response_description="Hello World!")
def hello_world():
"""Hello World :D
:return Hello World!
"""
response = "Hello World!"
return JSONResponse(status_code=status.HTTP_200_OK, content=response)
@app.post("/sendungen/", response_description="Erstellt eine Sendungsinformation", response_model=Sendung)
def create(data: Sendung):
"""Erstellt eine Sendungsinformation im lokalen Speicher des Verwaltungssystems
:param data: Sendungsinformation, die abgespeichert werden soll
:return Sendungsinformation, die gespeichert wurde
"""
# TODO: Wurder diese Sendung vielleicht bereits gescanned?
# TODO: Fehlen Informationen zur Sendung die benötigt werden?
app.data += [data]
return JSONResponse(status_code=status.HTTP_201_CREATED, content=data.json())
@app.put("/sendungen/", response_description="Aktualisiert eine Sendungsinformation", response_model=Sendung)
def update(data: Sendung):
"""Aktualisiert eine Sendungsinformation im lokalen Speicher des Verwaltungssystems
:param data: Aktualisierte Sendungsinformation, die im Speicher abgelegt werden soll
:return Gespeicherte, aktualisierte Sendungsinformation
"""
# TODO: Suche im lokalen Speicher nach der Sendungsinformationen und aktualisiere ihre Daten
# TODO: Was tun wir, wenn die gegebene Sendung nicht existiert?
return JSONResponse(status_code=status.HTTP_200_OK, content=data.json())
@app.get("/sendungen/{sendung_id}", response_description="Erhebt eine Sendungsinformation", response_model=Sendung)
def get(sendung_id: int):
"""Erhebt eine Sendungsinformation basierend auf der übergebenen Sendungs-ID
:param sendung_id: Sendungs-ID der zu erhebenden Sendungsinformationen
:return Sendungsinformation mit gegebener Sendungs-ID
"""
# TODO: Suche im lokalen Speicher nach der korrekten Sendungsinformation
# TODO: Was tun wir, wenn die gegebene Sendung nicht existiert?
return JSONResponse(status_code=status.HTTP_200_OK, content=None)