Files
coolify/src/routes/destinations/[id]/scan.json.ts
Andras Bacsai b4a418dded - Rename error handler.
- Truncate errors.
- Better error tags, release version etc.
2022-02-14 09:28:37 +01:00

65 lines
1.9 KiB
TypeScript

import { asyncExecShell, getTeam, getUserDetails } from '$lib/common';
import * as db from '$lib/database';
import { ErrorHandler } from '$lib/database';
import { dockerInstance } from '$lib/docker';
import type { RequestHandler } from '@sveltejs/kit';
export const get: RequestHandler = async (request) => {
const { teamId, status, body } = await getUserDetails(request);
if (status === 401) return { status, body };
const { id } = request.params;
const destinationDocker = await db.getDestination({ id, teamId });
const docker = dockerInstance({ destinationDocker });
const listContainers = await docker.engine.listContainers({
filters: { network: [destinationDocker.network] }
});
const containers = listContainers.filter((container) => {
return container.Labels['coolify.configuration'];
});
const jsonContainers = containers
.map((container) =>
JSON.parse(Buffer.from(container.Labels['coolify.configuration'], 'base64').toString())
)
.filter((container) => container.type === 'manual');
return {
body: {
containers: jsonContainers
}
};
};
export const post: RequestHandler = async (event) => {
const { teamId, status, body } = await getUserDetails(event);
if (status === 401) return { status, body };
let { fqdn, projectId, repository, branch } = await event.request.json();
if (fqdn) fqdn = fqdn.toLowerCase();
if (projectId) projectId = Number(projectId);
try {
const foundByDomain = await db.prisma.application.findFirst({ where: { fqdn } });
const foundByRepository = await db.prisma.application.findFirst({
where: { repository, branch, projectId }
});
if (foundByDomain) {
return {
status: 200,
body: { by: 'domain', name: foundByDomain.name }
};
}
if (foundByRepository) {
return {
status: 200,
body: { by: 'repository', name: foundByRepository.name }
};
}
return {
status: 404
};
} catch (error) {
return ErrorHandler(error);
}
};