From 85ac40bfd766a019f28ea98974aff91f7e10e6dd Mon Sep 17 00:00:00 2001
From: Madiwka <madi.turgunov.03@gmail.com>
Date: Sat, 18 Nov 2023 13:48:58 +0600
Subject: [PATCH] Bugfixes, CORS in dev

---
 app/apis/v1/route_user.py      | 8 ++++++++
 app/core/config.py             | 2 +-
 app/db/repository/drivetask.py | 2 +-
 app/db/repository/user.py      | 4 ++++
 app/main.py                    | 2 +-
 5 files changed, 15 insertions(+), 3 deletions(-)

diff --git a/app/apis/v1/route_user.py b/app/apis/v1/route_user.py
index f8920d1..4db439e 100644
--- a/app/apis/v1/route_user.py
+++ b/app/apis/v1/route_user.py
@@ -50,6 +50,10 @@ def create_user(
     # if current_user.Role != "Admin":
     #     raise HTTPException(status_code=403, detail="You are not authorized to perform this action")
     user = create_new_user(user=user, db=db)
+    if user == "userExists":
+        raise HTTPException(
+            status_code=400, detail=f"User with this email already exists"
+        )
     return user
 
 
@@ -64,6 +68,10 @@ def create_driver(
             status_code=403, detail="You are not authorized to perform this action"
         )
     driver = create_new_driver(driver=driver, db=db)
+    if driver == "userExists":
+        raise HTTPException(
+            status_code=400, detail=f"User with this email already exists"
+        )
     return driver
 
 
diff --git a/app/core/config.py b/app/core/config.py
index 46d5128..beff9c0 100644
--- a/app/core/config.py
+++ b/app/core/config.py
@@ -3,7 +3,7 @@ class Settings:
     PROJECT_VERSION: str = "1.0.0"
     POSTGRES_USER: str = "VMSBase"
     POSTGRES_PASSWORD = "VMSBasePass"
-    POSTGRES_SERVER: str = "db"
+    POSTGRES_SERVER: str = "localhost"
     POSTGRES_PORT: str = "5432"
     POSTGRES_DB: str = "VMSData"
     DATABASE_URL = f"postgresql://{POSTGRES_USER}:{POSTGRES_PASSWORD}@{POSTGRES_SERVER}:{POSTGRES_PORT}/{POSTGRES_DB}"
diff --git a/app/db/repository/drivetask.py b/app/db/repository/drivetask.py
index f33ae20..bfde757 100644
--- a/app/db/repository/drivetask.py
+++ b/app/db/repository/drivetask.py
@@ -8,7 +8,7 @@ from db.repository.user import get_user_by_id
 
 def create_new_task(task: CreateTask, db: Session):
     driver = get_user_by_id(task.DriverId, "Driver", db)
-    if driver is None:
+    if not driver:
         return "notdriver"
     elif driver.Role != "Driver":
         return "notdriver"
diff --git a/app/db/repository/user.py b/app/db/repository/user.py
index 78d8878..cdccfb2 100644
--- a/app/db/repository/user.py
+++ b/app/db/repository/user.py
@@ -9,6 +9,8 @@ from db.models.drivetask import DriveTask
 
 
 def create_new_user(user: UserCreate, db: Session):
+    if get_user_by_email(user.Email, db):
+        return "userExists"
     user_object = User(
         Email=user.Email,
         Name=user.Name,
@@ -27,6 +29,8 @@ def create_new_user(user: UserCreate, db: Session):
 
 
 def create_new_driver(driver: DriverCreate, db: Session):
+    if get_user_by_email(driver.Email, db):
+        return "userExists"
     driver_object = User(
         Email=driver.Email,
         Name=driver.Name,
diff --git a/app/main.py b/app/main.py
index a98127d..cc56a50 100644
--- a/app/main.py
+++ b/app/main.py
@@ -22,7 +22,7 @@ def startup():  # start the project, and create the tables
 
 origins = ["*"]
 app = startup()
-app.add_middleware(CORSMiddleware, allow_origins=origins, allow_credentials=True, allow_methods=["*"], allow_headers=["*"], expose_headers=["*"])
+app.add_middleware(CORSMiddleware, allow_origins=origins, allow_credentials=True, allow_methods=["*"], allow_headers=["*"])
 
 # Testing stuff
 @app.get("/")