refactor(mobile): album api repository for album service (#12791)

* refactor(mobile): album api repository for album service
This commit is contained in:
Fynn Petersen-Frey 2024-09-20 15:32:37 +02:00 committed by GitHub
parent 94fc1f213a
commit 3868736799
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
20 changed files with 751 additions and 223 deletions

View file

@ -0,0 +1,40 @@
import 'package:immich_mobile/entities/album.entity.dart';
abstract interface class IAlbumApiRepository {
Future<Album> get(String id);
Future<List<Album>> getAll({bool? shared});
Future<Album> create(
String name, {
required Iterable<String> assetIds,
Iterable<String> sharedUserIds = const [],
});
Future<Album> update(
String albumId, {
String? name,
String? thumbnailAssetId,
String? description,
bool? activityEnabled,
});
Future<void> delete(String albumId);
Future<({List<String> added, List<String> duplicates})> addAssets(
String albumId,
Iterable<String> assetIds,
);
Future<({List<String> removed, List<String> failed})> removeAssets(
String albumId,
Iterable<String> assetIds,
);
Future<Album> addUsers(
String albumId,
Iterable<String> userIds,
);
Future<void> removeUser(String albumId, {required String userId});
}