37 lines
1.1 KiB
Dart
37 lines
1.1 KiB
Dart
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<String>("endPoint") ?? "";
|
|
set endPoint(String value) => apiStorageBox.write("endPoint", value);
|
|
|
|
String get token => apiStorageBox.read<String>("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();
|
|
}
|
|
}
|