@bd-innovations/abstract-section
Version:
A bunch of abstract logic for the section
17 lines (16 loc) • 825 B
TypeScript
import { HttpClient } from '@angular/common/http';
import { Observable } from 'rxjs';
import { CrudApiConfig } from '../configs/crud-api.config';
import { PaginatedRequestConfig } from '../configs/paginated-request.config';
import { PaginatedResponseConfig } from '../configs/paginated-response.config';
export declare abstract class CrudService<D> {
protected http: HttpClient;
protected config: CrudApiConfig;
protected constructor(http: HttpClient, config: CrudApiConfig);
getOne(primaryKey: any): Observable<D>;
getList(parentPrimaryKey?: number | string): Observable<D[]>;
getPaginatedList(requestParams?: PaginatedRequestConfig): Observable<PaginatedResponseConfig<D>>;
post(body: D): Observable<D>;
put(body: D): Observable<D>;
delete(primaryKey: number | string): Observable<D>;
}