From 7ec0fc979fbb5ad1d14901ca3be6c021c70f2bd5 Mon Sep 17 00:00:00 2001
From: hanfi <ccc@spahan.ch>
Date: Wed, 26 Jul 2023 19:45:16 +0200
Subject: [PATCH] specific imports and more comments

---
 backend/main.py | 20 ++++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)

diff --git a/backend/main.py b/backend/main.py
index fc61189..dd487b7 100644
--- a/backend/main.py
+++ b/backend/main.py
@@ -1,4 +1,4 @@
-import datetime
+from datetime import datetime, timedelta
 from uuid import UUID
 
 from fastapi import Depends, FastAPI, HTTPException, Request, status
@@ -18,6 +18,7 @@ create_database()
 
 app = FastAPI()
 
+# CORS handling
 origins = [settings.customer_url, settings.worker_url]
 app.add_middleware(
     CORSMiddleware,
@@ -26,14 +27,18 @@ app.add_middleware(
     allow_methods=["*"],
     allow_headers=["*"],
 )
+
+# Rate Limiting for some endpoints
 limiter = Limiter(key_func=get_remote_address)
 app.state.limiter = limiter
 app.add_exception_handler(RateLimitExceeded, _rate_limit_exceeded_handler)
+
+# Authentication setup
 oauth2_scheme = OAuth2PasswordBearer(tokenUrl="token")
 oauth2_tokener = Serializer(settings.signing_key)
 
 
-# Dependency
+# DB Dependency
 def get_db():
     db = SessionLocal()
     try:
@@ -42,6 +47,7 @@ def get_db():
         db.close()
 
 
+# Routes
 @app.post("/item/prepare", response_model=schemas.Item)
 @limiter.limit("2/minute")
 def add_item(
@@ -72,10 +78,7 @@ def get_item(item_uuid: str, db: Session = Depends(get_db)):
 
 @app.get("/items", response_model=list[schemas.Item])
 def get_items(token: str = Depends(oauth2_scheme), db: Session = Depends(get_db)):
-    if (
-        datetime.datetime.fromtimestamp(oauth2_tokener.loads(token))
-        < datetime.datetime.now()
-    ):
+    if datetime.fromtimestamp(oauth2_tokener.loads(token)) < datetime.now():
         raise HTTPException(
             status_code=status.HTTP_401_UNAUTHORIZED,
             detail="Invalid authentication credentials",
@@ -114,10 +117,7 @@ def verify_supporter(form_data: OAuth2PasswordRequestForm = Depends()):
         raise HTTPException(status_code=400, detail="Incorrect username or password")
     return {
         "access_token": oauth2_tokener.dumps(
-            (
-                datetime.datetime.now()
-                + datetime.timedelta(minutes=settings.token_lifetime)
-            ).timestamp()
+            (datetime.now() + timedelta(minutes=settings.token_lifetime)).timestamp()
         ),
         "token_type": "bearer",
     }
-- 
GitLab