ApiHelper
Das Paket @churchapps/apihelper bietet Server-seitige Dienstprogramme für alle ChurchApps Express.js APIs. Es beinhaltet die Basis-Controller-Klasse, JWT-Authentifizierung, Datenbankdienstprogramme und AWS-Integrationen, auf die sich jedes API-Projekt verlässt.
Bevor Sie beginnen
- Installieren Sie Node.js und Git -- siehe Voraussetzungen
- Machen Sie sich mit dem Setup und dem Release-Fluss des Packages-Arbeitsbereichs vertraut
- Dieses Paket hängt von
@churchapps/helpers(als Peer-Abhängigkeit) ab und exportiert es erneut
Was ist enthalten
- CustomBaseController -- Basis-Klasse für API-Controller, auf
inversify-express-utilsgebaut - Auth -- JWT-Authentifizierung über
CustomAuthProvider,AuthenticatedUserundPrincipal - Datenbankdienstprogramme --
DB.query/DB.queryOneund die KlassePoolfür MySQL-Verbindungsverwaltung, plusMySqlHelperundDBCreatorfür Schema-Setup - AWS-Integrationen --
AwsHelperfür S3-Dateispeicherung und SSM-Parameter Store-Lesevorgänge - E-Mail --
EmailHelperunterstützt SES und SMTP-Transporte - Konfiguration laden --
EnvironmentBaseliest Verbindungszeichenfolgen und Geheimnisse aus Umgebungsvariablen oder Parameter Store - Sonstiges --
EncryptionHelper,FileStorageHelper,LoggingHelper,BasePermissions,SlugHelper
Setup für lokale Entwicklung
Dieses Paket lebt im Packages Arbeitsbereich neben anderen gemeinsamen Bibliotheken:
-
Klonen Sie den Arbeitsbereich:
git clone https://github.com/ChurchApps/Packages.git -
Installieren Sie Abhängigkeiten an der Arbeitsbereich-Root:
cd Packages && yarn install -
Bauen (kompiliert TypeScript zu
dist/):yarn workspace @churchapps/apihelper buildOder führen Sie
yarn buildan der Root aus, um jedes Paket in Abhängigkeitsreihenfolge zu bauen.
Zum Testen von Änderungen innerhalb einer verbrauchenden API verwenden Sie ein temporäres Yarn-Portal – siehe Lokale Entwicklung gegen eine verbrauchende App.
Veröffentlichung
Releases gehen durch Changesets: Führen Sie yarn changeset an der Arbeitsbereich-Root mit jeder Änderung durch, dann yarn publish-all, wenn Sie bereit sind zu veröffentlichen. Siehe Shared Libraries Overview für den vollständigen Fluss.
Dieses Paket ist eine Abhängigkeit jeder ChurchApps API – die Core Api, AskApi und LessonsApi. Testen Sie vor dem Veröffentlichen gegen eine API lokal.
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 – Setup der API für lokale Entwicklung