mirror of
https://github.com/C9Glax/tranga.git
synced 2025-04-15 12:53:17 +02:00
#114 Modify Job Intervals
This commit is contained in:
parent
bb31a94eea
commit
bf332717a5
@ -189,6 +189,39 @@ public class JobController(PgsqlContext context) : Controller
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Modify Job with ID
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="id">Job-ID</param>
|
||||||
|
/// <param name="modifyJobRecord">Fields to modify, set to null to keep previous value</param>
|
||||||
|
/// <response code="202">Job modified</response>
|
||||||
|
/// <response code="400">Malformed request</response>
|
||||||
|
/// <response code="404">Job with ID not found</response>
|
||||||
|
/// <response code="500">Internal Error</response>
|
||||||
|
[HttpPatch("{id}/")]
|
||||||
|
[ProducesResponseType<Job>(Status202Accepted)]
|
||||||
|
[ProducesResponseType(Status400BadRequest)]
|
||||||
|
[ProducesResponseType(Status404NotFound)]
|
||||||
|
[ProducesResponseType<string>(Status500InternalServerError)]
|
||||||
|
public IActionResult ModifyJob(string id, [FromBody]ModifyJobRecord modifyJobRecord)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
Job? ret = context.Jobs.Find(id);
|
||||||
|
if(ret is null)
|
||||||
|
return NotFound();
|
||||||
|
|
||||||
|
ret.RecurrenceMs = modifyJobRecord.RecurrenceMs ?? ret.RecurrenceMs;
|
||||||
|
|
||||||
|
context.SaveChanges();
|
||||||
|
return new AcceptedResult(ret.JobId, ret);
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
return StatusCode(500, e.Message);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Starts the Job with the requested ID
|
/// Starts the Job with the requested ID
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@ -198,10 +231,10 @@ public class JobController(PgsqlContext context) : Controller
|
|||||||
/// <response code="409">Job was already running</response>
|
/// <response code="409">Job was already running</response>
|
||||||
/// <response code="500">Internal Error</response>
|
/// <response code="500">Internal Error</response>
|
||||||
[HttpPost("{id}/Start")]
|
[HttpPost("{id}/Start")]
|
||||||
[ProducesResponseType<AcceptedResult>(Status202Accepted)]
|
[ProducesResponseType(Status202Accepted)]
|
||||||
[ProducesResponseType<NotFoundResult>(Status404NotFound)]
|
[ProducesResponseType(Status404NotFound)]
|
||||||
[ProducesResponseType<ConflictResult>(Status409Conflict)]
|
[ProducesResponseType(Status409Conflict)]
|
||||||
[ProducesResponseType<ObjectResult>(Status500InternalServerError)]
|
[ProducesResponseType<string>(Status500InternalServerError)]
|
||||||
public IActionResult StartJob(string id)
|
public IActionResult StartJob(string id)
|
||||||
{
|
{
|
||||||
Job? ret = context.Jobs.Find(id);
|
Job? ret = context.Jobs.Find(id);
|
||||||
@ -230,13 +263,14 @@ public class JobController(PgsqlContext context) : Controller
|
|||||||
/// <response code="409">Job was not running</response>
|
/// <response code="409">Job was not running</response>
|
||||||
/// <response code="500">Internal Error</response>
|
/// <response code="500">Internal Error</response>
|
||||||
/// <remarks>NOT IMPLEMENTED</remarks>
|
/// <remarks>NOT IMPLEMENTED</remarks>
|
||||||
[ProducesResponseType<AcceptedResult>(Status202Accepted)]
|
[ProducesResponseType(Status202Accepted)]
|
||||||
[ProducesResponseType<NotFoundResult>(Status404NotFound)]
|
[ProducesResponseType(Status404NotFound)]
|
||||||
[ProducesResponseType<ConflictResult>(Status409Conflict)]
|
[ProducesResponseType(Status409Conflict)]
|
||||||
[ProducesResponseType<ObjectResult>(Status500InternalServerError)]
|
[ProducesResponseType(Status500InternalServerError)]
|
||||||
[HttpPost("{id}/Stop")]
|
[HttpPost("{id}/Stop")]
|
||||||
public IActionResult StopJob(string id)
|
public IActionResult StopJob(string id)
|
||||||
{
|
{
|
||||||
return NotFound(new ProblemResponse("Not implemented")); //TODO
|
throw new NotImplementedException();
|
||||||
|
return NotFound(new ProblemResponse("Not implemented"));
|
||||||
}
|
}
|
||||||
}
|
}
|
3
API/ModifyJobRecord.cs
Normal file
3
API/ModifyJobRecord.cs
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
namespace API;
|
||||||
|
|
||||||
|
public record ModifyJobRecord(ulong? RecurrenceMs);
|
Loading…
x
Reference in New Issue
Block a user