diff --git a/lib/logic/api_maps/graphql_maps/schema/server.dart b/lib/logic/api_maps/graphql_maps/schema/server.dart index cc0a6c38..1ddf49f7 100644 --- a/lib/logic/api_maps/graphql_maps/schema/server.dart +++ b/lib/logic/api_maps/graphql_maps/schema/server.dart @@ -1,8 +1,10 @@ import 'package:graphql/client.dart'; import 'package:selfprivacy/config/get_it_config.dart'; import 'package:selfprivacy/logic/api_maps/graphql_maps/api_map.dart'; +import 'package:selfprivacy/logic/api_maps/graphql_maps/schema/get_api_tokens.graphql.dart'; import 'package:selfprivacy/logic/api_maps/graphql_maps/schema/get_api_version.graphql.dart'; import 'package:selfprivacy/logic/models/hive/server_domain.dart'; +import 'package:selfprivacy/logic/models/json/api_token.dart'; class ServerApi extends ApiMap { ServerApi({ @@ -24,10 +26,9 @@ class ServerApi extends ApiMap { Future getApiVersion() async { QueryResult response; - - final GraphQLClient client = await getClient(); String? apiVersion; + final GraphQLClient client = await getClient(); try { response = await client.query$GetApiVersionQuery(); apiVersion = response.data!['api']['version']; @@ -36,4 +37,21 @@ class ServerApi extends ApiMap { } return apiVersion; } + + Future> getApiTokens() async { + QueryResult response; + List tokens = []; + + try { + final GraphQLClient client = await getClient(); + response = await client.query$GetApiTokensQuery(); + tokens = response.data!['api']['devices'] + .map((final e) => ApiToken.fromJson(e)) + .toList(); + } catch (e) { + print(e); + } + + return tokens; + } }