using System.Threading.Tasks; using MalwareMultiScan.Api.Data; using MalwareMultiScan.Api.Services.Interfaces; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; namespace MalwareMultiScan.Api.Controllers { /// /// Scan results controller. /// [ApiController] [Route("api/results")] [Produces("application/json")] public class ScanResultsController : Controller { private readonly IScanResultService _scanResultService; /// /// Initialize scan results controller. /// /// Scan result service. public ScanResultsController(IScanResultService scanResultService) { _scanResultService = scanResultService; } /// /// Get scan result by id. /// /// Scan result id. [HttpGet("{id}")] [ProducesResponseType(typeof(ScanResult), StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status404NotFound)] public async Task Index(string id) { var scanResult = await _scanResultService.GetScanResult(id); if (scanResult == null) return NotFound(); return Ok(scanResult); } } }