|
|
@ -8,23 +8,32 @@ namespace API.Controllers
|
|
|
|
[Route("api/[controller]")]
|
|
|
|
[Route("api/[controller]")]
|
|
|
|
[Authorize]
|
|
|
|
[Authorize]
|
|
|
|
[ApiController]
|
|
|
|
[ApiController]
|
|
|
|
public class InquiriesController(ILogger<InquiriesController> logger, IInquiryService<InquiryDTO> inquiryService)
|
|
|
|
public class InquiriesController()
|
|
|
|
: ControllerBase, IInquiryService<InquiryDTO>
|
|
|
|
: ControllerBase
|
|
|
|
{
|
|
|
|
{
|
|
|
|
|
|
|
|
private readonly IInquiryService<InquiryDTO> _inquiryService;
|
|
|
|
|
|
|
|
private readonly ILogger<InquiriesController> _logger;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public InquiriesController(IInquiryService<InquiryDTO> inquiryService, ILogger<InquiriesController> logger) : this()
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
_inquiryService = inquiryService;
|
|
|
|
|
|
|
|
_logger = logger;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
[HttpGet("inquiries/{page}/{number}")]
|
|
|
|
[HttpGet("inquiries/{page}/{number}")]
|
|
|
|
[ProducesResponseType(typeof(InquiryDTO), 200)]
|
|
|
|
[ProducesResponseType(typeof(InquiryDTO), 200)]
|
|
|
|
[ProducesResponseType(typeof(string), 204)]
|
|
|
|
[ProducesResponseType(typeof(string), 204)]
|
|
|
|
public IActionResult GetInquiries(int page, int number)
|
|
|
|
public IActionResult GetInquiries(int page, int number)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
var nbInquiry = inquiryService.GetInquiries(page, number).Count();
|
|
|
|
var nbInquiry = _inquiryService.GetInquiries(page, number).Count();
|
|
|
|
if (nbInquiry == 0)
|
|
|
|
if (nbInquiry == 0)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
logger.LogError("[ERREUR] Aucune enquête trouvé.");
|
|
|
|
_logger.LogError("[ERREUR] Aucune enquête trouvé.");
|
|
|
|
return StatusCode(204);
|
|
|
|
return StatusCode(204);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
logger.LogInformation("[INFORMATION] {nb} Enquête(s) trouvée(s)", nbInquiry);
|
|
|
|
_logger.LogInformation("[INFORMATION] {nb} Enquête(s) trouvée(s)", nbInquiry);
|
|
|
|
return Ok(inquiryService.GetInquiries(page, number));
|
|
|
|
return Ok(_inquiryService.GetInquiries(page, number));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
[HttpGet("inquiry/id/{id}")]
|
|
|
|
[HttpGet("inquiry/id/{id}")]
|
|
|
@ -34,12 +43,12 @@ namespace API.Controllers
|
|
|
|
{
|
|
|
|
{
|
|
|
|
try
|
|
|
|
try
|
|
|
|
{
|
|
|
|
{
|
|
|
|
logger.LogInformation("[INFORMATION] Enquête avec l'id {id} a été trouvé.", id);
|
|
|
|
_logger.LogInformation("[INFORMATION] Enquête avec l'id {id} a été trouvé.", id);
|
|
|
|
return Ok(inquiryService.GetInquiryById(id));
|
|
|
|
return Ok(_inquiryService.GetInquiryById(id));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
catch (ArgumentException)
|
|
|
|
catch (ArgumentException)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
logger.LogError("[ERREUR] Aucune enquête trouvée avec l'id {id}.", id);
|
|
|
|
_logger.LogError("[ERREUR] Aucune enquête trouvée avec l'id {id}.", id);
|
|
|
|
return NotFound();
|
|
|
|
return NotFound();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -51,12 +60,12 @@ namespace API.Controllers
|
|
|
|
{
|
|
|
|
{
|
|
|
|
try
|
|
|
|
try
|
|
|
|
{
|
|
|
|
{
|
|
|
|
logger.LogInformation("[INFORMATION] Enquête avec le titre {title} a été trouvé.", title);
|
|
|
|
_logger.LogInformation("[INFORMATION] Enquête avec le titre {title} a été trouvé.", title);
|
|
|
|
return Ok(inquiryService.GetInquiryByTitle(title));
|
|
|
|
return Ok(_inquiryService.GetInquiryByTitle(title));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
catch (ArgumentException)
|
|
|
|
catch (ArgumentException)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
logger.LogError("[ERREUR] Aucune enquête trouvée avec le titre {title}.", title);
|
|
|
|
_logger.LogError("[ERREUR] Aucune enquête trouvée avec le titre {title}.", title);
|
|
|
|
return NotFound();
|
|
|
|
return NotFound();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|