Vai al contenuto principale

ApiHelper

Il pacchetto @churchapps/apihelper fornisce utilità lato server per tutte le API Express.js di ChurchApps. Include la classe controller base, l'autenticazione JWT, le utilità del database e le integrazioni AWS da cui dipende ogni progetto API.

Prima di Iniziare

Cosa È Incluso

  • CustomBaseController -- classe base per i controller API, costruita su inversify-express-utils
  • Auth -- autenticazione JWT tramite CustomAuthProvider, AuthenticatedUser e Principal
  • Utilità database -- DB.query / DB.queryOne e la classe Pool per la gestione delle connessioni MySQL, oltre a MySqlHelper e DBCreator per la configurazione dello schema
  • Integrazioni AWS -- AwsHelper per l'archiviazione file S3 e le letture da SSM Parameter Store
  • Email -- EmailHelper con supporto per i trasporti SES e SMTP
  • Caricamento configurazione -- EnvironmentBase legge stringhe di connessione e segreti dalle variabili d'ambiente o da Parameter Store
  • Varie -- EncryptionHelper, FileStorageHelper, LoggingHelper, BasePermissions, SlugHelper

Configurazione per lo Sviluppo Locale

Questo pacchetto risiede nel workspace Packages insieme alle altre librerie condivise:

  1. Clona il workspace:

    git clone https://github.com/ChurchApps/Packages.git
  2. Installa le dipendenze alla root del workspace:

    cd Packages && yarn install
  3. Compila (compila TypeScript in dist/):

    yarn workspace @churchapps/apihelper build

    Oppure esegui yarn build alla root per compilare ogni pacchetto nell'ordine di dipendenza.

Per testare le modifiche all'interno di un'API che lo consuma, usa un portale Yarn temporaneo -- vedi Sviluppo Locale contro un'App Consumatrice.

Pubblicazione

I rilasci passano attraverso changesets: esegui yarn changeset alla root del workspace ad ogni modifica, poi yarn publish-all quando sei pronto per il rilascio. Vedi la Panoramica delle Librerie Condivise per il flusso completo.

Info

Questo pacchetto è una dipendenza di ogni API di ChurchApps -- l'Api principale, AskApi e LessonsApi. Quando apporti modifiche, testa contro un'API in locale prima di pubblicare.

Articoli Correlati