UNPKG

@bd-innovations/abstract-section

Version:

A bunch of abstract logic for the section

60 lines (59 loc) 2.29 kB
import { Observable } from 'rxjs'; import { HttpClient } from '@angular/common/http'; import { TranslateService } from '@ngx-translate/core'; import { AbstractServiceConfig } from '../config/abstract-service.config'; import { ApiCallModel } from '../config/api-call.model'; import { PaginatedResponseModel } from '../config/paginated-response.model'; import { AbstractNotifierService } from './abstract-notifier.service'; /** * @deprecated * */ export declare class AbstractService<T> { protected http: HttpClient; protected translate: TranslateService; config: AbstractServiceConfig; notifier?: AbstractNotifierService; /** * by default keyValue is uuId, override if need other */ keyValue: string; protected constructor(http: HttpClient, translate: TranslateService, config: AbstractServiceConfig, notifier?: AbstractNotifierService); /** * @param key - uuId or ObjectId or... */ getOneByKeyValue(key: any): Observable<T>; /** * @param parentKey - provide when request is send for child entity */ getAll(parentKey?: string | number): Observable<T[]>; /** * * @param apiCall paginator & search settings * @param parentKey - provide when request is send for child entity */ getAllPaginated(apiCall: ApiCallModel, parentKey?: string | number): Observable<PaginatedResponseModel<T>>; /** * @deprecated use getAllPaginated instead * @param apiCall paginator & search settings * @param parentKey - provide when request is send for child entity */ getAllPaginatedBody(apiCall: ApiCallModel, parentKey?: string | number): Observable<PaginatedResponseModel<T>>; /** * @deprecated use getAllPaginated instead * @param apiCall paginator & search settings * @param parentKey - provide when request is send for child entity */ getAllPaginatedPath(apiCall: ApiCallModel, parentKey?: string | number): Observable<PaginatedResponseModel<T>>; /** * @param newObject: create new element */ post(newObject: T): Observable<T>; /** * @param editedObject: edit element */ put(editedObject: T): Observable<T>; /** * @param key: delete element by keyValue */ delete(key: string): Observable<T>; }