Camada de Aplicação (Casos de Uso)¶
Esta camada contém a lógica específica da aplicação (use cases ou interatores). Ela orquestra as entidades de domínio e utiliza as interfaces de repositório e gateway para realizar suas operações. Os casos de uso são independentes de qualquer camada externa.
project/core/domain/use_cases/user_use_cases.py: Este arquivo agora contém:- DTOs (Data Transfer Objects): Classes
CreateUserRequest,CreateUserResponse,LoginUserRequest,LoginUserResponse,ChangeUserPasswordRequest,ChangeUserPasswordResponse,ListUsersRequest,ListUsersResponseeGetUserByIdRequestforam definidas para entrada e saída dos casos de uso, garantindo que os casos de uso sejam independentes dos formatos de requisição/resposta da API. CreateUserUseCase: Gerencia a lógica para criar um novo usuário.LoginUserUseCase: Gerencia a lógica para autenticar um usuário e gerar tokens.ChangeUserPasswordUseCase: Gerencia a lógica para alterar a senha de um usuário.ListUsersUseCase: Gerencia a lógica para listar usuários.GetUserByIdUseCase: Gerencia a lógica para obter um usuário por ID.
- DTOs (Data Transfer Objects): Classes