28 lines
753 B
C#
28 lines
753 B
C#
using Microsoft.AspNetCore.Mvc;
|
|
using JobTrackerApi.Services.JobImport;
|
|
|
|
namespace JobTrackerApi.Controllers;
|
|
|
|
[ApiController]
|
|
[Route("api/jobimport")]
|
|
public sealed class JobImportController : ControllerBase
|
|
{
|
|
private readonly JobImportService _import;
|
|
|
|
public JobImportController(JobImportService import)
|
|
{
|
|
_import = import;
|
|
}
|
|
|
|
public sealed record PreviewRequest(string Url);
|
|
|
|
[HttpPost("preview")]
|
|
public async Task<ActionResult<JobImportResult>> Preview([FromBody] PreviewRequest request, CancellationToken cancellationToken)
|
|
{
|
|
var result = await _import.PreviewAsync(request?.Url ?? "", cancellationToken);
|
|
if (!result.Success) return BadRequest(result);
|
|
return Ok(result);
|
|
}
|
|
}
|
|
|