movie page added

This commit is contained in:
2024-09-19 13:36:01 +02:00
Unverified
parent a65cbea929
commit 3f926d63d6
19 changed files with 228 additions and 13 deletions

View File

@@ -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);

View File

@@ -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);
}