Skip to content

Commit

Permalink
Merge pull request #262 from hypha-dao/feature/getDaoTitle
Browse files Browse the repository at this point in the history
added getDaoById query
  • Loading branch information
n13 authored Sep 28, 2023
2 parents b0c5920 + 3938dd4 commit 94ddec3
Showing 1 changed file with 35 additions and 0 deletions.
35 changes: 35 additions & 0 deletions lib/core/network/api/services/dao_service.dart
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
import 'dart:convert';

import 'package:dio/dio.dart';
import 'package:hypha_wallet/core/error_handler/model/hypha_error.dart';
import 'package:hypha_wallet/core/logging/log_helper.dart';
import 'package:hypha_wallet/core/network/api/services/remote_config_service.dart';
import 'package:hypha_wallet/core/network/models/dao_data_model.dart';
import 'package:hypha_wallet/core/network/models/network.dart';
import 'package:hypha_wallet/core/network/models/user_profile_data.dart';
import 'package:hypha_wallet/core/network/networking_manager.dart';
import 'package:hypha_wallet/ui/architecture/result/result.dart';
Expand Down Expand Up @@ -45,4 +48,36 @@ class DaoService {
return Result.error(HyphaError.fromError(error));
}
}

Future<Result<DaoData?, HyphaError>> getDaoById({
required Network network,
required String daoId,
}) async {
final String query =
'{"query":"query getDaoById(\$docId: String!) { queryDao(filter: {docId: {eq: \$docId}}) {docId details_daoName_n settings { settings_daoTitle_s, settings_daoDescription_s, settings_logo_s, settings_daoUrl_s } } }", "variables": {"docId": "$daoId"} } ';

final url = _remoteConfigService.graphQLEndpoint(network: network);
try {
final res = await _networkingManager.post(url, data: query);
final Map<String, dynamic> response = res.data;

print("response: ${response}");

final List<dynamic> daos = response['data']['queryDao'];
return Result.value(daos.isNotEmpty ? DaoData.fromJson(daos[0]) : null);
} catch (error, stackTrace) {
LogHelper.e('Error accessing graphQL', stacktrace: stackTrace, error: error);
if (error is DioException) {
final dioError = error;
LogHelper.d('message: ${dioError.message}');
LogHelper.d('status code: ${dioError.response?.statusCode}');
LogHelper.d('message: ${dioError.response?.statusMessage}');
LogHelper.d('dioError: $dioError');
}

LogHelper.e('Error accessing graphQL');
LogHelper.e(error.toString());
return Result.error(HyphaError.fromError(error));
}
}
}

0 comments on commit 94ddec3

Please sign in to comment.