2026-02-10 17:49:19 +08:00
|
|
|
using Application;
|
2026-01-09 14:03:01 +08:00
|
|
|
|
|
|
|
|
namespace WebApi.Controllers;
|
|
|
|
|
|
|
|
|
|
[ApiController]
|
|
|
|
|
[Route("api/[controller]/[action]")]
|
2026-02-10 17:49:19 +08:00
|
|
|
public class JobController(
|
|
|
|
|
IJobApplication jobApplication
|
|
|
|
|
) : ControllerBase
|
2026-01-09 14:03:01 +08:00
|
|
|
{
|
|
|
|
|
[HttpGet]
|
|
|
|
|
public async Task<BaseResponse<List<JobStatus>>> GetJobsAsync()
|
|
|
|
|
{
|
2026-02-10 17:49:19 +08:00
|
|
|
var jobs = await jobApplication.GetJobsAsync();
|
|
|
|
|
return jobs.Ok();
|
2026-01-09 14:03:01 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[HttpPost]
|
|
|
|
|
public async Task<BaseResponse<bool>> ExecuteAsync([FromBody] JobRequest request)
|
|
|
|
|
{
|
2026-02-10 17:49:19 +08:00
|
|
|
await jobApplication.ExecuteAsync(request.JobName);
|
|
|
|
|
return true.Ok();
|
2026-01-09 14:03:01 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[HttpPost]
|
|
|
|
|
public async Task<BaseResponse<bool>> PauseAsync([FromBody] JobRequest request)
|
|
|
|
|
{
|
2026-02-10 17:49:19 +08:00
|
|
|
await jobApplication.PauseAsync(request.JobName);
|
|
|
|
|
return true.Ok();
|
2026-01-09 14:03:01 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[HttpPost]
|
|
|
|
|
public async Task<BaseResponse<bool>> ResumeAsync([FromBody] JobRequest request)
|
|
|
|
|
{
|
2026-02-10 17:49:19 +08:00
|
|
|
await jobApplication.ResumeAsync(request.JobName);
|
|
|
|
|
return true.Ok();
|
2026-01-09 14:03:01 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public class JobRequest
|
|
|
|
|
{
|
|
|
|
|
public string JobName { get; set; } = string.Empty;
|
|
|
|
|
}
|
|
|
|
|
}
|