Frontend UseCase (Angular)
Overview
Criar Angular services (@Injectable) que encapsulam a lógica de aplicação, retornando Promise<Result<T>>. O UseCase recebe um IRepository via inject() e orquestra: valida → chama repository → retorna Result.
Guidelines
@Injectable({ providedIn: 'root' })ouprovidedIn: 'any'para escopo correto.- Recebe
I<Bc>Repositoryviainject()(Angular DI). - Retorna
Promise<Result<T>>— nunca lança exceção. - Um service = um caso de uso (ou casos de uso relacionados ao mesmo BC).
- Separa lógica de apresentação da lógica de aplicação.
Workflow
- Criar
abstract class I<Bc>RepositoryouInjectionToken. - Criar
@Injectable() class Create<Bc>UseCasecom métodoexecute(params). - Injetar repository via
inject(). - Implementar lógica com retorno
Promise<Result<T>>. - Criar em
features/<bc>/domain/<bc>.use-cases.ts.
References
- Consultar references/angular-usecase-pattern.md para código completo.
- Consultar ../skills-standards.md para convenções globais.
Global Standards
- Consultar ../skills-standards.md para padrões globais de nomenclatura e convenções gerais entre skills.