Files
EmailBill/WebApi/Controllers/JobController.cs

44 lines
1.0 KiB
C#
Raw Normal View History

2026-02-10 17:49:19 +08:00
using Application;
namespace WebApi.Controllers;
[ApiController]
[Route("api/[controller]/[action]")]
2026-02-10 17:49:19 +08:00
public class JobController(
IJobApplication jobApplication
) : ControllerBase
{
[HttpGet]
public async Task<BaseResponse<List<JobStatus>>> GetJobsAsync()
{
2026-02-10 17:49:19 +08:00
var jobs = await jobApplication.GetJobsAsync();
return jobs.Ok();
}
[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();
}
[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();
}
[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();
}
public class JobRequest
{
public string JobName { get; set; } = string.Empty;
}
}