Merge pull request #123 from coollabsio/next

v2.0.8
This commit is contained in:
Andras Bacsai 2022-02-14 10:09:07 +01:00 committed by GitHub
commit 2971e14269
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
100 changed files with 301 additions and 244 deletions

View File

@ -1,7 +1,7 @@
{ {
"name": "coolify", "name": "coolify",
"description": "An open-source & self-hostable Heroku / Netlify alternative.", "description": "An open-source & self-hostable Heroku / Netlify alternative.",
"version": "2.0.7", "version": "2.0.8",
"license": "AGPL-3.0", "license": "AGPL-3.0",
"scripts": { "scripts": {
"dev": "docker compose -f docker-compose-dev.yaml up -d && NODE_ENV=development svelte-kit dev --host 0.0.0.0", "dev": "docker compose -f docker-compose-dev.yaml up -d && NODE_ENV=development svelte-kit dev --host 0.0.0.0",

View File

@ -11,6 +11,7 @@ const createDockerfile = async (data, image): Promise<void> => {
Dockerfile.push(`COPY ./${baseDirectory || ''} /var/www/html`); Dockerfile.push(`COPY ./${baseDirectory || ''} /var/www/html`);
Dockerfile.push(`EXPOSE 80`); Dockerfile.push(`EXPOSE 80`);
Dockerfile.push('CMD ["apache2-foreground"]'); Dockerfile.push('CMD ["apache2-foreground"]');
Dockerfile.push('RUN chown -R www-data /var/www/html');
await fs.writeFile(`${workdir}/Dockerfile`, Dockerfile.join('\n')); await fs.writeFile(`${workdir}/Dockerfile`, Dockerfile.join('\n'));
}; };

View File

@ -8,16 +8,26 @@ import * as db from '$lib/database';
import { buildLogQueue } from './queues'; import { buildLogQueue } from './queues';
import { version as currentVersion } from '../../package.json'; import { version as currentVersion } from '../../package.json';
import { dockerInstance } from './docker';
import dayjs from 'dayjs'; import dayjs from 'dayjs';
import Cookie from 'cookie'; import Cookie from 'cookie';
import os from 'os';
try { try {
if (!dev) { if (!dev) {
Sentry.init({ Sentry.init({
dsn: process.env['COOLIFY_SENTRY_DSN'], dsn: process.env['COOLIFY_SENTRY_DSN'],
tracesSampleRate: 0, tracesSampleRate: 0,
environment: 'production' environment: 'production',
debug: true,
release: currentVersion,
initialScope: {
tags: {
appId: process.env['COOLIFY_APP_ID'],
'os.arch': os.arch(),
'os.platform': os.platform(),
'os.release': os.release()
}
}
}); });
} }
} catch (err) { } catch (err) {

View File

@ -113,6 +113,13 @@ export async function getApplicationWebhook({ projectId, branch }) {
throw { status: 404, body: { message: e.message } }; throw { status: 404, body: { message: e.message } };
} }
} }
export async function getApplicationById({ id }) {
const body = await prisma.application.findFirst({
where: { id }
});
return { ...body };
}
export async function getApplication({ id, teamId }) { export async function getApplication({ id, teamId }) {
let body = await prisma.application.findFirst({ let body = await prisma.application.findFirst({
where: { id, teams: { some: { id: teamId } } }, where: { id, teams: { some: { id: teamId } } },

View File

@ -36,23 +36,36 @@ if (dev) {
} }
export const prisma = new PrismaClient(prismaOptions); export const prisma = new PrismaClient(prismaOptions);
export function PrismaErrorHandler(e) { export function ErrorHandler(e) {
if (e! instanceof Error) { if (e! instanceof Error) {
e = new Error(e.toString()); e = new Error(e.toString());
} }
sentry.captureException(e); let truncatedError = e;
if (e.message.includes('docker run')) {
let truncatedArray = [];
truncatedArray = truncatedError.message.split('-').filter((line) => {
if (!line.startsWith('e ')) {
return line;
}
});
truncatedError.message = truncatedArray.join('-');
}
if (e.message.includes('git clone')) {
truncatedError.message = 'git clone failed';
}
sentry.captureException(truncatedError);
const payload = { const payload = {
status: e.status || 500, status: truncatedError.status || 500,
body: { body: {
message: 'Ooops, something is not okay, are you okay?', message: 'Ooops, something is not okay, are you okay?',
error: e.error || e.message error: truncatedError.error || truncatedError.message
} }
}; };
if (e.name === 'NotFoundError') { if (truncatedError.name === 'NotFoundError') {
payload.status = 404; payload.status = 404;
} }
if (e instanceof P.PrismaClientKnownRequestError) { if (truncatedError instanceof P.PrismaClientKnownRequestError) {
if (e.code === 'P2002') { if (truncatedError.code === 'P2002') {
payload.body.message = 'Already exists. Choose another name.'; payload.body.message = 'Already exists. Choose another name.';
} }
} }

View File

@ -2,7 +2,7 @@ import { decrypt, encrypt } from '$lib/crypto';
import { dockerInstance } from '$lib/docker'; import { dockerInstance } from '$lib/docker';
import cuid from 'cuid'; import cuid from 'cuid';
import { generatePassword } from '.'; import { generatePassword } from '.';
import { prisma, PrismaErrorHandler } from './common'; import { prisma, ErrorHandler } from './common';
import getPort from 'get-port'; import getPort from 'get-port';
import { asyncExecShell, getEngine, removeContainer } from '$lib/common'; import { asyncExecShell, getEngine, removeContainer } from '$lib/common';

View File

@ -1,4 +1,4 @@
import { prisma, PrismaErrorHandler } from './common'; import { prisma, ErrorHandler } from './common';
export async function listLogs({ buildId, last = 0 }) { export async function listLogs({ buildId, last = 0 }) {
try { try {
@ -8,6 +8,6 @@ export async function listLogs({ buildId, last = 0 }) {
}); });
return [...body]; return [...body];
} catch (error) { } catch (error) {
return PrismaErrorHandler(error); return ErrorHandler(error);
} }
} }

View File

@ -460,7 +460,7 @@ export async function startCoolifyProxy(engine) {
); );
const ip = JSON.parse(Config)[0].Gateway; const ip = JSON.parse(Config)[0].Gateway;
await asyncExecShell( await asyncExecShell(
`DOCKER_HOST="${host}" docker run -e HAPROXY_USERNAME=${proxyUser} -e HAPROXY_PASSWORD=${proxyPassword} --restart always --add-host 'host.docker.internal:host-gateway' --add-host 'host.docker.internal:${ip}' -v coolify-ssl-certs:/usr/local/etc/haproxy/ssl --network coolify-infra -p "80:80" -p "443:443" -p "8404:8404" -p "5555:5555" -p "5000:5000" --name coolify-haproxy -d coollabsio/${defaultProxyImage}` `DOCKER_HOST="${host}" docker run -e HAPROXY_USERNAME=${proxyUser} -e HAPROXY_PASSWORD=${proxyPassword} --restarts always --add-host 'host.docker.internal:host-gateway' --add-host 'host.docker.internal:${ip}' -v coolify-ssl-certs:/usr/local/etc/haproxy/ssl --network coolify-infra -p "80:80" -p "443:443" -p "8404:8404" -p "5555:5555" -p "5000:5000" --name coolify-haproxy -d coollabsio/${defaultProxyImage}`
); );
} }
await configureNetworkCoolifyProxy(engine); await configureNetworkCoolifyProxy(engine);

View File

@ -2,7 +2,7 @@ import { asyncExecShell, saveBuildLog } from '$lib/common';
import got from 'got'; import got from 'got';
import jsonwebtoken from 'jsonwebtoken'; import jsonwebtoken from 'jsonwebtoken';
import * as db from '$lib/database'; import * as db from '$lib/database';
import { PrismaErrorHandler } from '$lib/database'; import { ErrorHandler } from '$lib/database';
export default async function ({ export default async function ({
applicationId, applicationId,
@ -45,6 +45,6 @@ export default async function ({
const { stdout: commit } = await asyncExecShell(`cd ${workdir}/ && git rev-parse HEAD`); const { stdout: commit } = await asyncExecShell(`cd ${workdir}/ && git rev-parse HEAD`);
return commit.replace('\n', ''); return commit.replace('\n', '');
} catch (error) { } catch (error) {
return PrismaErrorHandler(error); return ErrorHandler(error);
} }
} }

View File

@ -1,5 +1,5 @@
import { asyncExecShell, saveBuildLog } from '$lib/common'; import { asyncExecShell, saveBuildLog } from '$lib/common';
import { PrismaErrorHandler } from '$lib/database'; import { ErrorHandler } from '$lib/database';
export default async function ({ export default async function ({
applicationId, applicationId,

View File

@ -2,15 +2,17 @@ import { dev } from '$app/env';
import { forceSSLOffApplication, forceSSLOnApplication, getNextTransactionId } from '$lib/haproxy'; import { forceSSLOffApplication, forceSSLOnApplication, getNextTransactionId } from '$lib/haproxy';
import { asyncExecShell, getEngine } from './common'; import { asyncExecShell, getEngine } from './common';
import * as db from '$lib/database'; import * as db from '$lib/database';
import cuid from 'cuid';
export async function letsEncrypt({ domain, isCoolify = false, id = null }) { export async function letsEncrypt({ domain, isCoolify = false, id = null }) {
try { try {
const randomCuid = cuid();
if (dev) { if (dev) {
return await forceSSLOnApplication({ domain }); return await forceSSLOnApplication({ domain });
} else { } else {
if (isCoolify) { if (isCoolify) {
await asyncExecShell( await asyncExecShell(
`docker run --rm --name certbot -p 9080:9080 -v "coolify-letsencrypt:/etc/letsencrypt" certbot/certbot --logs-dir /etc/letsencrypt/logs certonly --standalone --preferred-challenges http --http-01-address 0.0.0.0 --http-01-port 9080 -d ${domain} --agree-tos --non-interactive --register-unsafely-without-email` `docker run --rm --name certbot-${randomCuid} -p 9080:9080 -v "coolify-letsencrypt:/etc/letsencrypt" certbot/certbot --logs-dir /etc/letsencrypt/logs certonly --standalone --preferred-challenges http --http-01-address 0.0.0.0 --http-01-port 9080 -d ${domain} --agree-tos --non-interactive --register-unsafely-without-email`
); );
const { stderr } = await asyncExecShell( const { stderr } = await asyncExecShell(
@ -33,10 +35,10 @@ export async function letsEncrypt({ domain, isCoolify = false, id = null }) {
if (data.destinationDockerId && data.destinationDocker) { if (data.destinationDockerId && data.destinationDocker) {
const host = getEngine(data.destinationDocker.engine); const host = getEngine(data.destinationDocker.engine);
await asyncExecShell( await asyncExecShell(
`DOCKER_HOST=${host} docker run --rm --name certbot -p 9080:9080 -v "coolify-letsencrypt:/etc/letsencrypt" certbot/certbot --logs-dir /etc/letsencrypt/logs certonly --standalone --preferred-challenges http --http-01-address 0.0.0.0 --http-01-port 9080 -d ${domain} --agree-tos --non-interactive --register-unsafely-without-email` `DOCKER_HOST=${host} docker run --rm --name certbot-${randomCuid} -p 9080:9080 -v "coolify-letsencrypt:/etc/letsencrypt" certbot/certbot --logs-dir /etc/letsencrypt/logs certonly --standalone --preferred-challenges http --http-01-address 0.0.0.0 --http-01-port 9080 -d ${domain} --agree-tos --non-interactive --register-unsafely-without-email`
); );
const { stderr } = await asyncExecShell( const { stderr } = await asyncExecShell(
`DOCKER_HOST=${host} docker run --rm --name bash -v "coolify-letsencrypt:/etc/letsencrypt" -v "coolify-ssl-certs:/app/ssl" alpine:latest cat /etc/letsencrypt/live/${domain}/fullchain.pem /etc/letsencrypt/live/${domain}/privkey.pem > /app/ssl/${domain}.pem` `DOCKER_HOST=${host} docker run --rm --name bash-${randomCuid} -v "coolify-letsencrypt:/etc/letsencrypt" -v "coolify-ssl-certs:/app/ssl" alpine:latest cat /etc/letsencrypt/live/${domain}/fullchain.pem /etc/letsencrypt/live/${domain}/privkey.pem > /app/ssl/${domain}.pem`
); );
if (stderr) throw new Error(stderr); if (stderr) throw new Error(stderr);
await forceSSLOnApplication({ domain }); await forceSSLOnApplication({ domain });

View File

@ -1,5 +1,5 @@
import { getDomain } from '$lib/common'; import { getDomain } from '$lib/common';
import { prisma } from '$lib/database'; import { getApplicationById, prisma } from '$lib/database';
import { dockerInstance } from '$lib/docker'; import { dockerInstance } from '$lib/docker';
import { import {
checkContainer, checkContainer,
@ -30,6 +30,8 @@ export default async function () {
if (configuration.Labels['coolify.type'] === 'standalone-application') { if (configuration.Labels['coolify.type'] === 'standalone-application') {
const { fqdn, applicationId, port, pullmergeRequestId } = parsedConfiguration; const { fqdn, applicationId, port, pullmergeRequestId } = parsedConfiguration;
if (fqdn) { if (fqdn) {
const found = await getApplicationById({ id: applicationId });
if (found) {
const domain = getDomain(fqdn); const domain = getDomain(fqdn);
await configureProxyForApplication({ await configureProxyForApplication({
domain, domain,
@ -47,6 +49,7 @@ export default async function () {
} }
} }
} }
}
// Check Coolify FQDN and configure proxy if needed // Check Coolify FQDN and configure proxy if needed
const { fqdn } = await db.listSettings(); const { fqdn } = await db.listSettings();
if (fqdn) { if (fqdn) {

View File

@ -1,6 +1,6 @@
import { asyncExecShell, getDomain, getEngine, getUserDetails } from '$lib/common'; import { asyncExecShell, getDomain, getEngine, getUserDetails } from '$lib/common';
import * as db from '$lib/database'; import * as db from '$lib/database';
import { PrismaErrorHandler } from '$lib/database'; import { ErrorHandler } from '$lib/database';
import type { RequestHandler } from '@sveltejs/kit'; import type { RequestHandler } from '@sveltejs/kit';
export const post: RequestHandler = async (event) => { export const post: RequestHandler = async (event) => {
@ -23,6 +23,6 @@ export const post: RequestHandler = async (event) => {
status: 200 status: 200
}; };
} catch (error) { } catch (error) {
return PrismaErrorHandler(error); return ErrorHandler(error);
} }
}; };

View File

@ -74,13 +74,18 @@
} }
async function isBranchAlreadyUsed() { async function isBranchAlreadyUsed() {
try { try {
return await get( const data = await get(
`/applications/${id}/configuration/repository.json?repository=${selected.repository}&branch=${selected.branch}` `/applications/${id}/configuration/repository.json?repository=${selected.repository}&branch=${selected.branch}`
); );
} catch ({ error }) { if (data.used) {
return errorNotification(error); errorNotification('This branch is already used by another application.');
} finally { showSave = false;
return true;
}
showSave = true; showSave = true;
} catch ({ error }) {
showSave = false;
return errorNotification(error);
} }
} }

View File

@ -132,14 +132,18 @@
} }
async function isBranchAlreadyUsed() { async function isBranchAlreadyUsed() {
const url = `/applications/${id}/configuration/repository.json?repository=${selected.project.path_with_namespace}&branch=${selected.branch.name}`;
try { try {
await get(url); const data = await get(
showSave = true; `/applications/${id}/configuration/repository.json?repository=${selected.project.path_with_namespace}&branch=${selected.branch.name}`
} catch (error) { );
if (data.used) {
errorNotification('This branch is already used by another application.');
showSave = false; showSave = false;
return errorNotification('Branch already configured'); return true;
}
showSave = true;
} catch ({ error }) {
return errorNotification(error);
} }
} }
async function checkSSHKey(sshkeyUrl) { async function checkSSHKey(sshkeyUrl) {
@ -195,7 +199,6 @@
const deployKeyFound = deployKeys.filter((dk) => dk.title === `${appId}-coolify-deploy-key`); const deployKeyFound = deployKeys.filter((dk) => dk.title === `${appId}-coolify-deploy-key`);
if (deployKeyFound.length > 0) { if (deployKeyFound.length > 0) {
for (const deployKey of deployKeyFound) { for (const deployKey of deployKeyFound) {
console.log(`${deployKeyUrl}/${deployKey.id}`);
await del( await del(
`${deployKeyUrl}/${deployKey.id}`, `${deployKeyUrl}/${deployKey.id}`,
{}, {},

View File

@ -1,7 +1,7 @@
import { getUserDetails } from '$lib/common'; import { getUserDetails } from '$lib/common';
import * as db from '$lib/database'; import * as db from '$lib/database';
import type { RequestHandler } from '@sveltejs/kit'; import type { RequestHandler } from '@sveltejs/kit';
import { PrismaErrorHandler } from '$lib/database'; import { ErrorHandler } from '$lib/database';
export const get: RequestHandler = async (event) => { export const get: RequestHandler = async (event) => {
const { teamId, status, body } = await getUserDetails(event); const { teamId, status, body } = await getUserDetails(event);
@ -21,7 +21,7 @@ export const get: RequestHandler = async (event) => {
} }
}; };
} catch (error) { } catch (error) {
return PrismaErrorHandler(error); return ErrorHandler(error);
} }
}; };
@ -36,6 +36,6 @@ export const post: RequestHandler = async (event) => {
await db.configureBuildPack({ id, buildPack }); await db.configureBuildPack({ id, buildPack });
return { status: 201 }; return { status: 201 };
} catch (error) { } catch (error) {
return PrismaErrorHandler(error); return ErrorHandler(error);
} }
}; };

View File

@ -1,5 +1,5 @@
import * as db from '$lib/database'; import * as db from '$lib/database';
import { PrismaErrorHandler } from '$lib/database'; import { ErrorHandler } from '$lib/database';
import type { RequestHandler } from '@sveltejs/kit'; import type { RequestHandler } from '@sveltejs/kit';
export const post: RequestHandler = async (event) => { export const post: RequestHandler = async (event) => {
@ -12,6 +12,6 @@ export const post: RequestHandler = async (event) => {
await db.updateDeployKey({ id, deployKeyId }); await db.updateDeployKey({ id, deployKeyId });
return { status: 201 }; return { status: 201 };
} catch (error) { } catch (error) {
return PrismaErrorHandler(error); return ErrorHandler(error);
} }
}; };

View File

@ -1,6 +1,6 @@
import { getUserDetails } from '$lib/common'; import { getUserDetails } from '$lib/common';
import * as db from '$lib/database'; import * as db from '$lib/database';
import { PrismaErrorHandler } from '$lib/database'; import { ErrorHandler } from '$lib/database';
import type { RequestHandler } from '@sveltejs/kit'; import type { RequestHandler } from '@sveltejs/kit';
export const post: RequestHandler = async (event) => { export const post: RequestHandler = async (event) => {
@ -14,6 +14,6 @@ export const post: RequestHandler = async (event) => {
await db.configureDestinationForApplication({ id, destinationId }); await db.configureDestinationForApplication({ id, destinationId });
return { status: 201 }; return { status: 201 };
} catch (error) { } catch (error) {
return PrismaErrorHandler(error); return ErrorHandler(error);
} }
}; };

View File

@ -1,6 +1,6 @@
import { getUserDetails } from '$lib/common'; import { getUserDetails } from '$lib/common';
import * as db from '$lib/database'; import * as db from '$lib/database';
import { PrismaErrorHandler } from '$lib/database'; import { ErrorHandler } from '$lib/database';
import type { RequestHandler } from '@sveltejs/kit'; import type { RequestHandler } from '@sveltejs/kit';
export const get: RequestHandler = async (event) => { export const get: RequestHandler = async (event) => {
@ -14,16 +14,14 @@ export const get: RequestHandler = async (event) => {
try { try {
const found = await db.isBranchAlreadyUsed({ repository, branch, id }); const found = await db.isBranchAlreadyUsed({ repository, branch, id });
if (found) {
throw {
error: `Branch ${branch} is already used by another application`
};
}
return { return {
status: 200 status: 200,
body: {
used: found ? true : false
}
}; };
} catch (error) { } catch (error) {
return PrismaErrorHandler(error); return ErrorHandler(error);
} }
}; };
@ -42,6 +40,6 @@ export const post: RequestHandler = async (event) => {
await db.configureGitRepository({ id, repository, branch, projectId, webhookToken }); await db.configureGitRepository({ id, repository, branch, projectId, webhookToken });
return { status: 201 }; return { status: 201 };
} catch (error) { } catch (error) {
return PrismaErrorHandler(error); return ErrorHandler(error);
} }
}; };

View File

@ -1,6 +1,6 @@
import { getUserDetails } from '$lib/common'; import { getUserDetails } from '$lib/common';
import * as db from '$lib/database'; import * as db from '$lib/database';
import { PrismaErrorHandler } from '$lib/database'; import { ErrorHandler } from '$lib/database';
import type { RequestHandler } from '@sveltejs/kit'; import type { RequestHandler } from '@sveltejs/kit';
export const post: RequestHandler = async (event) => { export const post: RequestHandler = async (event) => {
@ -13,6 +13,6 @@ export const post: RequestHandler = async (event) => {
await db.configureGitsource({ id, gitSourceId }); await db.configureGitsource({ id, gitSourceId });
return { status: 201 }; return { status: 201 };
} catch (error) { } catch (error) {
return PrismaErrorHandler(error); return ErrorHandler(error);
} }
}; };

View File

@ -1,5 +1,5 @@
import * as db from '$lib/database'; import * as db from '$lib/database';
import { PrismaErrorHandler } from '$lib/database'; import { ErrorHandler } from '$lib/database';
import type { RequestHandler } from '@sveltejs/kit'; import type { RequestHandler } from '@sveltejs/kit';
export const get: RequestHandler = async (event) => { export const get: RequestHandler = async (event) => {
@ -7,7 +7,7 @@ export const get: RequestHandler = async (event) => {
try { try {
return await db.getSshKey({ id }); return await db.getSshKey({ id });
} catch (error) { } catch (error) {
return PrismaErrorHandler(error); return ErrorHandler(error);
} }
}; };
export const post: RequestHandler = async (event) => { export const post: RequestHandler = async (event) => {
@ -15,6 +15,6 @@ export const post: RequestHandler = async (event) => {
try { try {
return await db.generateSshKey({ id }); return await db.generateSshKey({ id });
} catch (error) { } catch (error) {
return PrismaErrorHandler(error); return ErrorHandler(error);
} }
}; };

View File

@ -1,6 +1,6 @@
import { getUserDetails } from '$lib/common'; import { getUserDetails } from '$lib/common';
import * as db from '$lib/database'; import * as db from '$lib/database';
import { PrismaErrorHandler } from '$lib/database'; import { ErrorHandler } from '$lib/database';
import type { RequestHandler } from '@sveltejs/kit'; import type { RequestHandler } from '@sveltejs/kit';
export const del: RequestHandler = async (event) => { export const del: RequestHandler = async (event) => {
@ -14,6 +14,6 @@ export const del: RequestHandler = async (event) => {
status: 200 status: 200
}; };
} catch (error) { } catch (error) {
return PrismaErrorHandler(error); return ErrorHandler(error);
} }
}; };

View File

@ -4,7 +4,7 @@ import cuid from 'cuid';
import crypto from 'crypto'; import crypto from 'crypto';
import { buildQueue } from '$lib/queues'; import { buildQueue } from '$lib/queues';
import { getUserDetails } from '$lib/common'; import { getUserDetails } from '$lib/common';
import { PrismaErrorHandler } from '$lib/database'; import { ErrorHandler } from '$lib/database';
export const post: RequestHandler = async (event) => { export const post: RequestHandler = async (event) => {
const { teamId, status, body } = await getUserDetails(event); const { teamId, status, body } = await getUserDetails(event);
@ -37,6 +37,6 @@ export const post: RequestHandler = async (event) => {
} }
}; };
} catch (error) { } catch (error) {
return PrismaErrorHandler(error); return ErrorHandler(error);
} }
}; };

View File

@ -1,7 +1,7 @@
import { getTeam, getUserDetails } from '$lib/common'; import { getTeam, getUserDetails } from '$lib/common';
import { getGithubToken } from '$lib/components/common'; import { getGithubToken } from '$lib/components/common';
import * as db from '$lib/database'; import * as db from '$lib/database';
import { PrismaErrorHandler } from '$lib/database'; import { ErrorHandler } from '$lib/database';
import { checkContainer } from '$lib/haproxy'; import { checkContainer } from '$lib/haproxy';
import type { RequestHandler } from '@sveltejs/kit'; import type { RequestHandler } from '@sveltejs/kit';
import jsonwebtoken from 'jsonwebtoken'; import jsonwebtoken from 'jsonwebtoken';
@ -44,7 +44,7 @@ export const get: RequestHandler = async (event) => {
}; };
} catch (error) { } catch (error) {
console.log(error); console.log(error);
return PrismaErrorHandler(error); return ErrorHandler(error);
} }
}; };
@ -82,6 +82,6 @@ export const post: RequestHandler = async (event) => {
}); });
return { status: 201 }; return { status: 201 };
} catch (error) { } catch (error) {
return PrismaErrorHandler(error); return ErrorHandler(error);
} }
}; };

