Fixed some issues with register v0.0.4
This commit is contained in:
parent
66d721d8ed
commit
f5267e545e
9
api.py
9
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
|
||||
|
10
tables.py
10
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
|
||||
|
Loading…
Reference in New Issue
Block a user