prg-class
Version:
Clases genéricas utilizadas por microservicios Programamos SPA.
77 lines (76 loc) • 2.79 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());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.SaveSP = void 0;
const F = require("prg-function");
const exec_sp_1 = require("./exec-sp");
class SaveSP extends exec_sp_1.ExecSP {
constructor() {
super();
this.msCustomErrMsg = '';
this.msGenericErrMsg = 'No se pudo guardar datos';
this.mbAudit = false;
this.mbPreSave = false;
this.mbPostSave = false;
this.msSPName = ''; // Asignación de nombre de nombre de procedimiento almacenado.
}
fnSave(aoParams, aoUPRM) {
return __awaiter(this, void 0, void 0, function* () {
const lsErr = this.validateParams(aoParams);
if (lsErr !== '') {
return F.fnRetErrBP(lsErr);
}
if (this.mbPreSave) {
const loRetPre = yield this.fnPreSave(aoParams, aoUPRM);
if (loRetPre.error) {
return loRetPre;
}
}
const loRet = yield this.fnSpExecute(aoParams, aoUPRM, this.mbAudit);
if (loRet.error) {
return loRet;
}
if (this.mbPostSave) {
const loRetPost = yield this.fnPostSave(loRet.json);
if (loRetPost.error) {
return loRetPost;
}
}
return F.fnRetOk(this.getRetSP(loRet));
});
}
fnPreSave(aoParams, aoUPRM) {
return __awaiter(this, void 0, void 0, function* () {
return F.fnRetOk(null);
});
}
fnPostSave(aoData) {
return __awaiter(this, void 0, void 0, function* () {
return F.fnRetOk(aoData);
});
}
getRetSP(aoRet) {
if (aoRet.json && aoRet.json.length > 0 && aoRet.json[0].length > 0) {
return aoRet.json[0][0];
}
return null;
}
/**
* Valida ingreso de parámetros necesarios.
*
* @param {dashQuery} aoParams Filtro de grupo.
* @returns {string}
*/
validateParams(aoParams) {
return '';
}
}
exports.SaveSP = SaveSP;