View File

@ -1,6 +1,6 @@
import { getTeam, getUserDetails } from '$lib/common'; import { getTeam, getUserDetails } from '$lib/common';
import * as db from '$lib/database'; import * as db from '$lib/database';
import { PrismaErrorHandler } from '$lib/database'; import { ErrorHandler } from '$lib/database';
import type { RequestHandler } from '@sveltejs/kit'; import type { RequestHandler } from '@sveltejs/kit';
export const get: RequestHandler = async (event) => { export const get: RequestHandler = async (event) => {
@ -23,6 +23,6 @@ export const get: RequestHandler = async (event) => {
} }
}; };
} catch (error) { } catch (error) {
return PrismaErrorHandler(error); return ErrorHandler(error);
} }
}; };

View File

@ -1,5 +1,5 @@
import * as db from '$lib/database'; import * as db from '$lib/database';
import { PrismaErrorHandler } from '$lib/database'; import { ErrorHandler } from '$lib/database';
import { dayjs } from '$lib/dayjs'; import { dayjs } from '$lib/dayjs';
import type { RequestHandler } from '@sveltejs/kit'; import type { RequestHandler } from '@sveltejs/kit';
@ -35,6 +35,6 @@ export const get: RequestHandler = async (event) => {
} }
}; };
} catch (error) { } catch (error) {
return PrismaErrorHandler(error); return ErrorHandler(error);
} }
}; };

