cabstar_mobile_core (0.3.0)
Published 2026-06-06 22:12:11 +03:00 by anton
Installation
dart pub add cabstar_mobile_core:0.3.0 --hosted-url=About this package
Shared Dart/Flutter library for Cabstar mobile clients.
cabstar-mobile-core
Общая Dart/Flutter-библиотека для Cabstar mobile (client, partner).
Типы соответствуют @cabstar/protocol@0.3.2 и wire-эндпоинтам cabstar-api.
Текущая версия: 0.3.0
Установка
Path (разработка):
dependencies:
cabstar_mobile_core:
path: ../cabstar-mobile-core
Из Gitea pub registry:
dart pub token add https://git.serverbox.dev/api/packages/anton/pub --env-var PUB_TOKEN
# или: ../scripts/setup-pub-token.sh
dart pub add cabstar_mobile_core \
--hosted-url=https://git.serverbox.dev/api/packages/anton/pub
Конфигурация (--dart-define)
import 'package:cabstar_mobile_core/cabstar_mobile_core.dart';
// CabstarEnv.apiOrigin — из --dart-define=API_ORIGIN (default: http://localhost:3000)
// CabstarEnv.defaultLocale — из --dart-define=DEFAULT_LOCALE (default: ru)
Запуск приложений:
flutter run --dart-define=API_ORIGIN=http://localhost:3000
API
ApiConfig / CabstarApi
Базовый URL и путь api/v0.1. Типизированный HTTP-клиент; JWT через AuthTokenProvider / AuthSession.
| Метод | Route |
|---|---|
register |
POST /auth/register |
login |
POST /auth/login |
getProfile |
GET /auth/me |
getServiceCatalog |
GET /service-items |
getFleetItems |
GET /fleet-items |
getFleetTariffs |
GET /fleet-tariffs |
| … | справочники, operator availability |
Auth UI
| Компонент | Назначение |
|---|---|
CabstarAuthConfig |
allowRegister, requiredRole, appTitle |
CabstarAuthController |
bootstrap, login, register, logout, проверка роли |
CabstarAuthScreen |
Material 3 форма входа / регистрации |
CabstarAuthLoading |
Splash на время bootstrap |
AuthStorage |
Абстракция persistence |
SharedPreferencesAuthStorage |
Реализация для apps |
Роли по приложениям:
| App | allowRegister |
requiredRole |
|---|---|---|
| client | true |
user |
| partner | false |
manager |
Пример (client)
final storage = await SharedPreferencesAuthStorage.create();
final auth = CabstarAuthController(
config: const CabstarAuthConfig(
allowRegister: true,
requiredRole: CabstarRoles.user,
appTitle: 'Cabstar',
),
storage: storage,
);
await auth.bootstrap();
// В MaterialApp.router: CabstarAuthScreen на /login, redirect по auth.session
Protocol DTOs
import 'package:cabstar_mobile_core/protocol.dart';
Codegen
dart run build_runner build
Публикация
./scripts/pub-push.sh
Details
Assets (1)
Versions (3)
View all
0.3.0.tar.gz
36 KiB