UNPKG

bitfront-library

Version:

Angular CLI project with components and classes used by other Angular projects of the BIT foundation.

60 lines (59 loc) 2.52 kB
import { Observable } from "rxjs"; import { BaseCRUDServiceInterface } from "./base-interface.service"; import { BaseFilter } from "./base.filter"; import { Item } from "../../shared/data/item"; import { FormType } from "../../shared/global.constants"; import { HttpUtilsService } from "../../shared/service/http-utils.service"; import { MessageService } from "../../shared/service/message.service"; /** * Clase básica que implementa un CRUD. * Es recomendable que todos los servicios que implementan un CRUD extiendan esta clase * o implementen la interface BaseCRUDServiceInterface. */ export declare abstract class BaseCRUDService implements BaseCRUDServiceInterface { protected messageService: MessageService; protected http: HttpUtilsService; /** URL base del servicio CRUD. */ protected baseUrl: string; constructor(messageService: MessageService, http: HttpUtilsService); /** Inserta o modifica la información del elemento. */ save<T>(object: Item, mode: FormType, params?: { [key: string]: string; }): Observable<T>; /** Inserta o modifica la información del elemento. */ saveObject<T>(object: Item, params?: { [key: string]: string; }): Observable<T>; /** Elimina el elemento. */ delete(id: Number, params?: { [key: string]: string; }): Observable<any>; /** Elimina todos los elementos pasados por parámetro */ deleteAll(items: number[], params?: { [key: string]: string; }): Observable<any>; /** Recupera la información del elemento. */ get<T>(id: Number, params?: { [key: string]: string; }): Observable<T>; /** Recupera todos los elementos. */ getAll<T>(params?: { [key: string]: string; }): Observable<T>; /** Recupera la lista (opcionalmente, filtrada y paginada) de elementos. */ getAllByFilter<T>(filter: BaseFilter, params?: { [key: string]: string; }): Observable<T>; /** Recupera el número total de la lista (filtrada) de elementos. */ countAllByFilter(filter: BaseFilter, params?: { [key: string]: string; }): Observable<number>; /** * Construye la URL final en base a la plantilla y la colección de parámetros. * Si la clave de un parámetro forma parte de la URL, la reemplaza por su valor. * Si la clave de un parámetro no forma parte de la URL, se añadirá como parte del queryString. */ resolveUrl(url: string, params: { [key: string]: string; }): string; }