View File

@ -1,6 +1,6 @@
import { getUserDetails } from '$lib/common'; import { getUserDetails } from '$lib/common';
import * as db from '$lib/database'; import * as db from '$lib/database';
import { PrismaErrorHandler } from '$lib/database'; import { ErrorHandler } from '$lib/database';
import { dayjs } from '$lib/dayjs'; import { dayjs } from '$lib/dayjs';
import { dockerInstance } from '$lib/docker'; import { dockerInstance } from '$lib/docker';
import type { RequestHandler } from '@sveltejs/kit'; import type { RequestHandler } from '@sveltejs/kit';
@ -48,6 +48,6 @@ export const get: RequestHandler = async (event) => {
} }
}; };
} catch (error) { } catch (error) {
return PrismaErrorHandler(error); return ErrorHandler(error);
} }
}; };

View File

@ -1,6 +1,6 @@
import { getTeam, getUserDetails } from '$lib/common'; import { getTeam, getUserDetails } from '$lib/common';
import * as db from '$lib/database'; import * as db from '$lib/database';
import { PrismaErrorHandler } from '$lib/database'; import { ErrorHandler } from '$lib/database';
import { dockerInstance } from '$lib/docker'; import { dockerInstance } from '$lib/docker';
import type { RequestHandler } from '@sveltejs/kit'; import type { RequestHandler } from '@sveltejs/kit';
import jsonwebtoken from 'jsonwebtoken'; import jsonwebtoken from 'jsonwebtoken';
@ -39,6 +39,6 @@ export const get: RequestHandler = async (event) => {
} }
}; };
} catch (error) { } catch (error) {
return PrismaErrorHandler(error); return ErrorHandler(error);
} }
}; };

View File

@ -9,7 +9,8 @@
import { createEventDispatcher } from 'svelte'; import { createEventDispatcher } from 'svelte';
const dispatch = createEventDispatcher(); const dispatch = createEventDispatcher();
let nameEl;
let valueEl;
const { id } = $page.params; const { id } = $page.params;
async function removeSecret() { async function removeSecret() {
try { try {
@ -25,6 +26,15 @@
} }
} }
async function saveSecret() { async function saveSecret() {
const nameValid = nameEl.checkValidity();
const valueValid = valueEl.checkValidity();
if (!nameValid) {
return nameEl.reportValidity();
}
if (!valueValid) {
return valueEl.reportValidity();
}
try { try {
await post(`/applications/${id}/secrets.json`, { name, value, isBuildSecret }); await post(`/applications/${id}/secrets.json`, { name, value, isBuildSecret });
dispatch('refresh'); dispatch('refresh');
@ -47,7 +57,9 @@
<td class="whitespace-nowrap px-6 py-2 text-sm font-medium text-white"> <td class="whitespace-nowrap px-6 py-2 text-sm font-medium text-white">
<input <input
id="secretName" id="secretName"
bind:this={nameEl}
bind:value={name} bind:value={name}
required
placeholder="EXAMPLE_VARIABLE" placeholder="EXAMPLE_VARIABLE"
class="-mx-2 w-64 border-2 border-transparent" class="-mx-2 w-64 border-2 border-transparent"
readonly={!isNewSecret} readonly={!isNewSecret}
@ -59,6 +71,8 @@
<input <input
id="secretValue" id="secretValue"
bind:value bind:value
bind:this={valueEl}
required
placeholder="J$#@UIO%HO#$U%H" placeholder="J$#@UIO%HO#$U%H"
class="-mx-2 w-64 border-2 border-transparent" class="-mx-2 w-64 border-2 border-transparent"
class:bg-transparent={!isNewSecret} class:bg-transparent={!isNewSecret}

View File

@ -1,6 +1,6 @@
import { getTeam, getUserDetails } from '$lib/common'; import { getTeam, getUserDetails } from '$lib/common';
import * as db from '$lib/database'; import * as db from '$lib/database';
import { PrismaErrorHandler } from '$lib/database'; import { ErrorHandler } from '$lib/database';
import type { RequestHandler } from '@sveltejs/kit'; import type { RequestHandler } from '@sveltejs/kit';
export const get: RequestHandler = async (event) => { export const get: RequestHandler = async (event) => {
@ -18,7 +18,7 @@ export const get: RequestHandler = async (event) => {
} }
}; };
} catch (error) { } catch (error) {
return PrismaErrorHandler(error); return ErrorHandler(error);
} }
}; };
@ -42,7 +42,7 @@ export const post: RequestHandler = async (event) => {
}; };
} }
} catch (error) { } catch (error) {
return PrismaErrorHandler(error); return ErrorHandler(error);
} }
}; };
export const del: RequestHandler = async (event) => { export const del: RequestHandler = async (event) => {
@ -58,6 +58,6 @@ export const del: RequestHandler = async (event) => {
status: 200 status: 200
}; };
} catch (error) { } catch (error) {
return PrismaErrorHandler(error); return ErrorHandler(error);
} }
}; };

View File

@ -1,6 +1,6 @@
import { getUserDetails } from '$lib/common'; import { getUserDetails } from '$lib/common';
import * as db from '$lib/database'; import * as db from '$lib/database';
import { PrismaErrorHandler } from '$lib/database'; import { ErrorHandler } from '$lib/database';
import type { RequestHandler } from '@sveltejs/kit'; import type { RequestHandler } from '@sveltejs/kit';
export const post: RequestHandler = async (event) => { export const post: RequestHandler = async (event) => {
@ -14,6 +14,6 @@ export const post: RequestHandler = async (event) => {
await db.setApplicationSettings({ id, debug, previews }); await db.setApplicationSettings({ id, debug, previews });
return { status: 201 }; return { status: 201 };
} catch (error) { } catch (error) {
return PrismaErrorHandler(error); return ErrorHandler(error);
} }
}; };

View File

@ -1,6 +1,6 @@
import { getDomain, getUserDetails } from '$lib/common'; import { getDomain, getUserDetails } from '$lib/common';
import * as db from '$lib/database'; import * as db from '$lib/database';
import { PrismaErrorHandler } from '$lib/database'; import { ErrorHandler } from '$lib/database';
import { dockerInstance } from '$lib/docker'; import { dockerInstance } from '$lib/docker';
import { removeProxyConfiguration } from '$lib/haproxy'; import { removeProxyConfiguration } from '$lib/haproxy';
import type { RequestHandler } from '@sveltejs/kit'; import type { RequestHandler } from '@sveltejs/kit';
@ -26,6 +26,6 @@ export const post: RequestHandler = async (event) => {
status: 200 status: 200
}; };
} catch (error) { } catch (error) {
return PrismaErrorHandler(error); return ErrorHandler(error);
} }
}; };

View File

@ -1,6 +1,6 @@
import { getUserDetails } from '$lib/common'; import { getUserDetails } from '$lib/common';
import * as db from '$lib/database'; import * as db from '$lib/database';
import { PrismaErrorHandler } from '$lib/database'; import { ErrorHandler } from '$lib/database';
import type { RequestHandler } from '@sveltejs/kit'; import type { RequestHandler } from '@sveltejs/kit';
export const get: RequestHandler = async (event) => { export const get: RequestHandler = async (event) => {
@ -16,6 +16,6 @@ export const get: RequestHandler = async (event) => {
} }
}; };
} catch (error) { } catch (error) {
return PrismaErrorHandler(error); return ErrorHandler(error);
} }
}; };

View File

@ -1,6 +1,6 @@
import { getUserDetails } from '$lib/common'; import { getUserDetails } from '$lib/common';
import * as db from '$lib/database'; import * as db from '$lib/database';
import { PrismaErrorHandler } from '$lib/database'; import { ErrorHandler } from '$lib/database';
import type { RequestHandler } from '@sveltejs/kit'; import type { RequestHandler } from '@sveltejs/kit';
export const post: RequestHandler = async (event) => { export const post: RequestHandler = async (event) => {
@ -14,6 +14,6 @@ export const post: RequestHandler = async (event) => {
await db.configureDestinationForDatabase({ id, destinationId }); await db.configureDestinationForDatabase({ id, destinationId });
return { status: 201 }; return { status: 201 };
} catch (error) { } catch (error) {
return PrismaErrorHandler(error); return ErrorHandler(error);
} }
}; };

View File

@ -1,6 +1,6 @@
import { getUserDetails } from '$lib/common'; import { getUserDetails } from '$lib/common';
import * as db from '$lib/database'; import * as db from '$lib/database';
import { PrismaErrorHandler, supportedDatabaseTypesAndVersions } from '$lib/database'; import { ErrorHandler, supportedDatabaseTypesAndVersions } from '$lib/database';
import type { RequestHandler } from '@sveltejs/kit'; import type { RequestHandler } from '@sveltejs/kit';
export const get: RequestHandler = async (event) => { export const get: RequestHandler = async (event) => {
@ -27,6 +27,6 @@ export const post: RequestHandler = async (event) => {
status: 201 status: 201
}; };
} catch (error) { } catch (error) {
return PrismaErrorHandler(error); return ErrorHandler(error);
} }
}; };

