|
1 | 1 | import libvirt from '../../util/libvirt/libvirt-server.js'; |
2 | 2 | import vmCreateModal from '../../user-interface/modals/vm-create.js'; |
3 | | -import vmDeleteModal from '../../user-interface/modals/vm-delete.js'; |
4 | 3 | import buttonBuilder from '../../util/button-builder.js'; |
5 | 4 | import { formatCreatedDate, sortByCreatedAtAsc } from '../../util/format-date.js'; |
6 | 5 | import 'dotenv/config'; |
@@ -254,50 +253,14 @@ export default { |
254 | 253 | case 'delete': { |
255 | 254 | const serverName = args[1]; |
256 | 255 | if (!serverName) { |
257 | | - // No server name — open the delete modal with multi-select |
258 | | - const loadingResult = await app.client.views.open({ |
259 | | - trigger_id: body.trigger_id, |
260 | | - view: { |
261 | | - type: 'modal', |
262 | | - callback_id: 'vm-modal-loading', |
263 | | - title: { type: 'plain_text', text: 'Loading...' }, |
264 | | - blocks: [ |
265 | | - { |
266 | | - type: 'section', |
267 | | - text: { type: 'plain_text', text: 'Fetching your VMs...' } |
268 | | - } |
269 | | - ] |
270 | | - } |
271 | | - }); |
272 | | - |
273 | | - const servers = [...await libvirt.listServers({ app, body })]; |
274 | | - |
275 | | - if (!servers.length) { |
276 | | - await app.client.views.update({ |
277 | | - view_id: loadingResult.view.id, |
278 | | - view: { |
279 | | - type: 'modal', |
280 | | - callback_id: 'vm-modal-empty', |
281 | | - title: { type: 'plain_text', text: 'Delete VMs' }, |
282 | | - blocks: [ |
283 | | - { |
284 | | - type: 'section', |
285 | | - text: { type: 'mrkdwn', text: "You don't currently have any servers to delete." } |
286 | | - } |
287 | | - ] |
288 | | - } |
289 | | - }); |
290 | | - return; |
291 | | - } |
292 | | - |
293 | | - await app.client.views.update({ |
294 | | - view_id: loadingResult.view.id, |
295 | | - view: vmDeleteModal({ servers, metaData: JSON.stringify({ channel_id: event.channel_id, servers }) }) |
| 256 | + await app.client.chat.postEphemeral({ |
| 257 | + channel: event.channel_id, |
| 258 | + user: event.user_id, |
| 259 | + text: `Please provide a server name to delete. Usage: /${commandPrefix}vm delete <server-name>` |
296 | 260 | }); |
297 | | - break; |
| 261 | + return; |
298 | 262 | } |
299 | 263 |
|
300 | | - // Direct delete by server name (existing shortcut behavior) |
301 | 264 | await app.client.chat.postEphemeral({ |
302 | 265 | channel: event.channel_id, |
303 | 266 | user: event.user_id, |
@@ -376,7 +339,7 @@ export default { |
376 | 339 | await app.client.chat.postEphemeral({ |
377 | 340 | channel: event.channel_id, |
378 | 341 | user: event.user_id, |
379 | | - text: `Access your existing VMs with: <${process.env.GUACAMOLE_CONNECTION_URL}|Guacamole>\n\nAvailable subcommands:\n• /${commandPrefix}vm create [count] - Create one or more VMs (default: 1, max: ${MAX_VM_COUNT})\n• /${commandPrefix}vm list - List existing VMs\n• /${commandPrefix}vm start <vm name> - Start a VM\n• /${commandPrefix}vm stop <vm name> - Stop a VM\n• /${commandPrefix}vm delete - Select VMs to delete (or: /${commandPrefix}vm delete <vm name>)\n• /${commandPrefix}vm edit <vm name> - Edit a VM Description`, |
| 342 | + text: `Access your existing VMs with: <${process.env.GUACAMOLE_CONNECTION_URL}|Guacamole>\n\nAvailable subcommands:\n• /${commandPrefix}vm create [count] - Create one or more VMs (default: 1, max: ${MAX_VM_COUNT})\n• /${commandPrefix}vm list - List existing VMs\n• /${commandPrefix}vm start <vm name> - Start a VM\n• /${commandPrefix}vm stop <vm name> - Stop a VM\n• /${commandPrefix}vm delete <vm name> - Delete a VM\n• /${commandPrefix}vm edit <vm name> - Edit a VM Description`, |
380 | 343 | }); |
381 | 344 | } |
382 | 345 | } |
|
0 commit comments