@chtalent/apis-common

Dependencia comun para servicios apificados construidos con express

Usage no npm install needed!

<script type="module">
  import chtalentApisCommon from 'https://cdn.skypack.dev/@chtalent/apis-common';
</script>

README

Project logo

@apis/comun

Status GitHub Issues GitHub Pull Requests License


Paquete que implementa funcionalidad b谩sica para servicios apificados creados con node y express.

馃摑 Tabla de contenido

馃 Acerca de

Este proyecto tiene la finalidad que proveer algunas soluciones que se requieren al momento de apificar un servicio. Se incluyen soluciones para logs, manejo de errores, manejo de estructuras de respuesta de 茅xito y error, etc.

馃弫 Comienzo

Estas instrucciones proveen la informaci贸n necesaria para poder integrar este paquete a tu proyecto.

Prerequisitos

  • Se requiere tener acceso al repositorio privado (Verdaccio).
  • Tu proyecto debe estar construido en Javascript o Typescript.
  • Express Validator, en caso de utilizar la funcionalidad de validaci贸n de par谩metros de entrada.

馃敡 Pruebas

Este proyecto a煤n no cuenta con pruebas.

Pruebas unitarias

  • Sin informaci贸n

Pruebas de mutaci贸n

  • Sin informaci贸n

馃殌 Despliegue

Este proyecto est谩 pensado para proveer funcionalidades a otros proyectos, por lo cual, no cuenta con utilidad al ser desplegado de forma individual.

馃巿 Uso

A continuaci贸n se explica el contenido del paquete, la funcionalidad que integra y las instrucciones de uso.

Errores

El paquete contiene un cat谩logo de errores que pueden ser utilizado durante el manejo de las peticiones. Cada tipo de error contiene, a su vez, un cat谩logo de errores internos.

Ejemplo: Si al hacer una b煤squeda en la base de datos, no se encuentra informaci贸n, se podr铆a lanzar el siguiente error

if(consulta.isEmpty()){
  throw new ErrorRecursoNoEncontrado(ErrorRecursoNoEncontradoCodigos.RECURSO_BD_NO_ENCONTRADO, 'No se encontr贸 informaci贸n en la BD');
}

En el ejemplo anterior se utiliz贸 el error ErrorRecursoNoEncontrado, que recibi贸 ,como primer par谩metro, el subtipo RECURSO_BD_NO_ENCONTRADO que pertenece a su cat谩logo interno ErrorRecursoNoEncontradoCodigos. Y como segundo par谩metro recibi贸 una cadena con la descripci贸n del error (Tambi茅n puede recibir un arreglo de cadenas).

Los tipos de errores que contiene el paquete son:

  • ErrorServidor
  • ErrorPeticionNoValida
  • ErrorRecursoNoEncontrado
  • ErrorServicioNoDisponible

Manejo de errores

El paquete contiene una funci贸n que intercepta los errores y genera una respuesta que se ajusta al formato establecido por Gobierno de API's.

Para que esta se inicie correctamente, se debe crear una instancia de la clase y debe hacerse despu茅s de registrar todas las dem谩s rutas del proyecto.

Esta funci贸n deber铆a ser utilizada en conjunto con el cat谩logo de errores que se alojan en este mismo paquete. En caso de que se intercepte un error que no pertenezca al cat谩logo, se generar谩 una respuesta de error por default con el c贸digo http 500.

const rutaError = new RutaError(
   instanciaRouter, 'Nombre Api', 'Nombre corto API',
);

La clase RutaError recibe como par谩metros:

  • La instancia del router express que est茅 manejando la aplicaci贸n padre.
  • El nombre de la API. Este nombre se utiliza en las respuestas de error.
  • El nombre corto de la API. Este nombre se utiliza para generar el folio de seguimiento.

Middlewares

RutaError

Iml

Logs

Utilerias

鉀忥笍 Construido con

鉁嶏笍 Autores

  • No茅 Linares - Creador

Lista de colaboradores:

馃帀 Reconocimientos

  • No hay reconocimientos