View File

@ -1,6 +1,6 @@
import { getUserDetails } from '$lib/common'; import { getUserDetails } from '$lib/common';
import * as db from '$lib/database'; import * as db from '$lib/database';
import { PrismaErrorHandler, supportedDatabaseTypesAndVersions } from '$lib/database'; import { ErrorHandler, supportedDatabaseTypesAndVersions } from '$lib/database';
import type { RequestHandler } from '@sveltejs/kit'; import type { RequestHandler } from '@sveltejs/kit';
export const get: RequestHandler = async (event) => { export const get: RequestHandler = async (event) => {
@ -31,6 +31,6 @@ export const post: RequestHandler = async (event) => {
status: 201 status: 201
}; };
} catch (error) { } catch (error) {
return PrismaErrorHandler(error); return ErrorHandler(error);
} }
}; };

View File

@ -1,6 +1,6 @@
import { getUserDetails } from '$lib/common'; import { getUserDetails } from '$lib/common';
import * as db from '$lib/database'; import * as db from '$lib/database';
import { PrismaErrorHandler, stopDatabase } from '$lib/database'; import { ErrorHandler, stopDatabase } from '$lib/database';
import { deleteProxy } from '$lib/haproxy'; import { deleteProxy } from '$lib/haproxy';
import type { RequestHandler } from '@sveltejs/kit'; import type { RequestHandler } from '@sveltejs/kit';
@ -17,6 +17,6 @@ export const del: RequestHandler = async (event) => {
await db.removeDatabase({ id }); await db.removeDatabase({ id });
return { status: 200 }; return { status: 200 };
} catch (error) { } catch (error) {
return PrismaErrorHandler(error); return ErrorHandler(error);
} }
}; };

View File

@ -1,6 +1,6 @@
import { asyncExecShell, getEngine, getUserDetails } from '$lib/common'; import { asyncExecShell, getEngine, getUserDetails } from '$lib/common';
import * as db from '$lib/database'; import * as db from '$lib/database';
import { generateDatabaseConfiguration, getVersions, PrismaErrorHandler } from '$lib/database'; import { generateDatabaseConfiguration, getVersions, ErrorHandler } from '$lib/database';
import type { RequestHandler } from '@sveltejs/kit'; import type { RequestHandler } from '@sveltejs/kit';
export const get: RequestHandler = async (event) => { export const get: RequestHandler = async (event) => {
@ -40,7 +40,7 @@ export const get: RequestHandler = async (event) => {
} }
}; };
} catch (error) { } catch (error) {
return PrismaErrorHandler(error); return ErrorHandler(error);
} }
}; };
@ -64,6 +64,6 @@ export const post: RequestHandler = async (event) => {
}); });
return { status: 201 }; return { status: 201 };
} catch (error) { } catch (error) {
return PrismaErrorHandler(error); return ErrorHandler(error);
} }
}; };

View File

@ -1,6 +1,6 @@
import { getUserDetails } from '$lib/common'; import { getUserDetails } from '$lib/common';
import * as db from '$lib/database'; import * as db from '$lib/database';
import { generateDatabaseConfiguration, PrismaErrorHandler } from '$lib/database'; import { generateDatabaseConfiguration, ErrorHandler } from '$lib/database';
import { startTcpProxy, stopTcpHttpProxy } from '$lib/haproxy'; import { startTcpProxy, stopTcpHttpProxy } from '$lib/haproxy';
import type { RequestHandler } from '@sveltejs/kit'; import type { RequestHandler } from '@sveltejs/kit';
@ -29,6 +29,6 @@ export const post: RequestHandler = async (event) => {
status: 201 status: 201
}; };
} catch (error) { } catch (error) {
return PrismaErrorHandler(error); return ErrorHandler(error);
} }
}; };

View File

@ -1,6 +1,6 @@
import { asyncExecShell, createDirectories, getEngine, getUserDetails } from '$lib/common'; import { asyncExecShell, createDirectories, getEngine, getUserDetails } from '$lib/common';
import * as db from '$lib/database'; import * as db from '$lib/database';
import { generateDatabaseConfiguration, PrismaErrorHandler } from '$lib/database'; import { generateDatabaseConfiguration, ErrorHandler } from '$lib/database';
import { promises as fs } from 'fs'; import { promises as fs } from 'fs';
import yaml from 'js-yaml'; import yaml from 'js-yaml';
import type { RequestHandler } from '@sveltejs/kit'; import type { RequestHandler } from '@sveltejs/kit';
@ -77,6 +77,6 @@ export const post: RequestHandler = async (event) => {
}; };
} }
} catch (error) { } catch (error) {
return PrismaErrorHandler(error); return ErrorHandler(error);
} }
}; };

View File

@ -1,6 +1,6 @@
import { getUserDetails } from '$lib/common'; import { getUserDetails } from '$lib/common';
import * as db from '$lib/database'; import * as db from '$lib/database';
import { PrismaErrorHandler, stopDatabase } from '$lib/database'; import { ErrorHandler, stopDatabase } from '$lib/database';
import { stopTcpHttpProxy } from '$lib/haproxy'; import { stopTcpHttpProxy } from '$lib/haproxy';
import type { RequestHandler } from '@sveltejs/kit'; import type { RequestHandler } from '@sveltejs/kit';
@ -20,6 +20,6 @@ export const post: RequestHandler = async (event) => {
status: 200 status: 200
}; };
} catch (error) { } catch (error) {
return PrismaErrorHandler(error); return ErrorHandler(error);
} }
}; };

View File

@ -1,6 +1,6 @@
import { getUserDetails } from '$lib/common'; import { getUserDetails } from '$lib/common';
import * as db from '$lib/database'; import * as db from '$lib/database';
import { PrismaErrorHandler } from '$lib/database'; import { ErrorHandler } from '$lib/database';
import type { RequestHandler } from '@sveltejs/kit'; import type { RequestHandler } from '@sveltejs/kit';
export const get: RequestHandler = async (event) => { export const get: RequestHandler = async (event) => {
@ -15,6 +15,6 @@ export const get: RequestHandler = async (event) => {
} }
}; };
} catch (error) { } catch (error) {
return PrismaErrorHandler(error); return ErrorHandler(error);
} }
}; };

View File

@ -1,6 +1,6 @@
import { asyncExecShell, getEngine, getTeam, getUserDetails } from '$lib/common'; import { asyncExecShell, getEngine, getTeam, getUserDetails } from '$lib/common';
import * as db from '$lib/database'; import * as db from '$lib/database';
import { PrismaErrorHandler } from '$lib/database'; import { ErrorHandler } from '$lib/database';
import { checkContainer } from '$lib/haproxy'; import { checkContainer } from '$lib/haproxy';
import type { RequestHandler } from '@sveltejs/kit'; import type { RequestHandler } from '@sveltejs/kit';
@ -23,7 +23,7 @@ export const get: RequestHandler = async (event) => {
} }
}; };
} catch (error) { } catch (error) {
return PrismaErrorHandler(error); return ErrorHandler(error);
} }
}; };
export const post: RequestHandler = async (event) => { export const post: RequestHandler = async (event) => {
@ -37,7 +37,7 @@ export const post: RequestHandler = async (event) => {
await db.updateDestination({ id, name, engine, network }); await db.updateDestination({ id, name, engine, network });
return { status: 200 }; return { status: 200 };
} catch (error) { } catch (error) {
return PrismaErrorHandler(error); return ErrorHandler(error);
} }
}; };
@ -51,6 +51,6 @@ export const del: RequestHandler = async (event) => {
await db.removeDestination({ id }); await db.removeDestination({ id });
return { status: 200 }; return { status: 200 };
} catch (error) { } catch (error) {
return PrismaErrorHandler(error); return ErrorHandler(error);
} }
}; };

View File

@ -1,6 +1,6 @@
import { asyncExecShell, getTeam, getUserDetails } from '$lib/common'; import { asyncExecShell, getTeam, getUserDetails } from '$lib/common';
import * as db from '$lib/database'; import * as db from '$lib/database';
import { PrismaErrorHandler } from '$lib/database'; import { ErrorHandler } from '$lib/database';
import { dockerInstance } from '$lib/docker'; import { dockerInstance } from '$lib/docker';
import type { RequestHandler } from '@sveltejs/kit'; import type { RequestHandler } from '@sveltejs/kit';
@ -59,6 +59,6 @@ export const post: RequestHandler = async (event) => {
status: 404 status: 404
}; };
} catch (error) { } catch (error) {
return PrismaErrorHandler(error); return ErrorHandler(error);
} }
}; };

View File

@ -1,6 +1,6 @@
import { getUserDetails } from '$lib/common'; import { getUserDetails } from '$lib/common';
import * as db from '$lib/database'; import * as db from '$lib/database';
import { PrismaErrorHandler } from '$lib/database'; import { ErrorHandler } from '$lib/database';
import type { RequestHandler } from '@sveltejs/kit'; import type { RequestHandler } from '@sveltejs/kit';
export const post: RequestHandler = async (event) => { export const post: RequestHandler = async (event) => {
@ -13,6 +13,6 @@ export const post: RequestHandler = async (event) => {
await db.setDestinationSettings({ engine, isCoolifyProxyUsed }); await db.setDestinationSettings({ engine, isCoolifyProxyUsed });
return { status: 200 }; return { status: 200 };
} catch (error) { } catch (error) {
return PrismaErrorHandler(error); return ErrorHandler(error);
} }
}; };

View File

@ -1,5 +1,5 @@
import { getUserDetails } from '$lib/common'; import { getUserDetails } from '$lib/common';
import { PrismaErrorHandler } from '$lib/database'; import { ErrorHandler } from '$lib/database';
import { startCoolifyProxy, stopCoolifyProxy } from '$lib/haproxy'; import { startCoolifyProxy, stopCoolifyProxy } from '$lib/haproxy';
import type { RequestHandler } from '@sveltejs/kit'; import type { RequestHandler } from '@sveltejs/kit';
@ -15,7 +15,8 @@ export const post: RequestHandler = async (event) => {
status: 200 status: 200
}; };
} catch (error) { } catch (error) {
return ErrorHandler(error);
} finally {
await stopCoolifyProxy(engine); await stopCoolifyProxy(engine);
return PrismaErrorHandler(error);
} }
}; };

View File

@ -1,5 +1,5 @@
import { getUserDetails } from '$lib/common'; import { getUserDetails } from '$lib/common';
import { PrismaErrorHandler } from '$lib/database'; import { ErrorHandler } from '$lib/database';
import { stopCoolifyProxy } from '$lib/haproxy'; import { stopCoolifyProxy } from '$lib/haproxy';
import type { RequestHandler } from '@sveltejs/kit'; import type { RequestHandler } from '@sveltejs/kit';
@ -14,6 +14,6 @@ export const post: RequestHandler = async (event) => {
status: 200 status: 200
}; };
} catch (error) { } catch (error) {
return PrismaErrorHandler(error); return ErrorHandler(error);
} }
}; };

View File

@ -1,6 +1,6 @@
import { getTeam, getUserDetails } from '$lib/common'; import { getTeam, getUserDetails } from '$lib/common';
import * as db from '$lib/database'; import * as db from '$lib/database';
import { PrismaErrorHandler } from '$lib/database'; import { ErrorHandler } from '$lib/database';
import type { RequestHandler } from '@sveltejs/kit'; import type { RequestHandler } from '@sveltejs/kit';
export const get: RequestHandler = async (request) => { export const get: RequestHandler = async (request) => {
@ -14,6 +14,6 @@ export const get: RequestHandler = async (request) => {
} }
}; };
} catch (error) { } catch (error) {
return PrismaErrorHandler(error); return ErrorHandler(error);
} }
}; };

View File

