From e77a6be8827e57ec9cae4d95bdc7c349c3c32062 Mon Sep 17 00:00:00 2001 From: Konstantin Date: Fri, 26 Apr 2024 19:28:22 +0200 Subject: [PATCH] removed vercel.json, added docker-compose file, deleted server/dist --- docker-compose.yml | 6 +++ server/dist/config.js | 9 ---- server/dist/src/error-handler.js | 23 --------- server/dist/src/index.js | 40 --------------- server/dist/src/middlewares/error-handler.js | 13 ----- server/dist/src/routes/downloadRouter.js | 52 -------------------- server/vercel.json | 16 ------ 7 files changed, 6 insertions(+), 153 deletions(-) create mode 100644 docker-compose.yml delete mode 100644 server/dist/config.js delete mode 100644 server/dist/src/error-handler.js delete mode 100644 server/dist/src/index.js delete mode 100644 server/dist/src/middlewares/error-handler.js delete mode 100644 server/dist/src/routes/downloadRouter.js delete mode 100644 server/vercel.json diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..29b68be --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,6 @@ +services: + server: + build: server/ + ports: + - "3000:3000" + restart: unless-stopped \ No newline at end of file diff --git a/server/dist/config.js b/server/dist/config.js deleted file mode 100644 index 65f34f2..0000000 --- a/server/dist/config.js +++ /dev/null @@ -1,9 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.config = void 0; -const dotenv_1 = require("dotenv"); -(0, dotenv_1.config)(); -const config = { - port: process.env.SERVER_PORT, -}; -exports.config = config; diff --git a/server/dist/src/error-handler.js b/server/dist/src/error-handler.js deleted file mode 100644 index 2ff4f94..0000000 --- a/server/dist/src/error-handler.js +++ /dev/null @@ -1,23 +0,0 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.requestHandler = void 0; -function requestHandler(handler) { - return (req, res, next) => __awaiter(this, void 0, void 0, function* () { - try { - yield handler(req, res); - } - catch (error) { - next(error); - } - }); -} -exports.requestHandler = requestHandler; diff --git a/server/dist/src/index.js b/server/dist/src/index.js deleted file mode 100644 index 43970ba..0000000 --- a/server/dist/src/index.js +++ /dev/null @@ -1,40 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -const cors_1 = __importDefault(require("cors")); -const express_1 = __importStar(require("express")); -const config_1 = require("../config"); -const error_handler_1 = require("./middlewares/error-handler"); -const downloadRouter_1 = require("./routes/downloadRouter"); -const app = (0, express_1.default)(); -app.use((0, cors_1.default)()); -app.use((0, express_1.json)()); -app.use(downloadRouter_1.downloadRouter); -const port = config_1.config.port; -app.listen(port, () => console.log(`Listening on ${port}`)); -app.use(error_handler_1.errorHandler); diff --git a/server/dist/src/middlewares/error-handler.js b/server/dist/src/middlewares/error-handler.js deleted file mode 100644 index 5e9e28b..0000000 --- a/server/dist/src/middlewares/error-handler.js +++ /dev/null @@ -1,13 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.errorHandler = void 0; -// need to disable this rule so that express recognises this signature -// eslint-disable-next-line @typescript-eslint/no-unused-vars -const errorHandler = (err, req, res, _next) => { - if (err instanceof Error) { - res.status(400).json({ message: err.message }); - return; - } - res.status(500).json({ message: 'Internal server error' }); -}; -exports.errorHandler = errorHandler; diff --git a/server/dist/src/routes/downloadRouter.js b/server/dist/src/routes/downloadRouter.js deleted file mode 100644 index 4431fdd..0000000 --- a/server/dist/src/routes/downloadRouter.js +++ /dev/null @@ -1,52 +0,0 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.downloadRouter = void 0; -const express_1 = require("express"); -const error_handler_1 = require("../error-handler"); -const ytdl_core_1 = __importDefault(require("ytdl-core")); -exports.downloadRouter = (0, express_1.Router)(); -exports.downloadRouter.get('/info', (0, error_handler_1.requestHandler)((req, res) => __awaiter(void 0, void 0, void 0, function* () { - const url = req.query.url; - const urlValid = ytdl_core_1.default.validateURL(url); - if (!urlValid) { - throw new Error('Invalid url'); - } - const { videoDetails } = yield ytdl_core_1.default.getInfo(url); - res.status(200).json({ - viewCount: videoDetails.viewCount, - thumbnails: videoDetails.thumbnails, - title: videoDetails.title, - }); -}))); -exports.downloadRouter.get('/video', (0, error_handler_1.requestHandler)((req, res) => __awaiter(void 0, void 0, void 0, function* () { - const url = req.query.url; - res.header('Content-Disposition', `attachment; filename="video.mp4"`); - res.header('Content-Type', 'video/mp4'); - (0, ytdl_core_1.default)(url, { filter: 'audioandvideo', quality: 'highestvideo' }) - .pipe(res) - .on('error', () => { - throw new Error('Could not load video stream'); - }); -}))); -exports.downloadRouter.get('/audio', (0, error_handler_1.requestHandler)((req, res) => __awaiter(void 0, void 0, void 0, function* () { - const url = req.query.url; - res.header('Content-Disposition', 'attachment; filename="audio.webm"'); - res.header('Content-Type', 'audio/webm'); - (0, ytdl_core_1.default)(url, { filter: 'audioonly' }) - .pipe(res) - .on('error', () => { - throw new Error('Could not load audio stream'); - }); -}))); diff --git a/server/vercel.json b/server/vercel.json deleted file mode 100644 index 91fb8aa..0000000 --- a/server/vercel.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "version": 2, - "builds": [ - { - "src": "dist/src/index.js", - "use": "@vercel/node", - "config": { "includeFiles": ["dist/**"] } - } - ], - "routes": [ - { - "src": "/(.*)", - "dest": "dist/src/index.js" - } - ] -}