UNPKG

@fingerprintsoft/angular-spring-hal

Version:

This Angular module offers a HAL/JSON http-client to easily interact with a Spring Data Rest API or any API that implements the Spring Data Rest resource model

57 lines (56 loc) 2.37 kB
import { Resource } from '../models/resource'; import { ResourceArray } from '../models/resource-array'; import { Sort } from '../models/sort'; import { SubTypeBuilder } from '../models/subtype-builder'; import { Observable } from 'rxjs/internal/Observable'; import { Injector } from '@angular/core'; export declare type HalParam = { key: string; value: string | number | boolean; }; export declare type HalOptions = { notPaged?: boolean; size?: number; sort?: Sort[]; params?: HalParam[]; }; export declare class RestService<T extends Resource> { private injector; private type; private resource; resourceArray: ResourceArray<T>; private resourceService; private _embedded; constructor(type: { new (): T; }, resource: string, injector: Injector, _embedded?: string); protected handleError(error: any): Observable<never>; protected static handleError(error: any): Observable<never>; getAll(options?: HalOptions, subType?: SubTypeBuilder): Observable<T[]>; get(id: any, params?: HalParam[], builder?: SubTypeBuilder): Observable<T>; selfURI(id: any): string; getBySelfLink(selfLink: string): Observable<T>; search(query: string, options?: HalOptions, subType?: SubTypeBuilder): Observable<T[]>; query(query: string, options?: HalOptions): Observable<any>; searchSingle(query: string, options?: HalOptions): Observable<T>; customQuery(query: string, options?: HalOptions, subType?: SubTypeBuilder): Observable<T[]>; customQueryPost(query: string, options?: HalOptions, body?: any, subType?: SubTypeBuilder): Observable<T[]>; getByRelationArray(relation: string, builder?: SubTypeBuilder): Observable<T[]>; getByRelation(relation: string): Observable<T>; count(query?: string, options?: HalOptions): Observable<number>; create(entity: T): Observable<Observable<never> | T>; update(entity: T): Observable<Observable<never> | T>; patch(entity: T): Observable<Observable<never> | T>; delete(entity: T): Observable<Object>; totalElement(): number; totalPages(): number; hasFirst(): boolean; hasNext(): boolean; hasPrev(): boolean; hasLast(): boolean; next(): Observable<T[]>; prev(): Observable<T[]>; first(): Observable<T[]>; last(): Observable<T[]>; page(pageNumber: number): Observable<T[]>; }