using System.Collections.Generic;
using Kavita.Models.Entities;
using Kavita.Models.Entities.Enums;
using Kavita.Models.Entities.User;
namespace Kavita.Models.DTOs.Account;
public sealed record UpdateUserDto
{
///
public int UserId { get; set; }
///
public string Username { get; set; } = default!;
///
/// List of Roles to assign to user. If admin not present, Pleb will be applied.
/// If admin present, all libraries will be granted access and will ignore those from DTO.
///
public IList Roles { get; init; } = default!;
///
/// A list of libraries to grant access to
///
public IList Libraries { get; init; } = default!;
///
/// An Age Rating which will limit the account to seeing everything equal to or below said rating.
///
public AgeRestrictionDto AgeRestriction { get; init; } = default!;
///
public string? Email { get; set; } = default!;
public IdentityProvider IdentityProvider { get; init; } = IdentityProvider.Kavita;
}