Update the clusters endpoints

This commit is contained in:
Andrii Tykhonov 2024-07-17 00:54:33 +03:00
parent b69d6d50c7
commit 18a659b009
3 changed files with 15 additions and 15 deletions

View File

@ -23,8 +23,8 @@ public class ClustersController : ControllerBase
} }
[HttpGet] [HttpGet]
[Route("~/clusters/{clusterName}/schedules")] [Route("~/clusters/{clusterName}")]
public IActionResult GetClusterSchedules(string clusterName) public IActionResult GetCluster(string clusterName)
{ {
_clusterConfigurationFile = null; _clusterConfigurationFile = null;
try { try {
@ -48,7 +48,7 @@ public class ClustersController : ControllerBase
return new NotFound("Configuration file not found"); return new NotFound("Configuration file not found");
} }
var schedule = new List<MeasuringEvent>(); var schedules = new List<MeasuringEvent>();
using (StreamReader reader = new StreamReader(filePath)) using (StreamReader reader = new StreamReader(filePath))
{ {
@ -56,7 +56,7 @@ public class ClustersController : ControllerBase
while ((line = reader.ReadLine()) != null) while ((line = reader.ReadLine()) != null)
{ {
var s = line.Split(','); var s = line.Split(',');
schedule.Add( schedules.Add(
new MeasuringEvent() { new MeasuringEvent() {
Day = (MeasuringDay)int.Parse(s[0]), Day = (MeasuringDay)int.Parse(s[0]),
Time = s[1] Time = s[1]
@ -68,14 +68,14 @@ public class ClustersController : ControllerBase
return new Ok( return new Ok(
new{ new{
name = clusterName, name = clusterName,
schedule = schedule, schedules = schedules,
} }
); );
} }
[HttpPost] [HttpPost]
[Route("~/clusters/{clusterName}/schedules")] [Route("~/clusters/{clusterName}")]
public IActionResult UpdateClusterSchedules(string clusterName, UpdateScheduleRequest request) public IActionResult UpdateCluster(string clusterName, UpdateClusterRequest request)
{ {
var message = "Cluster updated"; var message = "Cluster updated";
_clusterConfigurationFile = null; _clusterConfigurationFile = null;
@ -92,13 +92,13 @@ public class ClustersController : ControllerBase
_clusterConfigurationFile.Create(); _clusterConfigurationFile.Create();
message = "Cluster created"; message = "Cluster created";
} }
if (request.Schedule?.Count > 0) if (request.Schedules?.Count > 0)
{ {
var filePath = _clusterConfigurationFile.GetFilePath(); var filePath = _clusterConfigurationFile.GetFilePath();
using (StreamWriter writer = new StreamWriter(filePath)) using (StreamWriter writer = new StreamWriter(filePath))
{ {
foreach ( foreach (
var e in request.Schedule.OrderBy(s => s.Day).ThenBy( var e in request.Schedules.OrderBy(s => s.Day).ThenBy(
s => TimeSpan.Parse(s.Time) s => TimeSpan.Parse(s.Time)
) )
) { ) {

View File

@ -0,0 +1,6 @@
namespace DevicesRestApi.Helpers;
public class UpdateClusterRequest
{
public List<MeasuringEvent>? Schedules { get; set; }
}

View File

@ -1,6 +0,0 @@
namespace DevicesRestApi.Helpers;
public class UpdateScheduleRequest
{
public List<MeasuringEvent>? Schedule { get; set; }
}