Перейти к содержанию

Index

Техническая документация Auth Center: архитектура, модули, API, интеграции.

С чего начать

Маршрут для нового разработчика:

  1. architecture/01-overview.md — роль Auth Center в системе
  2. architecture/02-module-map.md — карта модулей
  3. architecture/03-auth-lifecycle.md — жизненный цикл пользователя
  4. modules/payments.md — интеграция с PM
  5. api/01-payment.md — HTTP контракты

Разделы

Раздел Содержание Когда читать
architecture/ Обзор, модуль-карта, lifecycle, security Первый раз в проекте
modules/ auth, kyc, pii, payments, nfc, miniapps, notifications Перед работой с модулем
apps/ one_loop, one_merchant, shared_ui Flutter разработка
api/ Endpoint контракты При написании клиента
integrations/ PM, kyc-service, S3, Redis, nginx При интеграции
operations/ deployment, env-vars, runbook DevOps
testing/ Паттерны, infrastructure Написание тестов
cookbook/ Пошаговые рецепты Быстрый старт
reference/ Статусы, таблицы DB Справочник

Ключевые инварианты

Эти правила проверяются на code review — нарушение блокирует мёрж:

  1. PII пишется ТОЛЬКО через PiiProfileWriter (onewallet_base_server/lib/src/services/pii/pii_profile_writer.dart)
  2. PM вызывается ТОЛЬКО через PspHmacClient с HMAC (onewallet_base_server/lib/src/services/payment/psp_hmac_client.dart)
  3. TigerBeetle — только через PM, никогда напрямую из Auth Center
  4. pm.* схема — только чтение через views (v_tx_history, v_user_tb_accounts)
  5. Endpoint guard: requireAccountType() обязателен в каждом protected endpoint (onewallet_base_server/lib/src/util/endpoint_guard.dart)

Команды разработчика

# Регенерировать client после изменений моделей/endpoints
cd onewallet_base_server && serverpod generate

# Применить миграции
cd onewallet_base_server && dart bin/main.dart --apply-migrations

# Запустить сервер
cd onewallet_base_server && dart bin/main.dart

# Тесты
cd onewallet_base_server && dart test