Support Generated Responses

This commit is contained in:
2021-02-10 17:42:57 -05:00
parent f0aee561ad
commit 5291d6bfe2
9 changed files with 24 additions and 32 deletions

View File

@@ -1,5 +1,4 @@
import 'dart:async';
import 'dart:convert';
// ignore: uri_does_not_exist
import 'cookie_client_stub.dart'
@@ -11,7 +10,7 @@ import 'cookie_client_stub.dart'
import 'package:meta/meta.dart';
import 'package:graphql_flutter/graphql_flutter.dart';
import 'package:imagini/models/api/response/login_response.dart';
import 'package:imagini/graphql/imagini_graphql.dart';
class APIProvider{
String _server, _accessToken, _refreshToken;
@@ -50,7 +49,7 @@ class APIProvider{
// this._refreshToken = _refreshToken;
// }
Future<LoginResponse> login([
Future<Login$Query$AuthResponse> login([
String username,
String password,
]) async {
@@ -58,20 +57,10 @@ class APIProvider{
(username != null && password != null) ||
(_accessToken != null && _refreshToken != null)
);
String loginQuery = """
query login(\$user: String!, \$password: String!, \$deviceID: ID) {
login(user: \$user, password: \$password, deviceID: \$deviceID) {
result,
device {
id
}
}
}""";
QueryResult response = await _client.query(
QueryOptions(
document: gql(loginQuery),
document: LoginQuery().document,
variables: {
"user": "admin",
"password": "admin"
@@ -79,7 +68,10 @@ class APIProvider{
)
);
return LoginResponse.fromJson(jsonDecode("{}"));
final loginResponse = Login$Query.fromJson(response.data);
print(loginResponse);
return loginResponse.login;
}
void logout() {

View File

@@ -1,12 +1,12 @@
import 'package:imagini/api/api_provider.dart';
import 'package:imagini/models/api/response/login_response.dart';
import 'package:imagini/graphql/imagini_graphql.dart';
class ImaginiAPIRepository {
APIProvider _apiProvider;
ImaginiAPIRepository(this._apiProvider);
Stream<LoginResponse> login(String user, password) {
Stream<Login$Query$AuthResponse> login(String user, password) {
return Stream.fromFuture(_apiProvider.login(user, password));
}
}