mirror of
https://github.com/GravitLauncher/Launcher
synced 2025-03-20 16:18:24 +03:00
SwapAuthProviderCommand
This commit is contained in:
parent
b0b2493935
commit
245db2dda5
2 changed files with 62 additions and 0 deletions
|
@ -117,6 +117,7 @@ protected CommandHandler(LaunchServer server) {
|
||||||
registerCommand("config", new ConfigCommand(server));
|
registerCommand("config", new ConfigCommand(server));
|
||||||
registerCommand("configHelp", new ConfigHelpCommand(server));
|
registerCommand("configHelp", new ConfigHelpCommand(server));
|
||||||
registerCommand("configList", new ConfigListCommand(server));
|
registerCommand("configList", new ConfigListCommand(server));
|
||||||
|
registerCommand("swapAuthProvider", new SwapAuthProviderCommand(server));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,61 @@
|
||||||
|
package ru.gravit.launchserver.command.service;
|
||||||
|
|
||||||
|
import ru.gravit.launchserver.LaunchServer;
|
||||||
|
import ru.gravit.launchserver.auth.provider.AcceptAuthProvider;
|
||||||
|
import ru.gravit.launchserver.auth.provider.AuthProvider;
|
||||||
|
import ru.gravit.launchserver.auth.provider.RejectAuthProvider;
|
||||||
|
import ru.gravit.launchserver.command.Command;
|
||||||
|
import ru.gravit.utils.helper.LogHelper;
|
||||||
|
|
||||||
|
public class SwapAuthProviderCommand extends Command {
|
||||||
|
public AuthProvider[] providersCache;
|
||||||
|
public SwapAuthProviderCommand(LaunchServer server) {
|
||||||
|
super(server);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getArgsDescription() {
|
||||||
|
return "[index] [accept/reject/undo] [message(for reject)]";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getUsageDescription() {
|
||||||
|
return "Change authProvider";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void invoke(String... args) throws Exception {
|
||||||
|
verifyArgs(args,2);
|
||||||
|
if(providersCache == null) providersCache = new AuthProvider[server.config.authProvider.length];
|
||||||
|
int index = Integer.valueOf(args[0]);
|
||||||
|
if(args[1].equals("accept"))
|
||||||
|
{
|
||||||
|
if(providersCache[index] == null)
|
||||||
|
{
|
||||||
|
AcceptAuthProvider provider = new AcceptAuthProvider();
|
||||||
|
providersCache[index] = server.config.authProvider[index];
|
||||||
|
server.config.authProvider[index] = provider;
|
||||||
|
LogHelper.info("AuthProvider[%d] is AcceptAuthProvider",index);
|
||||||
|
}
|
||||||
|
else LogHelper.error("Changes detected. Use undo");
|
||||||
|
} else if(args[1].equals("reject"))
|
||||||
|
{
|
||||||
|
if(providersCache[index] == null)
|
||||||
|
{
|
||||||
|
RejectAuthProvider rejectAuthProvider;
|
||||||
|
if(args.length < 3) rejectAuthProvider = new RejectAuthProvider();
|
||||||
|
else rejectAuthProvider = new RejectAuthProvider(args[2]);
|
||||||
|
providersCache[index] = server.config.authProvider[index];
|
||||||
|
server.config.authProvider[index] = rejectAuthProvider;
|
||||||
|
LogHelper.info("AuthProvider[%d] is RejectAuthProvider",index);
|
||||||
|
}
|
||||||
|
else LogHelper.error("Changes detected. Use undo");
|
||||||
|
} else if(args[1].equals("undo"))
|
||||||
|
{
|
||||||
|
if(providersCache[index] == null) LogHelper.error("Cache clean. Undo impossible");
|
||||||
|
server.config.authProvider[index].close();
|
||||||
|
server.config.authProvider[index] = providersCache[index];
|
||||||
|
providersCache[index] = null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in a new issue