- Rename error handler.

- Truncate errors.
- Better error tags, release version etc.
This commit is contained in:
Andras Bacsai
2022-02-14 09:28:37 +01:00
parent 70d3448110
commit b4a418dded
95 changed files with 260 additions and 226 deletions

View File

@@ -113,6 +113,13 @@ export async function getApplicationWebhook({ projectId, branch }) {
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 }) {
let body = await prisma.application.findFirst({
where: { id, teams: { some: { id: teamId } } },

View File

@@ -36,23 +36,34 @@ if (dev) {
}
export const prisma = new PrismaClient(prismaOptions);
export function PrismaErrorHandler(e) {
export function ErrorHandler(e) {
if (e! instanceof Error) {
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('-');
}
sentry.captureException(truncatedError);
const payload = {
status: e.status || 500,
status: truncatedError.status || 500,
body: {
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;
}
if (e instanceof P.PrismaClientKnownRequestError) {
if (e.code === 'P2002') {
if (truncatedError instanceof P.PrismaClientKnownRequestError) {
if (truncatedError.code === 'P2002') {
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 cuid from 'cuid';
import { generatePassword } from '.';
import { prisma, PrismaErrorHandler } from './common';
import { prisma, ErrorHandler } from './common';
import getPort from 'get-port';
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 }) {
try {
@@ -8,6 +8,6 @@ export async function listLogs({ buildId, last = 0 }) {
});
return [...body];
} catch (error) {
return PrismaErrorHandler(error);
return ErrorHandler(error);
}
}