mirror of
https://github.com/immich-app/immich.git
synced 2025-07-09 03:04:16 -04:00
refactor(mobile): auth.interface.dart (#19349)
This commit is contained in:
parent
9b047d30e4
commit
af30d97668
@ -1,11 +0,0 @@
|
|||||||
import 'package:immich_mobile/interfaces/database.interface.dart';
|
|
||||||
import 'package:immich_mobile/models/auth/auxilary_endpoint.model.dart';
|
|
||||||
|
|
||||||
abstract interface class IAuthRepository implements IDatabaseRepository {
|
|
||||||
Future<void> clearLocalData();
|
|
||||||
String getAccessToken();
|
|
||||||
bool getEndpointSwitchingFeature();
|
|
||||||
String? getPreferredWifiName();
|
|
||||||
String? getLocalEndpoint();
|
|
||||||
List<AuxilaryEndpoint> getExternalEndpointList();
|
|
||||||
}
|
|
@ -10,23 +10,20 @@ import 'package:immich_mobile/entities/store.entity.dart';
|
|||||||
import 'package:immich_mobile/infrastructure/entities/exif.entity.dart';
|
import 'package:immich_mobile/infrastructure/entities/exif.entity.dart';
|
||||||
import 'package:immich_mobile/infrastructure/entities/user.entity.dart';
|
import 'package:immich_mobile/infrastructure/entities/user.entity.dart';
|
||||||
import 'package:immich_mobile/infrastructure/repositories/db.repository.dart';
|
import 'package:immich_mobile/infrastructure/repositories/db.repository.dart';
|
||||||
import 'package:immich_mobile/interfaces/auth.interface.dart';
|
|
||||||
import 'package:immich_mobile/models/auth/auxilary_endpoint.model.dart';
|
import 'package:immich_mobile/models/auth/auxilary_endpoint.model.dart';
|
||||||
import 'package:immich_mobile/providers/db.provider.dart';
|
import 'package:immich_mobile/providers/db.provider.dart';
|
||||||
import 'package:immich_mobile/providers/infrastructure/db.provider.dart';
|
import 'package:immich_mobile/providers/infrastructure/db.provider.dart';
|
||||||
import 'package:immich_mobile/repositories/database.repository.dart';
|
import 'package:immich_mobile/repositories/database.repository.dart';
|
||||||
|
|
||||||
final authRepositoryProvider = Provider<IAuthRepository>(
|
final authRepositoryProvider = Provider<AuthRepository>(
|
||||||
(ref) =>
|
(ref) => AuthRepository(ref.watch(dbProvider), ref.watch(driftProvider)),
|
||||||
AuthRepository(ref.watch(dbProvider), drift: ref.watch(driftProvider)),
|
|
||||||
);
|
);
|
||||||
|
|
||||||
class AuthRepository extends DatabaseRepository implements IAuthRepository {
|
class AuthRepository extends DatabaseRepository {
|
||||||
final Drift _drift;
|
final Drift _drift;
|
||||||
|
|
||||||
AuthRepository(super.db, {required Drift drift}) : _drift = drift;
|
AuthRepository(super.db, this._drift);
|
||||||
|
|
||||||
@override
|
|
||||||
Future<void> clearLocalData() {
|
Future<void> clearLocalData() {
|
||||||
return db.writeTxn(() {
|
return db.writeTxn(() {
|
||||||
return Future.wait([
|
return Future.wait([
|
||||||
@ -41,27 +38,22 @@ class AuthRepository extends DatabaseRepository implements IAuthRepository {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
|
||||||
String getAccessToken() {
|
String getAccessToken() {
|
||||||
return Store.get(StoreKey.accessToken);
|
return Store.get(StoreKey.accessToken);
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
|
||||||
bool getEndpointSwitchingFeature() {
|
bool getEndpointSwitchingFeature() {
|
||||||
return Store.tryGet(StoreKey.autoEndpointSwitching) ?? false;
|
return Store.tryGet(StoreKey.autoEndpointSwitching) ?? false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
|
||||||
String? getPreferredWifiName() {
|
String? getPreferredWifiName() {
|
||||||
return Store.tryGet(StoreKey.preferredWifiName);
|
return Store.tryGet(StoreKey.preferredWifiName);
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
|
||||||
String? getLocalEndpoint() {
|
String? getLocalEndpoint() {
|
||||||
return Store.tryGet(StoreKey.localEndpoint);
|
return Store.tryGet(StoreKey.localEndpoint);
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
|
||||||
List<AuxilaryEndpoint> getExternalEndpointList() {
|
List<AuxilaryEndpoint> getExternalEndpointList() {
|
||||||
final jsonString = Store.tryGet(StoreKey.externalEndpointList);
|
final jsonString = Store.tryGet(StoreKey.externalEndpointList);
|
||||||
|
|
||||||
|
@ -5,7 +5,6 @@ import 'package:hooks_riverpod/hooks_riverpod.dart';
|
|||||||
import 'package:immich_mobile/domain/models/store.model.dart';
|
import 'package:immich_mobile/domain/models/store.model.dart';
|
||||||
import 'package:immich_mobile/domain/utils/background_sync.dart';
|
import 'package:immich_mobile/domain/utils/background_sync.dart';
|
||||||
import 'package:immich_mobile/entities/store.entity.dart';
|
import 'package:immich_mobile/entities/store.entity.dart';
|
||||||
import 'package:immich_mobile/interfaces/auth.interface.dart';
|
|
||||||
import 'package:immich_mobile/interfaces/auth_api.interface.dart';
|
import 'package:immich_mobile/interfaces/auth_api.interface.dart';
|
||||||
import 'package:immich_mobile/models/auth/auxilary_endpoint.model.dart';
|
import 'package:immich_mobile/models/auth/auxilary_endpoint.model.dart';
|
||||||
import 'package:immich_mobile/models/auth/login_response.model.dart';
|
import 'package:immich_mobile/models/auth/login_response.model.dart';
|
||||||
@ -30,7 +29,7 @@ final authServiceProvider = Provider(
|
|||||||
|
|
||||||
class AuthService {
|
class AuthService {
|
||||||
final IAuthApiRepository _authApiRepository;
|
final IAuthApiRepository _authApiRepository;
|
||||||
final IAuthRepository _authRepository;
|
final AuthRepository _authRepository;
|
||||||
final ApiService _apiService;
|
final ApiService _apiService;
|
||||||
final NetworkService _networkService;
|
final NetworkService _networkService;
|
||||||
final BackgroundSyncManager _backgroundSyncManager;
|
final BackgroundSyncManager _backgroundSyncManager;
|
||||||
|
@ -3,7 +3,6 @@ import 'package:immich_mobile/interfaces/album.interface.dart';
|
|||||||
import 'package:immich_mobile/interfaces/asset.interface.dart';
|
import 'package:immich_mobile/interfaces/asset.interface.dart';
|
||||||
import 'package:immich_mobile/interfaces/asset_api.interface.dart';
|
import 'package:immich_mobile/interfaces/asset_api.interface.dart';
|
||||||
import 'package:immich_mobile/interfaces/asset_media.interface.dart';
|
import 'package:immich_mobile/interfaces/asset_media.interface.dart';
|
||||||
import 'package:immich_mobile/interfaces/auth.interface.dart';
|
|
||||||
import 'package:immich_mobile/interfaces/auth_api.interface.dart';
|
import 'package:immich_mobile/interfaces/auth_api.interface.dart';
|
||||||
import 'package:immich_mobile/repositories/partner_api.repository.dart';
|
import 'package:immich_mobile/repositories/partner_api.repository.dart';
|
||||||
import 'package:immich_mobile/repositories/album_media.repository.dart';
|
import 'package:immich_mobile/repositories/album_media.repository.dart';
|
||||||
@ -13,6 +12,7 @@ import 'package:immich_mobile/repositories/etag.repository.dart';
|
|||||||
import 'package:immich_mobile/repositories/local_files_manager.repository.dart';
|
import 'package:immich_mobile/repositories/local_files_manager.repository.dart';
|
||||||
import 'package:immich_mobile/repositories/file_media.repository.dart';
|
import 'package:immich_mobile/repositories/file_media.repository.dart';
|
||||||
import 'package:immich_mobile/repositories/backup.repository.dart';
|
import 'package:immich_mobile/repositories/backup.repository.dart';
|
||||||
|
import 'package:immich_mobile/repositories/auth.repository.dart';
|
||||||
import 'package:mocktail/mocktail.dart';
|
import 'package:mocktail/mocktail.dart';
|
||||||
|
|
||||||
class MockAlbumRepository extends Mock implements IAlbumRepository {}
|
class MockAlbumRepository extends Mock implements IAlbumRepository {}
|
||||||
@ -39,7 +39,7 @@ class MockAlbumApiRepository extends Mock implements AlbumApiRepository {}
|
|||||||
|
|
||||||
class MockAuthApiRepository extends Mock implements IAuthApiRepository {}
|
class MockAuthApiRepository extends Mock implements IAuthApiRepository {}
|
||||||
|
|
||||||
class MockAuthRepository extends Mock implements IAuthRepository {}
|
class MockAuthRepository extends Mock implements AuthRepository {}
|
||||||
|
|
||||||
class MockPartnerRepository extends Mock implements PartnerRepository {}
|
class MockPartnerRepository extends Mock implements PartnerRepository {}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user