import { docker } from '../server.js'; export const Images = async function(req, res) { let action = req.params.action; if (action == "remove") { console.log("Removing images"); let images = req.body.select; if (typeof(images) == 'string') { images = [images]; } for (let i = 0; i < images.length; i++) { if (images[i] != 'on') { try { console.log(`Removing image: ${images[i]}`); let image = docker.getImage(images[i]); await image.remove(); } catch (error) { console.log(`Unable to remove image: ${images[i]}`); } } } res.redirect("/images"); return; } let images = await docker.listImages({ all: true }); let image_list = ` ` for (let i = 0; i < images.length; i++) { let date = new Date(images[i].Created * 1000); let created = date.toLocaleDateString('en-US', { month: 'long', day: 'numeric', year: 'numeric' }); let size = images[i].Size / 1000 / 1000; // to match docker desktop size = size.toFixed(2); let details = ` ${images[i].RepoTags} ${images[i].Id} - - ${created} ${size} MB Details ` image_list += details; } image_list += `` res.render("images", { name: req.session.user, role: req.session.role, avatar: req.session.user.charAt(0).toUpperCase(), image_list: image_list, image_count: images.length, alert: '', }); }