Kavita/API/Helpers/Builders/AppUserChapterRatingBuilder.cs
Fesaa 4f7625ea77
Chapter/Issue level Reviews and Ratings (#3778)
Co-authored-by: Joseph Milazzo <josephmajora@gmail.com>
2025-04-29 09:53:24 -07:00

41 lines
926 B
C#

#nullable enable
using System;
using API.Entities;
namespace API.Helpers.Builders;
public class ChapterRatingBuilder : IEntityBuilder<AppUserChapterRating>
{
private readonly AppUserChapterRating _rating;
public AppUserChapterRating Build() => _rating;
public ChapterRatingBuilder(AppUserChapterRating? rating = null)
{
_rating = rating ?? new AppUserChapterRating();
}
public ChapterRatingBuilder WithSeriesId(int seriesId)
{
_rating.SeriesId = seriesId;
return this;
}
public ChapterRatingBuilder WithChapterId(int chapterId)
{
_rating.ChapterId = chapterId;
return this;
}
public ChapterRatingBuilder WithRating(int rating)
{
_rating.Rating = Math.Clamp(rating, 0, 5);
return this;
}
public ChapterRatingBuilder WithBody(string body)
{
_rating.Review = body;
return this;
}
}