ApiHelper
Le paquet @churchapps/apihelper fournit les utilitaires côté serveur pour toutes les APIs Express.js ChurchApps. Il inclut la classe du contrôleur de base, l'authentification JWT, les utilitaires de base de données et les intégrations AWS sur lesquels chaque projet API dépend.
Avant de commencer
- Installer Node.js et Git -- voir Prérequis
- Vous familiariser avec la configuration de l'espace de travail Packages et le flux de publication
- Ce paquet dépend de
@churchapps/helpers(en tant que dépendance peer) et le réexporte
Ce qui est inclus
- CustomBaseController -- classe de base pour les contrôleurs API, construite sur
inversify-express-utils - Auth -- Authentification JWT via
CustomAuthProvider,AuthenticatedUseretPrincipal - Utilitaires de base de données --
DB.query/DB.queryOneet la classePoolpour la gestion des connexions MySQL, plusMySqlHelperetDBCreatorpour la configuration du schéma - Intégrations AWS --
AwsHelperpour le stockage de fichiers S3 et la lecture d'AWS SSM Parameter Store - E-mail --
EmailHelpersupportant les transports SES et SMTP - Chargement de configuration --
EnvironmentBaselit les chaînes de connexion et les secrets à partir de variables d'environnement ou d'AWS SSM - Divers --
EncryptionHelper,FileStorageHelper,LoggingHelper,BasePermissions,SlugHelper
Configuration pour le développement local
Ce paquet vit dans l'espace de travail Packages à côté des autres bibliothèques partagées :
-
Cloner l'espace de travail :
git clone https://github.com/ChurchApps/Packages.git -
Installer les dépendances à la racine de l'espace de travail :
cd Packages && yarn install -
Construire (compile TypeScript vers
dist/) :yarn workspace @churchapps/apihelper buildOu exécutez
yarn buildà la racine pour construire tous les paquets dans l'ordre des dépendances.
Pour tester les changements dans une API consommatrice, utilisez un portail Yarn temporaire -- voir Développement local contre une application consommatrice.
Publication
Les versions passent par changesets : exécutez yarn changeset à la racine de l'espace de travail avec chaque changement, puis yarn publish-all quand vous êtes prêt à publier. Voir Vue d'ensemble des bibliothèques partagées pour le flux complet.
Ce paquet est une dépendance de chaque API ChurchApps -- l'Api core, AskApi et LessonsApi. Lors de la réalisation de changements, testez contre une API localement avant de publier.
Articles connexes
- Helpers -- Le paquet d'utilitaires de base sur lequel ce paquet dépend
- Structure du module -- Comment les contrôleurs et le middleware d'authentification sont utilisés dans les modules API
- Configuration locale de l'API -- Configuration de l'API pour le développement local