const { error } = require('actions-on-google/dist/common'); const axios= require('axios'); const URLPC = 'http://mantaentusmanos.test/'; // const URLPC = 'https://portalciudadano.manta.gob.ec/'; const { WebhookClient } = require("dialogflow-fulfillment"); function conver_base64(data) { return Buffer.from(data).toString('base64') } function conver_utf8(data) { return Buffer.from(data, 'base64').toString('ascii'); } function conver_name(data) { try { var porciones = data.split(' '); if(porciones.length >= 2 && porciones.length <= 4){ var cadena = new String(data); cadena = porciones[(porciones.length -2)]+ ' ' +porciones[(porciones.length -1)]; cadena = cadena.toLowerCase(); return cadena.replace(/\w\S*/g, (w) => (w.replace(/^\w/, (c) => c.toUpperCase()))); }else{ var cadena = new String(data); cadena = cadena.toLowerCase(); return cadena.replace(/\w\S*/g, (w) => (w.replace(/^\w/, (c) => c.toUpperCase()))); } }catch (error) { return data; } } function conver_capitalice(data) { var cadena = new String(data); cadena = cadena.toLowerCase(); return cadena.replace(/\w\S*/g, (w) => (w.replace(/^\w/, (c) => c.toUpperCase()))); } function AxiosPOST(url, params){ return new Promise((resolve, reject) => { axios.post(URLPC+url, params).then(function (response) { resolve(response.data); }).catch(function (error) { resolve({'estado':false, 'data':[], 'msg':error}); }); }); } function AxiosGET(url, params){ console.log(URLPC+url); return new Promise((resolve, reject) => { axios.get(URLPC+url, params).then(function (response) { resolve(response.data); }).catch(function (error) { resolve({'estado':false, 'data':[], 'msg':error}); }); }); } async function ValidarSession(session){ return new Promise((resolve, reject) => { var array = {'ok': false, 'data':[], 'msg':null}; AxiosPOST('apidf_ValidarSessionDialog', {'session_id':session}).then(function (result) { if(result['estado']){ if(result['data']['session_id'] != undefined && result['data']['session_id'] != null){ array['ok'] = true; array['data'] = result['data']; array['msg'] = result['msg']; }else{ array['msg'] = result['msg'] } }else{ array['msg'] = result['msg'] } resolve(array); }).catch(function (error) { array['msg'] = error; resolve(array); }); }); } async function CerrarSession(session){ return new Promise((resolve, reject) => { var array = {'ok': false, 'data':[], 'msg':null}; AxiosPOST('apidf_CerrarSessionDialog', {'session_id':session}).then(function (result) { if(result['estado']){ array['ok'] = true; array['msg'] = result['msg']; }else{ array['msg'] = result['msg'] } resolve(array); }).catch(function (error) { array['msg'] = error; resolve(array); }); }); } async function RegistrarSession(session_id, cedula){ return new Promise((resolve, reject) => { var heders = {'cedula': cedula, 'name':cedula, 'session_id':session_id}; var array = {'ok': false, 'data':[], 'msg':null}; AxiosPOST('apidf_RegistrarSessionDialog', heders).then(function (result) { if(result['estado']){ array['ok'] = true; array['data'] = result['data']; array['msg'] = result['msg']; }else{ array['msg'] = result['msg'] } resolve(array); }).catch(function (error) { array['msg'] = error; resolve(array); }); }); } async function ValidarComprobante(codigo){ return new Promise((resolve, reject) => { var heders = {'codigo': codigo}; var array = {'ok': false, 'data':[], 'msg':null}; AxiosPOST('ws_validar_cod_barras', heders).then(function (result) { let claves=Object.keys(result); claves.forEach(element => { if(element == 'api'){ if(result['api']['ok']){ array['ok'] = true; array['data'] = result['api']; array['msg'] = 'Busquera exitosa'; }else{ array['msg'] = result['api']['msg'] != undefined ? result['api']['msg'] : ['Documento no encontrado'];} }else{ array['msg'] = ['Documento no encontrado']; } }); resolve(array); }).catch(function (error) { array['msg'] = error; resolve(array); }); }); } async function ConsultaClaves(cedula){ return new Promise((resolve, reject) => { var array = {'ok': false, 'data':[], 'msg':null}; AxiosGET('consulta_predios_detalle/2/'+cedula+'?boot=true', {}).then(function (result) { if(result['ok'] && result['data_bot']['data'].length > 0){ array['ok'] = true; array['data'] = result['data_bot']['data']; array['msg'] = 'Consulta exitosa'; }else{ array['msg'] = 'usted no posee predios catastrales registrados en el GAD MANTA'; } resolve(array); }).catch(function (error) { array['msg'] = error; resolve(array); }); }); } async function ConsultaComprobantes(cedula, index){ return new Promise((resolve, reject) => { var array = {'ok': false, 'data':[], 'msg':null}; AxiosGET('portalciudadano/serviciosdigitales/mis_pagos?index='+index+'&cedula='+cedula+'&keypass=U2lzdGVtYXNJQ1NlcnZpY2VfbXJj', {}).then(function (result) { if(result['ok'] && result['data'].length > 0){ array['ok'] = true; array['data'] = result['data']; array['msg'] = 'Consulta exitosa'; }else{ array['msg'] = 'No se encontrĂ³ comprobantes de pago a su nombre'; } resolve(array); }).catch(function (error) { array['msg'] = error; resolve(array); }); }); } async function OptInfoBot(key_inf){ return new Promise((resolve, reject) => { var heders = {'info_key': key_inf}; var array = {'ok': false, 'data':[], 'msg':null}; AxiosPOST('api/InfoBootService', heders).then(function (result) { if(result['ok']){ array['ok'] = true; array['data'] = result['data']; array['msg'] = result['msg']; }else{ array['msg'] = result['msg'] } resolve(array); }).catch(function (error) { array['msg'] = error; resolve(array); }); }); } module.exports = { "conver_base64": conver_base64, "conver_utf8": conver_utf8, "AxiosPOST": AxiosPOST, "RegistrarSession": RegistrarSession, "ValidarSession": ValidarSession, "conver_name": conver_name, "CerrarSession": CerrarSession, "conver_capitalice": conver_capitalice, "ValidarComprobante": ValidarComprobante, "ConsultaComprobantes": ConsultaComprobantes, "OptInfoBot": OptInfoBot, "ConsultaClaves": ConsultaClaves }