|
@@ -3,6 +3,8 @@ import 'package:flutter/services.dart';
|
|
|
import 'package:hive/hive.dart';
|
|
|
import 'package:hooks_riverpod/hooks_riverpod.dart';
|
|
|
import 'package:immich_mobile/constants/hive_box.dart';
|
|
|
+import 'package:immich_mobile/modules/album/services/album_cache.service.dart';
|
|
|
+import 'package:immich_mobile/modules/home/services/asset_cache.service.dart';
|
|
|
import 'package:immich_mobile/modules/login/models/authentication_state.model.dart';
|
|
|
import 'package:immich_mobile/modules/login/models/hive_saved_login_info.model.dart';
|
|
|
import 'package:immich_mobile/modules/backup/services/backup.service.dart';
|
|
@@ -16,6 +18,9 @@ class AuthenticationNotifier extends StateNotifier<AuthenticationState> {
|
|
|
this._deviceInfoService,
|
|
|
this._backupService,
|
|
|
this._apiService,
|
|
|
+ this._assetCacheService,
|
|
|
+ this._albumCacheService,
|
|
|
+ this._sharedAlbumCacheService,
|
|
|
) : super(
|
|
|
AuthenticationState(
|
|
|
deviceId: "",
|
|
@@ -42,6 +47,9 @@ class AuthenticationNotifier extends StateNotifier<AuthenticationState> {
|
|
|
final DeviceInfoService _deviceInfoService;
|
|
|
final BackupService _backupService;
|
|
|
final ApiService _apiService;
|
|
|
+ final AssetCacheService _assetCacheService;
|
|
|
+ final AlbumCacheService _albumCacheService;
|
|
|
+ final SharedAlbumCacheService _sharedAlbumCacheService;
|
|
|
|
|
|
Future<bool> login(
|
|
|
String email,
|
|
@@ -153,7 +161,9 @@ class AuthenticationNotifier extends StateNotifier<AuthenticationState> {
|
|
|
Future<bool> logout() async {
|
|
|
Hive.box(userInfoBox).delete(accessTokenKey);
|
|
|
state = state.copyWith(isAuthenticated: false);
|
|
|
-
|
|
|
+ _assetCacheService.invalidate();
|
|
|
+ _albumCacheService.invalidate();
|
|
|
+ _sharedAlbumCacheService.invalidate();
|
|
|
return true;
|
|
|
}
|
|
|
|
|
@@ -199,5 +209,8 @@ final authenticationProvider =
|
|
|
ref.watch(deviceInfoServiceProvider),
|
|
|
ref.watch(backupServiceProvider),
|
|
|
ref.watch(apiServiceProvider),
|
|
|
+ ref.watch(assetCacheServiceProvider),
|
|
|
+ ref.watch(albumCacheServiceProvider),
|
|
|
+ ref.watch(sharedAlbumCacheServiceProvider),
|
|
|
);
|
|
|
});
|