forked from eatvio/eatvio_app
33 lines
1.2 KiB
Dart
33 lines
1.2 KiB
Dart
import 'package:dio/dio.dart';
|
|
import 'package:eatvio_app/core/app_config.dart';
|
|
import 'package:eatvio_app/core/interceptors/phone_verify_error_interceptor.dart';
|
|
import 'package:eatvio_app/core/interceptors/token_interceptor.dart';
|
|
import 'package:eatvio_app/core/prefs.dart';
|
|
import 'package:get_it/get_it.dart';
|
|
import 'package:shared_preferences/shared_preferences.dart';
|
|
|
|
/// Регистрация внешних зависимостей в системе внедрения зависимостей
|
|
class ExternalRegistrations {
|
|
static final sl = GetIt.instance;
|
|
|
|
/// Регистрация всех внешних зависимостей
|
|
static void registerAll() {
|
|
_registerDio();
|
|
_registerPrefs();
|
|
}
|
|
|
|
/// Регистрация Dio HTTP клиента
|
|
static void _registerDio() {
|
|
sl.registerLazySingleton(
|
|
() =>
|
|
Dio(BaseOptions(baseUrl: sl<AppConfig>().baseUrl, headers: {'accept': 'application/json', 'content-type': 'application/json'}))
|
|
..interceptors.addAll([TokenInterceptor(), PhoneVerifyErrorInterceptor()]),
|
|
);
|
|
}
|
|
|
|
/// Регистрация Prefs
|
|
static void _registerPrefs() {
|
|
sl.registerSingletonAsync<Prefs>(()async => Prefs(await SharedPreferences.getInstance()));
|
|
}
|
|
}
|