#427 Replace registration settings with one registration type property
- Merge "useEmail" / "usePasswordConfirmation" / "useEmailConfirmation" settings into enum property - Migrate old settings
This commit is contained in:
@@ -0,0 +1,59 @@
|
||||
package fr.xephi.authme.settings.properties;
|
||||
|
||||
/**
|
||||
* Type of arguments used for the login command.
|
||||
*/
|
||||
public enum RegistrationArgumentType {
|
||||
|
||||
/** /register [password] */
|
||||
PASSWORD(Execution.PASSWORD, 1),
|
||||
|
||||
/** /register [password] [password] */
|
||||
PASSWORD_WITH_CONFIRMATION(Execution.PASSWORD, 2),
|
||||
|
||||
/** /register [email] */
|
||||
EMAIL(Execution.EMAIL, 1),
|
||||
|
||||
/** /register [email] [email] */
|
||||
EMAIL_WITH_CONFIRMATION(Execution.EMAIL, 2);
|
||||
|
||||
// TODO #427: PASSWORD_WITH_EMAIL(PASSWORD, 2);
|
||||
|
||||
private final Execution execution;
|
||||
private final int requiredNumberOfArgs;
|
||||
|
||||
/**
|
||||
* Constructor.
|
||||
*
|
||||
* @param execution the registration process
|
||||
* @param requiredNumberOfArgs the required number of arguments
|
||||
*/
|
||||
RegistrationArgumentType(Execution execution, int requiredNumberOfArgs) {
|
||||
this.execution = execution;
|
||||
this.requiredNumberOfArgs = requiredNumberOfArgs;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the registration execution that is used for this argument type
|
||||
*/
|
||||
public Execution getExecution() {
|
||||
return execution;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return number of arguments required to process the register command
|
||||
*/
|
||||
public int getRequiredNumberOfArgs() {
|
||||
return requiredNumberOfArgs;
|
||||
}
|
||||
|
||||
/**
|
||||
* Registration execution (the type of registration).
|
||||
*/
|
||||
public enum Execution {
|
||||
|
||||
PASSWORD,
|
||||
EMAIL
|
||||
|
||||
}
|
||||
}
|
||||
@@ -24,16 +24,12 @@ public class RegistrationSettings implements SettingsHolder {
|
||||
public static final Property<Boolean> FORCE =
|
||||
newProperty("settings.registration.force", true);
|
||||
|
||||
@Comment("Do we replace password registration by an email registration method?")
|
||||
public static final Property<Boolean> USE_EMAIL_REGISTRATION =
|
||||
newProperty("settings.registration.enableEmailRegistrationSystem", false);
|
||||
|
||||
@Comment({
|
||||
"Enable double check of email when you register",
|
||||
"when it's true, registration requires that kind of command:",
|
||||
"/register <email> <confirmEmail>"})
|
||||
public static final Property<Boolean> ENABLE_CONFIRM_EMAIL =
|
||||
newProperty("settings.registration.doubleEmailCheck", false);
|
||||
"Type of registration: PASSWORD, PASSWORD_WITH_CONFIRMATION, EMAIL",
|
||||
"EMAIL_WITH_CONFIRMATION, PASSWORD_WITH_EMAIL"
|
||||
})
|
||||
public static final Property<RegistrationArgumentType> REGISTRATION_TYPE =
|
||||
newProperty(RegistrationArgumentType.class, "settings.registration.type", RegistrationArgumentType.PASSWORD_WITH_CONFIRMATION);
|
||||
|
||||
@Comment({
|
||||
"Do we force kick a player after a successful registration?",
|
||||
|
||||
@@ -126,13 +126,6 @@ public class RestrictionSettings implements SettingsHolder {
|
||||
public static final Property<Integer> ALLOWED_MOVEMENT_RADIUS =
|
||||
newProperty("settings.restrictions.allowedMovementRadius", 100);
|
||||
|
||||
@Comment({
|
||||
"Enable double check of password when you register",
|
||||
"when it's true, registration requires that kind of command:",
|
||||
"/register <password> <confirmPassword>"})
|
||||
public static final Property<Boolean> ENABLE_PASSWORD_CONFIRMATION =
|
||||
newProperty("settings.restrictions.enablePasswordConfirmation", true);
|
||||
|
||||
@Comment("Should we protect the player inventory before logging in? Requires ProtocolLib.")
|
||||
public static final Property<Boolean> PROTECT_INVENTORY_BEFORE_LOGIN =
|
||||
newProperty("settings.restrictions.ProtectInventoryBeforeLogIn", true);
|
||||
|
||||
Reference in New Issue
Block a user