KDLPatients/lib/di/setup.dart

33 lines
908 B
Dart

import 'package:dio/dio.dart';
import 'package:get_it/get_it.dart';
import 'package:gql_dio_link/gql_dio_link.dart';
import 'package:injectable/injectable.dart';
import 'package:kdl_patients/app/core/core.dart';
import 'package:kdl_patients/di/setup.config.dart';
import 'package:shared_preferences/shared_preferences.dart';
final getIt = GetIt.instance;
@InjectableInit()
Future<void> configureDependencies() => getIt.init();
@module
abstract class LocalModule {
@preResolve
Future<SharedPreferences> get prefs => SharedPreferences.getInstance();
}
@module
abstract class RemoteModule {
DioLink get dioLink => DioLink(
ApiConfig.BASE_API_URL,
client: Dio(
BaseOptions(
receiveTimeout: const Duration(seconds: 10),
connectTimeout: const Duration(seconds: 10),
sendTimeout: const Duration(seconds: 5),
),
),
);
}