ApiHelper
El paquete @churchapps/apihelper proporciona utilidades del lado del servidor para todas las APIs de Express.js de ChurchApps. Incluye la clase controladora base, autenticación JWT, utilidades de base de datos, e integraciones de AWS de las que depende cada proyecto de API.
Antes de comenzar
- Instala Node.js y Git -- consulta Requisitos Previos
- Familiarízate con la configuración del espacio de trabajo Packages y el flujo de lanzamiento
- Este paquete depende de
@churchapps/helpers(como una dependencia par) y lo re-exporta
Qué se Incluye
- CustomBaseController -- clase base para controladores de API, construida sobre
inversify-express-utils - Auth -- autenticación JWT vía
CustomAuthProvider,AuthenticatedUser, yPrincipal - Utilidades de base de datos --
DB.query/DB.queryOney la clasePoolpara gestión de conexión MySQL, másMySqlHelperyDBCreatorpara configuración de esquema - Integraciones de AWS --
AwsHelperpara almacenamiento de archivos S3 y lecturas de SSM Parameter Store - Correo --
EmailHelpercon soporte para transportes SES y SMTP - Carga de configuración --
EnvironmentBaselee cadenas de conexión y secretos de variables de entorno o Parameter Store - Varios --
EncryptionHelper,FileStorageHelper,LoggingHelper,BasePermissions,SlugHelper
Configuración para Desarrollo Local
Este paquete vive en el espacio de trabajo Packages junto con las otras bibliotecas compartidas:
-
Clona el espacio de trabajo:
git clone https://github.com/ChurchApps/Packages.git -
Instala dependencias en la raíz del espacio de trabajo:
cd Packages && yarn install -
Compila (compila TypeScript a
dist/):yarn workspace @churchapps/apihelper buildO ejecuta
yarn builden la raíz para compilar cada paquete en orden de dependencia.
Para probar cambios dentro de una API consumidora, usa un portal Yarn temporal -- consulta Desarrollo Local Contra una Aplicación Consumidora.
Publicación
Los lanzamientos pasan por changesets: ejecuta yarn changeset en la raíz del espacio de trabajo con cada cambio, luego yarn publish-all cuando estés listo para lanzar. Consulta la Descripción General de Bibliotecas Compartidas para el flujo completo.
Este paquete es una dependencia de cada API de ChurchApps -- la Api principal, AskApi, y LessonsApi. Al hacer cambios, prueba contra una API localmente antes de publicar.
Artículos Relacionados
- Helpers -- El paquete de utilidades base del cual depende este paquete
- Estructura del Módulo -- Cómo se usan los controladores y el middleware de auth en los módulos de API
- Configuración Local de API -- Configurar la API para desarrollo local