More Testing (#2683)

This commit is contained in:
Joe Milazzo 2024-02-02 17:12:37 -06:00 committed by GitHub
parent 4ce2b4343a
commit 685f7365e1
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
13 changed files with 168 additions and 36 deletions

View file

@ -61,4 +61,23 @@ public class ReviewController : BaseApiController
_scrobblingService.ScrobbleReviewUpdate(user.Id, dto.SeriesId, string.Empty, dto.Body));
return Ok(_mapper.Map<UserReviewDto>(rating));
}
/// <summary>
/// Deletes the user's review for the given series
/// </summary>
/// <returns></returns>
[HttpDelete]
public async Task<ActionResult> DeleteReview(int seriesId)
{
var user = await _unitOfWork.UserRepository.GetUserByIdAsync(User.GetUserId(), AppUserIncludes.Ratings);
if (user == null) return Unauthorized();
user.Ratings = user.Ratings.Where(r => r.SeriesId != seriesId).ToList();
_unitOfWork.UserRepository.Update(user);
await _unitOfWork.CommitAsync();
return Ok();
}
}

View file

@ -132,20 +132,31 @@ public class ExternalSeriesMetadataRepository : IExternalSeriesMetadataRepositor
.ProjectTo<SeriesDto>(_mapper.ConfigurationProvider)
.ToListAsync();
var seriesDetailPlusDto = new SeriesDetailPlusDto()
IEnumerable<UserReviewDto> reviews = new List<UserReviewDto>();
if (seriesDetailDto.ExternalReviews != null && seriesDetailDto.ExternalReviews.Any())
{
Ratings = seriesDetailDto.ExternalRatings
.DefaultIfEmpty()
.Select(r => _mapper.Map<RatingDto>(r)),
Reviews = seriesDetailDto.ExternalReviews
.DefaultIfEmpty()
.OrderByDescending(r => r.Score)
reviews = seriesDetailDto.ExternalReviews
.Select(r =>
{
var ret = _mapper.Map<UserReviewDto>(r);
ret.IsExternal = true;
return ret;
}),
})
.OrderByDescending(r => r.Score);
}
IEnumerable<RatingDto> ratings = new List<RatingDto>();
if (seriesDetailDto.ExternalRatings != null && seriesDetailDto.ExternalRatings.Any())
{
ratings = seriesDetailDto.ExternalRatings
.Select(r => _mapper.Map<RatingDto>(r));
}
var seriesDetailPlusDto = new SeriesDetailPlusDto()
{
Ratings = ratings,
Reviews = reviews,
Recommendations = new RecommendationDto()
{
ExternalSeries = externalSeriesRecommendations,

View file

@ -114,7 +114,7 @@ public class ExternalMetadataService : IExternalMetadataService
try
{
var license = (await _unitOfWork.SettingsRepository.GetSettingAsync(ServerSettingKey.LicenseKey)).Value;
var result = await (Configuration.KavitaPlusApiUrl + "/api/metadata/series-detail")
var result = await (Configuration.KavitaPlusApiUrl + "/api/metadata/v2/series-detail")
.WithHeader("Accept", "application/json")
.WithHeader("User-Agent", "Kavita")
.WithHeader("x-license-key", license)
@ -298,7 +298,7 @@ public class ExternalMetadataService : IExternalMetadataService
}
try
{
return await (Configuration.KavitaPlusApiUrl + "/api/metadata/series/detail")
return await (Configuration.KavitaPlusApiUrl + "/api/metadata/v2/series-by-ids")
.WithHeader("Accept", "application/json")
.WithHeader("User-Agent", "Kavita")
.WithHeader("x-license-key", license)

View file

@ -10,7 +10,7 @@ namespace API.Services;
public static class ReviewService
{
public static IList<UserReviewDto> SelectSpectrumOfReviews(IList<UserReviewDto> reviews)
public static IEnumerable<UserReviewDto> SelectSpectrumOfReviews(IList<UserReviewDto> reviews)
{
IList<UserReviewDto> externalReviews;
var totalReviews = reviews.Count;
@ -42,8 +42,9 @@ public static class ReviewService
externalReviews = reviews;
}
return externalReviews;
return externalReviews.OrderByDescending(r => r.Score);
}
public static string GetCharacters(string body)
{
if (string.IsNullOrEmpty(body)) return body;

View file

@ -171,7 +171,7 @@ public class SeriesService : ISeriesService
} else
{
hasWebLinksChanged =
series.Metadata.WebLinks.Equals(updateSeriesMetadataDto.SeriesMetadata?.WebLinks);
series.Metadata.WebLinks != updateSeriesMetadataDto.SeriesMetadata?.WebLinks;
series.Metadata.WebLinks = string.Join(",", updateSeriesMetadataDto.SeriesMetadata?.WebLinks
.Split(",")
.Where(s => !string.IsNullOrEmpty(s))