44 lines
1.0 KiB
C#
44 lines
1.0 KiB
C#
using Application;
|
|
|
|
namespace WebApi.Controllers;
|
|
|
|
[ApiController]
|
|
[Route("api/[controller]/[action]")]
|
|
public class JobController(
|
|
IJobApplication jobApplication
|
|
) : ControllerBase
|
|
{
|
|
[HttpGet]
|
|
public async Task<BaseResponse<List<JobStatus>>> GetJobsAsync()
|
|
{
|
|
var jobs = await jobApplication.GetJobsAsync();
|
|
return jobs.Ok();
|
|
}
|
|
|
|
[HttpPost]
|
|
public async Task<BaseResponse<bool>> ExecuteAsync([FromBody] JobRequest request)
|
|
{
|
|
await jobApplication.ExecuteAsync(request.JobName);
|
|
return true.Ok();
|
|
}
|
|
|
|
[HttpPost]
|
|
public async Task<BaseResponse<bool>> PauseAsync([FromBody] JobRequest request)
|
|
{
|
|
await jobApplication.PauseAsync(request.JobName);
|
|
return true.Ok();
|
|
}
|
|
|
|
[HttpPost]
|
|
public async Task<BaseResponse<bool>> ResumeAsync([FromBody] JobRequest request)
|
|
{
|
|
await jobApplication.ResumeAsync(request.JobName);
|
|
return true.Ok();
|
|
}
|
|
|
|
public class JobRequest
|
|
{
|
|
public string JobName { get; set; } = string.Empty;
|
|
}
|
|
}
|