drift(mobile): drift auth user sync

This commit is contained in:
wuzihao051119
2025-07-25 12:28:02 +08:00
parent ad65e9011a
commit 4677ceb03c
69 changed files with 9116 additions and 1206 deletions
@@ -8,6 +8,7 @@ import 'package:immich_mobile/infrastructure/repositories/user_api.repository.da
import 'package:immich_mobile/providers/api.provider.dart';
import 'package:immich_mobile/providers/infrastructure/db.provider.dart';
import 'package:immich_mobile/providers/infrastructure/partner.provider.dart';
import 'package:immich_mobile/providers/infrastructure/setting.provider.dart';
import 'package:immich_mobile/providers/infrastructure/store.provider.dart';
import 'package:immich_mobile/repositories/partner_api.repository.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';
@@ -27,7 +28,28 @@ UserService userService(Ref ref) => UserService(
storeService: ref.watch(storeServiceProvider),
);
/// Drifts
class CurrentUserNotifier extends AsyncNotifier<User?> {
@override
Future<User?> build() async {
return await ref.watch(driftUserServiceProvider).getMyUser();
}
}
final currentUserNotifierProvider = AsyncNotifierProvider<CurrentUserNotifier, User?>(
CurrentUserNotifier.new,
);
final driftUserRepositoryProvider = Provider<DriftUserRepository>(
(ref) => DriftUserRepository(ref.watch(driftProvider)),
);
final driftUserServiceProvider = Provider<DriftUserService>(
(ref) => DriftUserService(
ref.watch(driftUserRepositoryProvider),
ref.watch(settingsProvider),
),
);
final driftPartnerRepositoryProvider = Provider<DriftPartnerRepository>(
(ref) => DriftPartnerRepository(ref.watch(driftProvider)),
);
@@ -39,6 +61,6 @@ final driftPartnerServiceProvider = Provider<DriftPartnerService>(
),
);
final partnerUsersProvider = NotifierProvider<PartnerNotifier, List<PartnerUserDto>>(
final partnerUsersProvider = NotifierProvider<PartnerNotifier, List<PartnerUser>>(
PartnerNotifier.new,
);