refactor(mobile): use user service methods (#16783)

* refactor: user entity

* chore: rebase fixes

* refactor(mobile): refactor to use user service methods

* fix: late init error

* fix: lint

---------

Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
Co-authored-by: Alex <alex.tran1502@gmail.com>
This commit is contained in:
shenlong 2025-03-18 19:02:33 +05:30 committed by GitHub
parent 6c2985df26
commit dd263b010c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
17 changed files with 137 additions and 143 deletions

View file

@ -5,9 +5,8 @@ import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:immich_mobile/domain/interfaces/exif.interface.dart';
import 'package:immich_mobile/domain/interfaces/user.interface.dart';
import 'package:immich_mobile/domain/interfaces/user_api.repository.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/store.service.dart';
import 'package:immich_mobile/domain/services/user.service.dart';
import 'package:immich_mobile/entities/album.entity.dart';
import 'package:immich_mobile/entities/asset.entity.dart';
import 'package:immich_mobile/entities/etag.entity.dart';
@ -20,7 +19,6 @@ import 'package:immich_mobile/interfaces/etag.interface.dart';
import 'package:immich_mobile/interfaces/partner.interface.dart';
import 'package:immich_mobile/interfaces/partner_api.interface.dart';
import 'package:immich_mobile/providers/infrastructure/exif.provider.dart';
import 'package:immich_mobile/providers/infrastructure/store.provider.dart';
import 'package:immich_mobile/providers/infrastructure/user.provider.dart';
import 'package:immich_mobile/repositories/album.repository.dart';
import 'package:immich_mobile/repositories/album_api.repository.dart';
@ -47,7 +45,7 @@ final syncServiceProvider = Provider(
ref.watch(exifRepositoryProvider),
ref.watch(partnerRepositoryProvider),
ref.watch(userRepositoryProvider),
ref.watch(storeServiceProvider),
ref.watch(userServiceProvider),
ref.watch(etagRepositoryProvider),
ref.watch(partnerApiRepositoryProvider),
ref.watch(userApiRepositoryProvider),
@ -63,8 +61,8 @@ class SyncService {
final IAssetRepository _assetRepository;
final IExifInfoRepository _exifInfoRepository;
final IUserRepository _userRepository;
final UserService _userService;
final IPartnerRepository _partnerRepository;
final StoreService _storeService;
final IETagRepository _eTagRepository;
final IPartnerApiRepository _partnerApiRepository;
final IUserApiRepository _userApiRepository;
@ -81,7 +79,7 @@ class SyncService {
this._exifInfoRepository,
this._partnerRepository,
this._userRepository,
this._storeService,
this._userService,
this._eTagRepository,
this._partnerApiRepository,
this._userApiRepository,
@ -210,7 +208,7 @@ class SyncService {
DateTime since,
) getChangedAssets,
) async {
final currentUser = _storeService.get(StoreKey.currentUser);
final currentUser = _userService.getMyUser();
final DateTime? since =
(await _eTagRepository.get(currentUser.id))?.time?.toUtc();
if (since == null) return null;
@ -261,7 +259,7 @@ class SyncService {
Future<List<UserDto>> _getAllAccessibleUsers() async {
final sharedWith = (await _partnerRepository.getSharedWith()).toSet();
sharedWith.add(_storeService.get(StoreKey.currentUser));
sharedWith.add(_userService.getMyUser());
return sharedWith.toList();
}
@ -455,7 +453,7 @@ class SyncService {
}
if (album.shared || dto.shared) {
final userId = (_storeService.get(StoreKey.currentUser)).id;
final userId = (_userService.getMyUser()).id;
final foreign =
await _assetRepository.getByAlbum(album, notOwnedBy: [userId]);
existing.addAll(foreign);
@ -591,7 +589,7 @@ class SyncService {
// general case, e.g. some assets have been deleted or there are excluded albums on iOS
final inDb = await _assetRepository.getByAlbum(
dbAlbum,
ownerId: (_storeService.get(StoreKey.currentUser)).id,
ownerId: (_userService.getMyUser()).id,
sortBy: AssetSort.checksum,
);