@multiapi-client/api-angular
v1.0.0
Published
Servicios Angular tipados para consumir las APIs OTT.
Readme
@multiapi-client/api-angular
Servicios Angular tipados para consumir las APIs OTT.
Instalación
npm install @multiapi-client/api-angularPeer dependencies: @angular/core, @angular/common
Setup
// app.config.ts
import { provideApi } from '@multiapi-client/api-angular';
export const appConfig = {
providers: [
provideApi({
baseURL: 'https://api.example.com',
userName: 'lleidatv',
}),
],
};Servicios disponibles
ApiService (genérico)
import { ApiService } from '@multiapi-client/api-angular';
@Component({ ... })
export class MyComponent {
data$ = this.api.get<MyType[]>('/my/endpoint');
constructor(private api: ApiService) {}
}OttFamiliesService
import { OttFamiliesService, FmFamilias } from '@multiapi-client/api-angular';
@Component({
selector: 'app-families',
standalone: true,
imports: [AsyncPipe],
template: `
@if (families$ | async; as families) {
<ul>
@for (f of families; track f.idFamilia) {
<li>{{ f.fmDescripcion }}</li>
}
</ul>
}
`,
})
export class FamiliesComponent {
families$ = this.familiesApi.getAll({ PageNumber: 1, PageSize: 20 });
constructor(private familiesApi: OttFamiliesService) {}
}OttVideosService
import { OttVideosService } from '@multiapi-client/api-angular';
// Listar videos
videos$ = this.videosApi.getAll({ PageNumber: 1, PageSize: 20 });
// Un video por UUID
video$ = this.videosApi.getById('uuid');
// Más vistos
top$ = this.videosApi.getMostViewed({
from: '2024-01-01T00:00:00Z',
to: '2024-12-31T23:59:59Z',
PageNumber: 1,
PageSize: 10,
});OttPlayersService
import { OttPlayersService } from '@multiapi-client/api-angular';
players$ = this.playersApi.getAll({ PageNumber: 1, PageSize: 20 });
player$ = this.playersApi.getById(123);OttEpgService
import { OttEpgService } from '@multiapi-client/api-angular';
ratings$ = this.epgApi.getAgeRatings();
epg$ = this.epgApi.getById(1);
items$ = this.epgApi.getItems(1, { PageNumber: 1, PageSize: 50 });Estructura
libs/api-angular/src/lib/
├── api.service.ts # Cliente HTTP genérico
├── api.provider.ts # provideApi()
├── types.ts # Todos los tipos OTT
├── ott-families.service.ts # OttFamiliesService
├── ott-videos.service.ts # OttVideosService
├── ott-players.service.ts # OttPlayersService
└── ott-epg.service.ts # OttEpgService