UNPKG

prg-class

Version:

Clases genéricas utilizadas por microservicios Programamos SPA.

77 lines (76 loc) 2.79 kB
"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()); }); }; 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;