using System;
using API.Entities.Enums.Theme;
using API.Entities.Interfaces;
using API.Services;
namespace API.Entities;
/// 
/// Represents a set of css overrides the user can upload to Kavita and will load into webui
/// 
public class SiteTheme : IEntityDate, ITheme
{
    public int Id { get; set; }
    /// 
    /// Name of the Theme
    /// 
    public required string Name { get; set; }
    /// 
    /// Normalized name for lookups
    /// 
    public required string NormalizedName { get; set; }
    /// 
    /// File path to the content. Stored under .
    /// Must be a .css file
    /// 
    /// System provided themes use an alternative location as they are packaged with the app
    public required string FileName { get; set; }
    /// 
    /// Only one theme can have this. Will auto-set this as default for new user accounts
    /// 
    public bool IsDefault { get; set; }
    /// 
    /// Where did the theme come from
    /// 
    public ThemeProvider Provider { get; set; }
    public DateTime Created { get; set; }
    public DateTime LastModified { get; set; }
    public DateTime CreatedUtc { get; set; }
    public DateTime LastModifiedUtc { get; set; }
}