@pdigitalessiclicksuscribe/status-codes
v1.5.0
Published
Codigos de error para siclik de CompuSoluciones
Downloads
3
Readme
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.
| Parametro | Cardinalidad | Tipo de dato | Detalle | |:---------:|:--------------:|:------------:|:-------:| | errorCode | Obligatorio | Integer | Especifica el estatus del error | options | Opcional | Object | Establece datos extras al error | options.message | Opcional | String | Describe mensaje manualmente | options.details | Opcional | Object | Añade información detallada del error | options.httpStatus | Opcional | Integer | Establece 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.