mirror of
https://github.com/immich-app/immich.git
synced 2025-02-04 01:09:14 -05:00
41 lines
1.2 KiB
Dart
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}';
|
|
}
|
|
}
|