Esta api se trabaja con la base del frame work NestJS un framework basado en NodeJS
Para poder correr esta api es necesario tener en consideración que se usa Node, TypeORM, Docker y PostgreSQL
Es necesario tener instalado NestJS:
npm i -g @nestjs/cliPara el correcto funcionamiento es necesario correr el contenedor de docker:
docker compose up -d db
docker compose build
docker compose upSe implementa primero db ya que el contenedor de la API en si depende de ella.
Para realizar las acciones de la api basta con utilizar Postman
Si se quiere utilizar para pruebas en desarrollo o producción es necesario cambiar de rama del repositorio, main correspondiente a producción y dev correspondiente a desarrollo
- Post: El llamado debe ser de la siguiente manera
localhost:3000/paymentsTener en consideración que el método pos solo permite realizar un solo pago, es posible reutilizar el método eliminando de la base de datos el valor generado al momento de realizar correctamente el pago. El request body:
{
"transferCode": "[email protected]",
"amount": 5000,
"email": "[email protected]",
"currency":"USD"
}- Get: El método get puede ser llamado para obtener todas las transacciones o transacciones únicas
localhost:3000/payments
#or
localhost:3000/payments/2donde 2 corresponde a la id de la transacción, escalable para utilizar trasnferCode ya que es único.
Se retornará una lista (vacía en caso de no tener transacciones) si no se especifica la id. En caso de buscar un único objeto retorna el objeto completo:
{
"transferCode": "[email protected]",
"amount": 5000,
"email": "[email protected]",
"currency":"USD"
}o de no entrontrase se arroja el error:
{
"message": "Payment does not exist!",
"error": "Not Found",
"statusCode": 404
}- Put: Éste método es utilizado para actualizar transacciones, es necesario ingresar la id como parámetro y el body para actualizar
localhost:3000/payments/2dónde 2 es la id de la transacción, escalable para utilizar transferCode ya que es único.
{
"transferCode": "[email protected]",
"amount": 500,
"email": "[email protected]",
"currency":"CLP"
}retornando el mismo valor enviado.
- Delete: Éste método es para eliminar alguna transacción, es necesario especificar la id de la transacción (puede ser escalable para el uso de
trasnferCode)
localhost:3000/payments/2No retorna un valor al eliminar. Solo retornará un error de no encontrar la transacción:
{
"message": "Payment does not exist!",
"error": "Not Found",
"statusCode": 404
}