@bd-innovations/abstract-section
Version:
A bunch of abstract logic for the section
60 lines (59 loc) • 2.29 kB
TypeScript
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>;
}