uninstall.js 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. import { docker } from "../server.js";
  2. import { Syslog } from "../database/models.js";
  3. export const Uninstall = async (req, res) => {
  4. let { confirm, service_name } = req.body;
  5. console.log(`Uninstalling ${service_name}...`);
  6. if (confirm == 'Yes') {
  7. let containerName = docker.getContainer(service_name);
  8. console.log(`Stopping ${service_name}...`)
  9. try {
  10. await containerName.stop();
  11. } catch {
  12. console.log(`Error stopping ${service_name} container`);
  13. }
  14. try {
  15. console.log(`Removing ${service_name}...`);
  16. containerName.remove();
  17. const syslog = await Syslog.create({
  18. user: req.session.user,
  19. email: null,
  20. event: "App Removal",
  21. message: `${service_name} uninstalled successfully`,
  22. ip: req.socket.remoteAddress
  23. });
  24. } catch {
  25. const syslog = await Syslog.create({
  26. user: req.session.user,
  27. email: null,
  28. event: "App Removal",
  29. message: `${service_name} uninstallation failed`,
  30. ip: req.socket.remoteAddress
  31. });
  32. }
  33. } else {
  34. console.log(`Didn't confirm uninstallation of ${service_name}...`);
  35. }
  36. res.redirect('/');
  37. }