const { BuscaFatura } = require("../Modules/saperx/circuitos"); const IxcFactory = require("../core/ixc/Ixc.factory"); const SaperxFactory = require("../core/saperx/Saperx.factory"); const { Ramais } = require("../models/Ramais.model"); module.exports = { Token: async function (req, res) { const { month_bill, id_sip } = req.body; await SaperxFactory.RefreshToken(); res.json({ ok: "ok" }); }, BuscaPorIDs: async function (req, res) { var { busca } = req.body; // Use .query() para começar uma nova consulta const query = Ramais.query() .withGraphFetched("did") .withGraphFetched("ramais_franquias") .withGraphFetched("franquia"); // Use .orWhere para adicionar as condições "like" nas colunas id, circuito e numero da tabela did query .joinRelated("did") .whereIn("ramais.id", busca); // Execute a consulta e envie a resposta quando terminar try { const ramais = await query; res.json({ ramais }); } catch (error) { console.error(error); res.status(500).json({ error: "Ocorreu um erro ao buscar os ramais." }); } }, BuscaCircuitos: async function (req, res) { var { busca } = req.body; // Use .query() para começar uma nova consulta const query = Ramais.query() .withGraphFetched("did") .withGraphFetched("ramais_franquias"); // Use .orWhere para adicionar as condições "like" nas colunas id, circuito e numero da tabela did query .joinRelated("did") .orWhere("ramais.id", "like", `%${busca}%`) .orWhere("ramais.nome", "like", `%${busca}%`) .orWhere("ramais.ramal", "like", `%${busca}%`) .orWhere("did.numero", "like", `%${busca}%`); // Execute a consulta e envie a resposta quando terminar try { const ramais = await query; res.json({ ramais }); } catch (error) { console.error(error); res.status(500).json({ error: "Ocorreu um erro ao buscar os ramais." }); } }, VerCircuitos: async function (req, res) { var { busca } = req.body; // Use .query() para começar uma nova consulta const query = Ramais.query() .withGraphFetched("did") .withGraphFetched("ramais_franquias"); // Use .orWhere para adicionar as condições "like" nas colunas id, circuito e numero da tabela did query .joinRelated("did") .orWhere("ramais.id", busca) .orWhere("ramais.nome", busca) .orWhere("ramais.ramal", busca) .orWhere("did.numero", busca); // Execute a consulta e envie a resposta quando terminar try { const ramais = await query; res.json({ ramais }); } catch (error) { console.error(error); res.status(500).json({ error: "Ocorreu um erro ao buscar os ramais." }); } }, Circuitos: async function (req, res) { try { let { IdCliente } = req.body; if (!IdCliente) { return res.status(401).send({ msg: "Informacoes faltando!" }); } var dados = await IxcFactory.BuscaTelefonia(IdCliente); var { id_sip } = dados.circuitos[2]; var dados = await SaperxFactory.Buscacircuitos(id_sip); res.json({ dados }); } catch (error) { console.log(error); return res.status(); } }, Fatura: async function (req, res) { const { month_bill, id_sip } = req.body; var dados = await BuscaFatura(id_sip, month_bill); res.json({ ok: "ok", dados: dados }); }, };