1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-14 09:24:57 +00:00

config: Enable adding and removing groups

This commit is contained in:
thankyouverycool 2022-09-23 09:54:06 -04:00 committed by Ali Mohammad Pur
parent c34f2e75e9
commit be3cc756fc
2 changed files with 16 additions and 8 deletions

View file

@ -16,23 +16,31 @@ ErrorOr<int> serenity_main(Main::Arguments arguments)
String group;
String key;
String value_to_write;
bool remove_key = false;
bool remove = false;
Core::ArgsParser args_parser;
args_parser.set_general_help("Show or modify values in the configuration files through ConfigServer.");
args_parser.add_option(remove_key, "Remove key", "remove", 'r');
args_parser.add_option(remove, "Remove group or key", "remove", 'r');
args_parser.add_positional_argument(domain, "Config domain", "domain");
args_parser.add_positional_argument(group, "Group name", "group");
args_parser.add_positional_argument(key, "Key name", "key");
args_parser.add_positional_argument(key, "Key name", "key", Core::ArgsParser::Required::No);
args_parser.add_positional_argument(value_to_write, "Value to write", "value", Core::ArgsParser::Required::No);
args_parser.parse(arguments);
if (remove_key) {
Config::remove_key(domain, group, key);
if (remove) {
if (!key.is_null())
Config::remove_key(domain, group, key);
else
Config::remove_group(domain, group);
return 0;
}
if (!value_to_write.is_null()) {
if (key.is_null() && value_to_write.is_null()) {
Config::add_group(domain, group);
return 0;
}
if (!key.is_null() && !value_to_write.is_null()) {
Config::write_string(domain, group, key, value_to_write);
return 0;
}