Major addition. User register, login and update is now functional on frontend, removed UUID5 for UUID4 for users and many more changes

This commit is contained in:
Thastertyn committed 2025-03-16 22:24:54 +01:00
1 parent d87c280109
commit d0690f2f06
67 files changed
+3389 -1066

No files matched your search

-1
View File
@@ -4,7 +4,6 @@ from app.api.routes import cart_routes, login_routes, shop, user_routes, utils_r
api_router = APIRouter()
api_router.include_router(cart_routes.router)
api_router.include_router(user_routes.router)
api_router.include_router(utils_routes.router)
api_router.include_router(login_routes.router)
+4 -4
View File
@@ -1,18 +1,18 @@
from fastapi import APIRouter, HTTPException, status
from fastapi import APIRouter
from app.api.dependencies import CurrentOwnerUser, SessionDep
from app.crud.shop_crud import create_shop
from app.schemas.shop_schemas import ShopCreate
from app.schemas.user_schemas import Token
from app.crud.shop_crud import create_shop
router = APIRouter(prefix="/shop", tags=["Dashboard"])
@router.post("", response_model=bool, status_code=201)
@router.post("", status_code=201)
def register_new_shop(
session: SessionDep,
current_user: CurrentOwnerUser,
shop_data: ShopCreate
) -> Token:
) -> bool:
create_shop(session, shop_data, current_user)
return True
+9 -11
View File
@@ -7,7 +7,7 @@ from sqlalchemy.exc import IntegrityError
from app.api.dependencies import CurrentOwnerUser, SessionDep
from app.crud import user_crud
from app.database.models.user_model import UserRole
from app.schemas.user_schemas import UserRegister, UserUpdate
from app.schemas.user_schemas import UserPublic, UserRegister, UserUpdate
logger = logging.getLogger(__name__)
@@ -21,8 +21,8 @@ router = APIRouter(
@router.get("", summary="Get information about currently logged in user")
async def get_user(session: SessionDep, current_user: CurrentOwnerUser):
pass
async def get_user(current_user: CurrentOwnerUser) -> UserPublic:
return current_user
@router.post("", summary="Register new user", status_code=status.HTTP_201_CREATED, response_model=bool)
@@ -40,11 +40,8 @@ async def register(session: SessionDep, user_data: UserRegister):
column_name = "email"
detail = f"{field_mapping.get(column_name, column_name or 'Entry').capitalize()} already in use"
raise HTTPException(
status_code=status.HTTP_409_CONFLICT,
detail=detail
)
logger.warning("%s already exists in the database", column_name.capitalize)
raise HTTPException(status_code=status.HTTP_409_CONFLICT, detail=detail)
except Exception as e:
if isinstance(e, HTTPException):
raise
@@ -53,10 +50,11 @@ async def register(session: SessionDep, user_data: UserRegister):
@router.delete("", summary="Delete user")
async def delete_user():
async def delete_user() -> bool:
raise HTTPException(status_code=status.HTTP_501_NOT_IMPLEMENTED, detail="delete_user() not implemented")
@router.put("", summary="Update user details")
async def update_user(data: UserUpdate):
raise HTTPException(status_code=status.HTTP_501_NOT_IMPLEMENTED, detail="update_user() not implemented")
async def update_user(session: SessionDep, data: UserUpdate, current_user: CurrentOwnerUser) -> bool:
user_crud.update_user(session, data, current_user)
return True