run method

  1. @override
Future<void> run(
  1. String label,
  2. List<String> args
)

Implementation

@override
Future<void> run(String label, List<String> args) async {
  if (args.length != 2) {
    server.log("Wrong usage, use ${getUsage()}", level: LogLevel.error);
    return;
  }
  final action = args[0].toLowerCase();
  final user = args[1];

  if (action == 'add') {
    final result = await server.userManager.service?.updateUser(
      user,
      onWhitelist: true,
    );
    if (result != true) {
      server.log(
        "Failed to add user $user to whitelist",
        level: LogLevel.error,
      );
      return;
    }
    server.log("User $user added to whitelist", level: LogLevel.info);
  } else if (action == 'remove') {
    final result = await server.userManager.service?.updateUser(
      user,
      onWhitelist: false,
    );
    if (result != true) {
      server.log(
        "Failed to remove user $user from whitelist",
        level: LogLevel.error,
      );
      return;
    }
    server.log("User $user removed from whitelist", level: LogLevel.info);
  } else {
    server.log(
      "Unknown action: $action. Use 'add' or 'remove'.",
      level: LogLevel.error,
    );
  }
}