mirror of
https://github.com/ershisan99/coolify.git
synced 2026-01-28 12:34:36 +00:00
69
src/routes/services/[id]/index.json.ts
Normal file
69
src/routes/services/[id]/index.json.ts
Normal file
@@ -0,0 +1,69 @@
|
||||
import { asyncExecShell, getEngine, getUserDetails } from '$lib/common';
|
||||
import * as db from '$lib/database';
|
||||
import {
|
||||
generateDatabaseConfiguration,
|
||||
getServiceImage,
|
||||
getVersions,
|
||||
PrismaErrorHandler
|
||||
} from '$lib/database';
|
||||
import { dockerInstance } from '$lib/docker';
|
||||
import type { RequestHandler } from '@sveltejs/kit';
|
||||
|
||||
export const get: RequestHandler = async (event) => {
|
||||
const { teamId, status, body } = await getUserDetails(event);
|
||||
if (status === 401) return { status, body };
|
||||
|
||||
const { id } = event.params;
|
||||
try {
|
||||
const service = await db.getService({ id, teamId });
|
||||
const { destinationDockerId, destinationDocker, type, version } = service;
|
||||
|
||||
let isRunning = false;
|
||||
if (destinationDockerId) {
|
||||
const host = getEngine(destinationDocker.engine);
|
||||
const docker = dockerInstance({ destinationDocker });
|
||||
const baseImage = getServiceImage(type);
|
||||
docker.engine.pull(`${baseImage}:${version}`);
|
||||
try {
|
||||
const { stdout } = await asyncExecShell(
|
||||
`DOCKER_HOST=${host} docker inspect --format '{{json .State}}' ${id}`
|
||||
);
|
||||
|
||||
if (JSON.parse(stdout).Running) {
|
||||
isRunning = true;
|
||||
}
|
||||
} catch (error) {
|
||||
//
|
||||
}
|
||||
}
|
||||
return {
|
||||
body: {
|
||||
isRunning,
|
||||
service
|
||||
}
|
||||
};
|
||||
} catch (error) {
|
||||
return PrismaErrorHandler(error);
|
||||
}
|
||||
};
|
||||
|
||||
// export const post: RequestHandler<Locals, FormData> = async (request) => {
|
||||
// const { teamId, status, body } = await getUserDetails(request);
|
||||
// if (status === 401) return { status, body }
|
||||
// const { id } = request.params
|
||||
|
||||
// const name = request.body.get('name')
|
||||
// const defaultDatabase = request.body.get('defaultDatabase')
|
||||
// const dbUser = request.body.get('dbUser')
|
||||
// const dbUserPassword = request.body.get('dbUserPassword')
|
||||
// const rootUser = request.body.get('rootUser')
|
||||
// const rootUserPassword = request.body.get('rootUserPassword')
|
||||
// const version = request.body.get('version')
|
||||
|
||||
// try {
|
||||
// return await db.updateDatabase({ id, name, defaultDatabase, dbUser, dbUserPassword, rootUser, rootUserPassword, version })
|
||||
// } catch (err) {
|
||||
// return err
|
||||
// }
|
||||
|
||||
// }
|
||||
Reference in New Issue
Block a user