Files
coolify/src/routes/databases/[id]/delete.json.ts
T
Andras Bacsai 460ae85226 V2 (#111)
Just v2
2022-02-10 15:47:44 +01:00

23 lines
768 B
TypeScript

import { getUserDetails } from '$lib/common';
import * as db from '$lib/database';
import { PrismaErrorHandler, stopDatabase } from '$lib/database';
import { deleteProxy } from '$lib/haproxy';
import type { RequestHandler } from '@sveltejs/kit';
export const del: RequestHandler = async (event) => {
const { teamId, status, body } = await getUserDetails(event);
if (status === 401) return { status, body };
const { id } = event.params;
try {
const database = await db.getDatabase({ id, teamId });
if (database.destinationDockerId) {
const everStarted = await stopDatabase(database);
if (everStarted) await deleteProxy({ id });
}
await db.removeDatabase({ id });
return { status: 200 };
} catch (error) {
return PrismaErrorHandler(error);
}
};