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:
1 parent
d87c280109
commit
d0690f2f06
67 files changed
+3389
-1066
No files matched your search
@@ -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
|
||||
@@ -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
|
||||
Reference in new issue
Block a user