import 'package:dio/dio.dart'; import 'package:get/get.dart'; import 'package:get_storage/get_storage.dart'; import 'package:tuuli_api/tuuli_api.dart'; class ApiController extends GetxController { static ApiController get to => Get.find(); final apiStorageBox = GetStorage(); String get endPoint => apiStorageBox.read("endPoint") ?? ""; set endPoint(String value) => apiStorageBox.write("endPoint", value); String get token => apiStorageBox.read("accessToken") ?? ""; set token(String value) => apiStorageBox.write("accessToken", value); TuuliApi? _apiClientBase; TuuliApi get apiClientBase { _apiClientBase ??= TuuliApi( dio: Dio(BaseOptions( baseUrl: endPoint, connectTimeout: 5000.milliseconds, receiveTimeout: 3000.milliseconds, receiveDataWhenStatusError: true, )), interceptors: [ ApiKeyAuthInterceptor(), ], ); _apiClientBase!.setApiKey("access-token", token); return _apiClientBase!; } DefaultApi get apiClient { return apiClientBase.getDefaultApi(); } }