mirror of
https://github.com/immich-app/immich.git
synced 2025-07-07 10:14:08 -04:00
refactor(mobile): activity_api.interface.dart (#19357)
This commit is contained in:
parent
33c9f88ba4
commit
42c2389eb5
@ -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});
|
|
||||||
}
|
|
@ -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));
|
||||||
|
@ -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");
|
||||||
|
Loading…
x
Reference in New Issue
Block a user