mirror of
https://gitlab.com/mysocialportal/relatica
synced 2024-10-18 15:53:32 +00:00
Change Auth Service to only handle credentials
This commit is contained in:
parent
c03a5b7b19
commit
7a22adb9d6
15 changed files with 99 additions and 71 deletions
|
@ -39,8 +39,7 @@ class FriendicaClient {
|
|||
|
||||
Credentials get credentials => _credentials;
|
||||
|
||||
FriendicaClient({required Credentials credentials})
|
||||
: _credentials = credentials {
|
||||
FriendicaClient(Credentials credentials) : _credentials = credentials {
|
||||
_networkStatusService = getIt<NetworkStatusService>();
|
||||
}
|
||||
|
||||
|
|
|
@ -9,6 +9,7 @@ import 'package:path/path.dart' as p;
|
|||
import 'package:path_provider/path_provider.dart';
|
||||
import 'package:relatica/utils/clipboard_utils.dart';
|
||||
|
||||
import '../friendica_client/friendica_client.dart';
|
||||
import '../globals.dart';
|
||||
import '../models/media_attachment.dart';
|
||||
import '../services/auth_service.dart';
|
||||
|
@ -45,7 +46,8 @@ class _ImageViewerScreenState extends State<ImageViewerScreen> {
|
|||
final appsDir = await getApplicationDocumentsDirectory();
|
||||
final filename = p.basename(attachment.fullFileUri.path);
|
||||
final bytesResult =
|
||||
await getIt<AuthService>().currentClient.getFileBytes(attachment.uri);
|
||||
await FriendicaClient(getIt<AuthService>().currentCredentials)
|
||||
.getFileBytes(attachment.uri);
|
||||
if (bytesResult.isFailure && mounted) {
|
||||
buildSnackbar(context,
|
||||
'Error getting full size version of file: ${bytesResult.error}');
|
||||
|
|
|
@ -47,9 +47,8 @@ class _MessageThreadScreenState extends State<MessageThreadScreen> {
|
|||
) {
|
||||
return result.fold(
|
||||
onSuccess: (thread) {
|
||||
final yourId = getIt<AuthService>().currentClient.credentials.userId;
|
||||
final yourAvatarUrl =
|
||||
getIt<AuthService>().currentClient.credentials.avatar;
|
||||
final yourId = getIt<AuthService>().currentCredentials.userId;
|
||||
final yourAvatarUrl = getIt<AuthService>().currentCredentials.avatar;
|
||||
final participants =
|
||||
Map.fromEntries(thread.participants.map((p) => MapEntry(p.id, p)));
|
||||
return Center(
|
||||
|
|
|
@ -21,7 +21,7 @@ class _ProfileScreenState extends State<ProfileScreen> {
|
|||
child: Column(
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
children: [
|
||||
Text('Profile: ${authService.currentClient.credentials.handle}'),
|
||||
Text('Profile: ${authService.currentCredentials.handle}'),
|
||||
],
|
||||
),
|
||||
),
|
||||
|
|
|
@ -43,7 +43,7 @@ class _UserProfileScreenState extends State<UserProfileScreen> {
|
|||
final manager = context.watch<ConnectionsManager>();
|
||||
final body = manager.getById(widget.userId).fold(onSuccess: (profile) {
|
||||
final notMyProfile =
|
||||
getIt<AuthService>().currentClient.credentials.userId != profile.id;
|
||||
getIt<AuthService>().currentCredentials.userId != profile.id;
|
||||
|
||||
return RefreshIndicator(
|
||||
onRefresh: () async {
|
||||
|
|
|
@ -41,14 +41,14 @@ extension DirectMessageFriendicaExtension on DirectMessage {
|
|||
final String parentUri = json['friendica_parent_uri'];
|
||||
|
||||
final cm = getIt<ConnectionsManager>();
|
||||
if (getIt<AuthService>().currentClient.credentials.userId != senderId) {
|
||||
if (getIt<AuthService>().currentCredentials.userId != senderId) {
|
||||
final s = ConnectionFriendicaExtensions.fromJson(json['sender']);
|
||||
if (cm.getById(s.id).isFailure) {
|
||||
cm.addConnection(s);
|
||||
}
|
||||
}
|
||||
|
||||
if (getIt<AuthService>().currentClient.credentials.userId != recipientId) {
|
||||
if (getIt<AuthService>().currentCredentials.userId != recipientId) {
|
||||
final r = ConnectionFriendicaExtensions.fromJson(json['recipient']);
|
||||
if (cm.getById(r.id).isFailure) {
|
||||
cm.addConnection(r);
|
||||
|
|
|
@ -20,7 +20,7 @@ extension ConnectionMastodonExtensions on Connection {
|
|||
if (handleFromJson.contains('@')) {
|
||||
handle = handleFromJson;
|
||||
} else {
|
||||
final server = getIt<AuthService>().currentClient.serverName;
|
||||
final server = getIt<AuthService>().currentCredentials.serverName;
|
||||
handle = '$handleFromJson@$server';
|
||||
}
|
||||
|
||||
|
|
|
@ -10,13 +10,13 @@ import 'secrets_service.dart';
|
|||
import 'timeline_manager.dart';
|
||||
|
||||
class AuthService extends ChangeNotifier {
|
||||
FriendicaClient? _friendicaClient;
|
||||
Credentials? _currentCredentials;
|
||||
bool _loggedIn = false;
|
||||
|
||||
bool get loggedIn => _loggedIn && _friendicaClient != null;
|
||||
bool get loggedIn => _loggedIn && _currentCredentials != null;
|
||||
|
||||
Credentials get currentCredentials => _currentCredentials!;
|
||||
|
||||
FriendicaClient get currentClient => _friendicaClient!;
|
||||
|
||||
Future<bool> getStoredLoginState() async {
|
||||
final prefs = await SharedPreferences.getInstance();
|
||||
return prefs.getBool('logged-in') ?? false;
|
||||
|
@ -24,7 +24,7 @@ class AuthService extends ChangeNotifier {
|
|||
|
||||
FutureResult<FriendicaClient, ExecError> signIn(
|
||||
Credentials credentials) async {
|
||||
final client = FriendicaClient(credentials: credentials);
|
||||
final client = FriendicaClient(credentials);
|
||||
final result = await client.getMyProfile();
|
||||
if (result.isFailure) {
|
||||
await clearCredentials();
|
||||
|
@ -38,7 +38,7 @@ class AuthService extends ChangeNotifier {
|
|||
),
|
||||
);
|
||||
await _setLoginState(true);
|
||||
_friendicaClient = client;
|
||||
_currentCredentials = credentials;
|
||||
notifyListeners();
|
||||
return Result.ok(client);
|
||||
}
|
||||
|
@ -46,12 +46,12 @@ class AuthService extends ChangeNotifier {
|
|||
Future signOut() async {
|
||||
await _setLoginState(false);
|
||||
getIt<TimelineManager>().clear();
|
||||
_friendicaClient = null;
|
||||
_currentCredentials = null;
|
||||
notifyListeners();
|
||||
}
|
||||
|
||||
Future clearCredentials() async {
|
||||
_friendicaClient = null;
|
||||
_currentCredentials = null;
|
||||
await _setLoginState(false);
|
||||
notifyListeners();
|
||||
}
|
||||
|
|
|
@ -7,6 +7,7 @@ import 'package:result_monad/result_monad.dart';
|
|||
|
||||
import '../data/interfaces/connections_repo_intf.dart';
|
||||
import '../data/interfaces/groups_repo.intf.dart';
|
||||
import '../friendica_client/friendica_client.dart';
|
||||
import '../friendica_client/paging_data.dart';
|
||||
import '../globals.dart';
|
||||
import '../models/connection.dart';
|
||||
|
@ -43,7 +44,9 @@ class ConnectionsManager extends ChangeNotifier {
|
|||
Future<void> acceptFollowRequest(Connection connection) async {
|
||||
_logger.finest(
|
||||
'Attempting to accept follow request ${connection.name}: ${connection.status}');
|
||||
await getIt<AuthService>().currentClient.acceptFollow(connection).match(
|
||||
await FriendicaClient(getIt<AuthService>().currentCredentials)
|
||||
.acceptFollow(connection)
|
||||
.match(
|
||||
onSuccess: (update) {
|
||||
_logger
|
||||
.finest('Successfully followed ${update.name}: ${update.status}');
|
||||
|
@ -59,7 +62,9 @@ class ConnectionsManager extends ChangeNotifier {
|
|||
Future<void> rejectFollowRequest(Connection connection) async {
|
||||
_logger.finest(
|
||||
'Attempting to accept follow request ${connection.name}: ${connection.status}');
|
||||
await getIt<AuthService>().currentClient.rejectFollow(connection).match(
|
||||
await FriendicaClient(getIt<AuthService>().currentCredentials)
|
||||
.rejectFollow(connection)
|
||||
.match(
|
||||
onSuccess: (update) {
|
||||
_logger
|
||||
.finest('Successfully followed ${update.name}: ${update.status}');
|
||||
|
@ -75,7 +80,9 @@ class ConnectionsManager extends ChangeNotifier {
|
|||
Future<void> ignoreFollowRequest(Connection connection) async {
|
||||
_logger.finest(
|
||||
'Attempting to accept follow request ${connection.name}: ${connection.status}');
|
||||
await getIt<AuthService>().currentClient.ignoreFollow(connection).match(
|
||||
await FriendicaClient(getIt<AuthService>().currentCredentials)
|
||||
.ignoreFollow(connection)
|
||||
.match(
|
||||
onSuccess: (update) {
|
||||
_logger
|
||||
.finest('Successfully followed ${update.name}: ${update.status}');
|
||||
|
@ -91,7 +98,9 @@ class ConnectionsManager extends ChangeNotifier {
|
|||
Future<void> follow(Connection connection) async {
|
||||
_logger.finest(
|
||||
'Attempting to follow ${connection.name}: ${connection.status}');
|
||||
await getIt<AuthService>().currentClient.followConnection(connection).match(
|
||||
await FriendicaClient(getIt<AuthService>().currentCredentials)
|
||||
.followConnection(connection)
|
||||
.match(
|
||||
onSuccess: (update) {
|
||||
_logger
|
||||
.finest('Successfully followed ${update.name}: ${update.status}');
|
||||
|
@ -107,8 +116,7 @@ class ConnectionsManager extends ChangeNotifier {
|
|||
Future<void> unfollow(Connection connection) async {
|
||||
_logger.finest(
|
||||
'Attempting to unfollow ${connection.name}: ${connection.status}');
|
||||
await getIt<AuthService>()
|
||||
.currentClient
|
||||
await FriendicaClient(getIt<AuthService>().currentCredentials)
|
||||
.unFollowConnection(connection)
|
||||
.match(
|
||||
onSuccess: (update) {
|
||||
|
@ -129,7 +137,7 @@ class ConnectionsManager extends ChangeNotifier {
|
|||
|
||||
Future<void> updateAllContacts() async {
|
||||
_logger.fine('Updating all contacts');
|
||||
final client = getIt<AuthService>().currentClient;
|
||||
final client = FriendicaClient(getIt<AuthService>().currentCredentials);
|
||||
final results = <String, Connection>{};
|
||||
var moreResults = true;
|
||||
var maxId = -1;
|
||||
|
@ -206,9 +214,9 @@ class ConnectionsManager extends ChangeNotifier {
|
|||
FutureResult<bool, ExecError> addUserToGroup(
|
||||
GroupData group, Connection connection) async {
|
||||
_logger.finest('Adding ${connection.name} to group: ${group.name}');
|
||||
final result = await getIt<AuthService>()
|
||||
.currentClient
|
||||
.addConnectionToGroup(group, connection);
|
||||
final result =
|
||||
await FriendicaClient(getIt<AuthService>().currentCredentials)
|
||||
.addConnectionToGroup(group, connection);
|
||||
result.match(
|
||||
onSuccess: (_) => _refreshGroupListData(connection.id, true),
|
||||
onError: (error) {
|
||||
|
@ -223,9 +231,9 @@ class ConnectionsManager extends ChangeNotifier {
|
|||
FutureResult<bool, ExecError> removeUserFromGroup(
|
||||
GroupData group, Connection connection) async {
|
||||
_logger.finest('Removing ${connection.name} from group: ${group.name}');
|
||||
final result = await getIt<AuthService>()
|
||||
.currentClient
|
||||
.removeConnectionFromGroup(group, connection);
|
||||
final result =
|
||||
await FriendicaClient(getIt<AuthService>().currentCredentials)
|
||||
.removeConnectionFromGroup(group, connection);
|
||||
result.match(
|
||||
onSuccess: (_) => _refreshGroupListData(connection.id, true),
|
||||
onError: (error) {
|
||||
|
@ -273,8 +281,7 @@ class ConnectionsManager extends ChangeNotifier {
|
|||
|
||||
Future<void> _refreshGroupListData(String id, bool withNotification) async {
|
||||
_logger.finest('Refreshing member list data for Connection $id');
|
||||
await getIt<AuthService>()
|
||||
.currentClient
|
||||
await FriendicaClient(getIt<AuthService>().currentCredentials)
|
||||
.getMemberGroupsForConnection(id)
|
||||
.match(
|
||||
onSuccess: (groups) {
|
||||
|
@ -292,8 +299,7 @@ class ConnectionsManager extends ChangeNotifier {
|
|||
Future<void> _refreshConnection(
|
||||
Connection connection, bool withNotification) async {
|
||||
_logger.finest('Refreshing connection data for ${connection.name}');
|
||||
await getIt<AuthService>()
|
||||
.currentClient
|
||||
await FriendicaClient(getIt<AuthService>().currentCredentials)
|
||||
.getConnectionWithStatus(connection)
|
||||
.match(
|
||||
onSuccess: (update) {
|
||||
|
@ -310,7 +316,9 @@ class ConnectionsManager extends ChangeNotifier {
|
|||
|
||||
Future<void> _updateMyGroups(bool withNotification) async {
|
||||
_logger.finest('Refreshing my groups list');
|
||||
await getIt<AuthService>().currentClient.getGroups().match(
|
||||
await FriendicaClient(getIt<AuthService>().currentCredentials)
|
||||
.getGroups()
|
||||
.match(
|
||||
onSuccess: (groups) {
|
||||
_logger.finest('Got updated groups:${groups.map((e) => e.name)}');
|
||||
groupsRepo.clearGroups();
|
||||
|
|
|
@ -2,6 +2,7 @@ import 'package:flutter/foundation.dart';
|
|||
import 'package:logging/logging.dart';
|
||||
import 'package:result_monad/result_monad.dart';
|
||||
|
||||
import '../friendica_client/friendica_client.dart';
|
||||
import '../friendica_client/paging_data.dart';
|
||||
import '../globals.dart';
|
||||
import '../models/connection.dart';
|
||||
|
@ -36,8 +37,7 @@ class DirectMessageService extends ChangeNotifier {
|
|||
}
|
||||
|
||||
Future<void> updateThreads() async {
|
||||
await getIt<AuthService>()
|
||||
.currentClient
|
||||
await FriendicaClient(getIt<AuthService>().currentCredentials)
|
||||
.getDirectMessages(PagingData())
|
||||
.match(
|
||||
onSuccess: (update) {
|
||||
|
@ -61,11 +61,13 @@ class DirectMessageService extends ChangeNotifier {
|
|||
|
||||
FutureResult<DirectMessage, ExecError> newThread(
|
||||
Connection receiver, String text) async {
|
||||
final result = await getIt<AuthService>().currentClient.postDirectMessage(
|
||||
null,
|
||||
receiver.id,
|
||||
text,
|
||||
);
|
||||
final result =
|
||||
await FriendicaClient(getIt<AuthService>().currentCredentials)
|
||||
.postDirectMessage(
|
||||
null,
|
||||
receiver.id,
|
||||
text,
|
||||
);
|
||||
result.match(onSuccess: (newMessage) {
|
||||
DirectMessageThread.createThreads([newMessage]).forEach((thread) {
|
||||
_threads[thread.parentUri] = thread;
|
||||
|
@ -99,11 +101,13 @@ class DirectMessageService extends ChangeNotifier {
|
|||
);
|
||||
}
|
||||
|
||||
final result = await getIt<AuthService>().currentClient.postDirectMessage(
|
||||
original.id,
|
||||
original.senderId,
|
||||
text,
|
||||
);
|
||||
final result =
|
||||
await FriendicaClient(getIt<AuthService>().currentCredentials)
|
||||
.postDirectMessage(
|
||||
original.id,
|
||||
original.senderId,
|
||||
text,
|
||||
);
|
||||
result.match(onSuccess: (newMessage) {
|
||||
thread.messages.add(newMessage);
|
||||
notifyListeners();
|
||||
|
@ -126,7 +130,9 @@ class DirectMessageService extends ChangeNotifier {
|
|||
return;
|
||||
}
|
||||
|
||||
await getIt<AuthService>().currentClient.markDirectMessageRead(m).match(
|
||||
await FriendicaClient(getIt<AuthService>().currentCredentials)
|
||||
.markDirectMessageRead(m)
|
||||
.match(
|
||||
onSuccess: (update) {
|
||||
thread.messages.removeAt(oldIndex);
|
||||
thread.messages.insert(oldIndex, update);
|
||||
|
|
|
@ -43,7 +43,7 @@ class EntryManagerService extends ChangeNotifier {
|
|||
|
||||
Result<EntryTreeItem, ExecError> getPostTreeEntryBy(String id) {
|
||||
_logger.finest('Getting post: $id');
|
||||
final currentId = getIt<AuthService>().currentClient.credentials.userId;
|
||||
final currentId = getIt<AuthService>().currentCredentials.userId;
|
||||
final postNode = _getPostRootNode(id);
|
||||
if (postNode == null) {
|
||||
return Result.error(ExecError(
|
||||
|
@ -68,7 +68,9 @@ class EntryManagerService extends ChangeNotifier {
|
|||
|
||||
FutureResult<bool, ExecError> deleteEntryById(String id) async {
|
||||
_logger.finest('Delete entry: $id');
|
||||
final result = await getIt<AuthService>().currentClient.deleteEntryById(id);
|
||||
final result =
|
||||
await FriendicaClient(getIt<AuthService>().currentCredentials)
|
||||
.deleteEntryById(id);
|
||||
if (result.isFailure) {
|
||||
return result.errorCast();
|
||||
}
|
||||
|
@ -86,7 +88,7 @@ class EntryManagerService extends ChangeNotifier {
|
|||
required List<ImageEntry> existingMediaItems,
|
||||
}) async {
|
||||
_logger.finest('Creating new post: $text');
|
||||
final client = getIt<AuthService>().currentClient;
|
||||
final client = FriendicaClient(getIt<AuthService>().currentCredentials);
|
||||
final mediaIds = existingMediaItems.map((m) => m.scales.first.id).toList();
|
||||
for (final item in mediaItems.attachments) {
|
||||
if (item.isExistingServerItem) {
|
||||
|
@ -166,7 +168,7 @@ class EntryManagerService extends ChangeNotifier {
|
|||
FutureResult<List<EntryTreeItem>, ExecError> updateTimeline(
|
||||
TimelineIdentifiers type, int maxId, int sinceId) async {
|
||||
_logger.fine(() => 'Updating timeline');
|
||||
final client = getIt<AuthService>().currentClient;
|
||||
final client = FriendicaClient(getIt<AuthService>().currentCredentials);
|
||||
final itemsResult = await client.getTimeline(
|
||||
type: type,
|
||||
page: PagingData(
|
||||
|
@ -301,7 +303,7 @@ class EntryManagerService extends ChangeNotifier {
|
|||
|
||||
FutureResult<EntryTreeItem, ExecError> refreshStatusChain(String id) async {
|
||||
_logger.finest('Refreshing post: $id');
|
||||
final client = getIt<AuthService>().currentClient;
|
||||
final client = FriendicaClient(getIt<AuthService>().currentCredentials);
|
||||
final result = await client
|
||||
.getPostOrComment(id, fullContext: false)
|
||||
.andThenAsync((rootItems) async => await client
|
||||
|
@ -328,7 +330,7 @@ class EntryManagerService extends ChangeNotifier {
|
|||
|
||||
FutureResult<EntryTreeItem, ExecError> resharePost(String id) async {
|
||||
_logger.finest('Resharing post: $id');
|
||||
final client = getIt<AuthService>().currentClient;
|
||||
final client = FriendicaClient(getIt<AuthService>().currentCredentials);
|
||||
final result =
|
||||
await client.resharePost(id).andThenSuccessAsync((item) async {
|
||||
await processNewItems([item], client.credentials.username, null);
|
||||
|
@ -350,7 +352,7 @@ class EntryManagerService extends ChangeNotifier {
|
|||
|
||||
FutureResult<bool, ExecError> unResharePost(String id) async {
|
||||
_logger.finest('Unresharing post: $id');
|
||||
final client = getIt<AuthService>().currentClient;
|
||||
final client = FriendicaClient(getIt<AuthService>().currentCredentials);
|
||||
final result =
|
||||
await client.unResharePost(id).andThenSuccessAsync((item) async {
|
||||
await processNewItems([item], client.credentials.username, null);
|
||||
|
@ -368,7 +370,7 @@ class EntryManagerService extends ChangeNotifier {
|
|||
|
||||
FutureResult<EntryTreeItem, ExecError> toggleFavorited(
|
||||
String id, bool newStatus) async {
|
||||
final client = getIt<AuthService>().currentClient;
|
||||
final client = FriendicaClient(getIt<AuthService>().currentCredentials);
|
||||
final result = await client.changeFavoriteStatus(id, newStatus);
|
||||
if (result.isFailure) {
|
||||
return result.errorCast();
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
import 'package:flutter/foundation.dart';
|
||||
import 'package:result_monad/result_monad.dart';
|
||||
|
||||
import '../friendica_client/friendica_client.dart';
|
||||
import '../friendica_client/paging_data.dart';
|
||||
import '../globals.dart';
|
||||
import '../models/exec_error.dart';
|
||||
|
@ -39,7 +40,9 @@ class GalleryService extends ChangeNotifier {
|
|||
}
|
||||
|
||||
FutureResult<List<GalleryData>, ExecError> updateGalleries() async {
|
||||
final result = await getIt<AuthService>().currentClient.getGalleryData();
|
||||
final result =
|
||||
await FriendicaClient(getIt<AuthService>().currentCredentials)
|
||||
.getGalleryData();
|
||||
if (result.isFailure) {
|
||||
return result.errorCast();
|
||||
}
|
||||
|
@ -88,9 +91,9 @@ class GalleryService extends ChangeNotifier {
|
|||
|
||||
final pagesToUse = nextPageOnly ? [pages.last] : pages;
|
||||
for (final page in pagesToUse) {
|
||||
final result = await getIt<AuthService>()
|
||||
.currentClient
|
||||
.getGalleryImages(galleryName, page);
|
||||
final result =
|
||||
await FriendicaClient(getIt<AuthService>().currentCredentials)
|
||||
.getGalleryImages(galleryName, page);
|
||||
if (result.isFailure) {
|
||||
return result.errorCast();
|
||||
}
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
import 'package:flutter/foundation.dart';
|
||||
import 'package:result_monad/result_monad.dart';
|
||||
|
||||
import '../friendica_client/friendica_client.dart';
|
||||
import '../globals.dart';
|
||||
import '../models/connection.dart';
|
||||
import '../models/exec_error.dart';
|
||||
|
@ -31,7 +32,8 @@ class InteractionsManager extends ChangeNotifier {
|
|||
FutureResult<List<Connection>, ExecError> updateLikesForStatus(
|
||||
String statusId) async {
|
||||
final likesResult =
|
||||
await getIt<AuthService>().currentClient.getLikes(statusId);
|
||||
await FriendicaClient(getIt<AuthService>().currentCredentials)
|
||||
.getLikes(statusId);
|
||||
if (likesResult.isSuccess) {
|
||||
_likesByStatusId[statusId] = likesResult.value;
|
||||
notifyListeners();
|
||||
|
@ -42,7 +44,8 @@ class InteractionsManager extends ChangeNotifier {
|
|||
FutureResult<List<Connection>, ExecError> updateResharesForStatus(
|
||||
String statusId) async {
|
||||
final resharesResult =
|
||||
await getIt<AuthService>().currentClient.getReshares(statusId);
|
||||
await FriendicaClient(getIt<AuthService>().currentCredentials)
|
||||
.getReshares(statusId);
|
||||
if (resharesResult.isSuccess) {
|
||||
_resharesByStatusId[statusId] = resharesResult.value;
|
||||
notifyListeners();
|
||||
|
|
|
@ -4,6 +4,7 @@ import 'package:relatica/services/network_status_service.dart';
|
|||
import 'package:result_monad/result_monad.dart';
|
||||
import 'package:uuid/uuid.dart';
|
||||
|
||||
import '../friendica_client/friendica_client.dart';
|
||||
import '../friendica_client/paged_response.dart';
|
||||
import '../friendica_client/pages_manager.dart';
|
||||
import '../friendica_client/paging_data.dart';
|
||||
|
@ -127,9 +128,9 @@ class NotificationsManager extends ChangeNotifier {
|
|||
}
|
||||
|
||||
FutureResult<bool, ExecError> markSeen(UserNotification notification) async {
|
||||
final result = await getIt<AuthService>()
|
||||
.currentClient
|
||||
.clearNotification(notification);
|
||||
final result =
|
||||
await FriendicaClient(getIt<AuthService>().currentCredentials)
|
||||
.clearNotification(notification);
|
||||
if (result.isSuccess) {
|
||||
notifyListeners();
|
||||
}
|
||||
|
@ -140,7 +141,8 @@ class NotificationsManager extends ChangeNotifier {
|
|||
|
||||
FutureResult<List<UserNotification>, ExecError> markAllAsRead() async {
|
||||
final result =
|
||||
await getIt<AuthService>().currentClient.clearNotifications();
|
||||
await FriendicaClient(getIt<AuthService>().currentCredentials)
|
||||
.clearNotifications();
|
||||
if (result.isFailure) {
|
||||
return result.errorCast();
|
||||
}
|
||||
|
@ -151,7 +153,7 @@ class NotificationsManager extends ChangeNotifier {
|
|||
}
|
||||
|
||||
List<UserNotification> buildUnreadMessageNotifications() {
|
||||
final myId = getIt<AuthService>().currentClient.credentials.userId;
|
||||
final myId = getIt<AuthService>().currentCredentials.userId;
|
||||
final result =
|
||||
getIt<DirectMessageService>().getThreads(unreadyOnly: true).map((t) {
|
||||
final fromAccount = t.participants.firstWhere((p) => p.id != myId);
|
||||
|
@ -176,7 +178,8 @@ class NotificationsManager extends ChangeNotifier {
|
|||
static FutureResult<PagedResponse<List<UserNotification>>, ExecError>
|
||||
_clientGetNotificationsRequest(PagingData page) async {
|
||||
final result =
|
||||
await getIt<AuthService>().currentClient.getNotifications(page);
|
||||
await FriendicaClient(getIt<AuthService>().currentCredentials)
|
||||
.getNotifications(page);
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2,6 +2,7 @@ import 'package:flutter/material.dart';
|
|||
import 'package:logging/logging.dart';
|
||||
import 'package:result_monad/result_monad.dart';
|
||||
|
||||
import '../friendica_client/friendica_client.dart';
|
||||
import '../globals.dart';
|
||||
import '../models/TimelineIdentifiers.dart';
|
||||
import '../models/entry_tree_item.dart';
|
||||
|
@ -45,7 +46,9 @@ class TimelineManager extends ChangeNotifier {
|
|||
|
||||
Future<void> _refreshGroupData() async {
|
||||
_logger.finest('Refreshing member group data ');
|
||||
await getIt<AuthService>().currentClient.getGroups().match(
|
||||
await FriendicaClient(getIt<AuthService>().currentCredentials)
|
||||
.getGroups()
|
||||
.match(
|
||||
onSuccess: (groups) {
|
||||
_groups.clear();
|
||||
for (final group in groups) {
|
||||
|
|
Loading…
Reference in a new issue