mirror of
https://github.com/immich-app/immich.git
synced 2025-05-31 04:05:39 -04:00
skeleton
This commit is contained in:
parent
071b271484
commit
8879790054
7
mobile/lib/interfaces/archive.interface.dart
Normal file
7
mobile/lib/interfaces/archive.interface.dart
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
import 'package:immich_mobile/entities/asset.entity.dart';
|
||||||
|
import 'package:immich_mobile/interfaces/database.interface.dart';
|
||||||
|
import 'package:isar/isar.dart';
|
||||||
|
|
||||||
|
abstract interface class IArchiveRepository implements IDatabaseRepository {
|
||||||
|
QueryBuilder<Asset, Asset, QAfterSortBy> getTimelineQuery(int userIsarId);
|
||||||
|
}
|
25
mobile/lib/repositories/archive.repository.dart
Normal file
25
mobile/lib/repositories/archive.repository.dart
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
import 'package:hooks_riverpod/hooks_riverpod.dart';
|
||||||
|
import 'package:immich_mobile/entities/asset.entity.dart';
|
||||||
|
import 'package:immich_mobile/interfaces/archive.interface.dart';
|
||||||
|
import 'package:immich_mobile/providers/db.provider.dart';
|
||||||
|
import 'package:immich_mobile/repositories/database.repository.dart';
|
||||||
|
import 'package:isar/isar.dart';
|
||||||
|
|
||||||
|
final archiveRepositoryProvider =
|
||||||
|
Provider((ref) => ArchiveRepository(ref.watch(dbProvider)));
|
||||||
|
|
||||||
|
class ArchiveRepository extends DatabaseRepository
|
||||||
|
implements IArchiveRepository {
|
||||||
|
ArchiveRepository(super.db);
|
||||||
|
|
||||||
|
@override
|
||||||
|
QueryBuilder<Asset, Asset, QAfterSortBy> getTimelineQuery(int userIsarId) {
|
||||||
|
return db.assets
|
||||||
|
.where()
|
||||||
|
.ownerIdEqualToAnyChecksum(userIsarId)
|
||||||
|
.filter()
|
||||||
|
.isArchivedEqualTo(true)
|
||||||
|
.isTrashedEqualTo(false)
|
||||||
|
.sortByFileCreatedAtDesc();
|
||||||
|
}
|
||||||
|
}
|
15
mobile/lib/services/archive.service.dart
Normal file
15
mobile/lib/services/archive.service.dart
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
import 'package:hooks_riverpod/hooks_riverpod.dart';
|
||||||
|
import 'package:immich_mobile/repositories/archive.repository.dart';
|
||||||
|
|
||||||
|
final archiveServiceProvider = Provider((ref) {
|
||||||
|
return ArchiveService(ref.watch(archiveRepositoryProvider));
|
||||||
|
});
|
||||||
|
|
||||||
|
class ArchiveService {
|
||||||
|
final ArchiveRepository repository;
|
||||||
|
ArchiveService(this.repository);
|
||||||
|
|
||||||
|
getTimelineQuery(int userIsarId) {
|
||||||
|
return repository.getTimelineQuery(userIsarId);
|
||||||
|
}
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user