def sign_in(data: UserSignIn) -> dict: user = UserManager.get_by_email(data.email) if not (user and Crypt.check(data.password, user.password)): raise HTTPException( status_code=status.HTTP_401_UNAUTHORIZED, detail='Invalid credentials', ) return {'token': AuthJWT.create_token(user.id)}
def unique_email(cls, v): if UserManager.get_by_email(v): raise ValidationError('Email already taken') return v