Frontend Repository (Angular)
Overview
Criar class <Bc>HttpRepository implements I<Bc>Repository que usa HttpClient para chamar a API e mapeia DTOs → entidade de domínio. Erros HTTP → Result.err(message).
Guidelines
- Implementa
I<Bc>Repository(definido no domain). - Usa
HttpClientviainject(). - Resposta da API mapeada de DTO → entidade via
CustomerEntity.create(). - Erros HTTP capturados com
catchErrordo RxJS → retornamerr(message). - Registrado no provider como
{ provide: CUSTOMER_REPOSITORY, useClass: CustomerHttpRepository }.
Workflow
- Criar DTO interface
<Bc>ApiDto(estrutura da API). - Criar
class <Bc>HttpRepository implements I<Bc>Repository. - Cada método:
firstValueFrom(http.get<Dto>(...))→ mapear → retornar Result. - Capturar erros HTTP e converter para
err(message). - Registrar no
app.config.tscomo provider.
References
- Consultar references/angular-repository-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.