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
- Installa Node.js e Git -- vedi Prerequisiti
- Familiarizza con la configurazione del workspace Packages e il flusso di rilascio
- Questo pacchetto dipende da
@churchapps/helpers(come dipendenza peer) e lo ri-esporta
Cosa È Incluso
- CustomBaseController -- classe base per i controller API, costruita su
inversify-express-utils - Auth -- autenticazione JWT tramite
CustomAuthProvider,AuthenticatedUserePrincipal - Utilità database --
DB.query/DB.queryOnee la classePoolper la gestione delle connessioni MySQL, oltre aMySqlHelpereDBCreatorper la configurazione dello schema - Integrazioni AWS --
AwsHelperper l'archiviazione file S3 e le letture da SSM Parameter Store - Email --
EmailHelpercon supporto per i trasporti SES e SMTP - Caricamento configurazione --
EnvironmentBaselegge 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:
-
Clona il workspace:
git clone https://github.com/ChurchApps/Packages.git -
Installa le dipendenze alla root del workspace:
cd Packages && yarn install -
Compila (compila TypeScript in
dist/):yarn workspace @churchapps/apihelper buildOppure esegui
yarn buildalla 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.
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
- Helpers -- Il pacchetto di utilità base da cui dipende questo pacchetto
- Struttura dei Moduli -- Come controller e middleware di autenticazione vengono usati nei moduli API
- Configurazione Locale dell'API -- Configurazione dell'API per lo sviluppo locale