Hopp til hovedinnhold

ApiHelper

Pakken @churchapps/apihelper gir server-side verktøy for alle ChurchApps Express.js-API-er. Den inkluderer basiskontroller-klassen, JWT-autentisering, databaseverktøy og AWS-integrasjoner som hvert API-prosjekt er avhengig av.

Før du begynner

Hva som er inkludert

  • CustomBaseController -- basisklasse for API-kontrollere, bygget på inversify-express-utils
  • Auth -- JWT-autentisering via CustomAuthProvider, AuthenticatedUser og Principal
  • Databaseverktøy -- DB.query / DB.queryOne og Pool-klassen for MySQL-tilkoblingsstyring, pluss MySqlHelper og DBCreator for skjemaoppsett
  • AWS-integrasjoner -- AwsHelper for S3-fillagring og lesing fra SSM Parameter Store
  • E-post -- EmailHelper med støtte for SES- og SMTP-transporter
  • Konfigurasjonslasting -- EnvironmentBase leser tilkoblingsstrenger og hemmeligheter fra miljøvariabler eller Parameter Store
  • Diverse -- EncryptionHelper, FileStorageHelper, LoggingHelper, BasePermissions, SlugHelper

Oppsett for lokal utvikling

Denne pakken bor i Packages-arbeidsområdet sammen med de andre delte bibliotekene:

  1. Klon arbeidsområdet:

    git clone https://github.com/ChurchApps/Packages.git
  2. Installer avhengigheter ved roten av arbeidsområdet:

    cd Packages && yarn install
  3. Bygg (kompilerer TypeScript til dist/):

    yarn workspace @churchapps/apihelper build

    Eller kjør yarn build ved roten for å bygge hver pakke i avhengighetsrekkefølge.

For å teste endringer inne i et konsumerende API, bruk en midlertidig Yarn-portal -- se Lokal utvikling mot en konsumerende app.

Publisering

Utgivelser går gjennom changesets: kjør yarn changeset ved roten av arbeidsområdet for hver endring, og deretter yarn publish-all når du er klar til å publisere. Se Oversikt over delte biblioteker for hele flyten.

Info

Denne pakken er en avhengighet for hvert ChurchApps-API -- kjerne-Api-et, AskApi og LessonsApi. Når du gjør endringer, test mot et API lokalt før publisering.

Relaterte artikler

  • Helpers -- Den grunnleggende verktøypakken som denne pakken avhenger av
  • Modulstruktur -- Hvordan kontrollere og autentiseringsmellomvare brukes i API-moduler
  • Lokalt API-oppsett -- Sette opp API-et for lokal utvikling