mirror of
https://github.com/immich-app/immich.git
synced 2025-03-26 09:52:35 +01:00
31 lines
800 B
Dart
31 lines
800 B
Dart
import 'package:immich_mobile/entities/user.entity.dart';
|
|
import 'package:immich_mobile/interfaces/database.interface.dart';
|
|
|
|
abstract interface class IUserRepository implements IDatabaseRepository {
|
|
Future<User?> get(String id);
|
|
|
|
Future<User?> getByDbId(int id);
|
|
|
|
Future<List<User>> getByIds(List<String> ids);
|
|
|
|
Future<List<User>> getAll({bool self = true, UserSort? sortBy});
|
|
|
|
/// Returns all users whose assets can be accessed (self+partners)
|
|
Future<List<User>> getAllAccessible();
|
|
|
|
Future<List<User>> upsertAll(List<User> users);
|
|
|
|
Future<User> update(User user);
|
|
|
|
Future<void> deleteById(List<int> ids);
|
|
|
|
Future<User> me();
|
|
|
|
Future<void> clearTable();
|
|
|
|
Future<List<int>> getTimelineUserIds(int id);
|
|
|
|
Stream<List<int>> watchTimelineUsers(int id);
|
|
}
|
|
|
|
enum UserSort { id }
|