seedkit_module_api 0.4.0
seedkit_module_api: ^0.4.0 copied to clipboard
Модуль API экосистемы SeedKit
seedkit_module_api #
Пакет API-модуля для SeedKit-приложений.
Интеграция #
- Перед созданием API providers заполни
ApiConfig:
ApiConfig.set(
baseApiUrl: EnviromentUtils.apiUrl,
dioCachePath: DeviceUtils.dioCachePath,
deviceId: DeviceUtils.deviceId,
platform: DeviceUtils.platform,
appKey: EnviromentUtils.appKey,
);
- Если нужны дополнительные headers, заполни их до запросов:
ApiConfig.additionalHeaders = {
'x-project': 'seedkit',
};
- Для локализации ошибок API добавь делегат в
MaterialApp:
MaterialApp.router(
localizationsDelegates: const [
SeedKitModuleApiLocale.delegate,
],
);
- Для авторизации создаётся provider и repository:
final authProvider = AuthProvider();
RepositoryProvider(
create: (_) => AuthRepository(authProvider),
);
Использование #
ApiConfig— входная точка API-модуля: base URL, cache path, device id, platform, app key, additional headers.ApiClient— базовый клиент для provider-реализаций; методыget,post,put,patch,delete,batch,download,upload.ConnectivityFactory— singleton factory сервиса проверки подключения к интернету.RequestEnum,AuthStatusEnum,OnProgressFunction,AuthUrls,DioCacheEnum.MockInterseptor— interceptor для providers с моковыми данными.BaseExceptionи стандартные исключения API.AuthProfileModel,AuthPhoneParams,AuthLoginParams.PaginationModel,SortBy,SortOrder,IPaginationItem.AuthProvider— API provider авторизации: login, sms, logout, delete profile, OAuth URL/callback.Either,Left,Rightи другие типы результата.ErrorHandler,PaginationExtension,JsonFieldAliasModel.SeedKitModuleApiLocaleиSeedKitModuleApiLocale.delegate.
Импорты #
import 'package:seedkit_module_api/seedkit_feature_api_locale_delegate.dart';
import 'package:seedkit_module_api/seedkit_module_api.dart';
import 'package:seedkit_module_api/seedkit_module_api_client.dart';
import 'package:seedkit_module_api/seedkit_module_api_connectivity.dart';
import 'package:seedkit_module_api/seedkit_module_api_constants.dart';
import 'package:seedkit_module_api/seedkit_module_api_interceptors.dart';
import 'package:seedkit_module_api/seedkit_module_api_models.dart';
import 'package:seedkit_module_api/seedkit_module_api_pagination.dart';
import 'package:seedkit_module_api/seedkit_module_api_providers.dart';
import 'package:seedkit_module_api/seedkit_module_api_to.dart';
import 'package:seedkit_module_api/seedkit_module_api_utils.dart';