Files
criminalmindsapi/server/Controllers/v1/EpisodesController.cs
T

39 lines
1.1 KiB
C#
Raw Normal View History

2022-06-20 23:09:47 -05:00
using Microsoft.AspNetCore.Mvc;
2022-06-19 23:07:59 -05:00
using server.Models;
using server.Persistence.Repositories;
2022-06-20 23:09:47 -05:00
namespace server.Controllers.v1
2022-06-19 23:07:59 -05:00
{
[ApiController]
2022-06-20 23:09:47 -05:00
[ApiVersion("1.0")]
2022-06-19 23:07:59 -05:00
[Route("/api/episodes")]
[Produces("application/json")]
public class EpisodesController : ControllerBase
{
private readonly IEpisodeRepository _episodeRepository;
public EpisodesController(IEpisodeRepository episodeRepository)
{
_episodeRepository = episodeRepository;
}
2022-06-20 23:09:47 -05:00
[MapToApiVersion("1.0")]
2022-06-19 23:07:59 -05:00
[HttpGet]
[ProducesResponseType(typeof(List<Episode>), 200)]
[ProducesResponseType(500)]
2022-06-20 23:09:47 -05:00
public async Task<ActionResult<List<Episode>>> GetEpisodesAsync([FromQuery] EpisodeFilter? filter)
2022-06-19 23:07:59 -05:00
{
try
{
var seasons = await _episodeRepository.GetEpisodesAsync(filter);
return Ok(seasons);
}
catch (Exception e)
{
Console.WriteLine(e);
return StatusCode(StatusCodes.Status500InternalServerError, "Failed to get episodes");
}
}
}
}