1
0
Fork 0
mirror of https://github.com/immich-app/immich.git synced 2025-04-16 04:56:25 +02:00
immich/mobile/lib/repositories/exif_info.repository.dart
Alex 9d4aee36e2
refactor(mobile): asset provider ()
* refactor(mobile): asset provider

* wip

* wip: delete local assets

* wip: delete remote assets

* wip: deletion logic

* refactor

* pr feedback
2025-02-18 13:10:55 -06:00

36 lines
1.1 KiB
Dart

import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:immich_mobile/entities/exif_info.entity.dart';
import 'package:immich_mobile/interfaces/exif_info.interface.dart';
import 'package:immich_mobile/providers/db.provider.dart';
import 'package:immich_mobile/repositories/database.repository.dart';
final exifInfoRepositoryProvider =
Provider((ref) => ExifInfoRepository(ref.watch(dbProvider)));
class ExifInfoRepository extends DatabaseRepository
implements IExifInfoRepository {
ExifInfoRepository(super.db);
@override
Future<void> delete(int id) => txn(() => db.exifInfos.delete(id));
@override
Future<ExifInfo?> get(int id) => db.exifInfos.get(id);
@override
Future<ExifInfo> update(ExifInfo exifInfo) async {
await txn(() => db.exifInfos.put(exifInfo));
return exifInfo;
}
@override
Future<List<ExifInfo>> updateAll(List<ExifInfo> exifInfos) async {
await txn(() => db.exifInfos.putAll(exifInfos));
return exifInfos;
}
@override
Future<void> clearTable() {
return txn(() => db.exifInfos.clear());
}
}