@ -1,6 +1,6 @@
import { getTeam, getUserDetails } from '$lib/common'; import { getTeam, getUserDetails } from '$lib/common';
import * as db from '$lib/database'; import * as db from '$lib/database';
import { PrismaErrorHandler } from '$lib/database'; import { ErrorHandler } from '$lib/database';
import type { RequestHandler } from '@sveltejs/kit'; import type { RequestHandler } from '@sveltejs/kit';
export const get: RequestHandler = async (event) => { export const get: RequestHandler = async (event) => {
@ -25,7 +25,7 @@ export const get: RequestHandler = async (event) => {
} }
}; };
} catch (error) { } catch (error) {
return PrismaErrorHandler(error); return ErrorHandler(error);
} }
}; };

View File

@ -1,6 +1,6 @@
import { getUserDetails } from '$lib/common'; import { getUserDetails } from '$lib/common';
import * as db from '$lib/database'; import * as db from '$lib/database';
import { PrismaErrorHandler } from '$lib/database'; import { ErrorHandler } from '$lib/database';
import type { RequestHandler } from '@sveltejs/kit'; import type { RequestHandler } from '@sveltejs/kit';
export const post: RequestHandler = async (event) => { export const post: RequestHandler = async (event) => {
@ -13,7 +13,7 @@ export const post: RequestHandler = async (event) => {
status: 200 status: 200
}; };
} catch (error) { } catch (error) {
return PrismaErrorHandler(error); return ErrorHandler(error);
} }
}; };
@ -28,6 +28,6 @@ export const get: RequestHandler = async (event) => {
await db.getUser({ userId }); await db.getUser({ userId });
return { status: 200 }; return { status: 200 };
} catch (error) { } catch (error) {
return PrismaErrorHandler(error); return ErrorHandler(error);
} }
}; };

View File

@ -1,6 +1,6 @@
import { getUserDetails } from '$lib/common'; import { getUserDetails } from '$lib/common';
import * as db from '$lib/database'; import * as db from '$lib/database';
import { PrismaErrorHandler } from '$lib/database'; import { ErrorHandler } from '$lib/database';
import type { RequestHandler } from '@sveltejs/kit'; import type { RequestHandler } from '@sveltejs/kit';
export const post: RequestHandler = async (event) => { export const post: RequestHandler = async (event) => {
@ -24,6 +24,6 @@ export const post: RequestHandler = async (event) => {
}); });
return { status: 201, body: { id } }; return { status: 201, body: { id } };
} catch (error) { } catch (error) {
return PrismaErrorHandler(error); return ErrorHandler(error);
} }
}; };

View File

@ -1,6 +1,6 @@
import { getUserDetails, uniqueName } from '$lib/common'; import { getUserDetails, uniqueName } from '$lib/common';
import * as db from '$lib/database'; import * as db from '$lib/database';
import { PrismaErrorHandler } from '$lib/database'; import { ErrorHandler } from '$lib/database';
import type { RequestHandler } from '@sveltejs/kit'; import type { RequestHandler } from '@sveltejs/kit';
export const post: RequestHandler = async (event) => { export const post: RequestHandler = async (event) => {
@ -14,6 +14,6 @@ export const post: RequestHandler = async (event) => {
const { id } = await db.newApplication({ name, teamId }); const { id } = await db.newApplication({ name, teamId });
return { status: 201, body: { id } }; return { status: 201, body: { id } };
} catch (error) { } catch (error) {
return PrismaErrorHandler(error); return ErrorHandler(error);
} }
}; };

View File

@ -1,6 +1,6 @@
import { getUserDetails } from '$lib/common'; import { getUserDetails } from '$lib/common';
import * as db from '$lib/database'; import * as db from '$lib/database';
import { PrismaErrorHandler } from '$lib/database'; import { ErrorHandler } from '$lib/database';
import type { RequestHandler } from '@sveltejs/kit'; import type { RequestHandler } from '@sveltejs/kit';
export const post: RequestHandler = async (event) => { export const post: RequestHandler = async (event) => {
@ -13,6 +13,6 @@ export const post: RequestHandler = async (event) => {
const { id } = await db.newDatabase({ name, teamId }); const { id } = await db.newDatabase({ name, teamId });
return { status: 201, body: { id } }; return { status: 201, body: { id } };
} catch (error) { } catch (error) {
return PrismaErrorHandler(error); return ErrorHandler(error);
} }
}; };

View File

@ -1,5 +1,5 @@
import { getUserDetails } from '$lib/common'; import { getUserDetails } from '$lib/common';
import { isDockerNetworkExists, PrismaErrorHandler } from '$lib/database'; import { isDockerNetworkExists, ErrorHandler } from '$lib/database';
import type { RequestHandler } from '@sveltejs/kit'; import type { RequestHandler } from '@sveltejs/kit';
export const post: RequestHandler = async (event) => { export const post: RequestHandler = async (event) => {
@ -18,6 +18,6 @@ export const post: RequestHandler = async (event) => {
status: 200 status: 200
}; };
} catch (error) { } catch (error) {
return PrismaErrorHandler(error); return ErrorHandler(error);
} }
}; };

View File

@ -1,6 +1,6 @@
import { asyncExecShell, getUserDetails } from '$lib/common'; import { asyncExecShell, getUserDetails } from '$lib/common';
import * as db from '$lib/database'; import * as db from '$lib/database';
import { PrismaErrorHandler } from '$lib/database'; import { ErrorHandler } from '$lib/database';
import { dockerInstance } from '$lib/docker'; import { dockerInstance } from '$lib/docker';
import type { RequestHandler } from '@sveltejs/kit'; import type { RequestHandler } from '@sveltejs/kit';
@ -14,6 +14,6 @@ export const post: RequestHandler = async (event) => {
const id = await db.newDestination({ name, teamId, engine, network, isCoolifyProxyUsed }); const id = await db.newDestination({ name, teamId, engine, network, isCoolifyProxyUsed });
return { status: 200, body: { id } }; return { status: 200, body: { id } };
} catch (error) { } catch (error) {
return PrismaErrorHandler(error); return ErrorHandler(error);
} }
}; };

View File

@ -1,6 +1,6 @@
import { getUserDetails, uniqueName } from '$lib/common'; import { getUserDetails, uniqueName } from '$lib/common';
import * as db from '$lib/database'; import * as db from '$lib/database';
import { PrismaErrorHandler } from '$lib/database'; import { ErrorHandler } from '$lib/database';
import type { RequestHandler } from '@sveltejs/kit'; import type { RequestHandler } from '@sveltejs/kit';
export const post: RequestHandler = async (event) => { export const post: RequestHandler = async (event) => {
@ -13,6 +13,6 @@ export const post: RequestHandler = async (event) => {
const { id } = await db.newService({ name, teamId }); const { id } = await db.newService({ name, teamId });
return { status: 201, body: { id } }; return { status: 201, body: { id } };
} catch (error) { } catch (error) {
return PrismaErrorHandler(error); return ErrorHandler(error);
} }
}; };

View File

@ -1,6 +1,6 @@
import { getUserDetails } from '$lib/common'; import { getUserDetails } from '$lib/common';
import * as db from '$lib/database'; import * as db from '$lib/database';
import { PrismaErrorHandler } from '$lib/database'; import { ErrorHandler } from '$lib/database';
import type { RequestHandler } from '@sveltejs/kit'; import type { RequestHandler } from '@sveltejs/kit';
export const post: RequestHandler = async (event) => { export const post: RequestHandler = async (event) => {
@ -12,6 +12,6 @@ export const post: RequestHandler = async (event) => {
const { id } = await db.newSource({ name, teamId, type, htmlUrl, apiUrl, organization }); const { id } = await db.newSource({ name, teamId, type, htmlUrl, apiUrl, organization });
return { status: 201, body: { id } }; return { status: 201, body: { id } };
} catch (e) { } catch (e) {
return PrismaErrorHandler(e); return ErrorHandler(e);
} }
}; };

View File

@ -1,6 +1,6 @@
import { getUserDetails, uniqueName } from '$lib/common'; import { getUserDetails, uniqueName } from '$lib/common';
import * as db from '$lib/database'; import * as db from '$lib/database';
import { PrismaErrorHandler } from '$lib/database'; import { ErrorHandler } from '$lib/database';
import type { RequestHandler } from '@sveltejs/kit'; import type { RequestHandler } from '@sveltejs/kit';
export const post: RequestHandler = async (event) => { export const post: RequestHandler = async (event) => {
@ -13,6 +13,6 @@ export const post: RequestHandler = async (event) => {
const { id } = await db.newTeam({ name, userId }); const { id } = await db.newTeam({ name, userId });
return { status: 201, body: { id } }; return { status: 201, body: { id } };
} catch (error) { } catch (error) {
return PrismaErrorHandler(error); return ErrorHandler(error);
} }
}; };

View File

@ -1,6 +1,6 @@
import { asyncExecShell, getDomain, getEngine, getUserDetails } from '$lib/common'; import { asyncExecShell, getDomain, getEngine, getUserDetails } from '$lib/common';
import * as db from '$lib/database'; import * as db from '$lib/database';
import { PrismaErrorHandler } from '$lib/database'; import { ErrorHandler } from '$lib/database';
import type { RequestHandler } from '@sveltejs/kit'; import type { RequestHandler } from '@sveltejs/kit';
export const post: RequestHandler = async (event) => { export const post: RequestHandler = async (event) => {
@ -21,6 +21,6 @@ export const post: RequestHandler = async (event) => {
} }
}; };
} catch (error) { } catch (error) {
return PrismaErrorHandler(error); return ErrorHandler(error);
} }
}; };

View File

@ -1,6 +1,6 @@
import { getUserDetails } from '$lib/common'; import { getUserDetails } from '$lib/common';
import * as db from '$lib/database'; import * as db from '$lib/database';
import { PrismaErrorHandler } from '$lib/database'; import { ErrorHandler } from '$lib/database';
import type { RequestHandler } from '@sveltejs/kit'; import type { RequestHandler } from '@sveltejs/kit';
export const post: RequestHandler = async (event) => { export const post: RequestHandler = async (event) => {
@ -14,6 +14,6 @@ export const post: RequestHandler = async (event) => {
await db.configureDestinationForService({ id, destinationId }); await db.configureDestinationForService({ id, destinationId });
return { status: 201 }; return { status: 201 };
} catch (error) { } catch (error) {
return PrismaErrorHandler(error); return ErrorHandler(error);
} }
}; };

View File

@ -1,6 +1,6 @@
import { getUserDetails } from '$lib/common'; import { getUserDetails } from '$lib/common';
import * as db from '$lib/database'; import * as db from '$lib/database';
import { PrismaErrorHandler, supportedServiceTypesAndVersions } from '$lib/database'; import { ErrorHandler, supportedServiceTypesAndVersions } from '$lib/database';
import type { RequestHandler } from '@sveltejs/kit'; import type { RequestHandler } from '@sveltejs/kit';
export const get: RequestHandler = async (event) => { export const get: RequestHandler = async (event) => {
@ -27,6 +27,6 @@ export const post: RequestHandler = async (event) => {
status: 201 status: 201
}; };
} catch (error) { } catch (error) {
return PrismaErrorHandler(error); return ErrorHandler(error);
} }
}; };

View File

@ -1,6 +1,6 @@
import { getUserDetails } from '$lib/common'; import { getUserDetails } from '$lib/common';
import * as db from '$lib/database'; import * as db from '$lib/database';
import { PrismaErrorHandler, supportedServiceTypesAndVersions } from '$lib/database'; import { ErrorHandler, supportedServiceTypesAndVersions } from '$lib/database';
import type { RequestHandler } from '@sveltejs/kit'; import type { RequestHandler } from '@sveltejs/kit';
export const get: RequestHandler = async (event) => { export const get: RequestHandler = async (event) => {
@ -18,7 +18,7 @@ export const get: RequestHandler = async (event) => {
} }
}; };
} catch (error) { } catch (error) {
return PrismaErrorHandler(error); return ErrorHandler(error);
} }
}; };
@ -35,6 +35,6 @@ export const post: RequestHandler = async (event) => {
status: 201 status: 201
}; };
} catch (error) { } catch (error) {
return PrismaErrorHandler(error); return ErrorHandler(error);
} }
}; };

