mirror of
https://github.com/immich-app/immich.git
synced 2025-05-24 01:12:58 -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