From 8ecc67a3645965513f320d35b1ef4b0d271b0faa Mon Sep 17 00:00:00 2001 From: Alex Date: Tue, 25 Feb 2025 19:10:31 -0600 Subject: [PATCH] feat(mobile): use memories api (#16329) --- mobile/lib/services/api.service.dart | 2 ++ mobile/lib/services/memory.service.dart | 14 +++++++------- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/mobile/lib/services/api.service.dart b/mobile/lib/services/api.service.dart index 823ef6a0013..76701491c78 100644 --- a/mobile/lib/services/api.service.dart +++ b/mobile/lib/services/api.service.dart @@ -31,6 +31,7 @@ class ApiService implements Authentication { late DownloadApi downloadApi; late TrashApi trashApi; late StacksApi stacksApi; + late MemoriesApi memoriesApi; ApiService() { final endpoint = Store.tryGet(StoreKey.serverEndpoint); @@ -63,6 +64,7 @@ class ApiService implements Authentication { downloadApi = DownloadApi(_apiClient); trashApi = TrashApi(_apiClient); stacksApi = StacksApi(_apiClient); + memoriesApi = MemoriesApi(_apiClient); } Future resolveAndSetEndpoint(String serverUrl) async { diff --git a/mobile/lib/services/memory.service.dart b/mobile/lib/services/memory.service.dart index b95899df678..3afb6d78d39 100644 --- a/mobile/lib/services/memory.service.dart +++ b/mobile/lib/services/memory.service.dart @@ -6,7 +6,6 @@ import 'package:immich_mobile/providers/api.provider.dart'; import 'package:immich_mobile/repositories/asset.repository.dart'; import 'package:immich_mobile/services/api.service.dart'; import 'package:logging/logging.dart'; -import 'package:openapi/api.dart'; final memoryServiceProvider = StateProvider((ref) { return MemoryService( @@ -26,9 +25,8 @@ class MemoryService { Future?> getMemoryLane() async { try { final now = DateTime.now(); - final data = await _apiService.assetsApi.getMemoryLane( - now.day, - now.month, + final data = await _apiService.memoriesApi.searchMemories( + for_: now, ); if (data == null) { @@ -36,9 +34,11 @@ class MemoryService { } List memories = []; - for (final MemoryLaneResponseDto(:yearsAgo, :assets) in data) { - final dbAssets = - await _assetRepository.getAllByRemoteId(assets.map((e) => e.id)); + + for (final memory in data) { + final dbAssets = await _assetRepository + .getAllByRemoteId(memory.assets.map((e) => e.id)); + final yearsAgo = now.year - memory.data.year; if (dbAssets.isNotEmpty) { final String title = yearsAgo <= 1 ? 'memories_year_ago'.tr()