From 13116f23348947e493a4292d0eccedee4a5af52a Mon Sep 17 00:00:00 2001 From: Ravinou Date: Tue, 5 Sep 2023 22:02:54 +0200 Subject: [PATCH] feat: add API to get some env for wizard --- pages/api/account/getWizardEnv.js | 49 +++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 pages/api/account/getWizardEnv.js diff --git a/pages/api/account/getWizardEnv.js b/pages/api/account/getWizardEnv.js new file mode 100644 index 0000000..adc3da1 --- /dev/null +++ b/pages/api/account/getWizardEnv.js @@ -0,0 +1,49 @@ +//Lib +import { authOptions } from '../auth/[...nextauth]'; +import { getServerSession } from 'next-auth/next'; + +export default async function handler(req, res) { + if (req.method == 'GET') { + //Verify that the user is logged in. + const session = await getServerSession(req, res, authOptions); + if (!session) { + res.status(401).json({ message: 'You must be logged in.' }); + return; + } + try { + function getEnvVariable(envName, defaultValue = '') { + return process.env[envName] || defaultValue; + } + + const wizardEnv = { + UNIX_USER: getEnvVariable('UNIX_USER'), + HOSTNAME: getEnvVariable('HOSTNAME'), + SSH_SERVER_PORT: getEnvVariable('SSH_SERVER_PORT', '22'), + HOSTNAME_LAN: getEnvVariable('HOSTNAME_LAN'), + SSH_SERVER_PORT_LAN: getEnvVariable('SSH_SERVER_PORT_LAN'), + SSH_SERVER_FINGERPRINT_RSA: getEnvVariable( + 'SSH_SERVER_FINGERPRINT_RSA' + ), + SSH_SERVER_FINGERPRINT_ED25519: getEnvVariable( + 'SSH_SERVER_FINGERPRINT_ED25519' + ), + SSH_SERVER_FINGERPRINT_ECDSA: getEnvVariable( + 'SSH_SERVER_FINGERPRINT_ECDSA' + ), + }; + res.status(200).json({ wizardEnv }); + return; + } catch (error) { + //Log for backend + console.log(error); + //Log for frontend + res.status(500).json({ + status: 500, + message: 'API error, contact the administrator', + }); + return; + } + } else { + res.status(405).json({ message: 'Bad request on API' }); + } +}