vibe-sharedui
Version:
EuroMonitor EMI vibe models
23 lines (22 loc) • 1.05 kB
TypeScript
import { HttpClient, HttpErrorResponse } from '@angular/common/http';
import { BehaviorSubject, Observable } from 'rxjs';
import { Entity } from './entity.model';
export interface Filter {
[name: string]: string | string[];
}
export declare abstract class EntityService<T extends Entity> {
protected httpClient: HttpClient;
protected readonly baseUrl: any;
protected loadingSubject: BehaviorSubject<boolean>;
loading$: Observable<boolean>;
protected abstract entityPath: string;
constructor(httpClient: HttpClient, environment: any);
getById(id: number | string): Observable<T>;
findAll(filter: Filter, order?: string, skip?: number, take?: number): Observable<T[]> | Observable<never>;
getAll(): Observable<T[]>;
delete(id: number | string): Observable<Object>;
post(entity: T): Observable<Object>;
put(id: number | string, entity: T): Observable<Object>;
protected handleError(error: HttpErrorResponse): Observable<never>;
protected convertToJson(body: any): any;
}