2024-03-31 04:18:41 +03:00
|
|
|
from typing import Annotated
|
|
|
|
|
|
|
|
from fastapi import Depends
|
|
|
|
|
|
|
|
from api.application.abstractions.uow import UnitOfWork
|
2024-04-01 01:12:01 +03:00
|
|
|
from api.application.protocols.password_hasher import PasswordHasher
|
2024-04-01 12:19:10 +03:00
|
|
|
from api.application.usecase.auth.create_user import CreateUser
|
2024-03-31 04:18:41 +03:00
|
|
|
from api.domain.user.repository import UserRepository
|
2024-03-31 21:07:59 +03:00
|
|
|
from api.infrastructure.dependencies.stub import Stub
|
2024-03-31 04:18:41 +03:00
|
|
|
|
|
|
|
|
|
|
|
def provide_create_user(
|
2024-03-31 21:07:59 +03:00
|
|
|
user_repository: Annotated[UserRepository, Depends(Stub(UserRepository))],
|
2024-04-01 01:12:01 +03:00
|
|
|
uow: Annotated[UnitOfWork, Depends(Stub(UnitOfWork))],
|
|
|
|
password_hasher: Annotated[PasswordHasher, Depends(Stub(PasswordHasher))],
|
2024-03-31 04:18:41 +03:00
|
|
|
) -> CreateUser:
|
2024-04-01 12:19:10 +03:00
|
|
|
return CreateUser(
|
|
|
|
uow=uow, user_repository=user_repository, password_hasher=password_hasher
|
|
|
|
)
|