movie page added
This commit is contained in:
@@ -12,6 +12,12 @@ namespace WatchIt.WebAPI.Controllers;
|
||||
[Route("media")]
|
||||
public class MediaController(IMediaControllerService mediaControllerService)
|
||||
{
|
||||
[HttpGet("{id}")]
|
||||
[AllowAnonymous]
|
||||
[ProducesResponseType(typeof(MediaResponse), StatusCodes.Status200OK)]
|
||||
[ProducesResponseType(StatusCodes.Status404NotFound)]
|
||||
public async Task<ActionResult> GetMedia([FromRoute] long id) => await mediaControllerService.GetMedia(id);
|
||||
|
||||
[HttpGet("{id}/genres")]
|
||||
[AllowAnonymous]
|
||||
[ProducesResponseType(typeof(IEnumerable<GenreResponse>), StatusCodes.Status200OK)]
|
||||
|
||||
@@ -5,6 +5,7 @@ namespace WatchIt.WebAPI.Services.Controllers.Media;
|
||||
|
||||
public interface IMediaControllerService
|
||||
{
|
||||
Task<RequestResult> GetMedia(long mediaId);
|
||||
Task<RequestResult> GetGenres(long mediaId);
|
||||
Task<RequestResult> PostGenre(long mediaId, short genreId);
|
||||
Task<RequestResult> DeleteGenre(long mediaId, short genreId);
|
||||
|
||||
@@ -13,15 +13,30 @@ public class MediaControllerService(DatabaseContext database, IUserService userS
|
||||
{
|
||||
#region PUBLIC METHODS
|
||||
|
||||
public async Task<RequestResult> GetGenres(long mediaId)
|
||||
public async Task<RequestResult> GetMedia(long mediaId)
|
||||
{
|
||||
MediaMovie? item = await database.MediaMovies.FirstOrDefaultAsync(x => x.Id == mediaId);
|
||||
Database.Model.Media.Media? item = await database.Media.FirstOrDefaultAsync(x => x.Id == mediaId);
|
||||
if (item is null)
|
||||
{
|
||||
return RequestResult.NotFound();
|
||||
}
|
||||
|
||||
IEnumerable<GenreResponse> genres = item.Media.MediaGenres.Select(x => new GenreResponse(x.Genre));
|
||||
MediaMovie? movie = await database.MediaMovies.FirstOrDefaultAsync(x => x.Id == mediaId);
|
||||
|
||||
MediaResponse mediaResponse = new MediaResponse(item, movie is not null ? MediaType.Movie : MediaType.Series);
|
||||
|
||||
return RequestResult.Ok(mediaResponse);
|
||||
}
|
||||
|
||||
public async Task<RequestResult> GetGenres(long mediaId)
|
||||
{
|
||||
Database.Model.Media.Media? item = await database.Media.FirstOrDefaultAsync(x => x.Id == mediaId);
|
||||
if (item is null)
|
||||
{
|
||||
return RequestResult.NotFound();
|
||||
}
|
||||
|
||||
IEnumerable<GenreResponse> genres = item.MediaGenres.Select(x => new GenreResponse(x.Genre));
|
||||
return RequestResult.Ok(genres);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user