From b56ed412440b79ee41d506785af869f7054c4c9c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dani=C3=ABl?= <15849319+abcdan@users.noreply.github.com> Date: Sun, 9 Jun 2024 14:55:39 +0200 Subject: [PATCH] engine for statistics --- index.js | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/index.js b/index.js index 4222ffa..3c64c72 100644 --- a/index.js +++ b/index.js @@ -1,26 +1,36 @@ require("dotenv").config(); const express = require("express"); -const ejs = require("ejs"); const fileRoutes = require("./routes/file.routes"); const helmet = require("helmet"); +const initializeLocalStorage = require("./engines/local.engine"); +const initializeS3Storage = require("./engines/s3.engine"); const app = express(); const port = process.env.PORT; -const apiKeys = process.env.API_KEYS.split(","); -const allowPublicUploads = process.env.ALLOW_PUBLIC_UPLOADS === "true"; const hosterEmail = process.env.HOSTER_EMAIL; -let totalUploads = 0; -let totalSize = 0; +const localStorage = initializeLocalStorage({}, 10, "./uploads"); +const s3Storage = initializeS3Storage({}, 10, { + accessKeyId: process.env.AWS_ACCESS_KEY_ID, + secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY, + endpoint: process.env.AWS_S3_ENDPOINT, + bucketName: process.env.AWS_S3_BUCKET_NAME, +}); app.set("view engine", "ejs"); app.use(fileRoutes); app.use(helmet()); -app.get("/", (req, res) => { +app.get("/", async (req, res) => { + const localStats = localStorage.gatherStatistics(); + const s3Stats = await s3Storage.gatherStatistics(); + + const totalUploads = localStats.totalUploads + s3Stats.totalUploads; + const totalSize = (localStats.totalSize + s3Stats.totalSize) / (1024 * 1024); // Convert to MB + res.render("index", { totalUploads: totalUploads, - totalSize: totalSize.toFixed(2), // Format to 2 decimal places + totalSize: totalSize.toFixed(2), hosterEmail: hosterEmail, }); });