UNPKG

@calf/angular

Version:

Angular module of Calf framework.

303 lines (302 loc) 9.84 kB
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); } }