From 8dcfd36fa579925d205719a92516b4be7b8c2e6d Mon Sep 17 00:00:00 2001 From: Adam Gastineau Date: Mon, 24 Aug 2026 12:21:02 -0700 Subject: [PATCH] chore(mobile): move Drift into mobile/data (#30966) * chore(mobile): move Drift into mobile/data * Move into more structured subdirectories * Fix changed merge paths --- mobile/build.yaml | 7 +-- .../background_sync_teardown_test.dart | 4 +- .../failed_sync_resume_e2e_test.dart | 2 +- .../failed_sync_resume_test.dart | 2 +- .../db/logger/database.dart} | 4 +- .../db/logger/table/log.dart} | 2 +- .../db/main/dao/person.dart} | 6 +- .../db/main/database.dart} | 60 +++++++++---------- .../db/main/query}/merged_asset.drift | 10 ++-- .../db/main/table/app/settings.dart} | 2 +- .../db/main/table/app/store.dart} | 2 +- .../db/main/table/asset/edit.dart} | 6 +- .../db/main/table/asset/ocr.dart} | 4 +- .../db/main/table/local/album.dart} | 6 +- .../db/main/table/local/album_asset.dart} | 6 +- .../db/main/table/local/asset.dart} | 6 +- .../db/main/table/local/trashed_asset.dart} | 6 +- .../db/main/table/memory/asset.dart} | 6 +- .../db/main/table/memory/memory.dart} | 4 +- .../db/main/table/people/asset_face.dart} | 6 +- .../db/main/table/people/person.dart} | 4 +- .../db/main/table/remote/album.dart} | 4 +- .../db/main/table/remote/album_asset.dart} | 6 +- .../db/main/table/remote/album_user.dart} | 6 +- .../db/main/table/remote/asset.dart} | 8 +-- .../db/main/table/remote/cloud_id.dart} | 4 +- .../db/main/table/remote/exif.dart} | 6 +- .../db/main/table/remote/stack.dart} | 4 +- .../db/main/table/user/auth_user.dart} | 2 +- .../db/main/table/user/metadata.dart} | 4 +- .../db/main/table/user/partner.dart} | 4 +- .../db/main/table/user/user.dart} | 2 +- .../db/util/asset_mixin.dart} | 0 .../db/util/defaults_mixin.dart} | 0 .../server/api_repository.dart} | 2 +- .../{constants => data/server}/errors.dart | 0 .../server/person.dart} | 4 +- .../services/background_worker.service.dart | 4 +- .../lib/domain/services/people.service.dart | 4 +- .../lib/domain/utils/migrate_cloud_ids.dart | 4 +- mobile/lib/infrastructure/README.md | 9 +-- mobile/lib/infrastructure/mapper.dart | 4 +- .../repositories/backup.repository.dart | 6 +- .../repositories/local_album.repository.dart | 12 ++-- .../repositories/local_asset.repository.dart | 8 +-- .../repositories/log.repository.dart | 6 +- .../repositories/map.repository.dart | 6 +- .../repositories/memory.repository.dart | 6 +- .../repositories/ocr.repository.dart | 4 +- .../repositories/partner.repository.dart | 4 +- .../repositories/remote_album.repository.dart | 12 ++-- .../repositories/remote_asset.repository.dart | 14 ++--- .../repositories/remote_exif.repository.dart | 4 +- .../repositories/search_api.repository.dart | 2 +- .../repositories/settings.repository.dart | 4 +- .../repositories/stack.repository.dart | 4 +- .../repositories/store.repository.dart | 4 +- .../sync_migration.repository.dart | 2 +- .../repositories/sync_stream.repository.dart | 38 ++++++------ .../repositories/tags_api.repository.dart | 2 +- .../repositories/timeline.repository.dart | 8 +-- .../trashed_local_asset.repository.dart | 10 ++-- .../repositories/user.repository.dart | 4 +- .../repositories/user_api.repository.dart | 2 +- .../user_metadata.repository.dart | 4 +- .../lib/pages/common/splash_screen.page.dart | 2 +- .../pages/dev/media_stat.page.dart | 2 +- .../providers/infrastructure/db.provider.dart | 2 +- .../infrastructure/people.provider.dart | 2 +- mobile/lib/repositories/api.repository.dart | 2 +- mobile/lib/repositories/auth.repository.dart | 2 +- mobile/lib/services/activity.service.dart | 2 +- mobile/lib/utils/bootstrap.dart | 4 +- mobile/lib/utils/migration.dart | 4 +- mobile/lib/utils/provider_utils.dart | 2 +- mobile/mise.toml | 8 +-- .../sync_stream_repository_test.dart | 8 +-- .../services/local_sync_service_test.dart | 2 +- .../services/sync_stream_service_test.dart | 2 +- mobile/test/drift/main/migration_test.dart | 2 +- .../test/infrastructure/db_watchers_test.dart | 4 +- .../local_album_repository_test.dart | 2 +- .../repositories/merged_asset_drift_test.dart | 6 +- .../repositories/store_repository_test.dart | 4 +- .../sync_api_repository_test.dart | 2 +- .../test/infrastructure/repository.mock.dart | 2 +- .../repositories/people_repository_test.dart | 2 +- .../settings_repository_test.dart | 2 +- mobile/test/medium/repository_context.dart | 36 +++++------ .../modules/map/map_theme_override_test.dart | 2 +- .../infrastructure/memory_provider_test.dart | 2 +- .../repositories/upload_repository_test.dart | 2 +- mobile/test/services/action.service_test.dart | 2 +- mobile/test/services/auth.service_test.dart | 2 +- .../background_upload.service_test.dart | 2 +- .../foreground_upload.service_test.dart | 2 +- mobile/test/test_utils/medium_factory.dart | 2 +- .../presentation/presentation_context.dart | 2 +- .../unit/services/asset_service_test.dart | 2 +- mobile/test/utils/image_url_builder_test.dart | 2 +- 100 files changed, 264 insertions(+), 266 deletions(-) rename mobile/lib/{infrastructure/repositories/logger_db.repository.dart => data/db/logger/database.dart} (87%) rename mobile/lib/{infrastructure/entities/log.entity.dart => data/db/logger/table/log.dart} (91%) rename mobile/lib/{infrastructure/repositories/people.repository.dart => data/db/main/dao/person.dart} (92%) rename mobile/lib/{infrastructure/repositories/db.repository.dart => data/db/main/database.dart} (88%) rename mobile/lib/{infrastructure/entities => data/db/main/query}/merged_asset.drift (94%) rename mobile/lib/{infrastructure/entities/settings.entity.dart => data/db/main/table/app/settings.dart} (83%) rename mobile/lib/{infrastructure/entities/store.entity.dart => data/db/main/table/app/store.dart} (78%) rename mobile/lib/{infrastructure/entities/asset_edit.entity.dart => data/db/main/table/asset/edit.dart} (84%) rename mobile/lib/{infrastructure/entities/asset_ocr.entity.dart => data/db/main/table/asset/ocr.dart} (84%) rename mobile/lib/{infrastructure/entities/local_album.entity.dart => data/db/main/table/local/album.dart} (83%) rename mobile/lib/{infrastructure/entities/local_album_asset.entity.dart => data/db/main/table/local/album_asset.dart} (72%) rename mobile/lib/{infrastructure/entities/local_asset.entity.dart => data/db/main/table/local/asset.dart} (88%) rename mobile/lib/{infrastructure/entities/trashed_local_asset.entity.dart => data/db/main/table/local/trashed_asset.dart} (86%) rename mobile/lib/{infrastructure/entities/memory_asset.entity.dart => data/db/main/table/memory/asset.dart} (63%) rename mobile/lib/{infrastructure/entities/memory.entity.dart => data/db/main/table/memory/memory.dart} (86%) rename mobile/lib/{infrastructure/entities/asset_face.entity.dart => data/db/main/table/people/asset_face.dart} (84%) rename mobile/lib/{infrastructure/entities/person.entity.dart => data/db/main/table/people/person.dart} (84%) rename mobile/lib/{infrastructure/entities/remote_album.entity.dart => data/db/main/table/remote/album.dart} (83%) rename mobile/lib/{infrastructure/entities/remote_album_asset.entity.dart => data/db/main/table/remote/album_asset.dart} (69%) rename mobile/lib/{infrastructure/entities/remote_album_user.entity.dart => data/db/main/table/remote/album_user.dart} (69%) rename mobile/lib/{infrastructure/entities/remote_asset.entity.dart => data/db/main/table/remote/asset.dart} (88%) rename mobile/lib/{infrastructure/entities/remote_asset_cloud_id.entity.dart => data/db/main/table/remote/cloud_id.dart} (80%) rename mobile/lib/{infrastructure/entities/exif.entity.dart => data/db/main/table/remote/exif.dart} (91%) rename mobile/lib/{infrastructure/entities/stack.entity.dart => data/db/main/table/remote/stack.dart} (80%) rename mobile/lib/{infrastructure/entities/auth_user.entity.dart => data/db/main/table/user/auth_user.dart} (92%) rename mobile/lib/{infrastructure/entities/user_metadata.entity.dart => data/db/main/table/user/metadata.dart} (81%) rename mobile/lib/{infrastructure/entities/partner.entity.dart => data/db/main/table/user/partner.dart} (79%) rename mobile/lib/{infrastructure/entities/user.entity.dart => data/db/main/table/user/user.dart} (88%) rename mobile/lib/{infrastructure/utils/asset.mixin.dart => data/db/util/asset_mixin.dart} (100%) rename mobile/lib/{infrastructure/utils/drift_default.mixin.dart => data/db/util/defaults_mixin.dart} (100%) rename mobile/lib/{infrastructure/repositories/api.repository.dart => data/server/api_repository.dart} (80%) rename mobile/lib/{constants => data/server}/errors.dart (100%) rename mobile/lib/{repositories/person_api.repository.dart => data/server/person.dart} (91%) diff --git a/mobile/build.yaml b/mobile/build.yaml index 32cd96c5d..f75f24a3c 100644 --- a/mobile/build.yaml +++ b/mobile/build.yaml @@ -14,11 +14,10 @@ targets: data_class_to_companions: false # Required for make-migrations databases: - main: lib/infrastructure/repositories/db.repository.dart + main: lib/data/db/main/database.dart generate_for: &drift_generate_for - - lib/infrastructure/entities/*.dart - - lib/infrastructure/entities/*.drift - - lib/infrastructure/repositories/*.repository.dart + - lib/data/db/** + - lib/infrastructure/repositories/** drift_dev:modular: enabled: true options: *drift_options diff --git a/mobile/integration_test/background_sync_teardown_test.dart b/mobile/integration_test/background_sync_teardown_test.dart index 3e88109c8..f7eaa30a6 100644 --- a/mobile/integration_test/background_sync_teardown_test.dart +++ b/mobile/integration_test/background_sync_teardown_test.dart @@ -2,11 +2,11 @@ import 'dart:async'; import 'package:drift/drift.dart' show Value; import 'package:flutter_test/flutter_test.dart'; +import 'package:immich_mobile/data/db/main/database.dart'; +import 'package:immich_mobile/data/db/main/table/user/user.drift.dart'; import 'package:immich_mobile/domain/models/store.model.dart'; import 'package:immich_mobile/domain/utils/background_sync.dart'; import 'package:immich_mobile/entities/store.entity.dart'; -import 'package:immich_mobile/infrastructure/entities/user.entity.drift.dart'; -import 'package:immich_mobile/infrastructure/repositories/db.repository.dart'; import 'package:immich_mobile/main.dart' as app; import 'package:immich_mobile/services/api.service.dart'; import 'package:immich_mobile/utils/bootstrap.dart'; diff --git a/mobile/integration_test/failed_sync_resume_e2e_test.dart b/mobile/integration_test/failed_sync_resume_e2e_test.dart index 255074df9..025fc9d1d 100644 --- a/mobile/integration_test/failed_sync_resume_e2e_test.dart +++ b/mobile/integration_test/failed_sync_resume_e2e_test.dart @@ -4,9 +4,9 @@ import 'dart:math'; import 'package:flutter_test/flutter_test.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart'; +import 'package:immich_mobile/data/db/main/database.dart'; import 'package:immich_mobile/domain/services/background_worker.service.dart'; import 'package:immich_mobile/domain/utils/background_sync.dart'; -import 'package:immich_mobile/infrastructure/repositories/db.repository.dart'; import 'package:immich_mobile/main.dart' as app; import 'package:immich_mobile/platform/background_worker_api.g.dart'; import 'package:immich_mobile/providers/app_life_cycle.provider.dart'; diff --git a/mobile/integration_test/failed_sync_resume_test.dart b/mobile/integration_test/failed_sync_resume_test.dart index c23319dff..cceee9ceb 100644 --- a/mobile/integration_test/failed_sync_resume_test.dart +++ b/mobile/integration_test/failed_sync_resume_test.dart @@ -3,9 +3,9 @@ import 'dart:io'; import 'dart:math'; import 'package:flutter_test/flutter_test.dart'; +import 'package:immich_mobile/data/db/main/database.dart'; import 'package:immich_mobile/domain/services/background_worker.service.dart'; import 'package:immich_mobile/domain/utils/background_sync.dart'; -import 'package:immich_mobile/infrastructure/repositories/db.repository.dart'; import 'package:immich_mobile/main.dart' as app; import 'package:immich_mobile/platform/background_worker_api.g.dart'; import 'package:immich_mobile/services/api.service.dart'; diff --git a/mobile/lib/infrastructure/repositories/logger_db.repository.dart b/mobile/lib/data/db/logger/database.dart similarity index 87% rename from mobile/lib/infrastructure/repositories/logger_db.repository.dart rename to mobile/lib/data/db/logger/database.dart index 8d9794ac8..1c4dcadd0 100644 --- a/mobile/lib/infrastructure/repositories/logger_db.repository.dart +++ b/mobile/lib/data/db/logger/database.dart @@ -1,7 +1,7 @@ import 'package:drift/drift.dart'; import 'package:drift_sqlite_async/drift_sqlite_async.dart'; -import 'package:immich_mobile/infrastructure/entities/log.entity.dart'; -import 'package:immich_mobile/infrastructure/repositories/logger_db.repository.drift.dart'; +import 'package:immich_mobile/data/db/logger/database.drift.dart'; +import 'package:immich_mobile/data/db/logger/table/log.dart'; import 'package:immich_mobile/utils/debug_print.dart'; import 'package:sqlite_async/sqlite_async.dart'; diff --git a/mobile/lib/infrastructure/entities/log.entity.dart b/mobile/lib/data/db/logger/table/log.dart similarity index 91% rename from mobile/lib/infrastructure/entities/log.entity.dart rename to mobile/lib/data/db/logger/table/log.dart index 264bd3331..340fd9407 100644 --- a/mobile/lib/infrastructure/entities/log.entity.dart +++ b/mobile/lib/data/db/logger/table/log.dart @@ -1,6 +1,6 @@ import 'package:drift/drift.dart'; +import 'package:immich_mobile/data/db/logger/table/log.drift.dart'; import 'package:immich_mobile/domain/models/log.model.dart' as domain; -import 'package:immich_mobile/infrastructure/entities/log.entity.drift.dart'; class LogMessageEntity extends Table { const LogMessageEntity(); diff --git a/mobile/lib/infrastructure/repositories/people.repository.dart b/mobile/lib/data/db/main/dao/person.dart similarity index 92% rename from mobile/lib/infrastructure/repositories/people.repository.dart rename to mobile/lib/data/db/main/dao/person.dart index 52ba36233..d5f378274 100644 --- a/mobile/lib/infrastructure/repositories/people.repository.dart +++ b/mobile/lib/data/db/main/dao/person.dart @@ -1,9 +1,9 @@ import 'package:drift/drift.dart'; +import 'package:immich_mobile/data/db/main/dao/person.drift.dart'; +import 'package:immich_mobile/data/db/main/database.dart'; +import 'package:immich_mobile/data/db/main/table/people/person.drift.dart'; import 'package:immich_mobile/domain/models/asset/base_asset.model.dart'; import 'package:immich_mobile/domain/models/person.model.dart'; -import 'package:immich_mobile/infrastructure/entities/person.entity.drift.dart'; -import 'package:immich_mobile/infrastructure/repositories/db.repository.dart'; -import 'package:immich_mobile/infrastructure/repositories/people.repository.drift.dart'; @DriftAccessor() class PeopleRepository extends DatabaseAccessor with $PeopleRepositoryMixin { diff --git a/mobile/lib/infrastructure/repositories/db.repository.dart b/mobile/lib/data/db/main/database.dart similarity index 88% rename from mobile/lib/infrastructure/repositories/db.repository.dart rename to mobile/lib/data/db/main/database.dart index 195f1455d..195146fc5 100644 --- a/mobile/lib/infrastructure/repositories/db.repository.dart +++ b/mobile/lib/data/db/main/database.dart @@ -6,42 +6,42 @@ import 'package:drift/drift.dart'; import 'package:drift/src/runtime/executor/stream_queries.dart' show StreamQueryStore; import 'package:drift_sqlite_async/drift_sqlite_async.dart'; import 'package:flutter/foundation.dart'; -import 'package:immich_mobile/infrastructure/entities/asset_edit.entity.dart'; -import 'package:immich_mobile/infrastructure/entities/asset_face.entity.dart'; -import 'package:immich_mobile/infrastructure/entities/asset_ocr.entity.dart'; -import 'package:immich_mobile/infrastructure/entities/auth_user.entity.dart'; -import 'package:immich_mobile/infrastructure/entities/exif.entity.dart'; -import 'package:immich_mobile/infrastructure/entities/local_album.entity.dart'; -import 'package:immich_mobile/infrastructure/entities/local_album_asset.entity.dart'; -import 'package:immich_mobile/infrastructure/entities/local_asset.entity.dart'; -import 'package:immich_mobile/infrastructure/entities/local_asset.entity.drift.dart'; -import 'package:immich_mobile/infrastructure/entities/memory.entity.dart'; -import 'package:immich_mobile/infrastructure/entities/memory_asset.entity.dart'; -import 'package:immich_mobile/infrastructure/entities/partner.entity.dart'; -import 'package:immich_mobile/infrastructure/entities/person.entity.dart'; -import 'package:immich_mobile/infrastructure/entities/remote_album.entity.dart'; -import 'package:immich_mobile/infrastructure/entities/remote_album_asset.entity.dart'; -import 'package:immich_mobile/infrastructure/entities/remote_album_user.entity.dart'; -import 'package:immich_mobile/infrastructure/entities/remote_asset.entity.dart'; -import 'package:immich_mobile/infrastructure/entities/remote_asset.entity.drift.dart'; -import 'package:immich_mobile/infrastructure/entities/remote_asset_cloud_id.entity.dart'; -import 'package:immich_mobile/infrastructure/entities/settings.entity.dart'; -import 'package:immich_mobile/infrastructure/entities/stack.entity.dart'; -import 'package:immich_mobile/infrastructure/entities/store.entity.dart'; -import 'package:immich_mobile/infrastructure/entities/trashed_local_asset.entity.dart'; -import 'package:immich_mobile/infrastructure/entities/trashed_local_asset.entity.drift.dart'; -import 'package:immich_mobile/infrastructure/entities/user.entity.dart'; -import 'package:immich_mobile/infrastructure/entities/user_metadata.entity.dart'; +import 'package:immich_mobile/data/db/main/dao/person.dart'; +import 'package:immich_mobile/data/db/main/database.drift.dart'; +import 'package:immich_mobile/data/db/main/database.steps.dart'; +import 'package:immich_mobile/data/db/main/table/app/settings.dart'; +import 'package:immich_mobile/data/db/main/table/app/store.dart'; +import 'package:immich_mobile/data/db/main/table/asset/edit.dart'; +import 'package:immich_mobile/data/db/main/table/asset/ocr.dart'; +import 'package:immich_mobile/data/db/main/table/local/album.dart'; +import 'package:immich_mobile/data/db/main/table/local/album_asset.dart'; +import 'package:immich_mobile/data/db/main/table/local/asset.dart'; +import 'package:immich_mobile/data/db/main/table/local/asset.drift.dart'; +import 'package:immich_mobile/data/db/main/table/local/trashed_asset.dart'; +import 'package:immich_mobile/data/db/main/table/local/trashed_asset.drift.dart'; +import 'package:immich_mobile/data/db/main/table/memory/asset.dart'; +import 'package:immich_mobile/data/db/main/table/memory/memory.dart'; +import 'package:immich_mobile/data/db/main/table/people/asset_face.dart'; +import 'package:immich_mobile/data/db/main/table/people/person.dart'; +import 'package:immich_mobile/data/db/main/table/remote/album.dart'; +import 'package:immich_mobile/data/db/main/table/remote/album_asset.dart'; +import 'package:immich_mobile/data/db/main/table/remote/album_user.dart'; +import 'package:immich_mobile/data/db/main/table/remote/asset.dart'; +import 'package:immich_mobile/data/db/main/table/remote/asset.drift.dart'; +import 'package:immich_mobile/data/db/main/table/remote/cloud_id.dart'; +import 'package:immich_mobile/data/db/main/table/remote/exif.dart'; +import 'package:immich_mobile/data/db/main/table/remote/stack.dart'; +import 'package:immich_mobile/data/db/main/table/user/auth_user.dart'; +import 'package:immich_mobile/data/db/main/table/user/metadata.dart'; +import 'package:immich_mobile/data/db/main/table/user/partner.dart'; +import 'package:immich_mobile/data/db/main/table/user/user.dart'; import 'package:immich_mobile/infrastructure/repositories/backup.repository.dart'; -import 'package:immich_mobile/infrastructure/repositories/db.repository.drift.dart'; -import 'package:immich_mobile/infrastructure/repositories/db.repository.steps.dart'; import 'package:immich_mobile/infrastructure/repositories/local_album.repository.dart'; import 'package:immich_mobile/infrastructure/repositories/local_asset.repository.dart'; import 'package:immich_mobile/infrastructure/repositories/map.repository.dart'; import 'package:immich_mobile/infrastructure/repositories/memory.repository.dart'; import 'package:immich_mobile/infrastructure/repositories/ocr.repository.dart'; import 'package:immich_mobile/infrastructure/repositories/partner.repository.dart'; -import 'package:immich_mobile/infrastructure/repositories/people.repository.dart'; import 'package:immich_mobile/infrastructure/repositories/remote_album.repository.dart'; import 'package:immich_mobile/infrastructure/repositories/remote_asset.repository.dart'; import 'package:immich_mobile/infrastructure/repositories/remote_exif.repository.dart'; @@ -87,7 +87,7 @@ import 'package:sqlite_async/sqlite_async.dart'; SettingsEntity, AssetOcrEntity, ], - include: {'package:immich_mobile/infrastructure/entities/merged_asset.drift'}, + include: {'package:immich_mobile/data/db/main/query/merged_asset.drift'}, daos: [ AuthUserRepository, BackupRepository, diff --git a/mobile/lib/infrastructure/entities/merged_asset.drift b/mobile/lib/data/db/main/query/merged_asset.drift similarity index 94% rename from mobile/lib/infrastructure/entities/merged_asset.drift rename to mobile/lib/data/db/main/query/merged_asset.drift index d0321ab1e..a3d0bd725 100644 --- a/mobile/lib/infrastructure/entities/merged_asset.drift +++ b/mobile/lib/data/db/main/query/merged_asset.drift @@ -1,8 +1,8 @@ -import 'remote_asset.entity.dart'; -import 'stack.entity.dart'; -import 'local_asset.entity.dart'; -import 'local_album.entity.dart'; -import 'local_album_asset.entity.dart'; +import '../table/remote/asset.dart'; +import '../table/remote/stack.dart'; +import '../table/local/asset.dart'; +import '../table/local/album.dart'; +import '../table/local/album_asset.dart'; mergedAsset: SELECT diff --git a/mobile/lib/infrastructure/entities/settings.entity.dart b/mobile/lib/data/db/main/table/app/settings.dart similarity index 83% rename from mobile/lib/infrastructure/entities/settings.entity.dart rename to mobile/lib/data/db/main/table/app/settings.dart index a246c03f5..0d3791e7a 100644 --- a/mobile/lib/infrastructure/entities/settings.entity.dart +++ b/mobile/lib/data/db/main/table/app/settings.dart @@ -1,5 +1,5 @@ import 'package:drift/drift.dart'; -import 'package:immich_mobile/infrastructure/utils/drift_default.mixin.dart'; +import 'package:immich_mobile/data/db/util/defaults_mixin.dart'; class SettingsEntity extends Table with DriftDefaultsMixin { const SettingsEntity(); diff --git a/mobile/lib/infrastructure/entities/store.entity.dart b/mobile/lib/data/db/main/table/app/store.dart similarity index 78% rename from mobile/lib/infrastructure/entities/store.entity.dart rename to mobile/lib/data/db/main/table/app/store.dart index 2de8eb713..5a1043033 100644 --- a/mobile/lib/infrastructure/entities/store.entity.dart +++ b/mobile/lib/data/db/main/table/app/store.dart @@ -1,5 +1,5 @@ import 'package:drift/drift.dart'; -import 'package:immich_mobile/infrastructure/utils/drift_default.mixin.dart'; +import 'package:immich_mobile/data/db/util/defaults_mixin.dart'; class StoreEntity extends Table with DriftDefaultsMixin { IntColumn get id => integer()(); diff --git a/mobile/lib/infrastructure/entities/asset_edit.entity.dart b/mobile/lib/data/db/main/table/asset/edit.dart similarity index 84% rename from mobile/lib/infrastructure/entities/asset_edit.entity.dart rename to mobile/lib/data/db/main/table/asset/edit.dart index 58e1a91d3..b92a8f1e6 100644 --- a/mobile/lib/infrastructure/entities/asset_edit.entity.dart +++ b/mobile/lib/data/db/main/table/asset/edit.dart @@ -1,9 +1,9 @@ import 'package:drift/drift.dart'; +import 'package:immich_mobile/data/db/main/table/asset/edit.drift.dart'; +import 'package:immich_mobile/data/db/main/table/remote/asset.dart'; +import 'package:immich_mobile/data/db/util/defaults_mixin.dart'; import 'package:immich_mobile/domain/models/asset_edit.model.dart'; import 'package:immich_mobile/extensions/object_extensions.dart'; -import 'package:immich_mobile/infrastructure/entities/asset_edit.entity.drift.dart'; -import 'package:immich_mobile/infrastructure/entities/remote_asset.entity.dart'; -import 'package:immich_mobile/infrastructure/utils/drift_default.mixin.dart'; import 'package:openapi/api.dart' hide AssetEditAction; @TableIndex.sql('CREATE INDEX IF NOT EXISTS idx_asset_edit_asset_id ON asset_edit_entity (asset_id)') diff --git a/mobile/lib/infrastructure/entities/asset_ocr.entity.dart b/mobile/lib/data/db/main/table/asset/ocr.dart similarity index 84% rename from mobile/lib/infrastructure/entities/asset_ocr.entity.dart rename to mobile/lib/data/db/main/table/asset/ocr.dart index 40438ca1e..77008f784 100644 --- a/mobile/lib/infrastructure/entities/asset_ocr.entity.dart +++ b/mobile/lib/data/db/main/table/asset/ocr.dart @@ -1,6 +1,6 @@ import 'package:drift/drift.dart'; -import 'package:immich_mobile/infrastructure/entities/remote_asset.entity.dart'; -import 'package:immich_mobile/infrastructure/utils/drift_default.mixin.dart'; +import 'package:immich_mobile/data/db/main/table/remote/asset.dart'; +import 'package:immich_mobile/data/db/util/defaults_mixin.dart'; @TableIndex.sql('CREATE INDEX IF NOT EXISTS idx_asset_ocr_asset_id ON asset_ocr_entity (asset_id)') class AssetOcrEntity extends Table with DriftDefaultsMixin { diff --git a/mobile/lib/infrastructure/entities/local_album.entity.dart b/mobile/lib/data/db/main/table/local/album.dart similarity index 83% rename from mobile/lib/infrastructure/entities/local_album.entity.dart rename to mobile/lib/data/db/main/table/local/album.dart index 641a5359f..2931c987f 100644 --- a/mobile/lib/infrastructure/entities/local_album.entity.dart +++ b/mobile/lib/data/db/main/table/local/album.dart @@ -1,8 +1,8 @@ import 'package:drift/drift.dart'; +import 'package:immich_mobile/data/db/main/table/local/album.drift.dart'; +import 'package:immich_mobile/data/db/main/table/remote/album.dart'; +import 'package:immich_mobile/data/db/util/defaults_mixin.dart'; import 'package:immich_mobile/domain/models/album/local_album.model.dart'; -import 'package:immich_mobile/infrastructure/entities/local_album.entity.drift.dart'; -import 'package:immich_mobile/infrastructure/entities/remote_album.entity.dart'; -import 'package:immich_mobile/infrastructure/utils/drift_default.mixin.dart'; class LocalAlbumEntity extends Table with DriftDefaultsMixin { const LocalAlbumEntity(); diff --git a/mobile/lib/infrastructure/entities/local_album_asset.entity.dart b/mobile/lib/data/db/main/table/local/album_asset.dart similarity index 72% rename from mobile/lib/infrastructure/entities/local_album_asset.entity.dart rename to mobile/lib/data/db/main/table/local/album_asset.dart index b0f4b1b27..5c9133922 100644 --- a/mobile/lib/infrastructure/entities/local_album_asset.entity.dart +++ b/mobile/lib/data/db/main/table/local/album_asset.dart @@ -1,7 +1,7 @@ import 'package:drift/drift.dart'; -import 'package:immich_mobile/infrastructure/entities/local_album.entity.dart'; -import 'package:immich_mobile/infrastructure/entities/local_asset.entity.dart'; -import 'package:immich_mobile/infrastructure/utils/drift_default.mixin.dart'; +import 'package:immich_mobile/data/db/main/table/local/album.dart'; +import 'package:immich_mobile/data/db/main/table/local/asset.dart'; +import 'package:immich_mobile/data/db/util/defaults_mixin.dart'; @TableIndex.sql( 'CREATE INDEX IF NOT EXISTS idx_local_album_asset_album_asset ON local_album_asset_entity (album_id, asset_id)', diff --git a/mobile/lib/infrastructure/entities/local_asset.entity.dart b/mobile/lib/data/db/main/table/local/asset.dart similarity index 88% rename from mobile/lib/infrastructure/entities/local_asset.entity.dart rename to mobile/lib/data/db/main/table/local/asset.dart index a19c1aa54..ad80938b4 100644 --- a/mobile/lib/infrastructure/entities/local_asset.entity.dart +++ b/mobile/lib/data/db/main/table/local/asset.dart @@ -1,8 +1,8 @@ import 'package:drift/drift.dart'; +import 'package:immich_mobile/data/db/main/table/local/asset.drift.dart'; +import 'package:immich_mobile/data/db/util/asset_mixin.dart'; +import 'package:immich_mobile/data/db/util/defaults_mixin.dart'; import 'package:immich_mobile/domain/models/asset/base_asset.model.dart'; -import 'package:immich_mobile/infrastructure/entities/local_asset.entity.drift.dart'; -import 'package:immich_mobile/infrastructure/utils/asset.mixin.dart'; -import 'package:immich_mobile/infrastructure/utils/drift_default.mixin.dart'; @TableIndex.sql('CREATE INDEX IF NOT EXISTS idx_local_asset_checksum ON local_asset_entity (checksum)') @TableIndex.sql('CREATE INDEX IF NOT EXISTS idx_local_asset_cloud_id ON local_asset_entity (i_cloud_id)') diff --git a/mobile/lib/infrastructure/entities/trashed_local_asset.entity.dart b/mobile/lib/data/db/main/table/local/trashed_asset.dart similarity index 86% rename from mobile/lib/infrastructure/entities/trashed_local_asset.entity.dart rename to mobile/lib/data/db/main/table/local/trashed_asset.dart index 6bcff5d59..72e3a7f84 100644 --- a/mobile/lib/infrastructure/entities/trashed_local_asset.entity.dart +++ b/mobile/lib/data/db/main/table/local/trashed_asset.dart @@ -1,8 +1,8 @@ import 'package:drift/drift.dart'; +import 'package:immich_mobile/data/db/main/table/local/trashed_asset.drift.dart'; +import 'package:immich_mobile/data/db/util/asset_mixin.dart'; +import 'package:immich_mobile/data/db/util/defaults_mixin.dart'; import 'package:immich_mobile/domain/models/asset/base_asset.model.dart'; -import 'package:immich_mobile/infrastructure/entities/trashed_local_asset.entity.drift.dart'; -import 'package:immich_mobile/infrastructure/utils/asset.mixin.dart'; -import 'package:immich_mobile/infrastructure/utils/drift_default.mixin.dart'; enum TrashOrigin { // do not change this order! diff --git a/mobile/lib/infrastructure/entities/memory_asset.entity.dart b/mobile/lib/data/db/main/table/memory/asset.dart similarity index 63% rename from mobile/lib/infrastructure/entities/memory_asset.entity.dart rename to mobile/lib/data/db/main/table/memory/asset.dart index 5053afdfb..dba4a6d27 100644 --- a/mobile/lib/infrastructure/entities/memory_asset.entity.dart +++ b/mobile/lib/data/db/main/table/memory/asset.dart @@ -1,7 +1,7 @@ import 'package:drift/drift.dart'; -import 'package:immich_mobile/infrastructure/entities/memory.entity.dart'; -import 'package:immich_mobile/infrastructure/entities/remote_asset.entity.dart'; -import 'package:immich_mobile/infrastructure/utils/drift_default.mixin.dart'; +import 'package:immich_mobile/data/db/main/table/memory/memory.dart'; +import 'package:immich_mobile/data/db/main/table/remote/asset.dart'; +import 'package:immich_mobile/data/db/util/defaults_mixin.dart'; class MemoryAssetEntity extends Table with DriftDefaultsMixin { const MemoryAssetEntity(); diff --git a/mobile/lib/infrastructure/entities/memory.entity.dart b/mobile/lib/data/db/main/table/memory/memory.dart similarity index 86% rename from mobile/lib/infrastructure/entities/memory.entity.dart rename to mobile/lib/data/db/main/table/memory/memory.dart index 63dcfef5c..68d175009 100644 --- a/mobile/lib/infrastructure/entities/memory.entity.dart +++ b/mobile/lib/data/db/main/table/memory/memory.dart @@ -1,7 +1,7 @@ import 'package:drift/drift.dart'; +import 'package:immich_mobile/data/db/main/table/user/user.dart'; +import 'package:immich_mobile/data/db/util/defaults_mixin.dart'; import 'package:immich_mobile/domain/models/memory.model.dart'; -import 'package:immich_mobile/infrastructure/entities/user.entity.dart'; -import 'package:immich_mobile/infrastructure/utils/drift_default.mixin.dart'; class MemoryEntity extends Table with DriftDefaultsMixin { const MemoryEntity(); diff --git a/mobile/lib/infrastructure/entities/asset_face.entity.dart b/mobile/lib/data/db/main/table/people/asset_face.dart similarity index 84% rename from mobile/lib/infrastructure/entities/asset_face.entity.dart rename to mobile/lib/data/db/main/table/people/asset_face.dart index b94a0cf09..974100c5e 100644 --- a/mobile/lib/infrastructure/entities/asset_face.entity.dart +++ b/mobile/lib/data/db/main/table/people/asset_face.dart @@ -1,7 +1,7 @@ import 'package:drift/drift.dart'; -import 'package:immich_mobile/infrastructure/entities/person.entity.dart'; -import 'package:immich_mobile/infrastructure/entities/remote_asset.entity.dart'; -import 'package:immich_mobile/infrastructure/utils/drift_default.mixin.dart'; +import 'package:immich_mobile/data/db/main/table/people/person.dart'; +import 'package:immich_mobile/data/db/main/table/remote/asset.dart'; +import 'package:immich_mobile/data/db/util/defaults_mixin.dart'; @TableIndex.sql('CREATE INDEX IF NOT EXISTS idx_asset_face_person_id ON asset_face_entity (person_id)') @TableIndex.sql('CREATE INDEX IF NOT EXISTS idx_asset_face_asset_id ON asset_face_entity (asset_id)') diff --git a/mobile/lib/infrastructure/entities/person.entity.dart b/mobile/lib/data/db/main/table/people/person.dart similarity index 84% rename from mobile/lib/infrastructure/entities/person.entity.dart rename to mobile/lib/data/db/main/table/people/person.dart index 6e014590a..8e1681294 100644 --- a/mobile/lib/infrastructure/entities/person.entity.dart +++ b/mobile/lib/data/db/main/table/people/person.dart @@ -1,6 +1,6 @@ import 'package:drift/drift.dart'; -import 'package:immich_mobile/infrastructure/entities/user.entity.dart'; -import 'package:immich_mobile/infrastructure/utils/drift_default.mixin.dart'; +import 'package:immich_mobile/data/db/main/table/user/user.dart'; +import 'package:immich_mobile/data/db/util/defaults_mixin.dart'; @TableIndex.sql('CREATE INDEX IF NOT EXISTS idx_person_owner_id ON person_entity (owner_id)') class PersonEntity extends Table with DriftDefaultsMixin { diff --git a/mobile/lib/infrastructure/entities/remote_album.entity.dart b/mobile/lib/data/db/main/table/remote/album.dart similarity index 83% rename from mobile/lib/infrastructure/entities/remote_album.entity.dart rename to mobile/lib/data/db/main/table/remote/album.dart index d12d51114..0e8f86b0d 100644 --- a/mobile/lib/infrastructure/entities/remote_album.entity.dart +++ b/mobile/lib/data/db/main/table/remote/album.dart @@ -1,7 +1,7 @@ import 'package:drift/drift.dart'; +import 'package:immich_mobile/data/db/main/table/remote/asset.dart'; +import 'package:immich_mobile/data/db/util/defaults_mixin.dart'; import 'package:immich_mobile/domain/models/album/album.model.dart'; -import 'package:immich_mobile/infrastructure/entities/remote_asset.entity.dart'; -import 'package:immich_mobile/infrastructure/utils/drift_default.mixin.dart'; class RemoteAlbumEntity extends Table with DriftDefaultsMixin { const RemoteAlbumEntity(); diff --git a/mobile/lib/infrastructure/entities/remote_album_asset.entity.dart b/mobile/lib/data/db/main/table/remote/album_asset.dart similarity index 69% rename from mobile/lib/infrastructure/entities/remote_album_asset.entity.dart rename to mobile/lib/data/db/main/table/remote/album_asset.dart index 6d1e88514..671fd1f18 100644 --- a/mobile/lib/infrastructure/entities/remote_album_asset.entity.dart +++ b/mobile/lib/data/db/main/table/remote/album_asset.dart @@ -1,7 +1,7 @@ import 'package:drift/drift.dart'; -import 'package:immich_mobile/infrastructure/entities/remote_album.entity.dart'; -import 'package:immich_mobile/infrastructure/entities/remote_asset.entity.dart'; -import 'package:immich_mobile/infrastructure/utils/drift_default.mixin.dart'; +import 'package:immich_mobile/data/db/main/table/remote/album.dart'; +import 'package:immich_mobile/data/db/main/table/remote/asset.dart'; +import 'package:immich_mobile/data/db/util/defaults_mixin.dart'; @TableIndex.sql( 'CREATE INDEX IF NOT EXISTS idx_remote_album_asset_album_asset ON remote_album_asset_entity (album_id, asset_id)', diff --git a/mobile/lib/infrastructure/entities/remote_album_user.entity.dart b/mobile/lib/data/db/main/table/remote/album_user.dart similarity index 69% rename from mobile/lib/infrastructure/entities/remote_album_user.entity.dart rename to mobile/lib/data/db/main/table/remote/album_user.dart index 9cb277f9d..a2641fba1 100644 --- a/mobile/lib/infrastructure/entities/remote_album_user.entity.dart +++ b/mobile/lib/data/db/main/table/remote/album_user.dart @@ -1,8 +1,8 @@ import 'package:drift/drift.dart'; +import 'package:immich_mobile/data/db/main/table/remote/album.dart'; +import 'package:immich_mobile/data/db/main/table/user/user.dart'; +import 'package:immich_mobile/data/db/util/defaults_mixin.dart'; import 'package:immich_mobile/domain/models/album/album.model.dart'; -import 'package:immich_mobile/infrastructure/entities/remote_album.entity.dart'; -import 'package:immich_mobile/infrastructure/entities/user.entity.dart'; -import 'package:immich_mobile/infrastructure/utils/drift_default.mixin.dart'; class RemoteAlbumUserEntity extends Table with DriftDefaultsMixin { const RemoteAlbumUserEntity(); diff --git a/mobile/lib/infrastructure/entities/remote_asset.entity.dart b/mobile/lib/data/db/main/table/remote/asset.dart similarity index 88% rename from mobile/lib/infrastructure/entities/remote_asset.entity.dart rename to mobile/lib/data/db/main/table/remote/asset.dart index 3fe56ae43..7f507623a 100644 --- a/mobile/lib/infrastructure/entities/remote_asset.entity.dart +++ b/mobile/lib/data/db/main/table/remote/asset.dart @@ -1,9 +1,9 @@ import 'package:drift/drift.dart'; +import 'package:immich_mobile/data/db/main/table/remote/asset.drift.dart'; +import 'package:immich_mobile/data/db/main/table/user/user.dart'; +import 'package:immich_mobile/data/db/util/asset_mixin.dart'; +import 'package:immich_mobile/data/db/util/defaults_mixin.dart'; import 'package:immich_mobile/domain/models/asset/base_asset.model.dart'; -import 'package:immich_mobile/infrastructure/entities/remote_asset.entity.drift.dart'; -import 'package:immich_mobile/infrastructure/entities/user.entity.dart'; -import 'package:immich_mobile/infrastructure/utils/asset.mixin.dart'; -import 'package:immich_mobile/infrastructure/utils/drift_default.mixin.dart'; @TableIndex.sql(''' CREATE UNIQUE INDEX IF NOT EXISTS UQ_remote_assets_owner_checksum diff --git a/mobile/lib/infrastructure/entities/remote_asset_cloud_id.entity.dart b/mobile/lib/data/db/main/table/remote/cloud_id.dart similarity index 80% rename from mobile/lib/infrastructure/entities/remote_asset_cloud_id.entity.dart rename to mobile/lib/data/db/main/table/remote/cloud_id.dart index 593931f98..6b7a4a2c6 100644 --- a/mobile/lib/infrastructure/entities/remote_asset_cloud_id.entity.dart +++ b/mobile/lib/data/db/main/table/remote/cloud_id.dart @@ -1,6 +1,6 @@ import 'package:drift/drift.dart'; -import 'package:immich_mobile/infrastructure/entities/remote_asset.entity.dart'; -import 'package:immich_mobile/infrastructure/utils/drift_default.mixin.dart'; +import 'package:immich_mobile/data/db/main/table/remote/asset.dart'; +import 'package:immich_mobile/data/db/util/defaults_mixin.dart'; @TableIndex.sql('CREATE INDEX IF NOT EXISTS idx_remote_asset_cloud_id ON remote_asset_cloud_id_entity (cloud_id)') class RemoteAssetCloudIdEntity extends Table with DriftDefaultsMixin { diff --git a/mobile/lib/infrastructure/entities/exif.entity.dart b/mobile/lib/data/db/main/table/remote/exif.dart similarity index 91% rename from mobile/lib/infrastructure/entities/exif.entity.dart rename to mobile/lib/data/db/main/table/remote/exif.dart index 3328b38f3..711e32d69 100644 --- a/mobile/lib/infrastructure/entities/exif.entity.dart +++ b/mobile/lib/data/db/main/table/remote/exif.dart @@ -1,8 +1,8 @@ import 'package:drift/drift.dart' hide Query; +import 'package:immich_mobile/data/db/main/table/remote/asset.dart'; +import 'package:immich_mobile/data/db/main/table/remote/exif.drift.dart'; +import 'package:immich_mobile/data/db/util/defaults_mixin.dart'; import 'package:immich_mobile/domain/models/exif.model.dart' as domain; -import 'package:immich_mobile/infrastructure/entities/exif.entity.drift.dart'; -import 'package:immich_mobile/infrastructure/entities/remote_asset.entity.dart'; -import 'package:immich_mobile/infrastructure/utils/drift_default.mixin.dart'; import 'package:immich_mobile/infrastructure/utils/exif.converter.dart'; @TableIndex.sql('CREATE INDEX IF NOT EXISTS idx_lat_lng ON remote_exif_entity (latitude, longitude)') diff --git a/mobile/lib/infrastructure/entities/stack.entity.dart b/mobile/lib/data/db/main/table/remote/stack.dart similarity index 80% rename from mobile/lib/infrastructure/entities/stack.entity.dart rename to mobile/lib/data/db/main/table/remote/stack.dart index 4f90845a4..6c444ae2b 100644 --- a/mobile/lib/infrastructure/entities/stack.entity.dart +++ b/mobile/lib/data/db/main/table/remote/stack.dart @@ -1,6 +1,6 @@ import 'package:drift/drift.dart'; -import 'package:immich_mobile/infrastructure/entities/user.entity.dart'; -import 'package:immich_mobile/infrastructure/utils/drift_default.mixin.dart'; +import 'package:immich_mobile/data/db/main/table/user/user.dart'; +import 'package:immich_mobile/data/db/util/defaults_mixin.dart'; @TableIndex.sql('CREATE INDEX IF NOT EXISTS idx_stack_primary_asset_id ON stack_entity (primary_asset_id)') class StackEntity extends Table with DriftDefaultsMixin { diff --git a/mobile/lib/infrastructure/entities/auth_user.entity.dart b/mobile/lib/data/db/main/table/user/auth_user.dart similarity index 92% rename from mobile/lib/infrastructure/entities/auth_user.entity.dart rename to mobile/lib/data/db/main/table/user/auth_user.dart index cbbeaf536..8483765cc 100644 --- a/mobile/lib/infrastructure/entities/auth_user.entity.dart +++ b/mobile/lib/data/db/main/table/user/auth_user.dart @@ -1,6 +1,6 @@ import 'package:drift/drift.dart'; +import 'package:immich_mobile/data/db/util/defaults_mixin.dart'; import 'package:immich_mobile/domain/models/user.model.dart'; -import 'package:immich_mobile/infrastructure/utils/drift_default.mixin.dart'; class AuthUserEntity extends Table with DriftDefaultsMixin { const AuthUserEntity(); diff --git a/mobile/lib/infrastructure/entities/user_metadata.entity.dart b/mobile/lib/data/db/main/table/user/metadata.dart similarity index 81% rename from mobile/lib/infrastructure/entities/user_metadata.entity.dart rename to mobile/lib/data/db/main/table/user/metadata.dart index da2070fd7..5c325ffd5 100644 --- a/mobile/lib/infrastructure/entities/user_metadata.entity.dart +++ b/mobile/lib/data/db/main/table/user/metadata.dart @@ -1,7 +1,7 @@ import 'package:drift/drift.dart'; +import 'package:immich_mobile/data/db/main/table/user/user.dart'; +import 'package:immich_mobile/data/db/util/defaults_mixin.dart'; import 'package:immich_mobile/domain/models/user_metadata.model.dart'; -import 'package:immich_mobile/infrastructure/entities/user.entity.dart'; -import 'package:immich_mobile/infrastructure/utils/drift_default.mixin.dart'; class UserMetadataEntity extends Table with DriftDefaultsMixin { const UserMetadataEntity(); diff --git a/mobile/lib/infrastructure/entities/partner.entity.dart b/mobile/lib/data/db/main/table/user/partner.dart similarity index 79% rename from mobile/lib/infrastructure/entities/partner.entity.dart rename to mobile/lib/data/db/main/table/user/partner.dart index 1d8dc6d87..91f700c29 100644 --- a/mobile/lib/infrastructure/entities/partner.entity.dart +++ b/mobile/lib/data/db/main/table/user/partner.dart @@ -1,6 +1,6 @@ import 'package:drift/drift.dart'; -import 'package:immich_mobile/infrastructure/entities/user.entity.dart'; -import 'package:immich_mobile/infrastructure/utils/drift_default.mixin.dart'; +import 'package:immich_mobile/data/db/main/table/user/user.dart'; +import 'package:immich_mobile/data/db/util/defaults_mixin.dart'; @TableIndex.sql('CREATE INDEX IF NOT EXISTS idx_partner_shared_with_id ON partner_entity (shared_with_id)') class PartnerEntity extends Table with DriftDefaultsMixin { diff --git a/mobile/lib/infrastructure/entities/user.entity.dart b/mobile/lib/data/db/main/table/user/user.dart similarity index 88% rename from mobile/lib/infrastructure/entities/user.entity.dart rename to mobile/lib/data/db/main/table/user/user.dart index 8d4371672..39c29ddcd 100644 --- a/mobile/lib/infrastructure/entities/user.entity.dart +++ b/mobile/lib/data/db/main/table/user/user.dart @@ -1,6 +1,6 @@ import 'package:drift/drift.dart' hide Index; +import 'package:immich_mobile/data/db/util/defaults_mixin.dart'; import 'package:immich_mobile/domain/models/user.model.dart'; -import 'package:immich_mobile/infrastructure/utils/drift_default.mixin.dart'; class UserEntity extends Table with DriftDefaultsMixin { const UserEntity(); diff --git a/mobile/lib/infrastructure/utils/asset.mixin.dart b/mobile/lib/data/db/util/asset_mixin.dart similarity index 100% rename from mobile/lib/infrastructure/utils/asset.mixin.dart rename to mobile/lib/data/db/util/asset_mixin.dart diff --git a/mobile/lib/infrastructure/utils/drift_default.mixin.dart b/mobile/lib/data/db/util/defaults_mixin.dart similarity index 100% rename from mobile/lib/infrastructure/utils/drift_default.mixin.dart rename to mobile/lib/data/db/util/defaults_mixin.dart diff --git a/mobile/lib/infrastructure/repositories/api.repository.dart b/mobile/lib/data/server/api_repository.dart similarity index 80% rename from mobile/lib/infrastructure/repositories/api.repository.dart rename to mobile/lib/data/server/api_repository.dart index 9e1102453..80e07d786 100644 --- a/mobile/lib/infrastructure/repositories/api.repository.dart +++ b/mobile/lib/data/server/api_repository.dart @@ -1,4 +1,4 @@ -import 'package:immich_mobile/constants/errors.dart'; +import 'package:immich_mobile/data/server/errors.dart'; class ApiRepository { const ApiRepository(); diff --git a/mobile/lib/constants/errors.dart b/mobile/lib/data/server/errors.dart similarity index 100% rename from mobile/lib/constants/errors.dart rename to mobile/lib/data/server/errors.dart diff --git a/mobile/lib/repositories/person_api.repository.dart b/mobile/lib/data/server/person.dart similarity index 91% rename from mobile/lib/repositories/person_api.repository.dart rename to mobile/lib/data/server/person.dart index 262868eea..e1ca74d03 100644 --- a/mobile/lib/repositories/person_api.repository.dart +++ b/mobile/lib/data/server/person.dart @@ -1,7 +1,7 @@ import 'package:hooks_riverpod/hooks_riverpod.dart'; +import 'package:immich_mobile/data/server/api_repository.dart'; import 'package:immich_mobile/domain/models/person.model.dart'; import 'package:immich_mobile/providers/api.provider.dart'; -import 'package:immich_mobile/repositories/api.repository.dart'; import 'package:openapi/api.dart'; final personApiRepositoryProvider = Provider((ref) => PersonApiRepository(ref.watch(apiServiceProvider).peopleApi)); @@ -9,7 +9,7 @@ final personApiRepositoryProvider = Provider((ref) => PersonApiRepository(ref.wa class PersonApiRepository extends ApiRepository { final PeopleApi _api; - PersonApiRepository(this._api); + const PersonApiRepository(this._api); Future update(String id, {String? name, DateTime? birthday}) async { final birthdayUtc = birthday == null ? null : DateTime.utc(birthday.year, birthday.month, birthday.day); diff --git a/mobile/lib/domain/services/background_worker.service.dart b/mobile/lib/domain/services/background_worker.service.dart index 817cc3338..88a213816 100644 --- a/mobile/lib/domain/services/background_worker.service.dart +++ b/mobile/lib/domain/services/background_worker.service.dart @@ -6,14 +6,14 @@ import 'package:background_downloader/background_downloader.dart'; import 'package:flutter/material.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart'; import 'package:immich_mobile/constants/constants.dart'; +import 'package:immich_mobile/data/db/logger/database.dart'; +import 'package:immich_mobile/data/db/main/database.dart'; import 'package:immich_mobile/domain/services/hash.service.dart'; import 'package:immich_mobile/domain/services/local_sync.service.dart'; import 'package:immich_mobile/domain/services/log.service.dart'; import 'package:immich_mobile/domain/services/sync_stream.service.dart'; import 'package:immich_mobile/entities/store.entity.dart'; import 'package:immich_mobile/extensions/platform_extensions.dart'; -import 'package:immich_mobile/infrastructure/repositories/db.repository.dart'; -import 'package:immich_mobile/infrastructure/repositories/logger_db.repository.dart'; import 'package:immich_mobile/infrastructure/repositories/settings.repository.dart'; import 'package:immich_mobile/platform/background_worker_api.g.dart'; import 'package:immich_mobile/platform/background_worker_lock_api.g.dart'; diff --git a/mobile/lib/domain/services/people.service.dart b/mobile/lib/domain/services/people.service.dart index e0323246b..21d893cf0 100644 --- a/mobile/lib/domain/services/people.service.dart +++ b/mobile/lib/domain/services/people.service.dart @@ -1,8 +1,8 @@ import 'dart:async'; +import 'package:immich_mobile/data/db/main/dao/person.dart'; +import 'package:immich_mobile/data/server/person.dart'; import 'package:immich_mobile/domain/models/person.model.dart'; -import 'package:immich_mobile/infrastructure/repositories/people.repository.dart'; -import 'package:immich_mobile/repositories/person_api.repository.dart'; class DriftPeopleService { final PeopleRepository _repository; diff --git a/mobile/lib/domain/utils/migrate_cloud_ids.dart b/mobile/lib/domain/utils/migrate_cloud_ids.dart index ecdf5fc9a..d37db48ae 100644 --- a/mobile/lib/domain/utils/migrate_cloud_ids.dart +++ b/mobile/lib/domain/utils/migrate_cloud_ids.dart @@ -3,12 +3,12 @@ import 'dart:async'; import 'package:drift/drift.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart'; import 'package:immich_mobile/constants/constants.dart'; +import 'package:immich_mobile/data/db/main/database.dart'; +import 'package:immich_mobile/data/db/main/table/local/asset.dart'; import 'package:immich_mobile/domain/models/asset/asset_metadata.model.dart'; import 'package:immich_mobile/domain/models/asset/base_asset.model.dart'; import 'package:immich_mobile/domain/models/server_capability.model.dart'; import 'package:immich_mobile/extensions/platform_extensions.dart'; -import 'package:immich_mobile/infrastructure/entities/local_asset.entity.dart'; -import 'package:immich_mobile/infrastructure/repositories/db.repository.dart'; import 'package:immich_mobile/infrastructure/repositories/local_album.repository.dart'; import 'package:immich_mobile/platform/native_sync_api.g.dart'; import 'package:immich_mobile/providers/api.provider.dart'; diff --git a/mobile/lib/infrastructure/README.md b/mobile/lib/infrastructure/README.md index 895970427..5e122aec0 100644 --- a/mobile/lib/infrastructure/README.md +++ b/mobile/lib/infrastructure/README.md @@ -4,20 +4,21 @@ This directory contains the infrastructure layer of Immich. The infrastructure l ## Structure -- **[Entities](./entities/)**: These are the classes that define the database schema for the domain models. - **[Repositories](./repositories/)**: These are the actual implementation of the domain interfaces. A single interface might have multiple implementations. - **[Utils](./utils/)**: These are utility classes and functions specific to infrastructure implementations. ``` infrastructure/ -├── entities/ -│ └── user.entity.dart ├── repositories/ │ └── user.repository.dart └── utils/ - └── database_utils.dart + └── user.converter.dart ``` +> **Note:** The Drift schema, the database class, and the server API base moved to +> [`lib/data/`](../data/README.md). Repositories here are migrating there one entity at a +> time; new data access should be added under `lib/data/`. + ## Usage The infrastructure layer provides concrete implementations of repository interfaces defined in the domain layer. These implementations are exposed through Riverpod providers in the root `providers` directory. diff --git a/mobile/lib/infrastructure/mapper.dart b/mobile/lib/infrastructure/mapper.dart index a53aa2419..9529eded2 100644 --- a/mobile/lib/infrastructure/mapper.dart +++ b/mobile/lib/infrastructure/mapper.dart @@ -1,6 +1,6 @@ +import 'package:immich_mobile/data/db/main/table/user/partner.drift.dart'; +import 'package:immich_mobile/data/db/main/table/user/user.drift.dart'; import 'package:immich_mobile/domain/models/user.model.dart'; -import 'package:immich_mobile/infrastructure/entities/partner.entity.drift.dart'; -import 'package:immich_mobile/infrastructure/entities/user.entity.drift.dart'; User mapToUser(UserEntityData data) => User( id: data.id, diff --git a/mobile/lib/infrastructure/repositories/backup.repository.dart b/mobile/lib/infrastructure/repositories/backup.repository.dart index c4c07118d..f0012b5ea 100644 --- a/mobile/lib/infrastructure/repositories/backup.repository.dart +++ b/mobile/lib/infrastructure/repositories/backup.repository.dart @@ -1,12 +1,12 @@ import 'dart:async'; import 'package:drift/drift.dart'; +import 'package:immich_mobile/data/db/main/database.dart'; +import 'package:immich_mobile/data/db/main/table/local/album_asset.drift.dart'; +import 'package:immich_mobile/data/db/main/table/local/asset.dart'; import 'package:immich_mobile/domain/models/album/local_album.model.dart'; import 'package:immich_mobile/domain/models/asset/base_asset.model.dart'; -import 'package:immich_mobile/infrastructure/entities/local_album_asset.entity.drift.dart'; -import 'package:immich_mobile/infrastructure/entities/local_asset.entity.dart'; import 'package:immich_mobile/infrastructure/repositories/backup.repository.drift.dart'; -import 'package:immich_mobile/infrastructure/repositories/db.repository.dart'; @DriftAccessor() class BackupRepository extends DatabaseAccessor with $BackupRepositoryMixin { diff --git a/mobile/lib/infrastructure/repositories/local_album.repository.dart b/mobile/lib/infrastructure/repositories/local_album.repository.dart index 780b4f5ef..aefac0b28 100644 --- a/mobile/lib/infrastructure/repositories/local_album.repository.dart +++ b/mobile/lib/infrastructure/repositories/local_album.repository.dart @@ -1,15 +1,15 @@ import 'dart:async'; import 'package:drift/drift.dart'; +import 'package:immich_mobile/data/db/main/database.dart'; +import 'package:immich_mobile/data/db/main/table/local/album.dart'; +import 'package:immich_mobile/data/db/main/table/local/album.drift.dart'; +import 'package:immich_mobile/data/db/main/table/local/album_asset.drift.dart'; +import 'package:immich_mobile/data/db/main/table/local/asset.dart'; +import 'package:immich_mobile/data/db/main/table/local/asset.drift.dart'; import 'package:immich_mobile/domain/models/album/local_album.model.dart'; import 'package:immich_mobile/domain/models/asset/base_asset.model.dart'; import 'package:immich_mobile/extensions/platform_extensions.dart'; -import 'package:immich_mobile/infrastructure/entities/local_album.entity.dart'; -import 'package:immich_mobile/infrastructure/entities/local_album.entity.drift.dart'; -import 'package:immich_mobile/infrastructure/entities/local_album_asset.entity.drift.dart'; -import 'package:immich_mobile/infrastructure/entities/local_asset.entity.dart'; -import 'package:immich_mobile/infrastructure/entities/local_asset.entity.drift.dart'; -import 'package:immich_mobile/infrastructure/repositories/db.repository.dart'; import 'package:immich_mobile/infrastructure/repositories/local_album.repository.drift.dart'; enum SortLocalAlbumsBy { id, backupSelection, isIosSharedAlbum, name, assetCount, newestAsset } diff --git a/mobile/lib/infrastructure/repositories/local_asset.repository.dart b/mobile/lib/infrastructure/repositories/local_asset.repository.dart index e035bddea..7dfd7106f 100644 --- a/mobile/lib/infrastructure/repositories/local_asset.repository.dart +++ b/mobile/lib/infrastructure/repositories/local_asset.repository.dart @@ -4,12 +4,12 @@ import 'package:collection/collection.dart'; import 'package:drift/drift.dart'; import 'package:immich_mobile/constants/constants.dart'; import 'package:immich_mobile/constants/enums.dart'; +import 'package:immich_mobile/data/db/main/database.dart'; +import 'package:immich_mobile/data/db/main/table/local/album.dart'; +import 'package:immich_mobile/data/db/main/table/local/asset.dart'; +import 'package:immich_mobile/data/db/main/table/local/asset.drift.dart'; import 'package:immich_mobile/domain/models/album/local_album.model.dart'; import 'package:immich_mobile/domain/models/asset/base_asset.model.dart'; -import 'package:immich_mobile/infrastructure/entities/local_album.entity.dart'; -import 'package:immich_mobile/infrastructure/entities/local_asset.entity.dart'; -import 'package:immich_mobile/infrastructure/entities/local_asset.entity.drift.dart'; -import 'package:immich_mobile/infrastructure/repositories/db.repository.dart'; import 'package:immich_mobile/infrastructure/repositories/local_asset.repository.drift.dart'; class RemovalCandidatesResult { diff --git a/mobile/lib/infrastructure/repositories/log.repository.dart b/mobile/lib/infrastructure/repositories/log.repository.dart index 9b3985ba4..29d59cb35 100644 --- a/mobile/lib/infrastructure/repositories/log.repository.dart +++ b/mobile/lib/infrastructure/repositories/log.repository.dart @@ -1,9 +1,9 @@ import 'package:drift/drift.dart'; import 'package:immich_mobile/constants/constants.dart'; +import 'package:immich_mobile/data/db/logger/database.dart'; +import 'package:immich_mobile/data/db/logger/table/log.dart'; +import 'package:immich_mobile/data/db/logger/table/log.drift.dart'; import 'package:immich_mobile/domain/models/log.model.dart'; -import 'package:immich_mobile/infrastructure/entities/log.entity.dart'; -import 'package:immich_mobile/infrastructure/entities/log.entity.drift.dart'; -import 'package:immich_mobile/infrastructure/repositories/logger_db.repository.dart'; class LogRepository { final DriftLogger _db; diff --git a/mobile/lib/infrastructure/repositories/map.repository.dart b/mobile/lib/infrastructure/repositories/map.repository.dart index bd24985fb..7a6e0e8da 100644 --- a/mobile/lib/infrastructure/repositories/map.repository.dart +++ b/mobile/lib/infrastructure/repositories/map.repository.dart @@ -1,10 +1,10 @@ import 'package:drift/drift.dart'; +import 'package:immich_mobile/data/db/main/database.dart'; +import 'package:immich_mobile/data/db/main/table/remote/asset.drift.dart'; +import 'package:immich_mobile/data/db/main/table/remote/exif.drift.dart'; import 'package:immich_mobile/domain/models/asset/base_asset.model.dart'; import 'package:immich_mobile/domain/models/map.model.dart'; import 'package:immich_mobile/domain/services/map.service.dart'; -import 'package:immich_mobile/infrastructure/entities/exif.entity.drift.dart'; -import 'package:immich_mobile/infrastructure/entities/remote_asset.entity.drift.dart'; -import 'package:immich_mobile/infrastructure/repositories/db.repository.dart'; import 'package:immich_mobile/infrastructure/repositories/map.repository.drift.dart'; import 'package:immich_mobile/infrastructure/repositories/timeline.repository.dart'; import 'package:maplibre_gl/maplibre_gl.dart'; diff --git a/mobile/lib/infrastructure/repositories/memory.repository.dart b/mobile/lib/infrastructure/repositories/memory.repository.dart index 11bb99ba7..fa92c2350 100644 --- a/mobile/lib/infrastructure/repositories/memory.repository.dart +++ b/mobile/lib/infrastructure/repositories/memory.repository.dart @@ -1,9 +1,9 @@ import 'package:drift/drift.dart'; +import 'package:immich_mobile/data/db/main/database.dart'; +import 'package:immich_mobile/data/db/main/table/memory/memory.drift.dart'; +import 'package:immich_mobile/data/db/main/table/remote/asset.dart'; import 'package:immich_mobile/domain/models/asset/base_asset.model.dart'; import 'package:immich_mobile/domain/models/memory.model.dart'; -import 'package:immich_mobile/infrastructure/entities/memory.entity.drift.dart'; -import 'package:immich_mobile/infrastructure/entities/remote_asset.entity.dart'; -import 'package:immich_mobile/infrastructure/repositories/db.repository.dart'; import 'package:immich_mobile/infrastructure/repositories/memory.repository.drift.dart'; @DriftAccessor() diff --git a/mobile/lib/infrastructure/repositories/ocr.repository.dart b/mobile/lib/infrastructure/repositories/ocr.repository.dart index f374937b4..48f8cbac6 100644 --- a/mobile/lib/infrastructure/repositories/ocr.repository.dart +++ b/mobile/lib/infrastructure/repositories/ocr.repository.dart @@ -1,7 +1,7 @@ import 'package:drift/drift.dart'; +import 'package:immich_mobile/data/db/main/database.dart'; +import 'package:immich_mobile/data/db/main/table/asset/ocr.drift.dart'; import 'package:immich_mobile/domain/models/ocr.model.dart'; -import 'package:immich_mobile/infrastructure/entities/asset_ocr.entity.drift.dart'; -import 'package:immich_mobile/infrastructure/repositories/db.repository.dart'; import 'package:immich_mobile/infrastructure/repositories/ocr.repository.drift.dart'; @DriftAccessor() diff --git a/mobile/lib/infrastructure/repositories/partner.repository.dart b/mobile/lib/infrastructure/repositories/partner.repository.dart index fd38f1268..29dc4df81 100644 --- a/mobile/lib/infrastructure/repositories/partner.repository.dart +++ b/mobile/lib/infrastructure/repositories/partner.repository.dart @@ -1,9 +1,9 @@ import 'package:drift/drift.dart'; import 'package:immich_mobile/constants/enums.dart'; +import 'package:immich_mobile/data/db/main/database.dart'; +import 'package:immich_mobile/data/db/main/table/user/partner.drift.dart'; import 'package:immich_mobile/domain/models/user.model.dart'; -import 'package:immich_mobile/infrastructure/entities/partner.entity.drift.dart'; import 'package:immich_mobile/infrastructure/mapper.dart'; -import 'package:immich_mobile/infrastructure/repositories/db.repository.dart'; import 'package:immich_mobile/infrastructure/repositories/partner.repository.drift.dart'; @DriftAccessor() diff --git a/mobile/lib/infrastructure/repositories/remote_album.repository.dart b/mobile/lib/infrastructure/repositories/remote_album.repository.dart index 2f7106c27..0aaaccb10 100644 --- a/mobile/lib/infrastructure/repositories/remote_album.repository.dart +++ b/mobile/lib/infrastructure/repositories/remote_album.repository.dart @@ -3,15 +3,15 @@ import 'dart:convert'; import 'package:drift/drift.dart'; import 'package:immich_mobile/constants/enums.dart'; +import 'package:immich_mobile/data/db/main/database.dart'; +import 'package:immich_mobile/data/db/main/table/remote/album.drift.dart'; +import 'package:immich_mobile/data/db/main/table/remote/album_asset.drift.dart'; +import 'package:immich_mobile/data/db/main/table/remote/album_user.drift.dart'; +import 'package:immich_mobile/data/db/main/table/remote/asset.dart'; +import 'package:immich_mobile/data/db/main/table/remote/asset.drift.dart'; import 'package:immich_mobile/domain/models/album/album.model.dart'; import 'package:immich_mobile/domain/models/asset/base_asset.model.dart'; import 'package:immich_mobile/domain/models/user.model.dart'; -import 'package:immich_mobile/infrastructure/entities/remote_album.entity.drift.dart'; -import 'package:immich_mobile/infrastructure/entities/remote_album_asset.entity.drift.dart'; -import 'package:immich_mobile/infrastructure/entities/remote_album_user.entity.drift.dart'; -import 'package:immich_mobile/infrastructure/entities/remote_asset.entity.dart'; -import 'package:immich_mobile/infrastructure/entities/remote_asset.entity.drift.dart'; -import 'package:immich_mobile/infrastructure/repositories/db.repository.dart'; import 'package:immich_mobile/infrastructure/repositories/remote_album.repository.drift.dart'; enum SortRemoteAlbumsBy { id, updatedAt } diff --git a/mobile/lib/infrastructure/repositories/remote_asset.repository.dart b/mobile/lib/infrastructure/repositories/remote_asset.repository.dart index e6fd0e9c8..698ec2cb8 100644 --- a/mobile/lib/infrastructure/repositories/remote_asset.repository.dart +++ b/mobile/lib/infrastructure/repositories/remote_asset.repository.dart @@ -1,15 +1,15 @@ import 'package:drift/drift.dart'; +import 'package:immich_mobile/data/db/main/database.dart'; +import 'package:immich_mobile/data/db/main/table/asset/edit.dart'; +import 'package:immich_mobile/data/db/main/table/remote/asset.dart'; +import 'package:immich_mobile/data/db/main/table/remote/asset.drift.dart'; +import 'package:immich_mobile/data/db/main/table/remote/exif.dart'; +import 'package:immich_mobile/data/db/main/table/remote/exif.drift.dart'; +import 'package:immich_mobile/data/db/main/table/remote/stack.drift.dart'; import 'package:immich_mobile/domain/models/asset/base_asset.model.dart'; import 'package:immich_mobile/domain/models/asset_edit.model.dart'; import 'package:immich_mobile/domain/models/exif.model.dart'; import 'package:immich_mobile/domain/models/stack.model.dart'; -import 'package:immich_mobile/infrastructure/entities/asset_edit.entity.dart'; -import 'package:immich_mobile/infrastructure/entities/exif.entity.dart'; -import 'package:immich_mobile/infrastructure/entities/exif.entity.drift.dart'; -import 'package:immich_mobile/infrastructure/entities/remote_asset.entity.dart'; -import 'package:immich_mobile/infrastructure/entities/remote_asset.entity.drift.dart'; -import 'package:immich_mobile/infrastructure/entities/stack.entity.drift.dart'; -import 'package:immich_mobile/infrastructure/repositories/db.repository.dart'; import 'package:immich_mobile/infrastructure/repositories/remote_asset.repository.drift.dart'; import 'package:immich_mobile/utils/option.dart'; import 'package:maplibre_gl/maplibre_gl.dart'; diff --git a/mobile/lib/infrastructure/repositories/remote_exif.repository.dart b/mobile/lib/infrastructure/repositories/remote_exif.repository.dart index f3064104f..d535de9e5 100644 --- a/mobile/lib/infrastructure/repositories/remote_exif.repository.dart +++ b/mobile/lib/infrastructure/repositories/remote_exif.repository.dart @@ -1,6 +1,6 @@ import 'package:drift/drift.dart'; -import 'package:immich_mobile/infrastructure/entities/exif.entity.drift.dart'; -import 'package:immich_mobile/infrastructure/repositories/db.repository.dart'; +import 'package:immich_mobile/data/db/main/database.dart'; +import 'package:immich_mobile/data/db/main/table/remote/exif.drift.dart'; import 'package:immich_mobile/infrastructure/repositories/remote_exif.repository.drift.dart'; import 'package:immich_mobile/utils/option.dart'; import 'package:maplibre_gl/maplibre_gl.dart'; diff --git a/mobile/lib/infrastructure/repositories/search_api.repository.dart b/mobile/lib/infrastructure/repositories/search_api.repository.dart index dec6e1d16..402b26c9e 100644 --- a/mobile/lib/infrastructure/repositories/search_api.repository.dart +++ b/mobile/lib/infrastructure/repositories/search_api.repository.dart @@ -1,5 +1,5 @@ +import 'package:immich_mobile/data/server/api_repository.dart'; import 'package:immich_mobile/domain/models/asset/base_asset.model.dart' hide AssetVisibility; -import 'package:immich_mobile/infrastructure/repositories/api.repository.dart'; import 'package:immich_mobile/models/search/search_filter.model.dart'; import 'package:immich_mobile/utils/option.dart'; import 'package:openapi/api.dart'; diff --git a/mobile/lib/infrastructure/repositories/settings.repository.dart b/mobile/lib/infrastructure/repositories/settings.repository.dart index c5f8fb48d..232d8a46c 100644 --- a/mobile/lib/infrastructure/repositories/settings.repository.dart +++ b/mobile/lib/infrastructure/repositories/settings.repository.dart @@ -1,10 +1,10 @@ import 'package:drift/drift.dart'; import 'package:flutter/foundation.dart'; +import 'package:immich_mobile/data/db/main/database.dart'; +import 'package:immich_mobile/data/db/main/table/app/settings.drift.dart'; import 'package:immich_mobile/domain/models/config/app_config.dart'; import 'package:immich_mobile/domain/models/settings_key.dart'; -import 'package:immich_mobile/infrastructure/entities/settings.entity.drift.dart'; import 'package:immich_mobile/infrastructure/repositories/cached_key_value_repository.dart'; -import 'package:immich_mobile/infrastructure/repositories/db.repository.dart'; class SettingsRepository extends CachedKeyValueRepository { final Drift _db; diff --git a/mobile/lib/infrastructure/repositories/stack.repository.dart b/mobile/lib/infrastructure/repositories/stack.repository.dart index eecf7b914..2924c9472 100644 --- a/mobile/lib/infrastructure/repositories/stack.repository.dart +++ b/mobile/lib/infrastructure/repositories/stack.repository.dart @@ -1,7 +1,7 @@ import 'package:drift/drift.dart'; +import 'package:immich_mobile/data/db/main/database.dart'; +import 'package:immich_mobile/data/db/main/table/remote/stack.drift.dart'; import 'package:immich_mobile/domain/models/stack.model.dart'; -import 'package:immich_mobile/infrastructure/entities/stack.entity.drift.dart'; -import 'package:immich_mobile/infrastructure/repositories/db.repository.dart'; import 'package:immich_mobile/infrastructure/repositories/stack.repository.drift.dart'; @DriftAccessor() diff --git a/mobile/lib/infrastructure/repositories/store.repository.dart b/mobile/lib/infrastructure/repositories/store.repository.dart index 62cf38c20..c2b437987 100644 --- a/mobile/lib/infrastructure/repositories/store.repository.dart +++ b/mobile/lib/infrastructure/repositories/store.repository.dart @@ -1,8 +1,8 @@ import 'package:drift/drift.dart'; +import 'package:immich_mobile/data/db/main/database.dart'; +import 'package:immich_mobile/data/db/main/table/app/store.drift.dart'; import 'package:immich_mobile/domain/models/store.model.dart'; import 'package:immich_mobile/domain/models/user.model.dart'; -import 'package:immich_mobile/infrastructure/entities/store.entity.drift.dart'; -import 'package:immich_mobile/infrastructure/repositories/db.repository.dart'; import 'package:immich_mobile/infrastructure/repositories/store.repository.drift.dart'; import 'package:immich_mobile/infrastructure/repositories/user.repository.dart'; diff --git a/mobile/lib/infrastructure/repositories/sync_migration.repository.dart b/mobile/lib/infrastructure/repositories/sync_migration.repository.dart index eca451dd1..00f7a77d0 100644 --- a/mobile/lib/infrastructure/repositories/sync_migration.repository.dart +++ b/mobile/lib/infrastructure/repositories/sync_migration.repository.dart @@ -1,5 +1,5 @@ import 'package:drift/drift.dart'; -import 'package:immich_mobile/infrastructure/repositories/db.repository.dart'; +import 'package:immich_mobile/data/db/main/database.dart'; import 'package:immich_mobile/infrastructure/repositories/sync_migration.repository.drift.dart'; @DriftAccessor() diff --git a/mobile/lib/infrastructure/repositories/sync_stream.repository.dart b/mobile/lib/infrastructure/repositories/sync_stream.repository.dart index ce246b97a..f3b3840a7 100644 --- a/mobile/lib/infrastructure/repositories/sync_stream.repository.dart +++ b/mobile/lib/infrastructure/repositories/sync_stream.repository.dart @@ -3,6 +3,25 @@ import 'dart:convert'; import 'package:collection/collection.dart'; import 'package:drift/drift.dart'; import 'package:immich_mobile/constants/constants.dart'; +import 'package:immich_mobile/data/db/main/database.dart'; +import 'package:immich_mobile/data/db/main/table/asset/edit.drift.dart'; +import 'package:immich_mobile/data/db/main/table/asset/ocr.drift.dart'; +import 'package:immich_mobile/data/db/main/table/local/album.drift.dart'; +import 'package:immich_mobile/data/db/main/table/memory/asset.drift.dart'; +import 'package:immich_mobile/data/db/main/table/memory/memory.drift.dart'; +import 'package:immich_mobile/data/db/main/table/people/asset_face.drift.dart'; +import 'package:immich_mobile/data/db/main/table/people/person.drift.dart'; +import 'package:immich_mobile/data/db/main/table/remote/album.drift.dart'; +import 'package:immich_mobile/data/db/main/table/remote/album_asset.drift.dart'; +import 'package:immich_mobile/data/db/main/table/remote/album_user.drift.dart'; +import 'package:immich_mobile/data/db/main/table/remote/asset.drift.dart'; +import 'package:immich_mobile/data/db/main/table/remote/cloud_id.drift.dart'; +import 'package:immich_mobile/data/db/main/table/remote/exif.drift.dart'; +import 'package:immich_mobile/data/db/main/table/remote/stack.drift.dart'; +import 'package:immich_mobile/data/db/main/table/user/auth_user.drift.dart'; +import 'package:immich_mobile/data/db/main/table/user/metadata.drift.dart'; +import 'package:immich_mobile/data/db/main/table/user/partner.drift.dart'; +import 'package:immich_mobile/data/db/main/table/user/user.drift.dart'; import 'package:immich_mobile/domain/models/album/album.model.dart'; import 'package:immich_mobile/domain/models/asset/base_asset.model.dart'; import 'package:immich_mobile/domain/models/asset_edit.model.dart'; @@ -10,25 +29,6 @@ import 'package:immich_mobile/domain/models/memory.model.dart'; import 'package:immich_mobile/domain/models/user.model.dart'; import 'package:immich_mobile/domain/models/user_metadata.model.dart'; import 'package:immich_mobile/extensions/string_extensions.dart'; -import 'package:immich_mobile/infrastructure/entities/asset_edit.entity.drift.dart'; -import 'package:immich_mobile/infrastructure/entities/asset_face.entity.drift.dart'; -import 'package:immich_mobile/infrastructure/entities/asset_ocr.entity.drift.dart'; -import 'package:immich_mobile/infrastructure/entities/auth_user.entity.drift.dart'; -import 'package:immich_mobile/infrastructure/entities/exif.entity.drift.dart'; -import 'package:immich_mobile/infrastructure/entities/local_album.entity.drift.dart'; -import 'package:immich_mobile/infrastructure/entities/memory.entity.drift.dart'; -import 'package:immich_mobile/infrastructure/entities/memory_asset.entity.drift.dart'; -import 'package:immich_mobile/infrastructure/entities/partner.entity.drift.dart'; -import 'package:immich_mobile/infrastructure/entities/person.entity.drift.dart'; -import 'package:immich_mobile/infrastructure/entities/remote_album.entity.drift.dart'; -import 'package:immich_mobile/infrastructure/entities/remote_album_asset.entity.drift.dart'; -import 'package:immich_mobile/infrastructure/entities/remote_album_user.entity.drift.dart'; -import 'package:immich_mobile/infrastructure/entities/remote_asset.entity.drift.dart'; -import 'package:immich_mobile/infrastructure/entities/remote_asset_cloud_id.entity.drift.dart'; -import 'package:immich_mobile/infrastructure/entities/stack.entity.drift.dart'; -import 'package:immich_mobile/infrastructure/entities/user.entity.drift.dart'; -import 'package:immich_mobile/infrastructure/entities/user_metadata.entity.drift.dart'; -import 'package:immich_mobile/infrastructure/repositories/db.repository.dart'; import 'package:immich_mobile/infrastructure/repositories/sync_stream.repository.drift.dart'; import 'package:immich_mobile/infrastructure/utils/exif.converter.dart'; import 'package:logging/logging.dart'; diff --git a/mobile/lib/infrastructure/repositories/tags_api.repository.dart b/mobile/lib/infrastructure/repositories/tags_api.repository.dart index 5963fc2f2..9c38c2793 100644 --- a/mobile/lib/infrastructure/repositories/tags_api.repository.dart +++ b/mobile/lib/infrastructure/repositories/tags_api.repository.dart @@ -1,5 +1,5 @@ import 'package:hooks_riverpod/hooks_riverpod.dart'; -import 'package:immich_mobile/infrastructure/repositories/api.repository.dart'; +import 'package:immich_mobile/data/server/api_repository.dart'; import 'package:immich_mobile/providers/api.provider.dart'; import 'package:openapi/api.dart'; diff --git a/mobile/lib/infrastructure/repositories/timeline.repository.dart b/mobile/lib/infrastructure/repositories/timeline.repository.dart index 824449e93..4b7c5cf90 100644 --- a/mobile/lib/infrastructure/repositories/timeline.repository.dart +++ b/mobile/lib/infrastructure/repositories/timeline.repository.dart @@ -2,15 +2,15 @@ import 'dart:async'; import 'package:drift/drift.dart'; import 'package:easy_localization/easy_localization.dart'; +import 'package:immich_mobile/data/db/main/database.dart'; +import 'package:immich_mobile/data/db/main/table/local/asset.dart'; +import 'package:immich_mobile/data/db/main/table/remote/asset.dart'; +import 'package:immich_mobile/data/db/main/table/remote/asset.drift.dart'; import 'package:immich_mobile/domain/models/album/album.model.dart'; import 'package:immich_mobile/domain/models/asset/base_asset.model.dart'; import 'package:immich_mobile/domain/models/time_range.model.dart'; import 'package:immich_mobile/domain/models/timeline.model.dart'; import 'package:immich_mobile/domain/services/timeline.service.dart'; -import 'package:immich_mobile/infrastructure/entities/local_asset.entity.dart'; -import 'package:immich_mobile/infrastructure/entities/remote_asset.entity.dart'; -import 'package:immich_mobile/infrastructure/entities/remote_asset.entity.drift.dart'; -import 'package:immich_mobile/infrastructure/repositories/db.repository.dart'; import 'package:immich_mobile/infrastructure/repositories/map.repository.dart'; import 'package:immich_mobile/infrastructure/repositories/timeline.repository.drift.dart'; import 'package:maplibre_gl/maplibre_gl.dart'; diff --git a/mobile/lib/infrastructure/repositories/trashed_local_asset.repository.dart b/mobile/lib/infrastructure/repositories/trashed_local_asset.repository.dart index ee762fd33..8d0c8aeb8 100644 --- a/mobile/lib/infrastructure/repositories/trashed_local_asset.repository.dart +++ b/mobile/lib/infrastructure/repositories/trashed_local_asset.repository.dart @@ -1,13 +1,13 @@ import 'package:collection/collection.dart'; import 'package:drift/drift.dart'; import 'package:immich_mobile/constants/constants.dart'; +import 'package:immich_mobile/data/db/main/database.dart'; +import 'package:immich_mobile/data/db/main/table/local/asset.dart'; +import 'package:immich_mobile/data/db/main/table/local/asset.drift.dart'; +import 'package:immich_mobile/data/db/main/table/local/trashed_asset.dart'; +import 'package:immich_mobile/data/db/main/table/local/trashed_asset.drift.dart'; import 'package:immich_mobile/domain/models/album/local_album.model.dart'; import 'package:immich_mobile/domain/models/asset/base_asset.model.dart'; -import 'package:immich_mobile/infrastructure/entities/local_asset.entity.dart'; -import 'package:immich_mobile/infrastructure/entities/local_asset.entity.drift.dart'; -import 'package:immich_mobile/infrastructure/entities/trashed_local_asset.entity.dart'; -import 'package:immich_mobile/infrastructure/entities/trashed_local_asset.entity.drift.dart'; -import 'package:immich_mobile/infrastructure/repositories/db.repository.dart'; import 'package:immich_mobile/infrastructure/repositories/trashed_local_asset.repository.drift.dart'; typedef TrashedAsset = ({String albumId, LocalAsset asset}); diff --git a/mobile/lib/infrastructure/repositories/user.repository.dart b/mobile/lib/infrastructure/repositories/user.repository.dart index 157851ab5..f8c74222a 100644 --- a/mobile/lib/infrastructure/repositories/user.repository.dart +++ b/mobile/lib/infrastructure/repositories/user.repository.dart @@ -1,9 +1,9 @@ import 'package:drift/drift.dart'; +import 'package:immich_mobile/data/db/main/database.dart'; +import 'package:immich_mobile/data/db/main/table/user/auth_user.drift.dart'; import 'package:immich_mobile/domain/models/user.model.dart'; import 'package:immich_mobile/domain/models/user_metadata.model.dart'; -import 'package:immich_mobile/infrastructure/entities/auth_user.entity.drift.dart'; import 'package:immich_mobile/infrastructure/mapper.dart'; -import 'package:immich_mobile/infrastructure/repositories/db.repository.dart'; import 'package:immich_mobile/infrastructure/repositories/user.repository.drift.dart'; import 'package:immich_mobile/infrastructure/repositories/user_metadata.repository.dart'; diff --git a/mobile/lib/infrastructure/repositories/user_api.repository.dart b/mobile/lib/infrastructure/repositories/user_api.repository.dart index aa645f2a4..800a23822 100644 --- a/mobile/lib/infrastructure/repositories/user_api.repository.dart +++ b/mobile/lib/infrastructure/repositories/user_api.repository.dart @@ -1,8 +1,8 @@ import 'dart:typed_data'; import 'package:http/http.dart'; +import 'package:immich_mobile/data/server/api_repository.dart'; import 'package:immich_mobile/domain/models/user.model.dart'; -import 'package:immich_mobile/infrastructure/repositories/api.repository.dart'; import 'package:immich_mobile/infrastructure/utils/user.converter.dart'; import 'package:openapi/api.dart'; diff --git a/mobile/lib/infrastructure/repositories/user_metadata.repository.dart b/mobile/lib/infrastructure/repositories/user_metadata.repository.dart index 001e482f5..4128c6bb3 100644 --- a/mobile/lib/infrastructure/repositories/user_metadata.repository.dart +++ b/mobile/lib/infrastructure/repositories/user_metadata.repository.dart @@ -1,7 +1,7 @@ import 'package:drift/drift.dart'; +import 'package:immich_mobile/data/db/main/database.dart'; +import 'package:immich_mobile/data/db/main/table/user/metadata.drift.dart'; import 'package:immich_mobile/domain/models/user_metadata.model.dart'; -import 'package:immich_mobile/infrastructure/entities/user_metadata.entity.drift.dart'; -import 'package:immich_mobile/infrastructure/repositories/db.repository.dart'; @DriftAccessor() class UserMetadataRepository extends DatabaseAccessor { diff --git a/mobile/lib/pages/common/splash_screen.page.dart b/mobile/lib/pages/common/splash_screen.page.dart index 65a78aed8..ad13e10cd 100644 --- a/mobile/lib/pages/common/splash_screen.page.dart +++ b/mobile/lib/pages/common/splash_screen.page.dart @@ -6,12 +6,12 @@ import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart'; import 'package:immich_mobile/constants/locales.dart'; +import 'package:immich_mobile/data/db/main/database.dart'; import 'package:immich_mobile/domain/models/config/app_config.dart'; import 'package:immich_mobile/domain/models/store.model.dart'; import 'package:immich_mobile/entities/store.entity.dart'; import 'package:immich_mobile/generated/codegen_loader.g.dart'; import 'package:immich_mobile/generated/translations.g.dart'; -import 'package:immich_mobile/infrastructure/repositories/db.repository.dart'; import 'package:immich_mobile/infrastructure/repositories/settings.repository.dart'; import 'package:immich_mobile/providers/auth.provider.dart'; import 'package:immich_mobile/providers/background_sync.provider.dart'; diff --git a/mobile/lib/presentation/pages/dev/media_stat.page.dart b/mobile/lib/presentation/pages/dev/media_stat.page.dart index ec6a260c8..31ed96d36 100644 --- a/mobile/lib/presentation/pages/dev/media_stat.page.dart +++ b/mobile/lib/presentation/pages/dev/media_stat.page.dart @@ -2,9 +2,9 @@ import 'package:auto_route/auto_route.dart'; import 'package:collection/collection.dart'; import 'package:flutter/material.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart'; +import 'package:immich_mobile/data/db/main/database.dart'; import 'package:immich_mobile/extensions/build_context_extensions.dart'; import 'package:immich_mobile/generated/translations.g.dart'; -import 'package:immich_mobile/infrastructure/repositories/db.repository.dart'; import 'package:immich_mobile/providers/infrastructure/db.provider.dart'; import 'package:immich_mobile/routing/router.dart'; diff --git a/mobile/lib/providers/infrastructure/db.provider.dart b/mobile/lib/providers/infrastructure/db.provider.dart index 2b4ba0129..bd9b597fa 100644 --- a/mobile/lib/providers/infrastructure/db.provider.dart +++ b/mobile/lib/providers/infrastructure/db.provider.dart @@ -1,7 +1,7 @@ import 'dart:async'; import 'package:hooks_riverpod/hooks_riverpod.dart'; -import 'package:immich_mobile/infrastructure/repositories/db.repository.dart'; +import 'package:immich_mobile/data/db/main/database.dart'; Drift Function(Ref ref) driftOverride(Drift drift) => (ref) { ref.onDispose(() => unawaited(drift.close())); diff --git a/mobile/lib/providers/infrastructure/people.provider.dart b/mobile/lib/providers/infrastructure/people.provider.dart index 3d8c674ef..a2f900d6e 100644 --- a/mobile/lib/providers/infrastructure/people.provider.dart +++ b/mobile/lib/providers/infrastructure/people.provider.dart @@ -1,9 +1,9 @@ import 'package:hooks_riverpod/hooks_riverpod.dart'; +import 'package:immich_mobile/data/server/person.dart'; import 'package:immich_mobile/domain/models/person.model.dart'; import 'package:immich_mobile/domain/services/people.service.dart'; import 'package:immich_mobile/providers/infrastructure/db.provider.dart'; import 'package:immich_mobile/providers/infrastructure/user_metadata.provider.dart'; -import 'package:immich_mobile/repositories/person_api.repository.dart'; final driftPeopleServiceProvider = Provider( (ref) => DriftPeopleService(ref.watch(driftProvider).peopleRepository, ref.watch(personApiRepositoryProvider)), diff --git a/mobile/lib/repositories/api.repository.dart b/mobile/lib/repositories/api.repository.dart index 8a5c690b3..c6041f643 100644 --- a/mobile/lib/repositories/api.repository.dart +++ b/mobile/lib/repositories/api.repository.dart @@ -1,4 +1,4 @@ -import 'package:immich_mobile/constants/errors.dart'; +import 'package:immich_mobile/data/server/errors.dart'; abstract class ApiRepository { Future checkNull(Future future) async { diff --git a/mobile/lib/repositories/auth.repository.dart b/mobile/lib/repositories/auth.repository.dart index dd9aed3a0..7df18225f 100644 --- a/mobile/lib/repositories/auth.repository.dart +++ b/mobile/lib/repositories/auth.repository.dart @@ -1,5 +1,5 @@ import 'package:hooks_riverpod/hooks_riverpod.dart'; -import 'package:immich_mobile/infrastructure/repositories/db.repository.dart'; +import 'package:immich_mobile/data/db/main/database.dart'; import 'package:immich_mobile/infrastructure/repositories/settings.repository.dart'; import 'package:immich_mobile/infrastructure/repositories/sync_stream.repository.dart'; import 'package:immich_mobile/models/auth/auxilary_endpoint.model.dart'; diff --git a/mobile/lib/services/activity.service.dart b/mobile/lib/services/activity.service.dart index 0d4709d0d..5c60a6a04 100644 --- a/mobile/lib/services/activity.service.dart +++ b/mobile/lib/services/activity.service.dart @@ -1,5 +1,5 @@ import 'package:hooks_riverpod/hooks_riverpod.dart'; -import 'package:immich_mobile/constants/errors.dart'; +import 'package:immich_mobile/data/server/errors.dart'; import 'package:immich_mobile/domain/services/asset.service.dart'; import 'package:immich_mobile/domain/services/timeline.service.dart'; import 'package:immich_mobile/mixins/error_logger.mixin.dart'; diff --git a/mobile/lib/utils/bootstrap.dart b/mobile/lib/utils/bootstrap.dart index e6116afe5..68e77344c 100644 --- a/mobile/lib/utils/bootstrap.dart +++ b/mobile/lib/utils/bootstrap.dart @@ -1,11 +1,11 @@ import 'package:background_downloader/background_downloader.dart'; import 'package:immich_mobile/constants/constants.dart'; +import 'package:immich_mobile/data/db/logger/database.dart'; +import 'package:immich_mobile/data/db/main/database.dart'; import 'package:immich_mobile/domain/services/log.service.dart'; import 'package:immich_mobile/domain/services/store.service.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'; import 'package:immich_mobile/infrastructure/repositories/network.repository.dart'; import 'package:immich_mobile/infrastructure/repositories/settings.repository.dart'; import 'package:immich_mobile/infrastructure/repositories/store.repository.dart'; diff --git a/mobile/lib/utils/migration.dart b/mobile/lib/utils/migration.dart index 56fccf461..d7463d670 100644 --- a/mobile/lib/utils/migration.dart +++ b/mobile/lib/utils/migration.dart @@ -6,6 +6,8 @@ import 'package:drift/drift.dart'; import 'package:flutter/material.dart'; import 'package:immich_mobile/constants/colors.dart'; import 'package:immich_mobile/constants/enums.dart'; +import 'package:immich_mobile/data/db/main/database.dart'; +import 'package:immich_mobile/data/db/main/table/app/settings.drift.dart'; import 'package:immich_mobile/domain/models/config/app_config.dart'; import 'package:immich_mobile/domain/models/log.model.dart'; import 'package:immich_mobile/domain/models/settings_key.dart'; @@ -13,8 +15,6 @@ import 'package:immich_mobile/domain/models/store.model.dart'; import 'package:immich_mobile/domain/models/timeline.model.dart'; import 'package:immich_mobile/domain/services/feature_message.service.dart'; import 'package:immich_mobile/entities/store.entity.dart'; -import 'package:immich_mobile/infrastructure/entities/settings.entity.drift.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/settings.repository.dart'; import 'package:immich_mobile/models/auth/auxilary_endpoint.model.dart'; diff --git a/mobile/lib/utils/provider_utils.dart b/mobile/lib/utils/provider_utils.dart index 9524433c0..debb3222d 100644 --- a/mobile/lib/utils/provider_utils.dart +++ b/mobile/lib/utils/provider_utils.dart @@ -1,11 +1,11 @@ import 'package:hooks_riverpod/hooks_riverpod.dart'; +import 'package:immich_mobile/data/server/person.dart'; import 'package:immich_mobile/providers/infrastructure/search.provider.dart'; import 'package:immich_mobile/providers/infrastructure/user.provider.dart'; import 'package:immich_mobile/repositories/activity_api.repository.dart'; import 'package:immich_mobile/repositories/asset_api.repository.dart'; import 'package:immich_mobile/repositories/drift_album_api_repository.dart'; import 'package:immich_mobile/repositories/partner_api.repository.dart'; -import 'package:immich_mobile/repositories/person_api.repository.dart'; void invalidateAllApiRepositoryProviders(WidgetRef ref) { ref.invalidate(userApiRepositoryProvider); diff --git a/mobile/mise.toml b/mobile/mise.toml index 77a6295a2..1545d3bc5 100644 --- a/mobile/mise.toml +++ b/mobile/mise.toml @@ -35,7 +35,7 @@ sources = [ "pubspec.yaml", "build.yaml", "lib/**/*.dart", - "infrastructure/**/*.drift", + "lib/**/*.drift", ] outputs = { auto = true } run = [ @@ -52,11 +52,9 @@ sources = [ "build.yaml", "pubspec.yaml", "drift_schemas/main/*.json", - "lib/infrastructure/entities/*.entity.dart", - "lib/infrastructure/entities/*.drift", - "lib/infrastructure/repositories/*.repository.dart", + "lib/data/db/**/*.dart", ] -outputs = ["lib/infrastructure/repositories/db.repository.steps.dart"] +outputs = ["lib/data/db/main/database.steps.dart"] run = "dart run drift_dev make-migrations" depends = ["//:open-api-dart"] diff --git a/mobile/test/domain/repositories/sync_stream_repository_test.dart b/mobile/test/domain/repositories/sync_stream_repository_test.dart index 13da16114..2e5809cd6 100644 --- a/mobile/test/domain/repositories/sync_stream_repository_test.dart +++ b/mobile/test/domain/repositories/sync_stream_repository_test.dart @@ -1,12 +1,12 @@ import 'package:drift/drift.dart' as drift; import 'package:drift/native.dart'; import 'package:flutter_test/flutter_test.dart'; +import 'package:immich_mobile/data/db/main/database.dart'; +import 'package:immich_mobile/data/db/main/table/local/album.drift.dart'; +import 'package:immich_mobile/data/db/main/table/remote/album.drift.dart'; +import 'package:immich_mobile/data/db/main/table/remote/exif.drift.dart'; import 'package:immich_mobile/domain/models/album/album.model.dart'; import 'package:immich_mobile/domain/models/album/local_album.model.dart'; -import 'package:immich_mobile/infrastructure/entities/exif.entity.drift.dart'; -import 'package:immich_mobile/infrastructure/entities/local_album.entity.drift.dart'; -import 'package:immich_mobile/infrastructure/entities/remote_album.entity.drift.dart'; -import 'package:immich_mobile/infrastructure/repositories/db.repository.dart'; import 'package:immich_mobile/infrastructure/repositories/sync_stream.repository.dart'; import 'package:openapi/api.dart'; diff --git a/mobile/test/domain/services/local_sync_service_test.dart b/mobile/test/domain/services/local_sync_service_test.dart index 2cbabd77e..695712b18 100644 --- a/mobile/test/domain/services/local_sync_service_test.dart +++ b/mobile/test/domain/services/local_sync_service_test.dart @@ -2,12 +2,12 @@ import 'package:drift/drift.dart' as drift; import 'package:drift/native.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter_test/flutter_test.dart'; +import 'package:immich_mobile/data/db/main/database.dart'; import 'package:immich_mobile/domain/models/asset/base_asset.model.dart'; import 'package:immich_mobile/domain/models/store.model.dart'; import 'package:immich_mobile/domain/services/local_sync.service.dart'; import 'package:immich_mobile/domain/services/store.service.dart'; import 'package:immich_mobile/entities/store.entity.dart'; -import 'package:immich_mobile/infrastructure/repositories/db.repository.dart'; import 'package:immich_mobile/infrastructure/repositories/local_album.repository.dart'; import 'package:immich_mobile/infrastructure/repositories/local_asset.repository.dart'; import 'package:immich_mobile/infrastructure/repositories/store.repository.dart'; diff --git a/mobile/test/domain/services/sync_stream_service_test.dart b/mobile/test/domain/services/sync_stream_service_test.dart index 58b96a2fc..6c5734511 100644 --- a/mobile/test/domain/services/sync_stream_service_test.dart +++ b/mobile/test/domain/services/sync_stream_service_test.dart @@ -4,13 +4,13 @@ import 'package:drift/drift.dart' as drift; import 'package:drift/native.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter_test/flutter_test.dart'; +import 'package:immich_mobile/data/db/main/database.dart'; import 'package:immich_mobile/domain/models/asset/base_asset.model.dart'; import 'package:immich_mobile/domain/models/store.model.dart'; import 'package:immich_mobile/domain/models/sync_event.model.dart'; import 'package:immich_mobile/domain/services/store.service.dart'; import 'package:immich_mobile/domain/services/sync_stream.service.dart'; import 'package:immich_mobile/entities/store.entity.dart'; -import 'package:immich_mobile/infrastructure/repositories/db.repository.dart'; import 'package:immich_mobile/infrastructure/repositories/local_asset.repository.dart'; import 'package:immich_mobile/infrastructure/repositories/store.repository.dart'; import 'package:immich_mobile/infrastructure/repositories/sync_api.repository.dart'; diff --git a/mobile/test/drift/main/migration_test.dart b/mobile/test/drift/main/migration_test.dart index ce3f644b9..61f0ee2d1 100644 --- a/mobile/test/drift/main/migration_test.dart +++ b/mobile/test/drift/main/migration_test.dart @@ -3,7 +3,7 @@ import 'package:drift/drift.dart'; import 'package:drift_dev/api/migrations_native.dart'; import 'package:flutter_test/flutter_test.dart'; -import 'package:immich_mobile/infrastructure/repositories/db.repository.dart'; +import 'package:immich_mobile/data/db/main/database.dart'; import 'generated/schema.dart'; import 'generated/schema_v1.dart' as v1; diff --git a/mobile/test/infrastructure/db_watchers_test.dart b/mobile/test/infrastructure/db_watchers_test.dart index 2975df226..c8eed85ba 100644 --- a/mobile/test/infrastructure/db_watchers_test.dart +++ b/mobile/test/infrastructure/db_watchers_test.dart @@ -3,8 +3,8 @@ import 'dart:io'; import 'package:drift/drift.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter_test/flutter_test.dart'; -import 'package:immich_mobile/infrastructure/entities/store.entity.drift.dart'; -import 'package:immich_mobile/infrastructure/repositories/db.repository.dart'; +import 'package:immich_mobile/data/db/main/database.dart'; +import 'package:immich_mobile/data/db/main/table/app/store.drift.dart'; import 'package:sqlite3_connection_pool/sqlite3_connection_pool.dart'; import 'package:sqlite_async/sqlite_async.dart'; diff --git a/mobile/test/infrastructure/repositories/local_album_repository_test.dart b/mobile/test/infrastructure/repositories/local_album_repository_test.dart index 7498360c8..2923f1573 100644 --- a/mobile/test/infrastructure/repositories/local_album_repository_test.dart +++ b/mobile/test/infrastructure/repositories/local_album_repository_test.dart @@ -1,9 +1,9 @@ import 'package:drift/drift.dart'; import 'package:drift/native.dart'; import 'package:flutter_test/flutter_test.dart'; +import 'package:immich_mobile/data/db/main/database.dart'; import 'package:immich_mobile/domain/models/album/local_album.model.dart'; import 'package:immich_mobile/domain/models/asset/base_asset.model.dart'; -import 'package:immich_mobile/infrastructure/repositories/db.repository.dart'; import 'package:immich_mobile/infrastructure/repositories/local_album.repository.dart'; import '../../test_utils/medium_factory.dart'; diff --git a/mobile/test/infrastructure/repositories/merged_asset_drift_test.dart b/mobile/test/infrastructure/repositories/merged_asset_drift_test.dart index a5fe6f35c..b5bf38070 100644 --- a/mobile/test/infrastructure/repositories/merged_asset_drift_test.dart +++ b/mobile/test/infrastructure/repositories/merged_asset_drift_test.dart @@ -1,11 +1,11 @@ import 'package:drift/drift.dart'; import 'package:drift/native.dart'; import 'package:flutter_test/flutter_test.dart'; +import 'package:immich_mobile/data/db/main/database.dart'; +import 'package:immich_mobile/data/db/main/table/remote/asset.drift.dart'; +import 'package:immich_mobile/data/db/main/table/user/user.drift.dart'; import 'package:immich_mobile/domain/models/asset/base_asset.model.dart'; import 'package:immich_mobile/domain/models/timeline.model.dart'; -import 'package:immich_mobile/infrastructure/entities/remote_asset.entity.drift.dart'; -import 'package:immich_mobile/infrastructure/entities/user.entity.drift.dart'; -import 'package:immich_mobile/infrastructure/repositories/db.repository.dart'; void main() { late Drift db; diff --git a/mobile/test/infrastructure/repositories/store_repository_test.dart b/mobile/test/infrastructure/repositories/store_repository_test.dart index 08ed5f66a..f498e8a11 100644 --- a/mobile/test/infrastructure/repositories/store_repository_test.dart +++ b/mobile/test/infrastructure/repositories/store_repository_test.dart @@ -3,10 +3,10 @@ import 'dart:async'; import 'package:drift/drift.dart' hide isNull; import 'package:drift/native.dart'; import 'package:flutter_test/flutter_test.dart'; +import 'package:immich_mobile/data/db/main/database.dart'; +import 'package:immich_mobile/data/db/main/table/app/store.drift.dart'; import 'package:immich_mobile/domain/models/store.model.dart'; import 'package:immich_mobile/domain/models/user.model.dart'; -import 'package:immich_mobile/infrastructure/entities/store.entity.drift.dart'; -import 'package:immich_mobile/infrastructure/repositories/db.repository.dart'; import 'package:immich_mobile/infrastructure/repositories/store.repository.dart'; import '../../fixtures/user.stub.dart'; diff --git a/mobile/test/infrastructure/repositories/sync_api_repository_test.dart b/mobile/test/infrastructure/repositories/sync_api_repository_test.dart index 5253838fe..4b9d8fe76 100644 --- a/mobile/test/infrastructure/repositories/sync_api_repository_test.dart +++ b/mobile/test/infrastructure/repositories/sync_api_repository_test.dart @@ -5,9 +5,9 @@ import 'package:drift/drift.dart'; import 'package:drift/native.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:http/http.dart' as http; +import 'package:immich_mobile/data/db/main/database.dart'; import 'package:immich_mobile/domain/models/sync_event.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/store.repository.dart'; import 'package:immich_mobile/infrastructure/repositories/sync_api.repository.dart'; import 'package:immich_mobile/utils/semver.dart'; diff --git a/mobile/test/infrastructure/repository.mock.dart b/mobile/test/infrastructure/repository.mock.dart index ef266b243..17ad9af46 100644 --- a/mobile/test/infrastructure/repository.mock.dart +++ b/mobile/test/infrastructure/repository.mock.dart @@ -1,5 +1,5 @@ +import 'package:immich_mobile/data/db/main/database.dart'; import 'package:immich_mobile/infrastructure/repositories/backup.repository.dart'; -import 'package:immich_mobile/infrastructure/repositories/db.repository.dart'; import 'package:immich_mobile/infrastructure/repositories/local_album.repository.dart'; import 'package:immich_mobile/infrastructure/repositories/local_asset.repository.dart'; import 'package:immich_mobile/infrastructure/repositories/log.repository.dart'; diff --git a/mobile/test/medium/repositories/people_repository_test.dart b/mobile/test/medium/repositories/people_repository_test.dart index 979dd9537..041aa46ea 100644 --- a/mobile/test/medium/repositories/people_repository_test.dart +++ b/mobile/test/medium/repositories/people_repository_test.dart @@ -1,5 +1,5 @@ import 'package:flutter_test/flutter_test.dart'; -import 'package:immich_mobile/infrastructure/repositories/people.repository.dart'; +import 'package:immich_mobile/data/db/main/dao/person.dart'; import '../repository_context.dart'; diff --git a/mobile/test/medium/repositories/settings_repository_test.dart b/mobile/test/medium/repositories/settings_repository_test.dart index 087b3aece..beff3bb54 100644 --- a/mobile/test/medium/repositories/settings_repository_test.dart +++ b/mobile/test/medium/repositories/settings_repository_test.dart @@ -1,8 +1,8 @@ import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; +import 'package:immich_mobile/data/db/main/table/app/settings.drift.dart'; import 'package:immich_mobile/domain/models/log.model.dart'; import 'package:immich_mobile/domain/models/settings_key.dart'; -import 'package:immich_mobile/infrastructure/entities/settings.entity.drift.dart'; import 'package:immich_mobile/infrastructure/repositories/settings.repository.dart'; import '../repository_context.dart'; diff --git a/mobile/test/medium/repository_context.dart b/mobile/test/medium/repository_context.dart index c2d7a1f38..4765acee1 100644 --- a/mobile/test/medium/repository_context.dart +++ b/mobile/test/medium/repository_context.dart @@ -1,28 +1,28 @@ import 'package:drift/drift.dart'; import 'package:drift/native.dart'; +import 'package:immich_mobile/data/db/main/database.dart'; +import 'package:immich_mobile/data/db/main/table/local/album.drift.dart'; +import 'package:immich_mobile/data/db/main/table/local/album_asset.drift.dart'; +import 'package:immich_mobile/data/db/main/table/local/asset.drift.dart'; +import 'package:immich_mobile/data/db/main/table/local/trashed_asset.dart'; +import 'package:immich_mobile/data/db/main/table/local/trashed_asset.drift.dart'; +import 'package:immich_mobile/data/db/main/table/memory/asset.drift.dart'; +import 'package:immich_mobile/data/db/main/table/memory/memory.drift.dart'; +import 'package:immich_mobile/data/db/main/table/people/asset_face.drift.dart'; +import 'package:immich_mobile/data/db/main/table/people/person.drift.dart'; +import 'package:immich_mobile/data/db/main/table/remote/album.drift.dart'; +import 'package:immich_mobile/data/db/main/table/remote/album_asset.drift.dart'; +import 'package:immich_mobile/data/db/main/table/remote/album_user.drift.dart'; +import 'package:immich_mobile/data/db/main/table/remote/asset.drift.dart'; +import 'package:immich_mobile/data/db/main/table/remote/cloud_id.drift.dart'; +import 'package:immich_mobile/data/db/main/table/user/auth_user.drift.dart'; +import 'package:immich_mobile/data/db/main/table/user/partner.drift.dart'; +import 'package:immich_mobile/data/db/main/table/user/user.drift.dart'; import 'package:immich_mobile/domain/models/album/album.model.dart'; import 'package:immich_mobile/domain/models/album/local_album.model.dart'; import 'package:immich_mobile/domain/models/asset/base_asset.model.dart'; import 'package:immich_mobile/domain/models/memory.model.dart'; import 'package:immich_mobile/domain/models/user.model.dart'; -import 'package:immich_mobile/infrastructure/entities/asset_face.entity.drift.dart'; -import 'package:immich_mobile/infrastructure/entities/auth_user.entity.drift.dart'; -import 'package:immich_mobile/infrastructure/entities/local_album.entity.drift.dart'; -import 'package:immich_mobile/infrastructure/entities/local_album_asset.entity.drift.dart'; -import 'package:immich_mobile/infrastructure/entities/local_asset.entity.drift.dart'; -import 'package:immich_mobile/infrastructure/entities/memory.entity.drift.dart'; -import 'package:immich_mobile/infrastructure/entities/memory_asset.entity.drift.dart'; -import 'package:immich_mobile/infrastructure/entities/partner.entity.drift.dart'; -import 'package:immich_mobile/infrastructure/entities/person.entity.drift.dart'; -import 'package:immich_mobile/infrastructure/entities/remote_album.entity.drift.dart'; -import 'package:immich_mobile/infrastructure/entities/remote_album_asset.entity.drift.dart'; -import 'package:immich_mobile/infrastructure/entities/remote_album_user.entity.drift.dart'; -import 'package:immich_mobile/infrastructure/entities/remote_asset.entity.drift.dart'; -import 'package:immich_mobile/infrastructure/entities/remote_asset_cloud_id.entity.drift.dart'; -import 'package:immich_mobile/infrastructure/entities/trashed_local_asset.entity.dart'; -import 'package:immich_mobile/infrastructure/entities/trashed_local_asset.entity.drift.dart'; -import 'package:immich_mobile/infrastructure/entities/user.entity.drift.dart'; -import 'package:immich_mobile/infrastructure/repositories/db.repository.dart'; import 'package:immich_mobile/utils/option.dart'; import 'package:uuid/uuid.dart'; diff --git a/mobile/test/modules/map/map_theme_override_test.dart b/mobile/test/modules/map/map_theme_override_test.dart index 3ea54bc9b..d106669e5 100644 --- a/mobile/test/modules/map/map_theme_override_test.dart +++ b/mobile/test/modules/map/map_theme_override_test.dart @@ -6,8 +6,8 @@ import 'package:drift/native.dart'; import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart'; +import 'package:immich_mobile/data/db/main/database.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/store.repository.dart'; import 'package:immich_mobile/models/map/map_state.model.dart'; import 'package:immich_mobile/providers/locale_provider.dart'; diff --git a/mobile/test/providers/infrastructure/memory_provider_test.dart b/mobile/test/providers/infrastructure/memory_provider_test.dart index 18e481573..333a3ad66 100644 --- a/mobile/test/providers/infrastructure/memory_provider_test.dart +++ b/mobile/test/providers/infrastructure/memory_provider_test.dart @@ -1,9 +1,9 @@ import 'package:fake_async/fake_async.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart'; +import 'package:immich_mobile/data/db/main/database.dart'; import 'package:immich_mobile/domain/models/user.model.dart'; import 'package:immich_mobile/domain/services/user.service.dart'; -import 'package:immich_mobile/infrastructure/repositories/db.repository.dart'; import 'package:immich_mobile/infrastructure/repositories/memory.repository.dart'; import 'package:immich_mobile/providers/infrastructure/db.provider.dart'; import 'package:immich_mobile/providers/infrastructure/memory.provider.dart'; diff --git a/mobile/test/repositories/upload_repository_test.dart b/mobile/test/repositories/upload_repository_test.dart index 516559de5..d2e324eb8 100644 --- a/mobile/test/repositories/upload_repository_test.dart +++ b/mobile/test/repositories/upload_repository_test.dart @@ -7,10 +7,10 @@ import 'package:drift/drift.dart'; import 'package:drift/native.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:http/http.dart' as http; +import 'package:immich_mobile/data/db/main/database.dart'; import 'package:immich_mobile/domain/models/store.model.dart'; import 'package:immich_mobile/domain/services/store.service.dart'; import 'package:immich_mobile/entities/store.entity.dart'; -import 'package:immich_mobile/infrastructure/repositories/db.repository.dart'; import 'package:immich_mobile/infrastructure/repositories/store.repository.dart'; import 'package:immich_mobile/repositories/upload.repository.dart'; import 'package:mocktail/mocktail.dart'; diff --git a/mobile/test/services/action.service_test.dart b/mobile/test/services/action.service_test.dart index b008ff9bf..6553f7110 100644 --- a/mobile/test/services/action.service_test.dart +++ b/mobile/test/services/action.service_test.dart @@ -2,9 +2,9 @@ import 'package:drift/drift.dart' as drift; import 'package:drift/native.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter_test/flutter_test.dart'; +import 'package:immich_mobile/data/db/main/database.dart'; import 'package:immich_mobile/domain/services/store.service.dart'; import 'package:immich_mobile/entities/store.entity.dart'; -import 'package:immich_mobile/infrastructure/repositories/db.repository.dart'; import 'package:immich_mobile/infrastructure/repositories/store.repository.dart'; import 'package:immich_mobile/services/action.service.dart'; import 'package:mocktail/mocktail.dart'; diff --git a/mobile/test/services/auth.service_test.dart b/mobile/test/services/auth.service_test.dart index 6d79993aa..663e39745 100644 --- a/mobile/test/services/auth.service_test.dart +++ b/mobile/test/services/auth.service_test.dart @@ -2,8 +2,8 @@ import 'package:drift/drift.dart' hide isNull; import 'package:drift/native.dart'; import 'package:flutter/widgets.dart'; import 'package:flutter_test/flutter_test.dart'; +import 'package:immich_mobile/data/db/main/database.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/store.repository.dart'; import 'package:immich_mobile/models/auth/auxilary_endpoint.model.dart'; import 'package:immich_mobile/services/auth.service.dart'; diff --git a/mobile/test/services/background_upload.service_test.dart b/mobile/test/services/background_upload.service_test.dart index 2d9b5b120..2c044fff6 100644 --- a/mobile/test/services/background_upload.service_test.dart +++ b/mobile/test/services/background_upload.service_test.dart @@ -6,11 +6,11 @@ import 'package:drift/native.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/services.dart'; import 'package:flutter_test/flutter_test.dart'; +import 'package:immich_mobile/data/db/main/database.dart'; import 'package:immich_mobile/domain/models/asset/base_asset.model.dart'; import 'package:immich_mobile/domain/models/store.model.dart'; import 'package:immich_mobile/domain/services/store.service.dart'; import 'package:immich_mobile/entities/store.entity.dart'; -import 'package:immich_mobile/infrastructure/repositories/db.repository.dart'; import 'package:immich_mobile/infrastructure/repositories/settings.repository.dart'; import 'package:immich_mobile/infrastructure/repositories/store.repository.dart'; import 'package:immich_mobile/services/background_upload.service.dart'; diff --git a/mobile/test/services/foreground_upload.service_test.dart b/mobile/test/services/foreground_upload.service_test.dart index 4f0a01dfd..8471034ba 100644 --- a/mobile/test/services/foreground_upload.service_test.dart +++ b/mobile/test/services/foreground_upload.service_test.dart @@ -4,10 +4,10 @@ import 'package:drift/drift.dart' hide isNotNull, isNull; import 'package:drift/native.dart'; import 'package:flutter/services.dart'; import 'package:flutter_test/flutter_test.dart'; +import 'package:immich_mobile/data/db/main/database.dart'; import 'package:immich_mobile/domain/models/store.model.dart'; import 'package:immich_mobile/domain/services/store.service.dart'; import 'package:immich_mobile/entities/store.entity.dart'; -import 'package:immich_mobile/infrastructure/repositories/db.repository.dart'; import 'package:immich_mobile/infrastructure/repositories/settings.repository.dart'; import 'package:immich_mobile/infrastructure/repositories/store.repository.dart'; import 'package:immich_mobile/repositories/upload.repository.dart'; diff --git a/mobile/test/test_utils/medium_factory.dart b/mobile/test/test_utils/medium_factory.dart index fa40de016..075ffdc9d 100644 --- a/mobile/test/test_utils/medium_factory.dart +++ b/mobile/test/test_utils/medium_factory.dart @@ -1,7 +1,7 @@ import 'dart:math'; +import 'package:immich_mobile/data/db/main/database.dart'; import 'package:immich_mobile/domain/models/album/local_album.model.dart'; -import 'package:immich_mobile/infrastructure/repositories/db.repository.dart'; import 'package:immich_mobile/infrastructure/repositories/local_album.repository.dart'; class MediumFactory { diff --git a/mobile/test/unit/presentation/presentation_context.dart b/mobile/test/unit/presentation/presentation_context.dart index 1d4626043..ba29cac8a 100644 --- a/mobile/test/unit/presentation/presentation_context.dart +++ b/mobile/test/unit/presentation/presentation_context.dart @@ -5,12 +5,12 @@ import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart'; import 'package:immich_mobile/constants/locales.dart'; +import 'package:immich_mobile/data/db/main/database.dart'; import 'package:immich_mobile/domain/models/asset/base_asset.model.dart'; import 'package:immich_mobile/domain/models/store.model.dart'; import 'package:immich_mobile/domain/models/user.model.dart'; import 'package:immich_mobile/domain/services/store.service.dart'; import 'package:immich_mobile/generated/codegen_loader.g.dart'; -import 'package:immich_mobile/infrastructure/repositories/db.repository.dart'; import 'package:immich_mobile/infrastructure/repositories/settings.repository.dart'; import 'package:immich_mobile/infrastructure/repositories/store.repository.dart'; import 'package:immich_mobile/presentation/actions/action.dart'; diff --git a/mobile/test/unit/services/asset_service_test.dart b/mobile/test/unit/services/asset_service_test.dart index dc1146da0..9b116dd1a 100644 --- a/mobile/test/unit/services/asset_service_test.dart +++ b/mobile/test/unit/services/asset_service_test.dart @@ -2,11 +2,11 @@ import 'package:drift/drift.dart' as drift; import 'package:drift/native.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter_test/flutter_test.dart'; +import 'package:immich_mobile/data/db/main/database.dart'; import 'package:immich_mobile/domain/models/store.model.dart'; import 'package:immich_mobile/domain/services/asset.service.dart'; import 'package:immich_mobile/domain/services/store.service.dart'; import 'package:immich_mobile/entities/store.entity.dart'; -import 'package:immich_mobile/infrastructure/repositories/db.repository.dart'; import 'package:immich_mobile/infrastructure/repositories/store.repository.dart'; import 'package:mocktail/mocktail.dart'; diff --git a/mobile/test/utils/image_url_builder_test.dart b/mobile/test/utils/image_url_builder_test.dart index 055af185f..25d270d07 100644 --- a/mobile/test/utils/image_url_builder_test.dart +++ b/mobile/test/utils/image_url_builder_test.dart @@ -1,9 +1,9 @@ import 'package:drift/drift.dart'; import 'package:drift/native.dart'; import 'package:flutter_test/flutter_test.dart'; +import 'package:immich_mobile/data/db/main/database.dart'; import 'package:immich_mobile/domain/models/store.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/store.repository.dart'; import 'package:immich_mobile/utils/image_url_builder.dart';