UNPKG

@calf/angular

Version:

Angular module of Calf framework.

128 lines (127 loc) 4.87 kB
import { ValidationResult, IListQueryResult, EntityService, IListQuery, IRemoveQuery } from "@calf/common"; import { HttpClient, HttpHeaders } from "@angular/common/http"; import { Serializable } from "@calf/serializable"; /** * Angular service */ export declare abstract class AngularService<TEntity extends Serializable, TMessage = string> extends EntityService<TEntity, TMessage> { protected abstract http: HttpClient; protected prefix: string[]; protected httpOptions: { headers: HttpHeaders; }; /** * Constructor * @param prefix */ constructor(prefix: string[]); /** * Peri save hook * @param validation * @param args */ protected periSave(validation: ValidationResult<TEntity, TMessage>, ...args: any[]): Promise<ValidationResult<TEntity, TMessage>>; /** * Peri single hook * @param validation * @param query * @param args */ protected periSingle(validation: ValidationResult<TEntity, TMessage>, query: IListQuery, ...args: any[]): Promise<ValidationResult<TEntity, TMessage>>; /** * Peri get list hook * @param validation * @param query * @param args */ protected periGetList(validation: ValidationResult<IListQueryResult<TEntity>, TMessage>, query: IListQuery, ...args: any[]): Promise<ValidationResult<IListQueryResult<TEntity>, TMessage>>; /** * Get detail of entity * @param entity */ get(entity: TEntity): Promise<ValidationResult<TEntity, TMessage>>; /** * Peri get hook * @param validation * @param args */ protected periGet(validation: ValidationResult<TEntity, TMessage>, ...args: any[]): Promise<ValidationResult<TEntity, TMessage>>; /** * Peri remove hook * @param validation * @param query * @param args */ protected periRemove(validation: ValidationResult<TEntity, TMessage>, ...args: any[]): Promise<ValidationResult<any, TMessage>>; /** * Peri remove hook * @param validation * @param query * @param args */ protected periRemoveList(validation: ValidationResult<TEntity, TMessage>, query: IRemoveQuery, ...args: any[]): Promise<ValidationResult<any, TMessage>>; /** * Peri change state hook * @param validation * @param args */ protected periChangeState(validation: ValidationResult<TEntity, TMessage>, ...args: any[]): Promise<ValidationResult<TEntity, TMessage>>; /** * Handle single error * @param validation * @param error */ protected handleSingleError<TError>(validation: ValidationResult<TEntity, TMessage>, error: TError): Promise<ValidationResult<TEntity, TMessage>>; /** * Handle update error * @param validation * @param error */ protected handleUpdateError<TError>(validation: ValidationResult<TEntity, TMessage>, error: TError): Promise<ValidationResult<TEntity, TMessage>>; /** * Handle change state error * @param validation * @param error */ protected handleChangeStateError<TError>(validation: ValidationResult<TEntity, TMessage>, error: TError): Promise<ValidationResult<TEntity, TMessage>>; /** * Handle save error * @param error */ protected handleSaveError<TError>(validation: ValidationResult<TEntity, TMessage>, error: TError): Promise<ValidationResult<TEntity, TMessage>>; /** * Handle get error * @param validation * @param error */ protected handleGetError<TError>(validation: ValidationResult<TEntity, TMessage>, error: TError): Promise<ValidationResult<TEntity, TMessage>>; /** * Handle get list error * @param validation * @param error */ protected handleGetListError<TError>(validation: ValidationResult<IListQueryResult<TEntity>, TMessage>, error: TError): Promise<ValidationResult<IListQueryResult<TEntity>, TMessage>>; /** * Handle remove error * @param validation * @param error */ protected handleRemoveError<TError>(validation: ValidationResult<any, TMessage>, error: TError): Promise<ValidationResult<any, TMessage>>; /** * Handle remove list error * @param validation * @param error */ protected handleRemoveListError<TError>(validation: ValidationResult<any, TMessage>, error: TError): Promise<ValidationResult<any, TMessage>>; /** * Handle http error * @param validation * @param error */ protected handleHttpError<TError>(validation: ValidationResult<any, TMessage>, error: TError): Promise<ValidationResult<any, TMessage>>; /** * Alter headers * @param headers */ protected alterHeaders(headers: HttpHeaders): Promise<HttpHeaders>; }