@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
TypeScript
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[]>;
}