ngx-core-business
Version:
A comprehensive solution designed to streamline the development of enterprise-level Angular applications.
63 lines (62 loc) • 1.92 kB
TypeScript
import { Injector } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { Router } from '@angular/router';
import { Observable } from 'rxjs';
import { HttpCollectionService } from './http-collection.service';
import { CollectionResponse } from './collection-response';
import { CollectionQueryParams } from './collection-query-params';
import * as i0 from "@angular/core";
export declare abstract class BaseRestService {
protected apiUrl: string | undefined;
/**
* Collection Path
*
* Ruta relativa de la lista de recursos.
*
* Ejemplo: api/users
*
*/
protected collectionPath: string;
protected collectionUrl: string;
/**
* Usa estrictamene la url señalada.
*/
strictApiUrl: string;
protected http: HttpClient;
protected httpList: HttpCollectionService;
protected router: Router;
constructor(injector: Injector);
abstract getApiUrl(): string;
protected getCollectionUrl(): string;
/**
* GET List
*/
list<T>(options?: CollectionQueryParams): Observable<CollectionResponse<T[]>>;
/**
* GET
* @param id The resource ID
*/
get(id: number | string): Observable<any>;
/**
* POST
*/
create<T>(model: T): Observable<T>;
/**
* PUT
*/
update<T>(model: any, id?: string | number): Observable<T>;
save<T>(model: any, id?: string | number): Observable<T>;
/**
* DELETE
*/
delete(id: number | string): Observable<Object>;
buildUrl(segments: any[], baseUrl?: string): string;
getBlob(url: string): Observable<Blob | null>;
getFile(url: string): Observable<{
file: Blob;
fileName: string;
} | null | undefined>;
getCollectionPath(): string;
static ɵfac: i0.ɵɵFactoryDeclaration<BaseRestService, never>;
static ɵprov: i0.ɵɵInjectableDeclaration<BaseRestService>;
}