UNPKG

prg-class

Version:

Clases genéricas utilizadas por microservicios Programamos SPA.

156 lines (155 loc) 5.56 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.ExecSP = void 0; const base_class_1 = require("./base-class"); const F = require("prg-function"); const mysql_1 = require("../mysql/mysql"); class ExecSP extends base_class_1.BaseClass { constructor() { super(); this.moConData = F.getDbParams(); this.msTitle = ''; this.msSPName = ''; this.msCustomErrMsg = ''; this.mbCustomRet = false; this.moErrUser = {}; this.moErrInternal = {}; this.moMetadata = {}; this.mbHasCompany = false; this.mbShowUserError = false; } fnSpExecute(aoParams_1) { return __awaiter(this, arguments, void 0, function* (aoParams, abAudit = false) { if (!this.mbCanOperate) { return F.fnRetErrBP(this.msErrAuth); } this.init(this.moUPRM, [], '', '', ''); return yield this.spExecute(aoParams, abAudit); }); } getSPParams(aoParam) { return []; } getSpName(asDbName, asSpName) { return `${asDbName}.${asSpName}`; } customReturn(aoData) { return __awaiter(this, void 0, void 0, function* () { return F.fnRetOk(aoData); }); } /** * Ejecuta Procedimiento almacenado */ spExecute(aoParam_1) { return __awaiter(this, arguments, void 0, function* (aoParam, abAudit = false) { return this.spExecuteBase(aoParam, this.msSPName, abAudit); }); } spExecuteBase(aoParam_1, asSpName_1) { return __awaiter(this, arguments, void 0, function* (aoParam, asSpName, abAudit = false) { const loObjDB = new mysql_1.DbExecuteMySql(this.moConData); const lsErr = this.validateParams(aoParam); if (lsErr !== '') { return F.fnRetErrBP(lsErr); } const loPrm = this.getSPParams(aoParam); if (this.mbHasCompany) { loPrm.unshift(this.getCompany()); } loPrm.push(this.getUsr()); loPrm.push(this.getMaq()); const loRet = yield loObjDB.StoreProc(asSpName, loPrm, abAudit); this.auditMe(abAudit, 'execSP...spExecuteBase...loRet', loRet); this.moErrUser = loObjDB.getError(); this.moErrInternal = loObjDB.getErrorInternal(); this.moMetadata = loObjDB.getMetadata(); if (loRet.error) { if (this.mbShowUserError && this.moErrUser && this.moErrUser.imsg) { loRet.error = this.moErrUser.imsg; } return loRet; } return loRet; }); } spJustExecute(aoParam_1, asSpName_1) { return __awaiter(this, arguments, void 0, function* (aoParam, asSpName, abAudit = false) { const loObjDB = new mysql_1.DbExecuteMySql(this.moConData); if (this.mbHasCompany) { aoParam.unshift(this.getCompany()); } aoParam.push(this.getUsr()); aoParam.push(this.getMaq()); const loRet = yield loObjDB.StoreProc(asSpName, aoParam, abAudit); this.auditMe(abAudit, 'execSP...spExecuteBase...loRet', loRet); this.moErrUser = loObjDB.getError(); this.moErrInternal = loObjDB.getErrorInternal(); this.moMetadata = loObjDB.getMetadata(); if (loRet.error) { return loRet; } return loRet; }); } validateParams(aoParams) { return ''; } getError(aoRet) { const loRet = { k: null, i: null, msg: null }; const R = aoRet; if (!R) { return loRet; } if (R.length <= 0) { return loRet; } if (R[0].length <= 0) { return loRet; } loRet.k = R[0][0].k; loRet.i = R[0][0].i; loRet.msg = R[0][0].msg; return loRet; } getResult(aoRet) { const loRet = { k: null, i: null, msg: null }; const R = aoRet; if (!R) { return loRet; } if (R.length <= 0) { return loRet; } if (R[0].length <= 0) { return loRet; } loRet.k = R[0][0].k; loRet.i = R[0][0].i; loRet.msg = R[0][0].msg; return loRet; } getErrSP(asDefaultErr, aoRet) { let lsErr = asDefaultErr; if (aoRet.json && aoRet.json.rs && aoRet.json.rs.length > 0 && aoRet.json.rs[0].msg) { lsErr = aoRet.json.rs[0].msg; } return lsErr; } getRetSP(aoRet) { if (aoRet.json && aoRet.json.rs && aoRet.json.rs.length > 0) { return aoRet.json.rs[0]; } return null; } } exports.ExecSP = ExecSP;