ApiHelper
Das Paket @churchapps/apihelper stellt serverseitige Hilfsprogramme für alle Express.js-APIs von ChurchApps bereit. Es enthält die Basis-Controller-Klasse, die JWT-Authentifizierung, Datenbank-Hilfsprogramme und AWS-Integrationen, von denen jedes API-Projekt abhängt.
Bevor Sie beginnen
- Installieren Sie Node.js und Git -- siehe Voraussetzungen
- Machen Sie sich mit dem Aufbau und Release-Ablauf des Packages-Workspace vertraut
- Dieses Paket hängt von
@churchapps/helpersab (als Peer-Dependency) und exportiert es erneut
Was enthalten ist
- CustomBaseController -- Basisklasse für API-Controller, aufgebaut auf
inversify-express-utils - Auth -- JWT-Authentifizierung über
CustomAuthProvider,AuthenticatedUserundPrincipal - Datenbank-Hilfsprogramme --
DB.query/DB.queryOneund die KlassePoolfür die Verwaltung von MySQL-Verbindungen, außerdemMySqlHelperundDBCreatorfür das Schema-Setup - AWS-Integrationen --
AwsHelperfür S3-Dateispeicherung und Lesevorgänge im SSM Parameter Store - E-Mail --
EmailHelpermit Unterstützung für SES- und SMTP-Transporte - Konfigurationsladen --
EnvironmentBaseliest Verbindungszeichenfolgen und Geheimnisse aus Umgebungsvariablen oder dem Parameter Store - Sonstiges --
EncryptionHelper,FileStorageHelper,LoggingHelper,BasePermissions,SlugHelper
Einrichtung für die lokale Entwicklung
Dieses Paket befindet sich im Packages-Workspace zusammen mit den anderen gemeinsam genutzten Bibliotheken:
-
Workspace klonen:
git clone https://github.com/ChurchApps/Packages.git -
Abhängigkeiten im Workspace-Root installieren:
cd Packages && yarn install -
Bauen (kompiliert TypeScript nach
dist/):yarn workspace @churchapps/apihelper buildOder führen Sie
yarn buildim Root aus, um alle Pakete in Abhängigkeitsreihenfolge zu bauen.
Um Änderungen innerhalb einer konsumierenden API zu testen, verwenden Sie ein temporäres Yarn-Portal -- siehe Lokale Entwicklung gegen eine konsumierende App.
Veröffentlichung
Releases laufen über Changesets: Führen Sie bei jeder Änderung yarn changeset im Workspace-Root aus, dann yarn publish-all, wenn Sie bereit für die Veröffentlichung sind. Den vollständigen Ablauf finden Sie unter Übersicht der gemeinsam genutzten Bibliotheken.
Dieses Paket ist eine Abhängigkeit jeder ChurchApps-API -- der Kern-Api, AskApi und LessonsApi. Testen Sie Änderungen lokal gegen eine API, bevor Sie veröffentlichen.
Verwandte Artikel
- Helpers -- Das Basis-Utility-Paket, von dem dieses Paket abhängt
- Modulstruktur -- Wie Controller und Auth-Middleware in API-Modulen verwendet werden
- Lokales API-Setup -- Einrichtung der API für die lokale Entwicklung