Zum Hauptinhalt springen

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

Was ist enthalten​

  • CustomBaseController -- Basis-Klasse für API-Controller, auf inversify-express-utils gebaut
  • Auth -- JWT-Authentifizierung über CustomAuthProvider, AuthenticatedUser und Principal
  • Datenbankdienstprogramme -- DB.query / DB.queryOne und die Klasse Pool für MySQL-Verbindungsverwaltung, plus MySqlHelper und DBCreator für Schema-Setup
  • AWS-Integrationen -- AwsHelper für S3-Dateispeicherung und SSM-Parameter Store-Lesevorgänge
  • E-Mail -- EmailHelper unterstützt SES und SMTP-Transporte
  • Konfiguration laden -- EnvironmentBase liest 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:

  1. Klonen Sie den Arbeitsbereich:

    git clone https://github.com/ChurchApps/Packages.git
  2. Installieren Sie Abhängigkeiten an der Arbeitsbereich-Root:

    cd Packages && yarn install
  3. Bauen (kompiliert TypeScript zu dist/):

    yarn workspace @churchapps/apihelper build

    Oder führen Sie yarn build an 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.

Info

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