Commit 52d0e12f authored by D’jalmar Gutierrez Titirico's avatar D’jalmar Gutierrez Titirico 🚲

documentacion del cargo con el formato correcto añadida, se añadio mensaje de...

documentacion del cargo con el formato correcto añadida, se añadio mensaje de respuesta para entidades inexistentes en una peticion
parent 0c29f712
# Cargo
Listar los cargos
-------------
___
## Obtener todos los cargos
___
**URL**
> /cargos
......@@ -63,8 +62,9 @@ Listar los cargos
>Esta petición cuando no existen datos almacenados en la base de datos
>retorna un array vacio
Crear un nuevo cargo
-------------
___
## Crear un nuevo cargo
___
**URL**
> /cargos
......@@ -72,7 +72,7 @@ Crear un nuevo cargo
> <kbd>POST</kbd>
**Parametros del body**
>ejemplo
>**Ejemplo**
```json
{
"nombre":"Jefe de unidad"
......@@ -81,30 +81,141 @@ Crear un nuevo cargo
**Respuesta correcta**
>**Codigo:** 200
>**Codigo:** 201
>**Ejemplo:**
```json
{
"_id": 81,
"nombre": "Jefe",
"fecha_modificacion": "2016-03-15T22:26:13.065Z",
"fecha_creacion": "2016-03-15T22:26:13.065Z"
}
```
**Respuesta de error**
>**Codigo:** 400
>**Contenido:**
```json
{
"nombre":"[string]"
"name": "SequelizeValidationError",
"message": "Validation error: Ingrese un nombre para el cargo",
"errors": [
{
"message": "Ingrese un nombre para el cargo",
"type": "Validation error",
"path": "nombre",
"value": {},
"__raw": {}
}
]
}
```
___
## Editar un cargo
___
**URL**
> /cargos/:id
**Metodo**
> <kbd>PUT</kbd>
**Parametros de la url**
>**Parametro requerido:**
```
id=[integer]
```
>**Ejemplo:**
```
id=83
```
**Parametros del body**
>ejemplo
```json
{
"nombre":"Jefe de unidad"
}
```
**Respuesta correcta**
>**Codigo:** 200
>**Ejemplo**
```json
{
"nombre":"Jefe de Unidad"
"_id": 83,
"nombre": "Jefe modificado",
"fecha_creacion": "2016-03-15T22:28:25.816Z",
"fecha_modificacion": "2016-03-15T22:29:50.184Z"
}
```
**Respuesta de error**
>**Codigo:** 404
>**Contenido:**
```json
{
"message": "Entidad no encontrada"
}
```
>**Codigo:** 400
>**Contenido:**
```json
{
"Error":"El nombre no puede estar vacio"
"name": "SequelizeValidationError",
"message": "Validation error: Ingrese un nombre para el cargo",
"errors": [
{
"message": "Ingrese un nombre para el cargo",
"type": "Validation error",
"path": "nombre",
"value": {},
"__raw": {}
}
]
}
```
___
### Eliminar un cargo
___
**URL**
> /cargos/:id
**Metodo**
> <kbd>PUT</kbd>
**Parametros de la url**
>**Parametro requerido:**
```
id=[integer]
```
>**Ejemplo:**
```
id=83
```
**Respuesta correcta**
>**Codigo:** 204
**Respuesta de error**
>**Codigo:** 404
>**Contenido:**
```json
{
"message": "Entidad no encontrada"
}
```
......@@ -32,9 +32,10 @@ export function removeEntity(res) {
}
export function handleEntityNotFound(res) {
return function(entity) {
return function (entity) {
if (!entity) {
res.status(404).end();
// TODO crear un error customizado.
res.status(404).json({message: 'Entidad no encontrada'}).end();
return null;
}
return entity;
......@@ -44,11 +45,14 @@ export function handleEntityNotFound(res) {
export function handleError(res, statusCode) {
statusCode = statusCode || 500;
return function(err) {
if(err.name === 'SequelizeValidationError' || err.name === 'SequelizeDatabaseError'){
if(err.name === 'SequelizeValidationError') {
statusCode = 400;
//TODO formatear el error de la validadcion, remover objetos inecesarios
}else if(err.name === 'SequelizeUniqueConstraintError') {
statusCode = 409;
err.message = 'El objeto ya existe';
}else if( err.name === 'SequelizeDatabaseError') {
statusCode = 400;
}
res.status(statusCode).send(err);
};
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment