Pull profile data as well as connection data on getConnectionWithStatus

Helps address Issue #36
This commit is contained in:
Hank Grabowski 2024-06-28 09:38:54 -04:00
parent c8159eb830
commit 9b8412aef5
2 changed files with 10 additions and 2 deletions

View file

@ -554,6 +554,14 @@ class RelationshipsClient extends FriendicaClient {
_networkStatusService.startConnectionUpdateStatus();
final myId = profile.userId;
final id = int.parse(connection.id);
final connectionUpdateUrl =
Uri.parse('https://$serverName/api/v1/accounts/$id');
final updatedConnection = await _getApiRequest(connectionUpdateUrl).fold(
onSuccess: (json) => ConnectionMastodonExtensions.fromJson(json),
onError: (error) {
_logger.severe('Error getting connection for $id');
return connection;
});
final paging = '?min_id=${id - 1}&max_id=${id + 1}';
final baseUrl = 'https://$serverName/api/v1/accounts/$myId';
final following =
@ -581,7 +589,7 @@ class RelationshipsClient extends FriendicaClient {
}
_networkStatusService.finishConnectionUpdateStatus();
return Result.ok(connection.copy(status: status));
return Result.ok(updatedConnection.copy(status: status));
}
FutureResult<PagedResponse<List<Connection>>, ExecError>

View file

@ -2,7 +2,7 @@ import '../../models/connection.dart';
extension ConnectionFriendicaExtensions on Connection {
static Connection fromJson(Map<String, dynamic> json) {
final status = json['following'] == 'true'
final status = json['following']
? ConnectionStatus.youFollowThem
: ConnectionStatus.none;
final name = json['name'] ?? '';