WIP: Better error handling

This commit is contained in:
2023-02-16 14:55:03 +01:00
parent 3bae6ef40e
commit c353a4a4df
6 changed files with 224 additions and 37 deletions

View File

@@ -1,4 +1,5 @@
from datetime import timedelta
from classes.exceptions import UserCredentialsInvalid
from modules.app import app
from modules.utils import configGet
@@ -14,12 +15,14 @@ from modules.security import (
create_access_token
)
@app.post("/token", response_model=Token)
token_post_responses = {
401: UserCredentialsInvalid().openapi
}
@app.post("/token", response_model=Token, responses=token_post_responses)
async def login_for_access_token(form_data: OAuth2PasswordRequestForm = Depends()):
user = authenticate_user(form_data.username, form_data.password)
if not user:
raise HTTPException(status_code=400, detail=configGet("credentials_invalid", "messages"))
raise UserCredentialsInvalid()
access_token_expires = timedelta(days=ACCESS_TOKEN_EXPIRE_DAYS)
access_token = create_access_token(
data={"sub": user.user, "scopes": form_data.scopes},