Skip to content

Commit

Permalink
fix: lambda handler
Browse files Browse the repository at this point in the history
  • Loading branch information
JuliaDeNadai committed Sep 11, 2024
1 parent fc0a67c commit c590988
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 15 deletions.
7 changes: 5 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,9 @@

Sistema simples manipulação de dados de produtores rurais.

Disponível para acesso em uma lambda function em: [Lambda Function /healthcheck](https://trmbsykipiai4zg4plt4stqqf40igqlx.lambda-url.sa-east-1.on.aws/api/healthcheck) <br>


### Modelagem do Banco de Dados

![alt text](database.png)
Expand All @@ -18,11 +21,11 @@ Sistema simples manipulação de dados de produtores rurais.
✔️ Rota para listar dados para um dashboard <br/>

### Recursos técnicos:
✔️ Documentação com OpenAPI (swagger) na rota /api-docs <br/>
✔️ Documentação com OpenAPI (swagger) na rota [/api-docs](https://trmbsykipiai4zg4plt4stqqf40igqlx.lambda-url.sa-east-1.on.aws/api-docs/) <br/>
✔️ Conteinerização com Docker <br/>
✔️ Testes unitários com Jest <br/>
✔️ Esteira de CI realizando testes automatizados <br/>
️ Esteira de deploy automático para uma função lambda na AWS (implementado parcialmente, esteira funcionando)
️ Esteira de deploy automático para uma função lambda na AWS

### Melhorias futuras
📌 Realizar migrations de forma automática ao rodar o docker <br/>
Expand Down
19 changes: 7 additions & 12 deletions handler.ts
Original file line number Diff line number Diff line change
@@ -1,16 +1,11 @@
import { Context, APIGatewayProxyEvent, APIGatewayProxyResult } from 'aws-lambda';
import { createServer, proxy } from 'aws-serverless-express';

import serverless from 'serverless-http'; // Converte o app Express para Lambda handler
import { APIGatewayProxyEvent, Context, APIGatewayProxyResult } from 'aws-lambda';
import {app} from "./src/api/api"

const server = createServer(app);
// Converte a aplicação Express para funcionar no ambiente Lambda
const handler = serverless(app);

export const handler = (event: APIGatewayProxyEvent, context: Context): Promise<APIGatewayProxyResult> => {
return new Promise((resolve, reject) => {
try {
proxy(server, event, context);
} catch (error) {
reject(error);
}
});
// Função exportada para a Lambda
export const lambdaHandler = async (event: APIGatewayProxyEvent, context: Context) => {
return handler(event, context);
};
2 changes: 1 addition & 1 deletion src/endpoints/healthckeck.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ const healthCheckEnpoint = express.Router()

healthCheckEnpoint.route('/')
.get((req: express.Request, res: express.Response) => {
res.send('ok');
res.send('Hello from Brain Agriculture');
});

export {healthCheckEnpoint}

0 comments on commit c590988

Please sign in to comment.