View File

@ -1,6 +1,6 @@
import { getUserDetails } from '$lib/common'; import { getUserDetails } from '$lib/common';
import * as db from '$lib/database'; import * as db from '$lib/database';
import { PrismaErrorHandler } from '$lib/database'; import { ErrorHandler } from '$lib/database';
import type { RequestHandler } from '@sveltejs/kit'; import type { RequestHandler } from '@sveltejs/kit';
export const del: RequestHandler = async (events) => { export const del: RequestHandler = async (events) => {
@ -13,6 +13,6 @@ export const del: RequestHandler = async (events) => {
await db.removeService({ id }); await db.removeService({ id });
return { status: 200 }; return { status: 200 };
} catch (error) { } catch (error) {
return PrismaErrorHandler(error); return ErrorHandler(error);
} }
}; };

View File

@ -4,7 +4,7 @@ import {
generateDatabaseConfiguration, generateDatabaseConfiguration,
getServiceImage, getServiceImage,
getVersions, getVersions,
PrismaErrorHandler ErrorHandler
} from '$lib/database'; } from '$lib/database';
import { dockerInstance } from '$lib/docker'; import { dockerInstance } from '$lib/docker';
import type { RequestHandler } from '@sveltejs/kit'; import type { RequestHandler } from '@sveltejs/kit';
@ -43,6 +43,6 @@ export const get: RequestHandler = async (event) => {
} }
}; };
} catch (error) { } catch (error) {
return PrismaErrorHandler(error); return ErrorHandler(error);
} }
}; };

View File

@ -1,6 +1,6 @@
import { getUserDetails } from '$lib/common'; import { getUserDetails } from '$lib/common';
import * as db from '$lib/database'; import * as db from '$lib/database';
import { PrismaErrorHandler } from '$lib/database'; import { ErrorHandler } from '$lib/database';
import type { RequestHandler } from '@sveltejs/kit'; import type { RequestHandler } from '@sveltejs/kit';
export const post: RequestHandler = async (event) => { export const post: RequestHandler = async (event) => {
@ -16,6 +16,6 @@ export const post: RequestHandler = async (event) => {
await db.updateNocoDbOrMinioService({ id, fqdn, name }); await db.updateNocoDbOrMinioService({ id, fqdn, name });
return { status: 201 }; return { status: 201 };
} catch (error) { } catch (error) {
return PrismaErrorHandler(error); return ErrorHandler(error);
} }
}; };

View File

@ -13,7 +13,7 @@ import {
} from '$lib/haproxy'; } from '$lib/haproxy';
import getPort from 'get-port'; import getPort from 'get-port';
import { getDomain } from '$lib/components/common'; import { getDomain } from '$lib/components/common';
import { PrismaErrorHandler } from '$lib/database'; import { ErrorHandler } from '$lib/database';
export const post: RequestHandler = async (event) => { export const post: RequestHandler = async (event) => {
const { teamId, status, body } = await getUserDetails(event); const { teamId, status, body } = await getUserDetails(event);
@ -100,9 +100,9 @@ export const post: RequestHandler = async (event) => {
}; };
} catch (error) { } catch (error) {
console.log(error); console.log(error);
return PrismaErrorHandler(error); return ErrorHandler(error);
} }
} catch (error) { } catch (error) {
return PrismaErrorHandler(error); return ErrorHandler(error);
} }
}; };

View File

@ -1,7 +1,7 @@
import { getEngine, getUserDetails, removeDestinationDocker } from '$lib/common'; import { getEngine, getUserDetails, removeDestinationDocker } from '$lib/common';
import { getDomain } from '$lib/components/common'; import { getDomain } from '$lib/components/common';
import * as db from '$lib/database'; import * as db from '$lib/database';
import { PrismaErrorHandler } from '$lib/database'; import { ErrorHandler } from '$lib/database';
import { dockerInstance } from '$lib/docker'; import { dockerInstance } from '$lib/docker';
import { checkContainer, configureSimpleServiceProxyOff, stopTcpHttpProxy } from '$lib/haproxy'; import { checkContainer, configureSimpleServiceProxyOff, stopTcpHttpProxy } from '$lib/haproxy';
import type { RequestHandler } from '@sveltejs/kit'; import type { RequestHandler } from '@sveltejs/kit';
@ -41,6 +41,6 @@ export const post: RequestHandler = async (event) => {
status: 200 status: 200
}; };
} catch (error) { } catch (error) {
return PrismaErrorHandler(error); return ErrorHandler(error);
} }
}; };

View File

@ -1,6 +1,6 @@
import { getUserDetails } from '$lib/common'; import { getUserDetails } from '$lib/common';
import * as db from '$lib/database'; import * as db from '$lib/database';
import { PrismaErrorHandler } from '$lib/database'; import { ErrorHandler } from '$lib/database';
import type { RequestHandler } from '@sveltejs/kit'; import type { RequestHandler } from '@sveltejs/kit';
export const post: RequestHandler = async (event) => { export const post: RequestHandler = async (event) => {
@ -15,6 +15,6 @@ export const post: RequestHandler = async (event) => {
await db.updateNocoDbOrMinioService({ id, fqdn, name }); await db.updateNocoDbOrMinioService({ id, fqdn, name });
return { status: 201 }; return { status: 201 };
} catch (error) { } catch (error) {
return PrismaErrorHandler(error); return ErrorHandler(error);
} }
}; };

View File

@ -6,7 +6,7 @@ import type { RequestHandler } from '@sveltejs/kit';
import { letsEncrypt } from '$lib/letsencrypt'; import { letsEncrypt } from '$lib/letsencrypt';
import { configureSimpleServiceProxyOn, reloadHaproxy, setWwwRedirection } from '$lib/haproxy'; import { configureSimpleServiceProxyOn, reloadHaproxy, setWwwRedirection } from '$lib/haproxy';
import { getDomain } from '$lib/components/common'; import { getDomain } from '$lib/components/common';
import { PrismaErrorHandler } from '$lib/database'; import { ErrorHandler } from '$lib/database';
export const post: RequestHandler = async (event) => { export const post: RequestHandler = async (event) => {
const { teamId, status, body } = await getUserDetails(event); const { teamId, status, body } = await getUserDetails(event);
@ -59,9 +59,9 @@ export const post: RequestHandler = async (event) => {
}; };
} catch (error) { } catch (error) {
console.log(error); console.log(error);
return PrismaErrorHandler(error); return ErrorHandler(error);
} }
} catch (error) { } catch (error) {
return PrismaErrorHandler(error); return ErrorHandler(error);
} }
}; };

View File

@ -1,7 +1,7 @@
import { getUserDetails, removeDestinationDocker } from '$lib/common'; import { getUserDetails, removeDestinationDocker } from '$lib/common';
import { getDomain } from '$lib/components/common'; import { getDomain } from '$lib/components/common';
import * as db from '$lib/database'; import * as db from '$lib/database';
import { PrismaErrorHandler } from '$lib/database'; import { ErrorHandler } from '$lib/database';
import { dockerInstance } from '$lib/docker'; import { dockerInstance } from '$lib/docker';
import { checkContainer, configureSimpleServiceProxyOff } from '$lib/haproxy'; import { checkContainer, configureSimpleServiceProxyOff } from '$lib/haproxy';
import type { RequestHandler } from '@sveltejs/kit'; import type { RequestHandler } from '@sveltejs/kit';
@ -34,6 +34,6 @@ export const post: RequestHandler = async (event) => {
status: 200 status: 200
}; };
} catch (error) { } catch (error) {
return PrismaErrorHandler(error); return ErrorHandler(error);
} }
}; };

View File

@ -1,6 +1,6 @@
import { getUserDetails } from '$lib/common'; import { getUserDetails } from '$lib/common';
import * as db from '$lib/database'; import * as db from '$lib/database';
import { PrismaErrorHandler } from '$lib/database'; import { ErrorHandler } from '$lib/database';
import { dockerInstance } from '$lib/docker'; import { dockerInstance } from '$lib/docker';
import type { RequestHandler } from '@sveltejs/kit'; import type { RequestHandler } from '@sveltejs/kit';
@ -28,6 +28,6 @@ export const post: RequestHandler = async (event) => {
} }
return { status: 201 }; return { status: 201 };
} catch (error) { } catch (error) {
return PrismaErrorHandler(error); return ErrorHandler(error);
} }
}; };

View File

@ -1,6 +1,6 @@
import { getUserDetails } from '$lib/common'; import { getUserDetails } from '$lib/common';
import * as db from '$lib/database'; import * as db from '$lib/database';
import { PrismaErrorHandler } from '$lib/database'; import { ErrorHandler } from '$lib/database';
import type { RequestHandler } from '@sveltejs/kit'; import type { RequestHandler } from '@sveltejs/kit';
export const post: RequestHandler = async (event) => { export const post: RequestHandler = async (event) => {
@ -21,6 +21,6 @@ export const post: RequestHandler = async (event) => {
await db.updatePlausibleAnalyticsService({ id, fqdn, name, email, username }); await db.updatePlausibleAnalyticsService({ id, fqdn, name, email, username });
return { status: 201 }; return { status: 201 };
} catch (error) { } catch (error) {
return PrismaErrorHandler(error); return ErrorHandler(error);
} }
}; };

View File

