Andras Bacsai 3744c64459
v1.0.9 (#37)
Features:
- Integrated the first service: [Plausible Analytics](https://plausible.io)!

Fixes:
- UI/UX fixes and new designs
2021-04-22 23:48:29 +02:00

28 lines
1016 B
JavaScript

const { execShellAsync } = require('../../../libs/common')
const { docker } = require('../../../libs/docker')
module.exports = async function (fastify) {
fastify.get('/:serviceName', async (request, reply) => {
const { serviceName } = request.params
try {
const service = (await docker.engine.listServices()).find(r => r.Spec.Labels.managedBy === 'coolify' && r.Spec.Labels.type === 'service' && r.Spec.Labels.serviceName === serviceName && r.Spec.Name === `${serviceName}_${serviceName}`)
if (service) {
const payload = {
config: JSON.parse(service.Spec.Labels.configuration)
}
reply.code(200).send(payload)
} else {
throw new Error()
}
} catch (error) {
console.log(error)
throw new Error('No service found?')
}
})
fastify.delete('/:serviceName', async (request, reply) => {
const { serviceName } = request.params
await execShellAsync(`docker stack rm ${serviceName}`)
reply.code(200).send({})
})
}