ContainerDashboard/backend/Controllers/ServiceController.cs
2025-12-20 16:27:56 +00:00

53 lines
No EOL
1.1 KiB
C#

using ContainerDashboard.Services;
using Microsoft.AspNetCore.Mvc;
namespace ContainerDashboard;
[ApiController]
[Route("[controller]")]
public class ServiceController : ControllerBase
{
private ILogger<ServiceController> _logger;
private IContainerService _service;
public ServiceController(ILogger<ServiceController> logger, IContainerService service)
{
_logger = logger;
_service = service;
}
[HttpGet()]
public async Task<IActionResult> GetContainerList()
{
var containers = await _service.GetContainers();
return Ok(containers);
}
[HttpPost()]
public async Task<IActionResult> ToggleContainer(string containerName, string? containerNamespace, string action)
{
if (containerName == string.Empty || action == string.Empty)
{
return BadRequest("Missing required parameter");
}
var container = await _service.GetContainer(containerName, containerNamespace);
switch (action)
{
case "START":
await _service.StartContainer(container);
break;
case "STOP":
await _service.StopContainer(container);
break;
default:
return BadRequest("Incorrect action");
}
return Ok(container);
}
}