From f5267e545ebb53267597b0de30475df7da493196 Mon Sep 17 00:00:00 2001 From: TropiiDev Date: Tue, 22 Apr 2025 22:19:49 -0400 Subject: [PATCH] Fixed some issues with register v0.0.4 --- api.py | 9 ++++++--- tables.py | 10 +++++++--- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/api.py b/api.py index 63c21c0..fdccf36 100644 --- a/api.py +++ b/api.py @@ -26,9 +26,12 @@ async def root(): @app.post("/user/create", response_model=UserPublic) def create_user(user: UserCreate, session: SessionDep): salt = random.randint(00000, 99999) - existing_user = session.query(User).filter(User.email == user.email).first() - if existing_user: - raise HTTPException(status_code=400, detail="Email already registered") + existing_email = session.query(User).filter(User.email == user.email).first() + if existing_email: + return {"detail": "Email already registered"} + existing_username = session.query(User).filter(User.username == user.username).first() + if existing_username: + return {"detail": "Username already registered"} user.password = hash_password(user.password, salt) user.salt = salt diff --git a/tables.py b/tables.py index 0e8f40e..4e3e6e7 100644 --- a/tables.py +++ b/tables.py @@ -36,10 +36,14 @@ class User(UserBase, table=True): salt: int tasks: list[Task] | None = Field(default=None, sa_column=Column(JSON)) -class UserPublic(UserBase): - id: int - is_active: bool +class UserPublic(BaseModel): + id: int | None = None + name: str | None = None + email: str | None = None + username: str | None = None + is_active: bool | None = None tasks: list[Task] | None = Field(default=None, sa_column=Column(JSON)) + detail : str | None = None class UserCreate(UserBase): password: str