import { Observable } from 'rxjs'; import { ListObject } from '../models'; import { ListParameters } from '../interfaces/list-parameters.interface'; /** * This interface describes the common services. * * @export * @interface ServiceBase * @template T */ export interface ServiceBase { /** * The factory of the Service. * * @type {*} * @memberof ServiceBase */ factory?: any; /** * This string stores the prefix of the path * * @type {string} * @memberof ServiceBase */ prefix?: string; /** * This function returns many object for the ListComponent. * * @param {ListParameters} routeParams * @returns {Observable>} * @memberof ServiceBase */ getAll?(routeParams: ListParameters): Observable>; /** * This function returns one object for the EditComponent. * * @param {number} id * @returns {Observable} * @memberof ServiceBase */ getById?(id: number): Observable; /** * This function updates one object with id. * * @param {T} model * @param {number} id * @returns {Observable} * @memberof ServiceBase */ updateById?(model: T, id: number): Observable; /** * This funtion stores a T model. * * @param {T} model * @returns {Observable} * @memberof ServiceBase */ store?(model: T): Observable; /** * This function calls the DELETE of one T model. * * @param {number} id * @returns {Observable} * @memberof ServiceBase */ delete?(id: number): Observable; }