Now we create use case with constructor
class MyUseCase(UseCase):
def __init__(self, repository: Repository, app_service: AppService) -> None:
self.repository = repository
self.app_service = app_service
def execute(user_id: UUID) -> AnyResult:
user = self.repository.retrive(user_id).unwrap_or_return()
return self.app_service.execute(user)
It'd be fantastic to have something like:
class MyUseCase(UseCase):
repostory: Repository
app_service: AppService
def execute(user_id: UUID) -> AnyResult:
user = self.repository.retrive(user_id).unwrap_or_return()
return self.app_service.execute(user)
Now it's possible with dataclasses
@dataclass
class MyUseCase(UseCase):
repostory: Repository
app_service: AppService
def execute(user_id: UUID) -> AnyResult:
user = self.repository.retrive(user_id).unwrap_or_return()
return self.app_service.execute(user)
Now we create use case with constructor
It'd be fantastic to have something like:
Now it's possible with
dataclasses