mirror of
https://github.com/chylex/Minecraft-Phantom-Panel.git
synced 2025-04-29 12:34:09 +02:00
26 lines
1.1 KiB
C#
26 lines
1.1 KiB
C#
namespace Phantom.Server.Services.Users;
|
|
|
|
public abstract record PasswordRequirementViolation {
|
|
private PasswordRequirementViolation() {}
|
|
|
|
public sealed record TooShort(int MinimumLength) : PasswordRequirementViolation;
|
|
|
|
public sealed record LowercaseLetterRequired : PasswordRequirementViolation;
|
|
|
|
public sealed record UppercaseLetterRequired : PasswordRequirementViolation;
|
|
|
|
public sealed record DigitRequired : PasswordRequirementViolation;
|
|
}
|
|
|
|
public static class PasswordRequirementViolationExtensions {
|
|
public static string ToSentence(this PasswordRequirementViolation violation) {
|
|
return violation switch {
|
|
PasswordRequirementViolation.TooShort v => "Password must be at least " + v.MinimumLength + " character(s) long.",
|
|
PasswordRequirementViolation.LowercaseLetterRequired => "Password must contain a lowercase letter.",
|
|
PasswordRequirementViolation.UppercaseLetterRequired => "Password must contain an uppercase letter.",
|
|
PasswordRequirementViolation.DigitRequired => "Password must contain a digit.",
|
|
_ => "Unknown error."
|
|
};
|
|
}
|
|
}
|