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
Pub
2026-06-06 22:12:11 +03:00
2
36 KiB
Assets (1)
0.3.0.tar.gz 36 KiB
Versions (3) View all
0.3.0 2026-06-06
0.2.0 2026-06-06
0.1.0 2026-06-06