@calf/angular
Version:
Angular module of Calf framework.
128 lines (127 loc) • 4.87 kB
TypeScript
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>;
}