@ -6,7 +6,7 @@ import type { RequestHandler } from '@sveltejs/kit';
import { letsEncrypt } from '$lib/letsencrypt'; import { letsEncrypt } from '$lib/letsencrypt';
import { configureSimpleServiceProxyOn, reloadHaproxy, setWwwRedirection } from '$lib/haproxy'; import { configureSimpleServiceProxyOn, reloadHaproxy, setWwwRedirection } from '$lib/haproxy';
import { getDomain } from '$lib/components/common'; import { getDomain } from '$lib/components/common';
import { PrismaErrorHandler } from '$lib/database'; import { ErrorHandler } from '$lib/database';
export const post: RequestHandler = async (event) => { export const post: RequestHandler = async (event) => {
const { teamId, status, body } = await getUserDetails(event); const { teamId, status, body } = await getUserDetails(event);
@ -191,6 +191,6 @@ COPY ./init-db.sh /docker-entrypoint-initdb.d/init-db.sh`;
status: 200 status: 200
}; };
} catch (error) { } catch (error) {
return PrismaErrorHandler(error); return ErrorHandler(error);
} }
}; };

View File

@ -1,7 +1,7 @@
import { getUserDetails, removeDestinationDocker } from '$lib/common'; import { getUserDetails, removeDestinationDocker } from '$lib/common';
import { getDomain } from '$lib/components/common'; import { getDomain } from '$lib/components/common';
import * as db from '$lib/database'; import * as db from '$lib/database';
import { PrismaErrorHandler } from '$lib/database'; import { ErrorHandler } from '$lib/database';
import { dockerInstance } from '$lib/docker'; import { dockerInstance } from '$lib/docker';
import { checkContainer, configureSimpleServiceProxyOff } from '$lib/haproxy'; import { checkContainer, configureSimpleServiceProxyOff } from '$lib/haproxy';
import type { RequestHandler } from '@sveltejs/kit'; import type { RequestHandler } from '@sveltejs/kit';
@ -44,6 +44,6 @@ export const post: RequestHandler = async (event) => {
status: 200 status: 200
}; };
} catch (error) { } catch (error) {
return PrismaErrorHandler(error); return ErrorHandler(error);
} }
}; };

View File

@ -1,6 +1,6 @@
import { getUserDetails } from '$lib/common'; import { getUserDetails } from '$lib/common';
import * as db from '$lib/database'; import * as db from '$lib/database';
import { PrismaErrorHandler } from '$lib/database'; import { ErrorHandler } from '$lib/database';
import type { RequestHandler } from '@sveltejs/kit'; import type { RequestHandler } from '@sveltejs/kit';
export const post: RequestHandler = async (event) => { export const post: RequestHandler = async (event) => {
@ -15,6 +15,6 @@ export const post: RequestHandler = async (event) => {
await db.updateVaultWardenService({ id, fqdn, name }); await db.updateVaultWardenService({ id, fqdn, name });
return { status: 201 }; return { status: 201 };
} catch (error) { } catch (error) {
return PrismaErrorHandler(error); return ErrorHandler(error);
} }
}; };

View File

@ -6,7 +6,7 @@ import type { RequestHandler } from '@sveltejs/kit';
import { letsEncrypt } from '$lib/letsencrypt'; import { letsEncrypt } from '$lib/letsencrypt';
import { configureSimpleServiceProxyOn, reloadHaproxy, setWwwRedirection } from '$lib/haproxy'; import { configureSimpleServiceProxyOn, reloadHaproxy, setWwwRedirection } from '$lib/haproxy';
import { getDomain } from '$lib/components/common'; import { getDomain } from '$lib/components/common';
import { getServiceImage, PrismaErrorHandler } from '$lib/database'; import { getServiceImage, ErrorHandler } from '$lib/database';
export const post: RequestHandler = async (event) => { export const post: RequestHandler = async (event) => {
const { teamId, status, body } = await getUserDetails(event); const { teamId, status, body } = await getUserDetails(event);
@ -76,9 +76,9 @@ export const post: RequestHandler = async (event) => {
status: 200 status: 200
}; };
} catch (error) { } catch (error) {
return PrismaErrorHandler(error); return ErrorHandler(error);
} }
} catch (error) { } catch (error) {
return PrismaErrorHandler(error); return ErrorHandler(error);
} }
}; };

View File

@ -1,7 +1,7 @@
import { getUserDetails, removeDestinationDocker } from '$lib/common'; import { getUserDetails, removeDestinationDocker } from '$lib/common';
import { getDomain } from '$lib/components/common'; import { getDomain } from '$lib/components/common';
import * as db from '$lib/database'; import * as db from '$lib/database';
import { PrismaErrorHandler } from '$lib/database'; import { ErrorHandler } from '$lib/database';
import { dockerInstance } from '$lib/docker'; import { dockerInstance } from '$lib/docker';
import { checkContainer, configureSimpleServiceProxyOff } from '$lib/haproxy'; import { checkContainer, configureSimpleServiceProxyOff } from '$lib/haproxy';
import type { RequestHandler } from '@sveltejs/kit'; import type { RequestHandler } from '@sveltejs/kit';
@ -34,6 +34,6 @@ export const post: RequestHandler = async (event) => {
status: 200 status: 200
}; };
} catch (error) { } catch (error) {
return PrismaErrorHandler(error); return ErrorHandler(error);
} }
}; };

View File

@ -1,6 +1,6 @@
import { getUserDetails } from '$lib/common'; import { getUserDetails } from '$lib/common';
import * as db from '$lib/database'; import * as db from '$lib/database';
import { PrismaErrorHandler } from '$lib/database'; import { ErrorHandler } from '$lib/database';
import type { RequestHandler } from '@sveltejs/kit'; import type { RequestHandler } from '@sveltejs/kit';
export const post: RequestHandler = async (event) => { export const post: RequestHandler = async (event) => {
@ -16,6 +16,6 @@ export const post: RequestHandler = async (event) => {
await db.updateVsCodeServer({ id, fqdn, name }); await db.updateVsCodeServer({ id, fqdn, name });
return { status: 201 }; return { status: 201 };
} catch (error) { } catch (error) {
return PrismaErrorHandler(error); return ErrorHandler(error);
} }
}; };

View File

@ -6,7 +6,7 @@ import type { RequestHandler } from '@sveltejs/kit';
import { letsEncrypt } from '$lib/letsencrypt'; import { letsEncrypt } from '$lib/letsencrypt';
import { configureSimpleServiceProxyOn, reloadHaproxy, setWwwRedirection } from '$lib/haproxy'; import { configureSimpleServiceProxyOn, reloadHaproxy, setWwwRedirection } from '$lib/haproxy';
import { getDomain } from '$lib/components/common'; import { getDomain } from '$lib/components/common';
import { PrismaErrorHandler } from '$lib/database'; import { ErrorHandler } from '$lib/database';
export const post: RequestHandler = async (event) => { export const post: RequestHandler = async (event) => {
const { teamId, status, body } = await getUserDetails(event); const { teamId, status, body } = await getUserDetails(event);
@ -86,9 +86,9 @@ export const post: RequestHandler = async (event) => {
status: 200 status: 200
}; };
} catch (error) { } catch (error) {
return PrismaErrorHandler(error); return ErrorHandler(error);
} }
} catch (error) { } catch (error) {
return PrismaErrorHandler(error); return ErrorHandler(error);
} }
}; };

View File

@ -1,7 +1,7 @@
import { getUserDetails, removeDestinationDocker } from '$lib/common'; import { getUserDetails, removeDestinationDocker } from '$lib/common';
import { getDomain } from '$lib/components/common'; import { getDomain } from '$lib/components/common';
import * as db from '$lib/database'; import * as db from '$lib/database';
import { PrismaErrorHandler } from '$lib/database'; import { ErrorHandler } from '$lib/database';
import { dockerInstance } from '$lib/docker'; import { dockerInstance } from '$lib/docker';
import { checkContainer, configureSimpleServiceProxyOff } from '$lib/haproxy'; import { checkContainer, configureSimpleServiceProxyOff } from '$lib/haproxy';
import type { RequestHandler } from '@sveltejs/kit'; import type { RequestHandler } from '@sveltejs/kit';
@ -33,6 +33,6 @@ export const post: RequestHandler = async (event) => {
status: 200 status: 200
}; };
} catch (error) { } catch (error) {
return PrismaErrorHandler(error); return ErrorHandler(error);
} }
}; };

View File

@ -1,6 +1,6 @@
import { getUserDetails } from '$lib/common'; import { getUserDetails } from '$lib/common';
import * as db from '$lib/database'; import * as db from '$lib/database';
import { PrismaErrorHandler } from '$lib/database'; import { ErrorHandler } from '$lib/database';
import type { RequestHandler } from '@sveltejs/kit'; import type { RequestHandler } from '@sveltejs/kit';
export const post: RequestHandler = async (event) => { export const post: RequestHandler = async (event) => {
@ -19,6 +19,6 @@ export const post: RequestHandler = async (event) => {
await db.updateWordpress({ id, fqdn, name, extraConfig, mysqlDatabase }); await db.updateWordpress({ id, fqdn, name, extraConfig, mysqlDatabase });
return { status: 201 }; return { status: 201 };
} catch (error) { } catch (error) {
return PrismaErrorHandler(error); return ErrorHandler(error);
} }
}; };

View File

@ -6,7 +6,7 @@ import type { RequestHandler } from '@sveltejs/kit';
import { letsEncrypt } from '$lib/letsencrypt'; import { letsEncrypt } from '$lib/letsencrypt';
import { configureSimpleServiceProxyOn, reloadHaproxy, setWwwRedirection } from '$lib/haproxy'; import { configureSimpleServiceProxyOn, reloadHaproxy, setWwwRedirection } from '$lib/haproxy';
import { getDomain } from '$lib/components/common'; import { getDomain } from '$lib/components/common';
import { PrismaErrorHandler } from '$lib/database'; import { ErrorHandler } from '$lib/database';
export const post: RequestHandler = async (event) => { export const post: RequestHandler = async (event) => {
const { teamId, status, body } = await getUserDetails(event); const { teamId, status, body } = await getUserDetails(event);
@ -124,9 +124,9 @@ export const post: RequestHandler = async (event) => {
}; };
} catch (error) { } catch (error) {
console.log(error); console.log(error);
return PrismaErrorHandler(error); return ErrorHandler(error);
} }
} catch (error) { } catch (error) {
return PrismaErrorHandler(error); return ErrorHandler(error);
} }
}; };

View File

@ -1,7 +1,7 @@
import { getUserDetails, removeDestinationDocker } from '$lib/common'; import { getUserDetails, removeDestinationDocker } from '$lib/common';
import { getDomain } from '$lib/components/common'; import { getDomain } from '$lib/components/common';
import * as db from '$lib/database'; import * as db from '$lib/database';
import { PrismaErrorHandler } from '$lib/database'; import { ErrorHandler } from '$lib/database';
import { dockerInstance } from '$lib/docker'; import { dockerInstance } from '$lib/docker';
import { checkContainer, configureSimpleServiceProxyOff } from '$lib/haproxy'; import { checkContainer, configureSimpleServiceProxyOff } from '$lib/haproxy';
import type { RequestHandler } from '@sveltejs/kit'; import type { RequestHandler } from '@sveltejs/kit';
@ -37,6 +37,6 @@ export const post: RequestHandler = async (event) => {
status: 200 status: 200
}; };
} catch (error) { } catch (error) {
return PrismaErrorHandler(error); return ErrorHandler(error);
} }
}; };

View File

@ -1,6 +1,6 @@
import { getUserDetails } from '$lib/common'; import { getUserDetails } from '$lib/common';
import * as db from '$lib/database'; import * as db from '$lib/database';
import { PrismaErrorHandler } from '$lib/database'; import { ErrorHandler } from '$lib/database';
import type { RequestHandler } from '@sveltejs/kit'; import type { RequestHandler } from '@sveltejs/kit';
export const get: RequestHandler = async (event) => { export const get: RequestHandler = async (event) => {
@ -15,6 +15,6 @@ export const get: RequestHandler = async (event) => {
} }
}; };
} catch (error) { } catch (error) {
return PrismaErrorHandler(error); return ErrorHandler(error);
} }
}; };

View File

@ -1,6 +1,6 @@
import { asyncExecShell, getEngine, getUserDetails } from '$lib/common'; import { asyncExecShell, getEngine, getUserDetails } from '$lib/common';
import * as db from '$lib/database'; import * as db from '$lib/database';
import { PrismaErrorHandler } from '$lib/database'; import { ErrorHandler } from '$lib/database';
import type { RequestHandler } from '@sveltejs/kit'; import type { RequestHandler } from '@sveltejs/kit';
export const post: RequestHandler = async (event) => { export const post: RequestHandler = async (event) => {
@ -20,6 +20,6 @@ export const post: RequestHandler = async (event) => {
} }
}; };
} catch (error) { } catch (error) {
return PrismaErrorHandler(error); return ErrorHandler(error);
} }
}; };

View File

@ -1,7 +1,7 @@
import { dev } from '$app/env'; import { dev } from '$app/env';
import { getDomain, getUserDetails } from '$lib/common'; import { getDomain, getUserDetails } from '$lib/common';
import * as db from '$lib/database'; import * as db from '$lib/database';
import { listSettings, PrismaErrorHandler } from '$lib/database'; import { listSettings, ErrorHandler } from '$lib/database';
import { import {
checkContainer, checkContainer,
configureCoolifyProxyOff, configureCoolifyProxyOff,
@ -29,7 +29,7 @@ export const get: RequestHandler = async (event) => {
} }
}; };
} catch (error) { } catch (error) {
return PrismaErrorHandler(error); return ErrorHandler(error);
} }
}; };
@ -55,7 +55,7 @@ export const del: RequestHandler = async (event) => {
status: 201 status: 201
}; };
} catch (error) { } catch (error) {
return PrismaErrorHandler(error); return ErrorHandler(error);
} }
}; };
export const post: RequestHandler = async (event) => { export const post: RequestHandler = async (event) => {
@ -112,6 +112,6 @@ export const post: RequestHandler = async (event) => {
status: 201 status: 201
}; };
} catch (error) { } catch (error) {
return PrismaErrorHandler(error); return ErrorHandler(error);
} }
}; };

View File

@ -1,6 +1,6 @@
import { getUserDetails } from '$lib/common'; import { getUserDetails } from '$lib/common';
import * as db from '$lib/database'; import * as db from '$lib/database';
import { PrismaErrorHandler } from '$lib/database'; import { ErrorHandler } from '$lib/database';
import type { RequestHandler } from '@sveltejs/kit'; import type { RequestHandler } from '@sveltejs/kit';
export const post: RequestHandler = async (event) => { export const post: RequestHandler = async (event) => {
@ -16,6 +16,6 @@ export const post: RequestHandler = async (event) => {
} }
return { status: 200 }; return { status: 200 };
} catch (error) { } catch (error) {
return PrismaErrorHandler(error); return ErrorHandler(error);
} }
}; };

View File

@ -1,6 +1,6 @@
import { getUserDetails } from '$lib/common'; import { getUserDetails } from '$lib/common';
import * as db from '$lib/database'; import * as db from '$lib/database';
import { PrismaErrorHandler } from '$lib/database'; import { ErrorHandler } from '$lib/database';
import type { RequestHandler } from '@sveltejs/kit'; import type { RequestHandler } from '@sveltejs/kit';
export const post: RequestHandler = async (event) => { export const post: RequestHandler = async (event) => {
@ -16,6 +16,6 @@ export const post: RequestHandler = async (event) => {
await db.addSource({ id, teamId, oauthId, groupName, appId, appSecret }); await db.addSource({ id, teamId, oauthId, groupName, appId, appSecret });
return { status: 201 }; return { status: 201 };
} catch (error) { } catch (error) {
return PrismaErrorHandler(error); return ErrorHandler(error);
} }
}; };

View File

@ -1,6 +1,6 @@
import { getTeam, getUserDetails } from '$lib/common'; import { getTeam, getUserDetails } from '$lib/common';
import * as db from '$lib/database'; import * as db from '$lib/database';
import { PrismaErrorHandler } from '$lib/database'; import { ErrorHandler } from '$lib/database';
import type { RequestHandler } from '@sveltejs/kit'; import type { RequestHandler } from '@sveltejs/kit';
export const get: RequestHandler = async (request) => { export const get: RequestHandler = async (request) => {
@ -19,7 +19,7 @@ export const get: RequestHandler = async (request) => {
} }
}; };
} catch (error) { } catch (error) {
return PrismaErrorHandler(error); return ErrorHandler(error);
} }
}; };
@ -33,7 +33,7 @@ export const del: RequestHandler = async (request) => {
await db.removeSource({ id }); await db.removeSource({ id });
return { status: 200 }; return { status: 200 };
} catch (error) { } catch (error) {
return PrismaErrorHandler(error); return ErrorHandler(error);
} }
}; };
@ -49,6 +49,6 @@ export const post: RequestHandler = async (event) => {
await db.updateGitsource({ id, name }); await db.updateGitsource({ id, name });
return { status: 201 }; return { status: 201 };
} catch (error) { } catch (error) {
return PrismaErrorHandler(error); return ErrorHandler(error);
} }
}; };

View File

@ -1,6 +1,6 @@
import { getTeam, getUserDetails } from '$lib/common'; import { getTeam, getUserDetails } from '$lib/common';
import * as db from '$lib/database'; import * as db from '$lib/database';
import { PrismaErrorHandler } from '$lib/database'; import { ErrorHandler } from '$lib/database';
import type { RequestHandler } from '@sveltejs/kit'; import type { RequestHandler } from '@sveltejs/kit';
export const get: RequestHandler = async (request) => { export const get: RequestHandler = async (request) => {
@ -11,6 +11,6 @@ export const get: RequestHandler = async (request) => {
const sources = await db.listSources(teamId); const sources = await db.listSources(teamId);
return { status: 200, body: { sources } }; return { status: 200, body: { sources } };
} catch (err) { } catch (err) {
return PrismaErrorHandler(err); return ErrorHandler(err);
} }
}; };

View File

@ -1,6 +1,6 @@
import { getUserDetails } from '$lib/common'; import { getUserDetails } from '$lib/common';
import * as db from '$lib/database'; import * as db from '$lib/database';
import { PrismaErrorHandler } from '$lib/database'; import { ErrorHandler } from '$lib/database';
import type { RequestHandler } from '@sveltejs/kit'; import type { RequestHandler } from '@sveltejs/kit';
export const get: RequestHandler = async (event) => { export const get: RequestHandler = async (event) => {
@ -33,7 +33,7 @@ export const get: RequestHandler = async (event) => {
} }
}; };
} catch (error) { } catch (error) {
return PrismaErrorHandler(error); return ErrorHandler(error);
} }
}; };
@ -50,6 +50,6 @@ export const post: RequestHandler = async (event) => {
status: 201 status: 201
}; };
} catch (error) { } catch (error) {
return PrismaErrorHandler(error); return ErrorHandler(error);
} }
}; };

View File

@ -1,6 +1,6 @@
import { getUserDetails } from '$lib/common'; import { getUserDetails } from '$lib/common';
import * as db from '$lib/database'; import * as db from '$lib/database';
import { PrismaErrorHandler } from '$lib/database'; import { ErrorHandler } from '$lib/database';
import { dayjs } from '$lib/dayjs'; import { dayjs } from '$lib/dayjs';
import type { RequestHandler } from '@sveltejs/kit'; import type { RequestHandler } from '@sveltejs/kit';
@ -31,6 +31,6 @@ export const post: RequestHandler = async (event) => {
status: 200 status: 200
}; };
} catch (error) { } catch (error) {
return PrismaErrorHandler(error); return ErrorHandler(error);
} }
}; };

View File

@ -1,6 +1,6 @@
import { getUserDetails } from '$lib/common'; import { getUserDetails } from '$lib/common';
import * as db from '$lib/database'; import * as db from '$lib/database';
import { PrismaErrorHandler } from '$lib/database'; import { ErrorHandler } from '$lib/database';
import { dayjs } from '$lib/dayjs'; import { dayjs } from '$lib/dayjs';
import type { RequestHandler } from '@sveltejs/kit'; import type { RequestHandler } from '@sveltejs/kit';
@ -64,6 +64,6 @@ export const post: RequestHandler = async (event) => {
}; };
} }
} catch (error) { } catch (error) {
return PrismaErrorHandler(error); return ErrorHandler(error);
} }
}; };

View File

@ -1,6 +1,6 @@
import { getUserDetails } from '$lib/common'; import { getUserDetails } from '$lib/common';
import * as db from '$lib/database'; import * as db from '$lib/database';
import { PrismaErrorHandler } from '$lib/database'; import { ErrorHandler } from '$lib/database';
import { dayjs } from '$lib/dayjs'; import { dayjs } from '$lib/dayjs';
import type { RequestHandler } from '@sveltejs/kit'; import type { RequestHandler } from '@sveltejs/kit';
@ -15,6 +15,6 @@ export const post: RequestHandler = async (event) => {
status: 200 status: 200
}; };
} catch (error) { } catch (error) {
return PrismaErrorHandler(error); return ErrorHandler(error);
} }
}; };

View File

@ -1,6 +1,6 @@
import { getUserDetails } from '$lib/common'; import { getUserDetails } from '$lib/common';
import * as db from '$lib/database'; import * as db from '$lib/database';
import { PrismaErrorHandler } from '$lib/database'; import { ErrorHandler } from '$lib/database';
import type { RequestHandler } from '@sveltejs/kit'; import type { RequestHandler } from '@sveltejs/kit';
export const post: RequestHandler = async (event) => { export const post: RequestHandler = async (event) => {
@ -18,6 +18,6 @@ export const post: RequestHandler = async (event) => {
status: 201 status: 201
}; };
} catch (error) { } catch (error) {
return PrismaErrorHandler(error); return ErrorHandler(error);
} }
}; };

View File

@ -1,6 +1,6 @@
import { getUserDetails } from '$lib/common'; import { getUserDetails } from '$lib/common';
import * as db from '$lib/database'; import * as db from '$lib/database';
import { PrismaErrorHandler } from '$lib/database'; import { ErrorHandler } from '$lib/database';
import type { RequestHandler } from '@sveltejs/kit'; import type { RequestHandler } from '@sveltejs/kit';
export const post: RequestHandler = async (event) => { export const post: RequestHandler = async (event) => {
@ -19,6 +19,6 @@ export const post: RequestHandler = async (event) => {
status: 201 status: 201
}; };
} catch (error) { } catch (error) {
return PrismaErrorHandler(error); return ErrorHandler(error);
} }
}; };

View File

@ -1,6 +1,6 @@
import { getUserDetails } from '$lib/common'; import { getUserDetails } from '$lib/common';
import * as db from '$lib/database'; import * as db from '$lib/database';
import { PrismaErrorHandler } from '$lib/database'; import { ErrorHandler } from '$lib/database';
import type { RequestHandler } from '@sveltejs/kit'; import type { RequestHandler } from '@sveltejs/kit';
export const get: RequestHandler = async (event) => { export const get: RequestHandler = async (event) => {
@ -21,6 +21,6 @@ export const get: RequestHandler = async (event) => {
} }
}; };
} catch (error) { } catch (error) {
return PrismaErrorHandler(error); return ErrorHandler(error);
} }
}; };

View File

@ -1,7 +1,7 @@
import { dev } from '$app/env'; import { dev } from '$app/env';
import { asyncExecShell, version } from '$lib/common'; import { asyncExecShell, version } from '$lib/common';
import { asyncSleep } from '$lib/components/common'; import { asyncSleep } from '$lib/components/common';
import { PrismaErrorHandler } from '$lib/database'; import { ErrorHandler } from '$lib/database';
import type { RequestHandler } from '@sveltejs/kit'; import type { RequestHandler } from '@sveltejs/kit';
import compare from 'compare-versions'; import compare from 'compare-versions';
import got from 'got'; import got from 'got';
@ -21,7 +21,7 @@ export const get: RequestHandler = async () => {
} }
}; };
} catch (error) { } catch (error) {
return PrismaErrorHandler(error); return ErrorHandler(error);
} }
}; };
@ -44,7 +44,7 @@ export const post: RequestHandler = async (event) => {
}; };
} }
} catch (error) { } catch (error) {
return PrismaErrorHandler(error); return ErrorHandler(error);
} }
} else if (type === 'update') { } else if (type === 'update') {
try { try {
@ -66,7 +66,7 @@ export const post: RequestHandler = async (event) => {
}; };
} }
} catch (error) { } catch (error) {
return PrismaErrorHandler(error); return ErrorHandler(error);
} }
} }
return { return {

View File

@ -1,7 +1,7 @@
import { dev } from '$app/env'; import { dev } from '$app/env';
import { getTeam } from '$lib/common'; import { getTeam } from '$lib/common';
import * as db from '$lib/database'; import * as db from '$lib/database';
import { PrismaErrorHandler } from '$lib/database'; import { ErrorHandler } from '$lib/database';
import type { RequestHandler } from '@sveltejs/kit'; import type { RequestHandler } from '@sveltejs/kit';
export const options = async () => { export const options = async () => {
@ -36,6 +36,6 @@ export const get: RequestHandler = async (request) => {
headers: { Location: `/webhooks/success` } headers: { Location: `/webhooks/success` }
}; };
} catch (error) { } catch (error) {
return PrismaErrorHandler(error); return ErrorHandler(error);
} }
}; };

View File

@ -1,5 +1,5 @@
import * as db from '$lib/database'; import * as db from '$lib/database';
import { PrismaErrorHandler } from '$lib/database'; import { ErrorHandler } from '$lib/database';
import type { RequestHandler } from '@sveltejs/kit'; import type { RequestHandler } from '@sveltejs/kit';
export const options = async () => { export const options = async () => {
@ -24,6 +24,6 @@ export const get: RequestHandler = async (request) => {
headers: { Location: `/webhooks/success` } headers: { Location: `/webhooks/success` }
}; };
} catch (error) { } catch (error) {
return PrismaErrorHandler(error); return ErrorHandler(error);
} }
}; };