require('dotenv').config();
const express = require("express");
const app = express();
const axios = require("axios");
app.use(express.json());
const ROUTE = "https://api.liquidindex.dev"
app.post("/create-customer", async (req, res) => {
const response = await axios.post(`${ROUTE}/customer/create`, {
project_id: process.env.PROJECT_ID,
name: req.body.name,
}, {
headers: {
Authorization: `Bearer ${process.env.API_KEY}`,
}
});
return res.status(200).json({ customer_id: response.data.customer_id });
});
app.post("/create-session", async (req, res) => {
const { customer_id } = req.body;
const response = await axios.post(`${ROUTE}/session/multi-tenant`, {
project_id: process.env.PROJECT_ID,
services: ["all"],
customer_id: customer_id,
success_url: "http://localhost:3000?success=true",
cancel_url: "http://localhost:3000?cancel=true",
}, {
headers: {
Authorization: `Bearer ${process.env.API_KEY}`,
}
});
res.redirect(303, response.data.url);
});
app.post("/query", async (req, res) => {
const { query, customer_id } = req.body;
const response = await axios.post(`${ROUTE}/query/customer`, {
customer_id: customer_id,
query: query,
top_k: 5
}, {
headers: {
Authorization: `Bearer ${process.env.API_KEY}`,
}
});
return res.status(200).json(response.data);
});
app.listen(5000, () => {
console.log("Server is running on port 5000");
});