From cf5783f2e4e052e71f0ecd6a05548c81b974917a Mon Sep 17 00:00:00 2001 From: Alexander Bentkamp Date: Tue, 9 May 2023 12:19:06 +0200 Subject: [PATCH] remove alternative import --- server/import-alt.mjs | 51 ------------------------------------------- 1 file changed, 51 deletions(-) delete mode 100644 server/import-alt.mjs diff --git a/server/import-alt.mjs b/server/import-alt.mjs deleted file mode 100644 index 48dcab6..0000000 --- a/server/import-alt.mjs +++ /dev/null @@ -1,51 +0,0 @@ -import { spawn } from 'child_process' -import fs from 'fs'; - -const progress = {} - -async function runProcess(id, cmd, args, cwd) { - return new Promise((resolve, reject) => { - const ls = spawn(cmd, args, {cwd}); - - ls.stdout.on('data', (data) => { - progress[id].output += data.toString() - }); - - ls.stderr.on('data', (data) => { - progress[id].output += data.toString() - }); - - ls.on('close', (code) => { - resolve() - }); - }) -} - -async function doImport (owner, repo, id) { - fs.rmSync(`tmp/${owner}/${repo}`, { recursive: true, force: true }); - fs.mkdirSync(`tmp/${owner}/${repo}`, { recursive: true, force: true }); - await runProcess(id, "git", ["clone", `https://github.com/${owner}/${repo}.git`], `tmp/${owner}`) - await runProcess(id, "docker", ["build", "--rm", "-f", "./Dockerfile", "-t", `github-${owner}:${repo}`, "."], `tmp/${owner}/${repo}`) - progress[id].done = true -} - -export const importTrigger = (req, res) => { - const owner = req.params.owner - const repo = req.params.repo - const id = req.params.owner + '/' + req.params.repo - if(!/^[\w.-]+\/[\w.-]+$/.test(id)) { res.send(`Invalid repo name ${id}`); return } - - if(!progress[id] || progress[id].done) { - progress[id] = {output: "", done: false} - doImport(owner, repo, id) - } - - res.redirect(`/import/status/${owner}/${repo}`) -} - -export const importStatus = (req, res) => { - const owner = req.params.owner - const repo = req.params.repo - const id = req.params.owner + '/' + req.params.repo - res.send(`
${progress[id]?.output ?? "Nothing here."}
`) -}