using API.Entities; using API.Entities.Enums; using API.Extensions; namespace API.Helpers.Builders; public class AppUserReadingProfileBuilder { private readonly AppUserReadingProfile _profile; public AppUserReadingProfile Build() => _profile; /// /// The profile's kind will be unless overwritten with /// /// public AppUserReadingProfileBuilder(int userId) { _profile = new AppUserReadingProfile { AppUserId = userId, Kind = ReadingProfileKind.User, SeriesIds = [], LibraryIds = [] }; } public AppUserReadingProfileBuilder WithSeries(Series series) { _profile.SeriesIds.Add(series.Id); return this; } public AppUserReadingProfileBuilder WithLibrary(Library library) { _profile.LibraryIds.Add(library.Id); return this; } public AppUserReadingProfileBuilder WithKind(ReadingProfileKind kind) { _profile.Kind = kind; return this; } public AppUserReadingProfileBuilder WithName(string name) { _profile.Name = name; _profile.NormalizedName = name.ToNormalized(); return this; } }