ApiHelper
O pacote @churchapps/apihelper fornece utilitários do lado do servidor para todas as APIs Express.js do ChurchApps. Ele inclui a classe base de controller, autenticação JWT, utilitários de banco de dados e integrações AWS dos quais todo projeto de API depende.
Antes de Começar
- Instale Node.js e Git -- veja Pré-requisitos
- Familiarize-se com a configuração do workspace Packages e fluxo de lançamento
- Este pacote depende de
@churchapps/helpers(como uma dependência de pares) e o re-exporta
O Que Está Incluído
- CustomBaseController -- classe base para controllers de API, construída em
inversify-express-utils - Auth -- autenticação JWT via
CustomAuthProvider,AuthenticatedUserePrincipal - Utilitários de banco de dados --
DB.query/DB.queryOnee a classePoolpara gerenciamento de conexões MySQL, maisMySqlHelpereDBCreatorpara configuração de schema - Integrações AWS --
AwsHelperpara armazenamento de arquivos S3 e leituras do Parameter Store - Email --
EmailHelpersuportando transportes SES e SMTP - Carregamento de configuração --
EnvironmentBaselê strings de conexão e segredos de variáveis de ambiente ou Parameter Store - Misc --
EncryptionHelper,FileStorageHelper,LoggingHelper,BasePermissions,SlugHelper
Configuração para Desenvolvimento Local
Este pacote vive no workspace Packages ao lado das outras bibliotecas compartilhadas:
-
Clone o workspace:
git clone https://github.com/ChurchApps/Packages.git -
Instale as dependências na raiz do workspace:
cd Packages && yarn install -
Construa (compila TypeScript para
dist/):yarn workspace @churchapps/apihelper buildOu execute
yarn buildna raiz para construir cada pacote em ordem de dependência.
Para testar mudanças dentro de uma API consumidora, use um portal Yarn temporário -- veja Desenvolvimento Local Contra uma Aplicação Consumidora.
Publicando
Lançamentos vão através de changesets: execute yarn changeset na raiz do workspace com cada mudança, depois yarn publish-all quando pronto para lançar. Veja Visão Geral de Bibliotecas Compartilhadas para o fluxo completo.
Este pacote é uma dependência de toda API ChurchApps -- a API principal, AskApi e LessonsApi. Ao fazer alterações, teste contra uma API localmente antes de publicar.
Artigos Relacionados
- Helpers -- O pacote de utilitários base do qual este pacote depende
- Estrutura do Módulo -- Como controllers e middleware de autenticação são usados nos módulos da API
- Configuração Local da API -- Configurando a API para desenvolvimento local