mp-holistic
Version:
si prefigge l'umile compito di aiutare nella creazione di : - un server API REST mediante express - un semplice ORM per Postgres Questo tramite decoratori o classi particolari.
155 lines • 7.34 kB
JavaScript
"use strict";
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());
});
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.MetodoVettori = void 0;
const utility_1 = require("../utility/utility");
const fs_1 = __importDefault(require("fs"));
class MetodoVettori {
constructor() {
this.listaHtml = [];
}
Init(init) {
if (init.nomiClasseRiferimento != undefined)
this.nomiClasseRiferimento = init.nomiClasseRiferimento;
if (init.ListaSanificatori)
this.ListaSanificatori = init.ListaSanificatori;
if (init.RisposteDiControllo)
this.RisposteDiControllo = init.RisposteDiControllo;
if (init.listaHtml) {
for (let index = 0; index < init.listaHtml.length; index++) {
const element = init.listaHtml[index];
if (element.percorsoIndipendente == undefined)
element.percorsoIndipendente = false;
if (element.html != undefined && element.htmlPath == undefined
&& this.listaHtml.find(x => {
if (x.path == element.path)
return true;
else
return false;
}) == undefined) {
this.listaHtml.push({
contenuto: element.html,
path: element.path,
percorsoIndipendente: element.percorsoIndipendente
});
// this.listaHtml?.contenuto = element.html;
}
else if (element.html == undefined && element.htmlPath != undefined
&& this.listaHtml.find(x => {
if (x.path == element.path)
return true;
else
return false;
}) == undefined) {
this.listaHtml.push({
contenuto: fs_1.default.readFileSync(element.htmlPath).toString(),
path: element.path,
percorsoIndipendente: element.percorsoIndipendente
});
// this.listaHtml?.contenuto = fs.readFileSync(element.htmlPath).toString();
}
}
}
}
CercaRispostaConTrigger(richiesta) {
let tmp = undefined;
if (this.RisposteDiControllo) {
for (let index = 0; index < this.RisposteDiControllo.length; index++) {
const element = this.RisposteDiControllo[index].risposta;
if (element && element.trigger) {
if (element.trigger.posizione == 'body')
tmp = richiesta.body[element.trigger.nome];
if (element.trigger.posizione == 'header')
tmp = richiesta.headers[element.trigger.nome];
if (element.trigger.posizione == 'query')
tmp = richiesta.query[element.trigger.nome];
if (tmp == element.trigger.valore)
return element;
}
}
}
return undefined;
}
VerificaPresenzaRispostaControllata(item) {
if (this.RisposteDiControllo != undefined) {
for (let index = 0; index < this.RisposteDiControllo.length; index++) {
const element = this.RisposteDiControllo[index];
if (element.trigger == (item === null || item === void 0 ? void 0 : item.stato)) {
return true;
}
}
}
return false;
}
EseguiRispostaControllata(item) {
return __awaiter(this, void 0, void 0, function* () {
if (this.RisposteDiControllo != undefined) {
for (let index = 0; index < this.RisposteDiControllo.length; index++) {
const element = this.RisposteDiControllo[index];
if ((element).trigger == (item === null || item === void 0 ? void 0 : item.stato)) {
if (element.onModificaRisposta && element) {
const tmp = yield element.onModificaRisposta(item);
if (tmp)
return tmp;
else {
return (0, utility_1.ConstruisciErrore)('Attenzione errore!');
}
}
else {
return item;
}
}
}
}
if (item)
return item;
else {
return (0, utility_1.ConstruisciErrore)('Attenzione errore!');
}
});
}
VerificaTrigger(richiesta) {
let tmp = undefined;
if (this.RisposteDiControllo) {
for (let index = 0; index < this.RisposteDiControllo.length; index++) {
const element = this.RisposteDiControllo[index].risposta;
if (element && element.trigger) {
if (element.trigger.posizione == 'body')
tmp = richiesta.body[element.trigger.nome];
if (element.trigger.posizione == 'header')
tmp = richiesta.headers[element.trigger.nome];
if (element.trigger.posizione == 'query')
tmp = richiesta.query[element.trigger.nome];
if (tmp == element.trigger.valore)
return true;
}
}
}
return false;
}
PrintStruttura() {
let ritorno = '';
if (this.ListaSanificatori)
ritorno = ritorno + '\nListaSanificatori :' + JSON.stringify(this.ListaSanificatori);
if (this.RisposteDiControllo)
ritorno = ritorno + '\nRisposteDiControllo :' + JSON.stringify(this.RisposteDiControllo);
if (this.nomiClasseRiferimento)
ritorno = ritorno + '\nnomiClasseRiferimento :' + JSON.stringify(this.nomiClasseRiferimento);
if (this.listaHtml)
ritorno = ritorno + '\nlistaHtml :' + JSON.stringify(this.listaHtml);
return ritorno;
}
}
exports.MetodoVettori = MetodoVettori;
//# sourceMappingURL=MetodoVettori.js.map