From a34bcd0a12f2f9440a5d073be0055515650e1e62 Mon Sep 17 00:00:00 2001 From: Redume Date: Thu, 12 Dec 2024 21:17:19 +0300 Subject: [PATCH] feat(server): Deleted root with instance config due to unnecessity --- server/main.js | 166 ++++++++++++++++----------------- server/routes/configuration.js | 15 --- 2 files changed, 79 insertions(+), 102 deletions(-) delete mode 100644 server/routes/configuration.js diff --git a/server/main.js b/server/main.js index 0fded9d..8c62a86 100644 --- a/server/main.js +++ b/server/main.js @@ -1,109 +1,101 @@ -const logger = require('../shared/logger/src/main.js'); -const config = require('../shared/config/src/main.js')(); +const logger = require("../shared/logger/src/main.js"); +const config = require("../shared/config/src/main.js")(); -const fs = require('fs'); -const axios = require('axios'); -const UAParser = require('ua-parser-js'); +const fs = require("fs"); +const axios = require("axios"); +const UAParser = require("ua-parser-js"); -require('../shared/database/src/create_table.js')(); +require("../shared/database/src/create_table.js")(); -const fastify = require('fastify')({ - logger: config['server']['log']['print'] ? logger : false, - ...(config['server']['ssl']['work'] - ? { - https: { - key: fs.readFileSync( - config['server']['ssl']['private_key'], - 'utf8', - ), - cert: fs.readFileSync( - config['server']['ssl']['cert'], - 'utf8', - ), - }, - } - : false), +const fastify = require("fastify")({ + logger: config["server"]["log"]["print"] ? logger : false, + ...(config["server"]["ssl"]["work"] + ? { + https: { + key: fs.readFileSync(config["server"]["ssl"]["private_key"], "utf8"), + cert: fs.readFileSync(config["server"]["ssl"]["cert"], "utf8"), + }, + } + : false), }); -const getRateRoute = require('./routes/getRate.js'); -const configurationRoutes = require('./routes/configuration.js'); -const HomeRoute = require('./routes/home.js'); +const getRateRoute = require("./routes/getRate.js"); +const HomeRoute = require("./routes/home.js"); fastify.register(getRateRoute); -fastify.register(configurationRoutes); fastify.register(HomeRoute); fastify.setNotFoundHandler(function (res, reply) { - return reply.status(404).send({ - status: 404, - message: 'Page not found!', - documentation: 'https://kekkai-docs.redume.su/', - }); + return reply.status(404).send({ + status: 404, + message: "Page not found!", + documentation: "https://kekkai-docs.redume.su/", + }); }); -fastify.addHook('onResponse', async (request, reply) => { - const routePart = request.raw.url.split('/'); - const routePartFiltered = routePart - .filter((part) => part !== '') - .map((part) => `${part}/`); +fastify.addHook("onResponse", async (request, reply) => { + const routePart = request.raw.url.split("/"); + const routePartFiltered = routePart + .filter((part) => part !== "") + .map((part) => `${part}/`); - routePartFiltered.unshift('/'); + routePartFiltered.unshift("/"); - if (!config?.['analytics']['work'] ? config?.['analytics']['work'] : false) - return; - else if (!fastify.printRoutes().includes(routePartFiltered.at(-1))) return; + if (!config?.["analytics"]["work"] ? config?.["analytics"]["work"] : false) + return; + else if (!fastify.printRoutes().includes(routePartFiltered.at(-1))) return; - const userAgent = request.headers['user-agent']; - const parser = new UAParser(userAgent); - const browser = parser.getBrowser(); - const os = parser.getOS(); + const userAgent = request.headers["user-agent"]; + const parser = new UAParser(userAgent); + const browser = parser.getBrowser(); + const os = parser.getOS(); - const formattedOS = - os.name && os.version ? `${os.name} ${os.version}` : 'N/A'; - const formattedBrowser = - browser.name && browser.version - ? `${browser.name} ${browser.version}` - : 'N/A'; + const formattedOS = + os.name && os.version ? `${os.name} ${os.version}` : "N/A"; + const formattedBrowser = + browser.name && browser.version + ? `${browser.name} ${browser.version}` + : "N/A"; - const event = { - domain: config['analytics']['plausible_domain'], - name: request.routeOptions.url - ? request.routeOptions.url - : '404 - Not Found', - url: request.raw.url, - props: { - method: request.method, - statusCode: reply.statusCode, - browser: formattedBrowser, - os: formattedOS, - source: request.headers['referer'] - ? request.headers['referer'] - : 'direct', - }, - }; + const event = { + domain: config["analytics"]["plausible_domain"], + name: request.routeOptions.url + ? request.routeOptions.url + : "404 - Not Found", + url: request.raw.url, + props: { + method: request.method, + statusCode: reply.statusCode, + browser: formattedBrowser, + os: formattedOS, + source: request.headers["referer"] + ? request.headers["referer"] + : "direct", + }, + }; - try { - await axios.post(config['analytics']['plausible_api'], event, { - headers: { - Authorization: `Bearer ${config['analytics']['plausible_token']}`, - 'Content-Type': 'application/json', - 'User-Agent': userAgent, - }, - }); - } catch (error) { - fastify.log.error('Error sending event to Plausible:', error.message); - } + try { + await axios.post(config["analytics"]["plausible_api"], event, { + headers: { + Authorization: `Bearer ${config["analytics"]["plausible_token"]}`, + "Content-Type": "application/json", + "User-Agent": userAgent, + }, + }); + } catch (error) { + fastify.log.error("Error sending event to Plausible:", error.message); + } }); fastify.listen( - { - port: 3000, - host: config['server']['host'] ? config['server']['host'] : 'localhost', - }, - (err) => { - if (err) { - fastify.log.error(err); - process.exit(1); - } - }, + { + port: 3000, + host: config["server"]["host"] ? config["server"]["host"] : "localhost", + }, + (err) => { + if (err) { + fastify.log.error(err); + process.exit(1); + } + }, ); diff --git a/server/routes/configuration.js b/server/routes/configuration.js deleted file mode 100644 index 4423b0d..0000000 --- a/server/routes/configuration.js +++ /dev/null @@ -1,15 +0,0 @@ -const config = require('../../shared/config/src/main.js')(); - -module.exports = async function configurationRoutes(fastify) { - fastify.get('/api/configurations/json', async function (req, res) { - delete config['database']; - delete config['currency']['coinapiKeys']; - delete config['server']['ssl']['private_key']; - delete config['server']['ssl']['cert']; - delete config['analytics']['plausible_token']; - - return res.status(200).send({ - config, - }); - }); -};