Files
retail/lib/core/providers/core_providers.dart
2025-10-10 22:49:05 +07:00

24 lines
769 B
Dart

import 'package:riverpod_annotation/riverpod_annotation.dart';
import '../network/dio_client.dart';
import '../storage/secure_storage.dart';
part 'core_providers.g.dart';
/// Provider for DioClient (singleton)
///
/// This is the global HTTP client used across the entire app.
/// It's configured with interceptors, timeout settings, and auth token injection.
@Riverpod(keepAlive: true)
DioClient dioClient(Ref ref) {
return DioClient();
}
/// Provider for SecureStorage (singleton)
///
/// This is the global secure storage used for storing sensitive data like tokens.
/// Uses platform-specific secure storage (Keychain on iOS, EncryptedSharedPreferences on Android).
@Riverpod(keepAlive: true)
SecureStorage secureStorage(Ref ref) {
return SecureStorage();
}