selfprivacy.org.app/lib/logic/api_maps/graphql_maps/server_api/jobs_api.dart

48 lines
1.4 KiB
Dart
Raw Normal View History

part of 'server.dart';
mixin JobsApi on ApiMap {
Future<List<ServerJob>> getServerJobs() async {
2022-09-08 22:58:45 +03:00
QueryResult<Query$GetApiJobs> response;
List<ServerJob> jobsList = [];
try {
final GraphQLClient client = await getClient();
response = await client.query$GetApiJobs();
if (response.hasException) {
print(response.exception.toString());
}
2022-09-08 22:58:45 +03:00
jobsList = jobsList = response.parsedData?.jobs.getJobs
.map<ServerJob>((final job) => ServerJob.fromGraphQL(job))
.toList() ??
[];
} catch (e) {
print(e);
}
2022-09-08 22:58:45 +03:00
return jobsList;
}
Future<GenericMutationResult<bool>> removeApiJob(final String uid) async {
try {
final GraphQLClient client = await getClient();
final variables = Variables$Mutation$RemoveJob(jobId: uid);
final mutation = Options$Mutation$RemoveJob(variables: variables);
final response = await client.mutate$RemoveJob(mutation);
return GenericMutationResult(
data: response.parsedData?.removeJob.success ?? false,
success: true,
code: response.parsedData?.removeJob.code ?? 0,
message: response.parsedData?.removeJob.message,
);
} catch (e) {
print(e);
return GenericMutationResult(
data: false,
success: false,
code: 0,
message: e.toString(),
);
}
}
}