using System;
using System.Collections.Generic;
using API.Data.Misc;
using API.Entities.Enums.Device;
namespace API.DTOs.Stats.V3;
public class UserStatV3
{
public AgeRestriction AgeRestriction { get; set; }
///
/// The last reading progress on the server (in UTC)
///
public DateTime LastReadTime { get; set; }
///
/// The last login on the server (in UTC)
///
public DateTime LastLogin { get; set; }
///
/// Has the user gone through email confirmation
///
public bool IsEmailConfirmed { get; set; }
///
/// Is the Email a valid address
///
public bool HasValidEmail { get; set; }
///
/// Float between 0-1 to showcase how much of the libraries a user has access to
///
public float PercentageOfLibrariesHasAccess { get; set; }
///
/// Number of reading lists this user created
///
public int ReadingListsCreatedCount { get; set; }
///
/// Number of collections this user created
///
public int CollectionsCreatedCount { get; set; }
///
/// Number of series in want to read for this user
///
public int WantToReadSeriesCount { get; set; }
///
/// Active locale for the user
///
public string Locale { get; set; }
///
/// Active Theme (name)
///
public string ActiveTheme { get; set; }
///
/// Number of series with Bookmarks created
///
public int SeriesBookmarksCreatedCount { get; set; }
///
/// Kavita+ only - Has an AniList Token set
///
public bool HasAniListToken { get; set; }
///
/// Kavita+ only - Has a MAL Token set
///
public bool HasMALToken { get; set; }
///
/// Number of Smart Filters a user has created
///
public int SmartFilterCreatedCount { get; set; }
///
/// Is the user sharing reviews
///
public bool IsSharingReviews { get; set; }
///
/// The number of devices setup and their platforms
///
public ICollection DevicePlatforms { get; set; }
///
/// Roles for this user
///
public ICollection Roles { get; set; }
}