From e4f08d0778cb3b007926ca6f8100551fed957d67 Mon Sep 17 00:00:00 2001 From: b1ek Date: Fri, 17 Mar 2023 20:53:27 +1000 Subject: [PATCH] fix 500 on project/* --- models/index.js | 3 +- .../src/emulator/commands/import_file.js | 37 +++++++++++++++++++ react/resume/src/emulator/commands/index.js | 1 + routes/proj.js | 1 + 4 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 react/resume/src/emulator/commands/import_file.js diff --git a/models/index.js b/models/index.js index 03ce21e..d94f0ea 100644 --- a/models/index.js +++ b/models/index.js @@ -26,7 +26,8 @@ config = { host: DB_HOSTNAME || config.host, define: { timestamps: false - } + }, + logging: false }; /** @type Sequelize */ diff --git a/react/resume/src/emulator/commands/import_file.js b/react/resume/src/emulator/commands/import_file.js new file mode 100644 index 0000000..6d80827 --- /dev/null +++ b/react/resume/src/emulator/commands/import_file.js @@ -0,0 +1,37 @@ +import { Terminal } from 'xterm'; +import { saveAs } from 'file-saver'; +const fs = require('../fs'); + +/** + * + * @param { string[] } argv + * @param { Terminal } terminal + */ +module.exports = (argv, terminal) => { + + if (argv.indexOf('--help') != -1) { + terminal.write( +`Usage: ${argv[0]} [DESTANATION]\n +Import files from your system to this filesystem. +` + ); + return; + } + + let el = document.getElementById('upload_file_btn'); + if (el == null) { + el = document.createElement('input'); + el.style.display = 'none'; + el.type = 'file'; + el.id = 'upload_file_btn'; + el.setAttribute('multiple', 'multiple'); + document.body.appendChild(el); + } + + const dir = argv[1] || '.'; + + el.click(); + + let files = el.files; + global.f = files +} \ No newline at end of file diff --git a/react/resume/src/emulator/commands/index.js b/react/resume/src/emulator/commands/index.js index 9ff1979..cad0327 100644 --- a/react/resume/src/emulator/commands/index.js +++ b/react/resume/src/emulator/commands/index.js @@ -8,6 +8,7 @@ let cmds = { 'mkdir': require('./mkdir'), 'wget': require('./wget'), 'export_file': require('./export_file'), + 'import_file': require('./import_file'), // alias l='ls -l' 'l': (a,t) => {require('./ls')([...a, '-l'], t)}, diff --git a/routes/proj.js b/routes/proj.js index a3e5624..22ae7d4 100644 --- a/routes/proj.js +++ b/routes/proj.js @@ -1,4 +1,5 @@ const handler = require('express-async-handler'); +const Helpers = require('../helpers'); async function project(req, res) { res.template(