@calf/angular
Version:
Angular module of Calf framework.
303 lines (302 loc) • 9.84 kB
JavaScript
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
// External modules
import { EntityService } from "@calf/common";
import { HttpHeaders } from "@angular/common/http";
// Daos
import { FakeDao } from "../daos/fake.dao";
/**
* Angular service
*/
export class AngularService extends EntityService {
/**
* Constructor
* @param prefix
*/
constructor(prefix) {
// Call super to create fake dao
super(new FakeDao());
// Http options
this.httpOptions = {
headers: new HttpHeaders({
"Content-Type": "application/json"
})
};
// Assign prefix
this.prefix = prefix;
}
/**
* Peri save hook
* @param validation
* @param args
*/
periSave(validation, ...args) {
return __awaiter(this, void 0, void 0, function* () {
// First alter headers
const headers = yield this.alterHeaders(this.httpOptions.headers);
try {
// Make request
const rValidation = yield this.http.post([...this.prefix, "save"].join("/"), validation.data, {
headers: headers
}).toPromise();
// Assign data to validation
Object.assign(validation, rValidation);
// Return validation
return validation;
}
catch (error) {
// Handle error
return this.handleSaveError(validation, error);
}
});
}
/**
* Peri single hook
* @param validation
* @param query
* @param args
*/
periSingle(validation, query, ...args) {
return __awaiter(this, void 0, void 0, function* () {
// First alter headers
const headers = yield this.alterHeaders(this.httpOptions.headers);
try {
// Make request
const rValidation = yield this.http.post([...this.prefix, "single"].join("/"), query, {
headers: headers
}).toPromise();
// Assign data to validation
Object.assign(validation, rValidation);
// Return validation
return validation;
}
catch (error) {
// Handle error
return this.handleSingleError(validation, error);
}
});
}
/**
* Peri get list hook
* @param validation
* @param query
* @param args
*/
periGetList(validation, query, ...args) {
return __awaiter(this, void 0, void 0, function* () {
// First alter headers
const headers = yield this.alterHeaders(this.httpOptions.headers);
try {
// Make request
const rValidation = yield this.http.post([...this.prefix, "list"].join("/"), query, {
headers: headers
}).toPromise();
// Assign data to validation
Object.assign(validation, rValidation);
// Return validation
return validation;
}
catch (error) {
// Handle error
return this.handleGetListError(validation, error);
}
});
}
/**
* Get detail of entity
* @param entity
*/
get(entity) {
return super.get(entity);
}
/**
* Peri get hook
* @param validation
* @param args
*/
periGet(validation, ...args) {
return __awaiter(this, void 0, void 0, function* () {
// First alter headers
const headers = yield this.alterHeaders(this.httpOptions.headers);
try {
// Make request
const rValidation = yield this.http.post([...this.prefix, "get"].join("/"), validation.data, {
headers: headers
}).toPromise();
// Assign data to validation
Object.assign(validation, rValidation);
// Return validation
return validation;
}
catch (error) {
// Handle error
return this.handleGetError(validation, error);
}
});
}
/**
* Peri remove hook
* @param validation
* @param query
* @param args
*/
periRemove(validation, ...args) {
return __awaiter(this, void 0, void 0, function* () {
// First alter headers
const headers = yield this.alterHeaders(this.httpOptions.headers);
try {
// Make request
const rValidation = yield this.http.post([...this.prefix, "remove"].join("/"), validation.data, {
headers: headers
}).toPromise();
// Assign data to validation
Object.assign(validation, rValidation);
// Return validation
return validation;
}
catch (error) {
// Handle error
return this.handleRemoveError(validation, error);
}
});
}
/**
* Peri remove hook
* @param validation
* @param query
* @param args
*/
periRemoveList(validation, query, ...args) {
return __awaiter(this, void 0, void 0, function* () {
// First alter headers
const headers = yield this.alterHeaders(this.httpOptions.headers);
try {
// Make request
const rValidation = yield this.http.post([...this.prefix, "list", "remove"].join("/"), query, {
headers: headers
}).toPromise();
// Assign data to validation
Object.assign(validation, rValidation);
// Return validation
return validation;
}
catch (error) {
// Handle error
return this.handleRemoveListError(validation, error);
}
});
}
/**
* Peri change state hook
* @param validation
* @param args
*/
periChangeState(validation, ...args) {
return __awaiter(this, void 0, void 0, function* () {
// First alter headers
const headers = yield this.alterHeaders(this.httpOptions.headers);
try {
// Make request
const rValidation = yield this.http.post([...this.prefix, "state"].join("/"), validation.data, {
headers: headers
}).toPromise();
// Assign data to validation
Object.assign(validation, rValidation);
// Return validation
return validation;
}
catch (error) {
// Handle error
return this.handleGetError(validation, error);
}
});
}
/**
* Handle single error
* @param validation
* @param error
*/
handleSingleError(validation, error) {
return this.handleHttpError(validation, error);
}
/**
* Handle update error
* @param validation
* @param error
*/
handleUpdateError(validation, error) {
return this.handleHttpError(validation, error);
}
/**
* Handle change state error
* @param validation
* @param error
*/
handleChangeStateError(validation, error) {
return this.handleHttpError(validation, error);
}
/**
* Handle save error
* @param error
*/
handleSaveError(validation, error) {
return this.handleHttpError(validation, error);
}
/**
* Handle get error
* @param validation
* @param error
*/
handleGetError(validation, error) {
return this.handleHttpError(validation, error);
}
/**
* Handle get list error
* @param validation
* @param error
*/
handleGetListError(validation, error) {
return this.handleHttpError(validation, error);
}
/**
* Handle remove error
* @param validation
* @param error
*/
handleRemoveError(validation, error) {
return this.handleHttpError(validation, error);
}
/**
* Handle remove list error
* @param validation
* @param error
*/
handleRemoveListError(validation, error) {
return this.handleHttpError(validation, error);
}
/**
* Handle http error
* @param validation
* @param error
*/
handleHttpError(validation, error) {
// Log error
console.log(error);
// Reject
return Promise.reject(validation);
}
/**
* Alter headers
* @param headers
*/
alterHeaders(headers) {
return Promise.resolve(headers);
}
}