mirror of
				https://github.com/Kareadita/Kavita.git
				synced 2025-11-03 19:17:05 -05:00 
			
		
		
		
	
		
			
				
	
	
		
			79 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			79 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
using System.Collections.Generic;
 | 
						|
using API.Entities;
 | 
						|
using API.Entities.Enums;
 | 
						|
using API.Extensions;
 | 
						|
using API.Services.Plus;
 | 
						|
 | 
						|
namespace API.Helpers.Builders;
 | 
						|
 | 
						|
public class AppUserCollectionBuilder : IEntityBuilder<AppUserCollection>
 | 
						|
{
 | 
						|
    private readonly AppUserCollection _collection;
 | 
						|
    public AppUserCollection Build() => _collection;
 | 
						|
 | 
						|
    public AppUserCollectionBuilder(string title, bool promoted = false)
 | 
						|
    {
 | 
						|
        title = title.Trim();
 | 
						|
        _collection = new AppUserCollection()
 | 
						|
        {
 | 
						|
            Id = 0,
 | 
						|
            NormalizedTitle = title.ToNormalized(),
 | 
						|
            Title = title,
 | 
						|
            Promoted = promoted,
 | 
						|
            Summary = string.Empty,
 | 
						|
            AgeRating = AgeRating.Unknown,
 | 
						|
            Source = ScrobbleProvider.Kavita,
 | 
						|
            Items = new List<Series>()
 | 
						|
        };
 | 
						|
    }
 | 
						|
 | 
						|
    public AppUserCollectionBuilder WithSource(ScrobbleProvider provider)
 | 
						|
    {
 | 
						|
        _collection.Source = provider;
 | 
						|
        return this;
 | 
						|
    }
 | 
						|
 | 
						|
 | 
						|
    public AppUserCollectionBuilder WithSummary(string summary)
 | 
						|
    {
 | 
						|
        _collection.Summary = summary;
 | 
						|
        return this;
 | 
						|
    }
 | 
						|
 | 
						|
    public AppUserCollectionBuilder WithIsPromoted(bool promoted)
 | 
						|
    {
 | 
						|
        _collection.Promoted = promoted;
 | 
						|
        return this;
 | 
						|
    }
 | 
						|
 | 
						|
    public AppUserCollectionBuilder WithItem(Series series)
 | 
						|
    {
 | 
						|
        _collection.Items ??= new List<Series>();
 | 
						|
        _collection.Items.Add(series);
 | 
						|
        return this;
 | 
						|
    }
 | 
						|
 | 
						|
    public AppUserCollectionBuilder WithItems(IEnumerable<Series> series)
 | 
						|
    {
 | 
						|
        _collection.Items ??= new List<Series>();
 | 
						|
        foreach (var s in series)
 | 
						|
        {
 | 
						|
            _collection.Items.Add(s);
 | 
						|
        }
 | 
						|
 | 
						|
        return this;
 | 
						|
    }
 | 
						|
 | 
						|
    public AppUserCollectionBuilder WithCoverImage(string cover)
 | 
						|
    {
 | 
						|
        _collection.CoverImage = cover;
 | 
						|
        return this;
 | 
						|
    }
 | 
						|
 | 
						|
    public AppUserCollectionBuilder WithSourceUrl(string url)
 | 
						|
    {
 | 
						|
        _collection.SourceUrl = url;
 | 
						|
        return this;
 | 
						|
    }
 | 
						|
}
 |