Reset hesla, doplneni mailu

This commit is contained in:
Michal Kváček
2024-02-08 16:26:12 +01:00
parent 03c9f2d189
commit c26eb97288
11 changed files with 235 additions and 79 deletions
+6 -3
View File
@@ -1,11 +1,13 @@
import re
from fastapi import HTTPException
from fastapi import HTTPException, BackgroundTasks
from sqlalchemy import select
from typing import Optional
from pydantic import BaseModel, Field, model_validator
from background_jobs.send_email import send_email
from database.models import User
from database.transaction import get_session
from passlib.hash import bcrypt
from emails.emails import WelcomeEmail
class RegistrationInput(BaseModel):
@@ -24,7 +26,8 @@ class RegistrationInput(BaseModel):
class RegistrationEndpoint:
async def on_post(self, user_data: RegistrationInput) -> User:
@staticmethod
async def on_post(user_data: RegistrationInput, backgorund_tasks: BackgroundTasks) -> User:
query = select(User).filter_by(email=user_data.email)
async with get_session() as db:
existing_user = (await db.scalars(query)).first()
@@ -39,6 +42,6 @@ class RegistrationEndpoint:
"description": ""
})
# TODO: odeslat WelcomeEmail
backgorund_tasks.add_task(send_email, WelcomeEmail(to=user_data.email))
return model.as_dict()