ApiHelper
Пакет @churchapps/apihelper предоставляет серверные утилиты для всех Express.js API ChurchApps. Он включает базовый класс контроллера, JWT-аутентификацию, утилиты базы данных и интеграции AWS, от которых зависит каждый API-проект.
Перед началом работы
- Установите Node.js и Git — см. Предварительные требования
- Ознакомьтесь с установкой рабочего пространства Packages и потоком выпуска
- Этот пакет зависит от
@churchapps/helpers(как зависимость peer) и переэкспортирует его
Что входит
- CustomBaseController — базовый класс для API-контроллеров, построенный на
inversify-express-utils - Аутентификация — JWT-аутентификация через
CustomAuthProvider,AuthenticatedUserиPrincipal - Утилиты базы данных —
DB.query/DB.queryOneи классPoolдля управления подключениями MySQL, плюсMySqlHelperиDBCreatorдля настройки схемы - Интеграции AWS —
AwsHelperдля хранения файлов S3 и чтения SSM Parameter Store - Электронная почта —
EmailHelperс поддержкой транспортов SES и SMTP - Загрузка конфигурации —
EnvironmentBaseчитает строки подключения и секреты из переменных окружения или Parameter Store - Прочее —
EncryptionHelper,FileStorageHelper,LoggingHelper,BasePermissions,SlugHelper
Настройка для локальной разработки
Этот пакет находится в рабочем пространстве Packages рядом с другими общими библиотеками:
-
Клонируйте рабочее пространство:
git clone https://github.com/ChurchApps/Packages.git -
Установите зависимости в корне рабочего пространства:
cd Packages && yarn install -
Соберите (компилирует TypeScript в
dist/):yarn workspace @churchapps/apihelper buildИли запустите
yarn buildв корне для сборки каждого пакета в порядке зависимостей.
Для тестирования изменений в потребляющем API используйте временный Yarn portal — см. Локальная разработка в потребляющем приложении.
Публикация
Выпуски выполняются через changesets: запустите yarn changeset в корне рабочего пространства с каждым изменением, затем yarn publish-all когда будете готовы к выпуску. Полный поток см. в Обзоре общих библиотек.
Этот пакет является зависимостью каждого ChurchApps API — основного Api, AskApi и LessonsApi. При внесении изменений тестируйте с API локально перед публикацией.
Связанные статьи
- Helpers — базовый пакет утилит, от которого зависит этот пакет
- Структура модулей — как контроллеры и middleware аутентификации используются в модулях API
- Локальная установка API — настройка API для локальной разработки