From cdd44340a290676191d3457e6d0b0b6b6274a5e2 Mon Sep 17 00:00:00 2001 From: Joseph Milazzo Date: Thu, 18 Feb 2021 14:07:36 -0600 Subject: [PATCH] Implemented update series --- API/Controllers/SeriesController.cs | 26 ++++++++++++++++++++++++++ API/DTOs/UpdateSeriesDto.cs | 14 ++++++++++++++ API/Services/ArchiveService.cs | 2 +- 3 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 API/DTOs/UpdateSeriesDto.cs diff --git a/API/Controllers/SeriesController.cs b/API/Controllers/SeriesController.cs index 408ad9b86..f981f2dec 100644 --- a/API/Controllers/SeriesController.cs +++ b/API/Controllers/SeriesController.cs @@ -95,5 +95,31 @@ namespace API.Controllers return Ok(); } + + [HttpPost] + public async Task UpdateSeries(UpdateSeriesDto updateSeries) + { + _logger.LogInformation("{UserName} is updating Series {SeriesName}", User.GetUsername(), updateSeries.Name); + + var series = await _unitOfWork.SeriesRepository.GetSeriesByIdAsync(updateSeries.Id); + + if (series == null) return BadRequest("Series does not exist"); + + // TODO: Support changing series properties once "locking" is implemented. + // series.Name = updateSeries.Name; + // series.OriginalName = updateSeries.OriginalName; + // series.SortName = updateSeries.SortName; + series.Summary = updateSeries.Summary; + //series.CoverImage = updateSeries.CoverImage; + + _unitOfWork.SeriesRepository.Update(series); + + if (await _unitOfWork.Complete()) + { + return Ok(); + } + + return BadRequest("There was an error with updating the series"); + } } } \ No newline at end of file diff --git a/API/DTOs/UpdateSeriesDto.cs b/API/DTOs/UpdateSeriesDto.cs new file mode 100644 index 000000000..c25e99764 --- /dev/null +++ b/API/DTOs/UpdateSeriesDto.cs @@ -0,0 +1,14 @@ +namespace API.DTOs +{ + public class UpdateSeriesDto + { + public int Id { get; init; } + public string Name { get; init; } + public string OriginalName { get; init; } + public string SortName { get; init; } + public string Summary { get; init; } + public byte[] CoverImage { get; init; } + public int UserRating { get; set; } + public string UserReview { get; set; } + } +} \ No newline at end of file diff --git a/API/Services/ArchiveService.cs b/API/Services/ArchiveService.cs index e7fd988b8..f1c52a0d0 100644 --- a/API/Services/ArchiveService.cs +++ b/API/Services/ArchiveService.cs @@ -80,7 +80,7 @@ namespace API.Services { using var stream = entry.Open(); using var thumbnail = Image.ThumbnailStream(stream, ThumbnailWidth); - return thumbnail.WriteToBuffer(".jpg"); + return thumbnail.WriteToBuffer(".jpg"); // TODO: Validate this code works with .png files } catch (Exception ex) {