drift(mobile): drift auth user sync
This commit is contained in:
@@ -12,15 +12,15 @@ class DriftPartnerService {
|
||||
this._partnerApiRepository,
|
||||
);
|
||||
|
||||
Future<List<PartnerUserDto>> getSharedWith(String userId) {
|
||||
Future<List<PartnerUser>> getSharedWith(String userId) {
|
||||
return _driftPartnerRepository.getSharedWith(userId);
|
||||
}
|
||||
|
||||
Future<List<PartnerUserDto>> getSharedBy(String userId) {
|
||||
Future<List<PartnerUser>> getSharedBy(String userId) {
|
||||
return _driftPartnerRepository.getSharedBy(userId);
|
||||
}
|
||||
|
||||
Future<List<PartnerUserDto>> getAvailablePartners(
|
||||
Future<List<PartnerUser>> getAvailablePartners(
|
||||
String currentUserId,
|
||||
) async {
|
||||
final otherUsers = await _driftPartnerRepository.getAvailablePartners(currentUserId);
|
||||
|
||||
@@ -108,7 +108,7 @@ class RemoteAlbumService {
|
||||
return _repository.getDateRange(albumId);
|
||||
}
|
||||
|
||||
Future<List<UserDto>> getSharedUsers(String albumId) {
|
||||
Future<List<User>> getSharedUsers(String albumId) {
|
||||
return _repository.getSharedUsers(albumId);
|
||||
}
|
||||
|
||||
|
||||
@@ -25,7 +25,7 @@ class SyncStreamService {
|
||||
bool get isCancelled => _cancelChecker?.call() ?? false;
|
||||
|
||||
Future<void> sync() {
|
||||
_logger.info("Remote sync request for userr");
|
||||
_logger.info("Remote sync request for user");
|
||||
DLog.log("Remote sync request for user");
|
||||
// Start the sync stream and handle events
|
||||
return _syncApiRepository.streamChanges(_handleEvents);
|
||||
@@ -120,6 +120,8 @@ class SyncStreamService {
|
||||
) async {
|
||||
_logger.fine("Processing sync data for $type of length ${data.length}");
|
||||
switch (type) {
|
||||
case SyncEntityType.authUserV1:
|
||||
return _syncStreamRepository.updateAuthUsersV1(data.cast());
|
||||
case SyncEntityType.userV1:
|
||||
return _syncStreamRepository.updateUsersV1(data.cast());
|
||||
case SyncEntityType.userDeleteV1:
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
import 'dart:async';
|
||||
import 'dart:typed_data';
|
||||
|
||||
import 'package:immich_mobile/domain/models/setting.model.dart';
|
||||
import 'package:immich_mobile/domain/models/store.model.dart';
|
||||
import 'package:immich_mobile/domain/models/user.model.dart';
|
||||
import 'package:immich_mobile/domain/services/setting.service.dart';
|
||||
import 'package:immich_mobile/domain/services/store.service.dart';
|
||||
import 'package:immich_mobile/infrastructure/repositories/user.repository.dart';
|
||||
import 'package:immich_mobile/infrastructure/repositories/user_api.repository.dart';
|
||||
@@ -66,3 +68,28 @@ class UserService {
|
||||
return _isarUserRepository.deleteAll();
|
||||
}
|
||||
}
|
||||
|
||||
class DriftUserService {
|
||||
final DriftUserRepository _userRepository;
|
||||
final SettingsService _settingsService;
|
||||
|
||||
const DriftUserService(
|
||||
this._userRepository,
|
||||
this._settingsService,
|
||||
);
|
||||
|
||||
Future<User?> getMyUser() {
|
||||
// TODO: Remove UserDto after new store
|
||||
final isarCurrentUser = _settingsService.get(Setting.currentUser);
|
||||
|
||||
if (isarCurrentUser == null) {
|
||||
throw Exception('User must be login');
|
||||
}
|
||||
|
||||
return _userRepository.getById(isarCurrentUser.id);
|
||||
}
|
||||
|
||||
Future<List<User>> getAll() {
|
||||
return _userRepository.getAll();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user