feat: full local assets / album sync

This commit is contained in:
shenlong-tanwen
2024-10-17 23:33:00 +05:30
parent a09710ec7b
commit c91a2878dc
87 changed files with 2417 additions and 366 deletions
@@ -0,0 +1,24 @@
import 'dart:async';
import 'dart:io';
import 'dart:typed_data';
import 'package:immich_mobile/domain/models/asset.model.dart';
import 'package:immich_mobile/domain/models/device_asset_download.model.dart';
import 'package:immich_mobile/utils/constants/globals.dart';
abstract interface class IDeviceAssetRepository<T> {
/// Fetches the [File] for the given [assetId]
FutureOr<File?> getOriginalFile(String assetId);
/// Fetches the thumbnail for the given [assetId]
FutureOr<Uint8List?> getThumbnail(
String assetId, {
int width = kGridThumbnailSize,
int height = kGridThumbnailSize,
int quality = kGridThumbnailQuality,
DeviceAssetDownloadHandler? downloadHandler,
});
/// Converts the given [entity] to an [Asset]
Future<Asset> toAsset(T entity);
}