refactor(mobile): use repositories in a number of services (#12891)

* UserService
* PartnerService
* HashService
* MemoryService
* PersonService
* SearchService
* StackService
This commit is contained in:
Fynn Petersen-Frey 2024-09-24 14:50:21 +02:00 committed by GitHub
parent e0fa3cdbc7
commit 202082f62e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
35 changed files with 416 additions and 214 deletions

View file

@ -1,27 +1,27 @@
import 'package:flutter/material.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:immich_mobile/interfaces/asset.interface.dart';
import 'package:immich_mobile/models/search/search_filter.model.dart';
import 'package:immich_mobile/entities/asset.entity.dart';
import 'package:immich_mobile/providers/api.provider.dart';
import 'package:immich_mobile/providers/db.provider.dart';
import 'package:immich_mobile/repositories/asset.repository.dart';
import 'package:immich_mobile/services/api.service.dart';
import 'package:isar/isar.dart';
import 'package:logging/logging.dart';
import 'package:openapi/api.dart';
final searchServiceProvider = Provider(
(ref) => SearchService(
ref.watch(apiServiceProvider),
ref.watch(dbProvider),
ref.watch(assetRepositoryProvider),
),
);
class SearchService {
final ApiService _apiService;
final Isar _db;
final IAssetRepository _assetRepository;
final _log = Logger("SearchService");
SearchService(this._apiService, this._db);
SearchService(this._apiService, this._assetRepository);
Future<List<String>?> getSearchSuggestions(
SearchSuggestionType type, {
@ -103,7 +103,7 @@ class SearchService {
return null;
}
return _db.assets
return _assetRepository
.getAllByRemoteId(response.assets.items.map((e) => e.id));
} catch (error, stackTrace) {
_log.severe("Failed to search for assets", error, stackTrace);