mirror of
https://github.com/immich-app/immich
synced 2026-08-22 13:13:05 +00:00
changes from main & formatting
This commit is contained in:
parent
505886fcb2
commit
8221c11be7
14 changed files with 32 additions and 44 deletions
|
|
@ -49,7 +49,6 @@ import 'package:immich_mobile/infrastructure/repositories/remote_album.repositor
|
|||
import 'package:immich_mobile/infrastructure/repositories/remote_asset.repository.dart';
|
||||
import 'package:immich_mobile/infrastructure/repositories/remote_exif.repository.dart';
|
||||
import 'package:immich_mobile/infrastructure/repositories/stack.repository.dart';
|
||||
import 'package:immich_mobile/infrastructure/repositories/store.repository.dart';
|
||||
import 'package:immich_mobile/infrastructure/repositories/sync_migration.repository.dart';
|
||||
import 'package:immich_mobile/infrastructure/repositories/sync_stream.repository.dart';
|
||||
import 'package:immich_mobile/infrastructure/repositories/timeline.repository.dart';
|
||||
|
|
@ -108,7 +107,6 @@ import 'package:sqlite_async/sqlite_async.dart';
|
|||
RemoteAssetRepository,
|
||||
RemoteExifRepository,
|
||||
StackRepository,
|
||||
StoreRepository,
|
||||
SyncMigrationRepository,
|
||||
SyncStreamRepository,
|
||||
TimelineRepository,
|
||||
|
|
|
|||
|
|
@ -17,7 +17,6 @@ import 'package:immich_mobile/providers/background_sync.provider.dart';
|
|||
import 'package:immich_mobile/providers/backup/drift_backup.provider.dart';
|
||||
import 'package:immich_mobile/providers/infrastructure/db.provider.dart';
|
||||
import 'package:immich_mobile/providers/infrastructure/session.provider.dart';
|
||||
import 'package:immich_mobile/providers/infrastructure/user.provider.dart';
|
||||
import 'package:immich_mobile/providers/server_info.provider.dart';
|
||||
import 'package:immich_mobile/providers/view_intent/view_intent_handler.provider.dart';
|
||||
import 'package:immich_mobile/providers/websocket.provider.dart';
|
||||
|
|
|
|||
|
|
@ -5,7 +5,6 @@ import 'package:immich_mobile/domain/models/asset/base_asset.model.dart';
|
|||
import 'package:immich_mobile/extensions/platform_extensions.dart';
|
||||
import 'package:immich_mobile/generated/translations.g.dart';
|
||||
import 'package:immich_mobile/presentation/actions/action.dart';
|
||||
import 'package:immich_mobile/providers/infrastructure/app_metadata.provider.dart';
|
||||
import 'package:immich_mobile/providers/infrastructure/asset.provider.dart';
|
||||
import 'package:immich_mobile/providers/infrastructure/db.provider.dart';
|
||||
import 'package:immich_mobile/providers/infrastructure/toast.provider.dart';
|
||||
|
|
|
|||
|
|
@ -1,7 +0,0 @@
|
|||
import 'package:hooks_riverpod/hooks_riverpod.dart';
|
||||
import 'package:immich_mobile/infrastructure/repositories/app_metadata.repository.dart';
|
||||
import 'package:immich_mobile/providers/infrastructure/db.provider.dart';
|
||||
|
||||
final appMetadataRepositoryProvider = Provider<AppMetadataRepository>(
|
||||
(ref) => AppMetadataRepository(ref.watch(driftProvider)),
|
||||
);
|
||||
|
|
@ -1,10 +1,5 @@
|
|||
import 'package:hooks_riverpod/hooks_riverpod.dart';
|
||||
import 'package:immich_mobile/domain/services/asset.service.dart';
|
||||
import 'package:immich_mobile/infrastructure/repositories/local_asset.repository.dart';
|
||||
import 'package:immich_mobile/infrastructure/repositories/remote_asset.repository.dart';
|
||||
import 'package:immich_mobile/infrastructure/repositories/remote_exif.repository.dart';
|
||||
import 'package:immich_mobile/infrastructure/repositories/trashed_local_asset.repository.dart';
|
||||
import 'package:immich_mobile/providers/infrastructure/app_metadata.provider.dart';
|
||||
import 'package:immich_mobile/providers/infrastructure/db.provider.dart';
|
||||
import 'package:immich_mobile/providers/user.provider.dart';
|
||||
import 'package:immich_mobile/repositories/asset_api.repository.dart';
|
||||
|
|
|
|||
|
|
@ -4,9 +4,6 @@ import 'package:immich_mobile/domain/services/local_sync.service.dart';
|
|||
import 'package:immich_mobile/domain/services/sync_stream.service.dart';
|
||||
import 'package:immich_mobile/infrastructure/repositories/sync_api.repository.dart';
|
||||
import 'package:immich_mobile/providers/api.provider.dart';
|
||||
import 'package:immich_mobile/providers/infrastructure/album.provider.dart';
|
||||
import 'package:immich_mobile/providers/infrastructure/app_metadata.provider.dart';
|
||||
import 'package:immich_mobile/providers/infrastructure/asset.provider.dart';
|
||||
import 'package:immich_mobile/providers/infrastructure/cancel.provider.dart';
|
||||
import 'package:immich_mobile/providers/infrastructure/db.provider.dart';
|
||||
import 'package:immich_mobile/providers/infrastructure/platform.provider.dart';
|
||||
|
|
|
|||
|
|
@ -6,10 +6,6 @@ import 'package:immich_mobile/providers/api.provider.dart';
|
|||
import 'package:immich_mobile/providers/infrastructure/db.provider.dart';
|
||||
import 'package:immich_mobile/repositories/partner_api.repository.dart';
|
||||
|
||||
final userRepositoryProvider = Provider((ref) => UserRepository(ref.watch(driftProvider)));
|
||||
|
||||
final authUserRepositoryProvider = Provider((ref) => DriftAuthUserRepository(ref.watch(driftProvider)));
|
||||
|
||||
final userApiRepositoryProvider = Provider((ref) => UserApiRepository(ref.watch(apiServiceProvider).usersApi));
|
||||
|
||||
final userServiceProvider = Provider((ref) {
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ import 'package:immich_mobile/infrastructure/repositories/session.repository.dar
|
|||
import 'package:immich_mobile/infrastructure/repositories/settings.repository.dart';
|
||||
import 'package:immich_mobile/infrastructure/repositories/storage.repository.dart';
|
||||
import 'package:immich_mobile/infrastructure/store.dart';
|
||||
import 'package:immich_mobile/providers/infrastructure/asset.provider.dart';
|
||||
import 'package:immich_mobile/providers/infrastructure/db.provider.dart';
|
||||
import 'package:immich_mobile/providers/infrastructure/storage.provider.dart';
|
||||
import 'package:immich_mobile/repositories/asset_media.repository.dart';
|
||||
import 'package:immich_mobile/repositories/upload.repository.dart';
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import 'package:background_downloader/background_downloader.dart';
|
||||
import 'package:immich_mobile/constants/constants.dart';
|
||||
import 'package:immich_mobile/domain/services/log.service.dart';
|
||||
import 'package:immich_mobile/extensions/translate_extensions.dart';
|
||||
import 'package:immich_mobile/generated/translations.g.dart';
|
||||
import 'package:immich_mobile/infrastructure/repositories/db.repository.dart';
|
||||
import 'package:immich_mobile/infrastructure/repositories/log.repository.dart';
|
||||
import 'package:immich_mobile/infrastructure/repositories/logger_db.repository.dart';
|
||||
|
|
|
|||
|
|
@ -16,7 +16,6 @@ import 'package:immich_mobile/domain/services/feature_message.service.dart';
|
|||
import 'package:immich_mobile/infrastructure/entities/app_metadata.entity.drift.dart';
|
||||
import 'package:immich_mobile/infrastructure/entities/session.entity.drift.dart';
|
||||
import 'package:immich_mobile/infrastructure/entities/settings.entity.drift.dart';
|
||||
import 'package:immich_mobile/infrastructure/repositories/app_metadata.repository.dart';
|
||||
import 'package:immich_mobile/infrastructure/repositories/db.repository.dart';
|
||||
import 'package:immich_mobile/infrastructure/repositories/network.repository.dart';
|
||||
import 'package:immich_mobile/infrastructure/repositories/session.repository.dart';
|
||||
|
|
@ -65,7 +64,17 @@ Future<Map<int, Object?>> _readLegacyStore(Drift drift) async {
|
|||
}
|
||||
|
||||
Future<void> _migrateTo25(Drift drift, Map<int, Object?> legacyStore) async {
|
||||
final migrator = _StoreMigrator.settings(drift, legacyStore);
|
||||
final migrator = _StoreMigrator<SettingsKey>._(
|
||||
drift,
|
||||
legacyStore,
|
||||
encode: (key, value) => key.encode(value),
|
||||
readDefault: (key) => defaultConfig.read(key),
|
||||
insertRow: (batch, name, value) => batch.insert(
|
||||
drift.settingsEntity,
|
||||
SettingsEntityCompanion(key: Value(name), value: Value(value)),
|
||||
mode: InsertMode.insertOrReplace,
|
||||
),
|
||||
);
|
||||
|
||||
final accessToken = migrator.readLegacyStoreString(.legacyAccessToken);
|
||||
if (accessToken == null || accessToken.isEmpty) {
|
||||
|
|
@ -103,9 +112,10 @@ Future<void> _migrateTo25(Drift drift, Map<int, Object?> legacyStore) async {
|
|||
await NetworkRepository.setHeaders(headers, urls, token: accessToken);
|
||||
}
|
||||
|
||||
Future<void> _migrateTo26(Drift drift) async {
|
||||
Future<void> _migrateTo26(Drift drift, Map<int, Object?> legacyStore) async {
|
||||
final migrator = _StoreMigrator<SettingsKey>._(
|
||||
drift,
|
||||
legacyStore,
|
||||
encode: (key, value) => key.encode(value),
|
||||
readDefault: (key) => defaultConfig.read(key),
|
||||
insertRow: (batch, name, value) => batch.insert(
|
||||
|
|
@ -114,7 +124,7 @@ Future<void> _migrateTo26(Drift drift) async {
|
|||
mode: InsertMode.insertOrReplace,
|
||||
),
|
||||
);
|
||||
await migrator.migrateEnumIndex(StoreKey.legacyLogLevel, SettingsKey.logLevel, LogLevel.values);
|
||||
await migrator.migrateEnumIndex(.legacyLogLevel, .logLevel, LogLevel.values);
|
||||
// Theme
|
||||
await migrator.migrateEnumName(.legacyThemeMode, .themeMode, ThemeMode.values);
|
||||
await migrator.migrateEnumName(.legacyPrimaryColor, .themePrimaryColor, ImmichColorPreset.values);
|
||||
|
|
@ -170,9 +180,10 @@ Future<void> _migrateTo26(Drift drift) async {
|
|||
await migrator.complete();
|
||||
}
|
||||
|
||||
Future<void> _migrateTo27(Drift drift) async {
|
||||
Future<void> _migrateTo27(Drift drift, Map<int, Object?> legacyStore) async {
|
||||
final migrator = _StoreMigrator<SessionKey>._(
|
||||
drift,
|
||||
legacyStore,
|
||||
encode: (key, value) => key.encode(value),
|
||||
readDefault: (key) => defaultSession.read(key),
|
||||
insertRow: (batch, name, value) => batch.insert(
|
||||
|
|
@ -181,17 +192,18 @@ Future<void> _migrateTo27(Drift drift) async {
|
|||
mode: InsertMode.insertOrReplace,
|
||||
),
|
||||
);
|
||||
await migrator.migrateString(StoreKey.legacyServerUrl, SessionKey.serverUrl);
|
||||
await migrator.migrateString(StoreKey.legacyAccessToken, SessionKey.accessToken);
|
||||
await migrator.migrateString(StoreKey.legacyServerEndpoint, SessionKey.serverEndpoint);
|
||||
await migrator.migrateString(.legacyServerUrl, .serverUrl);
|
||||
await migrator.migrateString(.legacyAccessToken, .accessToken);
|
||||
await migrator.migrateString(.legacyServerEndpoint, .serverEndpoint);
|
||||
await migrator.complete();
|
||||
|
||||
await SessionRepository.instance.refresh();
|
||||
}
|
||||
|
||||
Future<void> _migrateTo28(Drift drift) async {
|
||||
Future<void> _migrateTo28(Drift drift, Map<int, Object?> legacyStore) async {
|
||||
final migrator = _StoreMigrator<SettingsKey>._(
|
||||
drift,
|
||||
legacyStore,
|
||||
encode: (key, value) => key.encode(value),
|
||||
readDefault: (key) => defaultConfig.read(key),
|
||||
insertRow: (batch, name, value) => batch.insert(
|
||||
|
|
@ -200,17 +212,18 @@ Future<void> _migrateTo28(Drift drift) async {
|
|||
mode: InsertMode.insertOrReplace,
|
||||
),
|
||||
);
|
||||
await migrator.migrateBool(StoreKey.legacyAdvancedTroubleshooting, SettingsKey.advancedTroubleshooting);
|
||||
await migrator.migrateBool(StoreKey.legacyEnableHapticFeedback, SettingsKey.advancedEnableHapticFeedback);
|
||||
await migrator.migrateBool(StoreKey.legacyReadonlyModeEnabled, SettingsKey.advancedReadonlyModeEnabled);
|
||||
await migrator.migrateBool(.legacyAdvancedTroubleshooting, .advancedTroubleshooting);
|
||||
await migrator.migrateBool(.legacyEnableHapticFeedback, .advancedEnableHapticFeedback);
|
||||
await migrator.migrateBool(.legacyReadonlyModeEnabled, .advancedReadonlyModeEnabled);
|
||||
await migrator.complete();
|
||||
|
||||
await SettingsRepository.instance.refresh();
|
||||
}
|
||||
|
||||
Future<void> _migrateTo29(Drift drift) async {
|
||||
Future<void> _migrateTo29(Drift drift, Map<int, Object?> legacyStore) async {
|
||||
final migrator = _StoreMigrator<AppMetadataKey>._(
|
||||
drift,
|
||||
legacyStore,
|
||||
encode: (key, value) => key.encode(value),
|
||||
readDefault: (_) => null,
|
||||
insertRow: (batch, name, value) => batch.insert(
|
||||
|
|
|
|||
|
|
@ -12,7 +12,6 @@ import 'package:immich_mobile/extensions/platform_extensions.dart';
|
|||
import 'package:immich_mobile/generated/translations.g.dart';
|
||||
import 'package:immich_mobile/providers/background_sync.provider.dart';
|
||||
import 'package:immich_mobile/providers/infrastructure/album.provider.dart';
|
||||
import 'package:immich_mobile/providers/infrastructure/app_metadata.provider.dart';
|
||||
import 'package:immich_mobile/providers/infrastructure/asset.provider.dart';
|
||||
import 'package:immich_mobile/providers/infrastructure/db.provider.dart';
|
||||
import 'package:immich_mobile/providers/infrastructure/storage.provider.dart';
|
||||
|
|
|
|||
|
|
@ -20,6 +20,10 @@ import 'package:immich_mobile/repositories/drift_album_api_repository.dart';
|
|||
import 'package:immich_mobile/repositories/upload.repository.dart';
|
||||
import 'package:mocktail/mocktail.dart';
|
||||
|
||||
class MockDrift extends Mock implements Drift {}
|
||||
|
||||
class MockMemoryRepository extends Mock implements MemoryRepository {}
|
||||
|
||||
class MockSettingsRepository extends Mock implements SettingsRepository {}
|
||||
|
||||
class MockAppMetadataRepository extends Mock implements AppMetadataRepository {}
|
||||
|
|
|
|||
|
|
@ -8,10 +8,8 @@ import 'package:drift/native.dart';
|
|||
import 'package:flutter_test/flutter_test.dart';
|
||||
import 'package:http/http.dart' as http;
|
||||
import 'package:immich_mobile/domain/models/session.model.dart';
|
||||
import 'package:immich_mobile/domain/services/store.service.dart';
|
||||
import 'package:immich_mobile/infrastructure/repositories/db.repository.dart';
|
||||
import 'package:immich_mobile/infrastructure/repositories/session.repository.dart';
|
||||
import 'package:immich_mobile/infrastructure/repositories/store.repository.dart';
|
||||
import 'package:immich_mobile/repositories/upload.repository.dart';
|
||||
import 'package:mocktail/mocktail.dart';
|
||||
|
||||
|
|
@ -34,7 +32,6 @@ void main() {
|
|||
TestWidgetsFlutterBinding.ensureInitialized();
|
||||
FileDownloader(persistentStorage: _NoStorage());
|
||||
final db = Drift(DatabaseConnection(NativeDatabase.memory(), closeStreamsSynchronously: true));
|
||||
await StoreService.init(storeRepository: StoreRepository(db));
|
||||
await SessionRepository.ensureInitialized(db);
|
||||
await SessionRepository.instance.write(SessionKey.serverEndpoint, 'http://demo.immich.app/api');
|
||||
registerFallbackValue(_FakeBaseRequest());
|
||||
|
|
|
|||
|
|
@ -15,7 +15,6 @@ import 'package:immich_mobile/infrastructure/repositories/settings.repository.da
|
|||
import 'package:immich_mobile/presentation/actions/action.dart';
|
||||
import 'package:immich_mobile/presentation/actions/action.widget.dart';
|
||||
import 'package:immich_mobile/providers/infrastructure/album.provider.dart';
|
||||
import 'package:immich_mobile/providers/infrastructure/app_metadata.provider.dart';
|
||||
import 'package:immich_mobile/providers/infrastructure/asset.provider.dart';
|
||||
import 'package:immich_mobile/providers/infrastructure/db.provider.dart';
|
||||
import 'package:immich_mobile/providers/infrastructure/user.provider.dart';
|
||||
|
|
@ -63,7 +62,6 @@ class PresentationContext {
|
|||
serverInfoServiceProvider.overrideWithValue(service.serverInfo),
|
||||
inLockedViewProvider.overrideWithValue(false),
|
||||
assetMediaRepositoryProvider.overrideWithValue(repository.assetMedia.api),
|
||||
appMetadataRepositoryProvider.overrideWithValue(repository.metadata),
|
||||
];
|
||||
|
||||
Drift _mockDrift() {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue