//-----------------------------------------------------------------------
//
// Copyright (c) aliasvault. All rights reserved.
// Licensed under the AGPLv3 license. See LICENSE.md file in the project root for full license information.
//
//-----------------------------------------------------------------------
namespace AliasVault.Client.Main.Models;
using System.Text.Json.Serialization;
///
/// Settings for password generation.
///
public class PasswordSettings
{
///
/// Gets or sets the length of the password.
///
[JsonPropertyName("Length")]
public int Length { get; set; } = 18;
///
/// Gets or sets a value indicating whether to use lowercase letters.
///
[JsonPropertyName("UseLowercase")]
public bool UseLowercase { get; set; } = true;
///
/// Gets or sets a value indicating whether to use uppercase letters.
///
[JsonPropertyName("UseUppercase")]
public bool UseUppercase { get; set; } = true;
///
/// Gets or sets a value indicating whether to use numbers.
///
[JsonPropertyName("UseNumbers")]
public bool UseNumbers { get; set; } = true;
///
/// Gets or sets a value indicating whether to use special characters.
///
[JsonPropertyName("UseSpecialChars")]
public bool UseSpecialChars { get; set; } = true;
///
/// Gets or sets a value indicating whether to use non-ambiguous characters.
///
[JsonPropertyName("UseNonAmbiguousChars")]
public bool UseNonAmbiguousChars { get; set; } = false;
}