test: apprise, email and wizard API

This commit is contained in:
Ravinou 2025-03-02 14:33:19 +01:00
commit d753df49a0
No known key found for this signature in database
GPG key ID: EEEE670C40F6A4D7
7 changed files with 410 additions and 39 deletions

View file

@ -1,48 +1,45 @@
//Lib
import { authOptions } from '~/pages/api/auth/[...nextauth]';
import { getServerSession } from 'next-auth/next';
import { WizardEnvEnum } from '~/types/domain/config.types';
import { WizardEnvEnum, WizardEnvType } from '~/types/domain/config.types';
import { NextApiRequest, NextApiResponse } from 'next';
import { ErrorResponse } from '~/types/api/error.types';
export default async function handler(req: NextApiRequest, res: NextApiResponse) {
if (req.method == 'GET') {
//AUTHENTICATION
const session = await getServerSession(req, res, authOptions);
if (!session) {
res.status(401).json({ message: 'You must be logged in.' });
return;
export default async function handler(
req: NextApiRequest,
res: NextApiResponse<WizardEnvType | ErrorResponse>
) {
if (req.method !== 'GET') {
return res.status(405);
}
const session = await getServerSession(req, res, authOptions);
if (!session) {
return res.status(401);
}
try {
function getEnvVariable(envName: WizardEnvEnum, defaultValue = '') {
return process.env[envName] || defaultValue;
}
try {
function getEnvVariable(envName: WizardEnvEnum, defaultValue = '') {
return process.env[envName] || defaultValue;
}
const wizardEnv: WizardEnvType = {
UNIX_USER: getEnvVariable(WizardEnvEnum.UNIX_USER, 'borgwarehouse'),
FQDN: getEnvVariable(WizardEnvEnum.FQDN, 'localhost'),
SSH_SERVER_PORT: getEnvVariable(WizardEnvEnum.SSH_SERVER_PORT, '22'),
FQDN_LAN: getEnvVariable(WizardEnvEnum.FQDN_LAN),
SSH_SERVER_PORT_LAN: getEnvVariable(WizardEnvEnum.SSH_SERVER_PORT_LAN),
SSH_SERVER_FINGERPRINT_RSA: getEnvVariable(WizardEnvEnum.SSH_SERVER_FINGERPRINT_RSA),
SSH_SERVER_FINGERPRINT_ED25519: getEnvVariable(WizardEnvEnum.SSH_SERVER_FINGERPRINT_ED25519),
SSH_SERVER_FINGERPRINT_ECDSA: getEnvVariable(WizardEnvEnum.SSH_SERVER_FINGERPRINT_ECDSA),
HIDE_SSH_PORT: getEnvVariable(WizardEnvEnum.HIDE_SSH_PORT, 'false'),
DISABLE_INTEGRATIONS: getEnvVariable(WizardEnvEnum.DISABLE_INTEGRATIONS, 'false'),
DISABLE_DELETE_REPO: getEnvVariable(WizardEnvEnum.DISABLE_DELETE_REPO, 'false'),
};
const wizardEnv = {
UNIX_USER: getEnvVariable(WizardEnvEnum.UNIX_USER, 'borgwarehouse'),
FQDN: getEnvVariable(WizardEnvEnum.FQDN, 'localhost'),
SSH_SERVER_PORT: getEnvVariable(WizardEnvEnum.SSH_SERVER_PORT, '22'),
FQDN_LAN: getEnvVariable(WizardEnvEnum.FQDN_LAN),
SSH_SERVER_PORT_LAN: getEnvVariable(WizardEnvEnum.SSH_SERVER_PORT_LAN),
SSH_SERVER_FINGERPRINT_RSA: getEnvVariable(WizardEnvEnum.SSH_SERVER_FINGERPRINT_RSA),
SSH_SERVER_FINGERPRINT_ED25519: getEnvVariable(
WizardEnvEnum.SSH_SERVER_FINGERPRINT_ED25519
),
SSH_SERVER_FINGERPRINT_ECDSA: getEnvVariable(WizardEnvEnum.SSH_SERVER_FINGERPRINT_ECDSA),
HIDE_SSH_PORT: getEnvVariable(WizardEnvEnum.HIDE_SSH_PORT, 'false'),
DISABLE_INTEGRATIONS: getEnvVariable(WizardEnvEnum.DISABLE_INTEGRATIONS, 'false'),
};
res.status(200).json({ wizardEnv });
return;
} catch (error) {
console.log(error);
res.status(500).json({
message: 'API error, contact the administrator',
});
return;
}
} else {
res.status(405).json({ message: 'Bad request on API' });
res.status(200).json(wizardEnv);
return;
} catch (error) {
console.log(error);
return res.status(500);
}
}