1.5.0 • Published 3 years ago

@pdigitalessiclicksuscribe/status-codes v1.5.0

Weekly downloads
-
License
ISC
Repository
gitlab
Last release
3 years ago

Modulo para creación de errores siclik

Esta librería esta diseñada para almacenar los estatus de error que se pueden generar apartir de cualquiera de los micro-servicios que conforman el sistema de siclik, asi como formar la estructura de los mismos.

Estructura de errores

Existe una estructura de errores ya formada en la libreria GRPC que fue usada de tal manera que pudiera combinarse con la establecida en el estandar de codificacion de CompuSoluciones. Esta estructura esta formada por las propiedades:

  • name: nombre que indentifica al error
  • code: codigo de error con en el que puede ser tratado o identificado entre los desarrolladores o los mismos sistemas.
  • details: mesaje u objeto que detalla a grandes rasgos el motivo del error, este va enfocado al desarrollador.

Instalación

Para poder hacer uso de la libreria y sus funciones, es necesario primero instalarlo a nuestro proyecto desde un gestionador de paquetes como npm o yarn de la siguente manera:

Desde NPM

$ npm install @compusoluciones/status-codes

Desde YARN

$ yarn add @compusoluciones/status-codes

Funcionamiento

Este modulo nos brinda dos funciones para poder tratar los errores dentro de nuestras apis:

  • throwError: esta funcion nos permitira regresar un error con la estructura establecida ingresando como parametro el codigo de error.
  • callError: colecciones de errores disponibles o documentados en la libreria, los cuales estan seccionados por los servicios existentes para siclik.

La funcion throwError() recibe dos parametros, el primero es el codigo de estatus que debe estar previamente listado en el modulo, y el segundo son propiedades del error las cuales son opcionales.

ParametroCardinalidadTipo de datoDetalle
errorCodeObligatorioIntegerEspecifica el estatus del error
optionsOpcionalObjectEstablece datos extras al error
options.messageOpcionalStringDescribe mensaje manualmente
options.detailsOpcionalObjectAñade información detallada del error
options.httpStatusOpcionalIntegerEstablece un codigo http

Las anteriores funciones se pueden importar y usar de la siguiente manera:

const { callError, throwError } = require('@compusoluciones/status-codes');

function customError() {
  throwError(callError.orders.INACTIVE_ORDER, {
    message: 'La orden ya no se encuentra disponible',
    httpStatus: 404,
  })
}

return existOrder || customError();

Notas

Para poder lanzar un error con la funcion de throwError es necesario que primero se documente y agregue el error al listado ya establecido dentro de la carpeta de definitions donde estan detallados los errores, asi como en los enums que estan en el archivo de constants.js

La propiedad httpStatus solo es para uso de las apis RESTful ya que estan manejan dichos codigos para su comunicación.

Al agregar la propiedad details esta por complejidad reemplazara a message en el caso de que fueran enviadas ambas ya que details recibe un objecto de detalla mejor el error.