2025-03-12 19:26:56 +05:30
|
|
|
import 'package:hooks_riverpod/hooks_riverpod.dart';
|
|
|
|
import 'package:immich_mobile/domain/interfaces/user.interface.dart';
|
2025-03-24 21:30:08 +05:30
|
|
|
import 'package:immich_mobile/domain/interfaces/user_api.interface.dart';
|
2025-03-14 08:50:26 +05:30
|
|
|
import 'package:immich_mobile/domain/services/user.service.dart';
|
2025-03-12 19:26:56 +05:30
|
|
|
import 'package:immich_mobile/infrastructure/repositories/user.repository.dart';
|
2025-03-14 08:50:26 +05:30
|
|
|
import 'package:immich_mobile/infrastructure/repositories/user_api.repository.dart';
|
|
|
|
import 'package:immich_mobile/providers/api.provider.dart';
|
2025-03-12 19:26:56 +05:30
|
|
|
import 'package:immich_mobile/providers/infrastructure/db.provider.dart';
|
2025-03-14 08:50:26 +05:30
|
|
|
import 'package:immich_mobile/providers/infrastructure/store.provider.dart';
|
2025-03-12 19:26:56 +05:30
|
|
|
import 'package:riverpod_annotation/riverpod_annotation.dart';
|
|
|
|
|
|
|
|
part 'user.provider.g.dart';
|
|
|
|
|
|
|
|
@Riverpod(keepAlive: true)
|
|
|
|
IUserRepository userRepository(Ref ref) =>
|
|
|
|
IsarUserRepository(ref.watch(isarProvider));
|
2025-03-14 08:50:26 +05:30
|
|
|
|
|
|
|
@Riverpod(keepAlive: true)
|
|
|
|
IUserApiRepository userApiRepository(Ref ref) =>
|
|
|
|
UserApiRepository(ref.watch(apiServiceProvider).usersApi);
|
|
|
|
|
|
|
|
@Riverpod(keepAlive: true)
|
|
|
|
UserService userService(Ref ref) => UserService(
|
|
|
|
userRepository: ref.watch(userRepositoryProvider),
|
|
|
|
userApiRepository: ref.watch(userApiRepositoryProvider),
|
|
|
|
storeService: ref.watch(storeServiceProvider),
|
|
|
|
);
|