WIP: Better exception handling

This commit is contained in:
2023-02-16 15:04:28 +01:00
parent 80897dd79c
commit e2633a01e5
3 changed files with 28 additions and 12 deletions

View File

@@ -1,5 +1,6 @@
from datetime import datetime, timedelta
from classes.exceptions import UserAlreadyExists, UserCredentialsInvalid, UserEmailCodeInvalid
from classes.models import EmailConfirmed
from modules.database import col_users, col_albums, col_photos, col_emails, col_videos, col_emails
from modules.app import app
from modules.utils import configGet, logWrite
@@ -40,11 +41,21 @@ async def user_me(current_user: User = Depends(get_current_active_user)):
user_confirm_responses = {
200: {
"description": "Successful Response",
"content": {
"application/json": {
"example": {
"detail": configGet("email_confirmed", "messages")
}
}
}
},
400: UserEmailCodeInvalid().openapi
}
if configGet("registration_requires_confirmation") is True:
@app.get("/users/{user}/confirm", responses=user_confirm_responses)
@app.patch("/users/{user}/confirm", responses=user_confirm_responses)
@app.get("/users/{user}/confirm", response_class=UJSONResponse, response_model=EmailConfirmed, responses=user_confirm_responses)
@app.patch("/users/{user}/confirm", response_class=UJSONResponse, response_model=EmailConfirmed, responses=user_confirm_responses)
async def user_confirm(user: str, code: str):
confirm_record = col_emails.find_one( {"user": user, "code": code, "used": False} )
if confirm_record is None: