refactor(mobile): activity_api.interface.dart (#19357)

This commit is contained in:
Alex 2025-06-20 09:08:12 -05:00 committed by GitHub
parent 33c9f88ba4
commit 42c2389eb5
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 3 additions and 25 deletions

View File

@ -1,16 +0,0 @@
import 'package:immich_mobile/models/activities/activity.model.dart';
abstract interface class IActivityApiRepository {
Future<List<Activity>> getAll(
String albumId, {
String? assetId,
});
Future<Activity> create(
String albumId,
ActivityType type, {
String? assetId,
String? comment,
});
Future<void> delete(String id);
Future<ActivityStats> getStats(String albumId, {String? assetId});
}

View File

@ -1,6 +1,5 @@
import 'package:hooks_riverpod/hooks_riverpod.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:immich_mobile/infrastructure/utils/user.converter.dart'; import 'package:immich_mobile/infrastructure/utils/user.converter.dart';
import 'package:immich_mobile/interfaces/activity_api.interface.dart';
import 'package:immich_mobile/models/activities/activity.model.dart'; import 'package:immich_mobile/models/activities/activity.model.dart';
import 'package:immich_mobile/providers/api.provider.dart'; import 'package:immich_mobile/providers/api.provider.dart';
import 'package:immich_mobile/repositories/api.repository.dart'; import 'package:immich_mobile/repositories/api.repository.dart';
@ -10,20 +9,17 @@ final activityApiRepositoryProvider = Provider(
(ref) => ActivityApiRepository(ref.watch(apiServiceProvider).activitiesApi), (ref) => ActivityApiRepository(ref.watch(apiServiceProvider).activitiesApi),
); );
class ActivityApiRepository extends ApiRepository class ActivityApiRepository extends ApiRepository {
implements IActivityApiRepository {
final ActivitiesApi _api; final ActivitiesApi _api;
ActivityApiRepository(this._api); ActivityApiRepository(this._api);
@override
Future<List<Activity>> getAll(String albumId, {String? assetId}) async { Future<List<Activity>> getAll(String albumId, {String? assetId}) async {
final response = final response =
await checkNull(_api.getActivities(albumId, assetId: assetId)); await checkNull(_api.getActivities(albumId, assetId: assetId));
return response.map(_toActivity).toList(); return response.map(_toActivity).toList();
} }
@override
Future<Activity> create( Future<Activity> create(
String albumId, String albumId,
ActivityType type, { ActivityType type, {
@ -42,12 +38,10 @@ class ActivityApiRepository extends ApiRepository
return _toActivity(response); return _toActivity(response);
} }
@override
Future<void> delete(String id) { Future<void> delete(String id) {
return checkNull(_api.deleteActivity(id)); return checkNull(_api.deleteActivity(id));
} }
@override
Future<ActivityStats> getStats(String albumId, {String? assetId}) async { Future<ActivityStats> getStats(String albumId, {String? assetId}) async {
final response = final response =
await checkNull(_api.getActivityStatistics(albumId, assetId: assetId)); await checkNull(_api.getActivityStatistics(albumId, assetId: assetId));

View File

@ -1,10 +1,10 @@
import 'package:immich_mobile/interfaces/activity_api.interface.dart';
import 'package:immich_mobile/mixins/error_logger.mixin.dart'; import 'package:immich_mobile/mixins/error_logger.mixin.dart';
import 'package:immich_mobile/models/activities/activity.model.dart'; import 'package:immich_mobile/models/activities/activity.model.dart';
import 'package:immich_mobile/repositories/activity_api.repository.dart';
import 'package:logging/logging.dart'; import 'package:logging/logging.dart';
class ActivityService with ErrorLoggerMixin { class ActivityService with ErrorLoggerMixin {
final IActivityApiRepository _activityApiRepository; final ActivityApiRepository _activityApiRepository;
@override @override
final Logger logger = Logger("ActivityService"); final Logger logger = Logger("ActivityService");