const GraphQLClient = require("graphql-request").GraphQLClient; const path = require("path"); const queries = require("../graphql-client/queries"); const Dinero = require("dinero.js"); const qs = require("query-string"); const axios = require("axios"); require("dotenv").config({ path: path.resolve( process.cwd(), `.env.${process.env.NODE_ENV || "development"}` ), }); const url = process.env.NODE_ENV ? "https://secure.cpteller.com/api/custapi.cfc?method=autoterminal" : "https://test.cpteller.com/api/custapi.cfc?method=autoterminal"; const getShopCredentials = () => { // add parametes for the request // TODO: Implement retrieval logic later. return { merchantkey: "3B8068", //This should be dynamic apikey: "Oepn2B.XqRgzAqHqvOOmYUxD2VW.vGSipi", //This should be dynamic }; }; exports.lightbox_credentials = async (req, res) => { //req.user contains firebase decoded credentials // can add bodyshopid to req.body //Server side query to get API credentials for that shop and generatae link const shopCredentials = getShopCredentials(); try { const options = { method: "POST", headers: { "content-type": "application/x-www-form-urlencoded" }, //TODO: Move these to environment variables/database. data: qs.stringify({ ...shopCredentials, operatingenv: process.env.NODE_ENV === undefined ? process.env.NODE_ENV : "businessattended", }), url, }; const response = await axios(options); res.send(response.data); } catch (error) { console.log(error); res.json({ error }); } };