0
Fork 0
mirror of https://github.com/immich-app/immich.git synced 2025-02-04 01:09:14 -05:00
immich/mobile-v2/lib/utils/immich_image_url_helper.dart
2024-10-17 10:51:23 +05:30

41 lines
1.2 KiB
Dart

import 'package:immich_mobile/domain/models/asset.model.dart';
import 'package:immich_mobile/service_locator.dart';
import 'package:immich_mobile/utils/immich_api_client.dart';
import 'package:openapi/api.dart';
class ImImageUrlHelper {
const ImImageUrlHelper();
static String get _serverUrl => di<ImmichApiClient>().basePath;
static String getThumbnailUrl(
final Asset asset, {
AssetMediaSize type = AssetMediaSize.thumbnail,
}) {
return _getThumbnailUrlForRemoteId(asset.remoteId!, type: type);
}
static String getThumbnailCacheKey(
final Asset asset, {
AssetMediaSize type = AssetMediaSize.thumbnail,
}) {
return _getThumbnailCacheKeyForRemoteId(asset.remoteId!, type: type);
}
static String _getThumbnailCacheKeyForRemoteId(
final String id, {
AssetMediaSize type = AssetMediaSize.thumbnail,
}) {
if (type == AssetMediaSize.thumbnail) {
return 'thumbnail-image-$id';
}
return 'preview-image-$id';
}
static String _getThumbnailUrlForRemoteId(
final String id, {
AssetMediaSize type = AssetMediaSize.thumbnail,
}) {
return '$_serverUrl/assets/$id/thumbnail?size=${type.value}';
}
}