mirror of
https://git.selfprivacy.org/kherel/selfprivacy.org.app.git
synced 2024-09-18 17:37:50 +00:00
NaiJi
0234278c2c
Because the class is called ServerApi, not just Server, it's totally not consistent with all other apis
65 lines
1.4 KiB
Dart
65 lines
1.4 KiB
Dart
part of 'server_api.dart';
|
|
|
|
mixin ServerActionsApi on ApiMap {
|
|
Future<bool> _commonBoolRequest(final Function graphQLMethod) async {
|
|
QueryResult response;
|
|
bool result = false;
|
|
|
|
try {
|
|
response = await graphQLMethod();
|
|
if (response.hasException) {
|
|
print(response.exception.toString());
|
|
result = false;
|
|
} else {
|
|
result = true;
|
|
}
|
|
} catch (e) {
|
|
print(e);
|
|
}
|
|
|
|
return result;
|
|
}
|
|
|
|
Future<bool> reboot() async {
|
|
try {
|
|
final GraphQLClient client = await getClient();
|
|
return await _commonBoolRequest(
|
|
() async => client.mutate$RebootSystem(),
|
|
);
|
|
} catch (e) {
|
|
return false;
|
|
}
|
|
}
|
|
|
|
Future<bool> pullConfigurationUpdate() async {
|
|
try {
|
|
final GraphQLClient client = await getClient();
|
|
return await _commonBoolRequest(
|
|
() async => client.mutate$PullRepositoryChanges(),
|
|
);
|
|
} catch (e) {
|
|
return false;
|
|
}
|
|
}
|
|
|
|
Future<bool> upgrade() async {
|
|
try {
|
|
final GraphQLClient client = await getClient();
|
|
return _commonBoolRequest(
|
|
() async => client.mutate$RunSystemUpgrade(),
|
|
);
|
|
} catch (e) {
|
|
return false;
|
|
}
|
|
}
|
|
|
|
Future<void> apply() async {
|
|
try {
|
|
final GraphQLClient client = await getClient();
|
|
await client.mutate$RunSystemRebuild();
|
|
} catch (e) {
|
|
print(e);
|
|
}
|
|
}
|
|
}
|