init
This commit is contained in:
30
app/presentation/dependencies/users.py
Normal file
30
app/presentation/dependencies/users.py
Normal file
@@ -0,0 +1,30 @@
|
||||
from __future__ import annotations
|
||||
|
||||
from fastapi import Depends
|
||||
|
||||
from app.application.users.use_cases.create_user import CreateUserUseCase
|
||||
from app.application.users.use_cases.get_user import GetUserUseCase
|
||||
from app.infrastructure.db.sqlalchemy.session import get_sessionmaker
|
||||
from app.infrastructure.db.sqlalchemy.uow import SqlAlchemyUnitOfWork
|
||||
from app.infrastructure.integrations.email.smtp_sender import SmtpWelcomeEmailSender
|
||||
|
||||
|
||||
def get_uow() -> SqlAlchemyUnitOfWork:
|
||||
return SqlAlchemyUnitOfWork(get_sessionmaker())
|
||||
|
||||
|
||||
def get_email_sender() -> SmtpWelcomeEmailSender:
|
||||
return SmtpWelcomeEmailSender()
|
||||
|
||||
|
||||
def get_create_user_uc(
|
||||
uow: SqlAlchemyUnitOfWork = Depends(get_uow),
|
||||
email_sender: SmtpWelcomeEmailSender = Depends(get_email_sender),
|
||||
) -> CreateUserUseCase:
|
||||
return CreateUserUseCase(uow=uow, welcome_email_sender=email_sender)
|
||||
|
||||
|
||||
def get_get_user_uc(
|
||||
uow: SqlAlchemyUnitOfWork = Depends(get_uow),
|
||||
) -> GetUserUseCase:
|
||||
return GetUserUseCase(uow=uow)
|
||||
Reference in New Issue
Block a user