using System;
using System.Collections.Generic;
using API.DTOs.Account;
using API.Entities.Enums;
namespace API.DTOs;
#nullable enable
/// 
/// Represents a member of a Kavita server.
/// 
public sealed record MemberDto
{
    public int Id { get; init; }
    public string? Username { get; init; }
    public string? Email { get; init; }
    /// 
    /// If the member is still pending or not
    /// 
    public bool IsPending { get; init; }
    public AgeRestrictionDto? AgeRestriction { get; init; }
    public DateTime Created { get; init; }
    public DateTime CreatedUtc { get; init; }
    public DateTime LastActive { get; init; }
    public DateTime LastActiveUtc { get; init; }
    public IEnumerable? Libraries { get; init; }
    public IEnumerable? Roles { get; init; }
    public IdentityProvider IdentityProvider { get; init; }
}