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

Merge branch '3-Desarrollo-Cargos-Postulaciones-Categorias-Comentarios' into 'desarrollo'

#3

@gcallejas @tnina documentacion del cargo con el formato correcto añadida, se añadio mensaje de respuesta para entidades inexistentes en una peticion.

See merge request !9
parents 88a8a523 3b2bc9b7
# 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,173 @@ 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___
### 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"
}
```
{
"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"
}
```
___
## Obtener todas las postulaciones
___
**URL**
> /comentarios
**Metodo**
> <kbd>GET</kbd>
**Respuesta correcta**
>**Codigo:** 200
>**Ejemplo:**
```json
[
{
"_id": 178,
"contenido": "comentario de prueba numero :1",
"fecha_creacion": "2016-03-16T15:40:22.265Z",
"fecha_modificacion": "2016-03-16T15:40:22.265Z",
"fk_postulante": 241
},
{
"_id": 179,
"contenido": "comentario de prueba numero :2",
"fecha_creacion": "2016-03-16T15:40:22.266Z",
"fecha_modificacion": "2016-03-16T15:40:22.266Z",
"fk_postulante": 241
},
{
"_id": 180,
"contenido": "comentario de prueba numero :2",
"fecha_creacion": "2016-03-16T15:40:22.267Z",
"fecha_modificacion": "2016-03-16T15:40:22.267Z",
"fk_postulante": 242
}
]
```
**Respuesta de error**
>**Codigo:** 500
>**Contenido:**
```json
{
"error":"Ocurrio un problema inesperado en el servidor"
}
```
**Observaciones**
>Cuando no existen datos almacenados en la base de datos
>retorna un array vacio
___
## Crear un comentario
___
**URL**
> /comentarios
**Metodo**
> <kbd>POST</kbd>
**Parametros del body**
>**Ejemplo**
```json
{
"contenido": "comentario de prueba",
"fk_postulante":241
}
```
**Respuesta correcta**
>**Codigo:** 201
>**Ejemplo:**
```json
{
"_id": 189,
"contenido": "comentario de prueba",
"fk_postulante": 241,
"fecha_modificacion": "2016-03-16T15:47:04.495Z",
"fecha_creacion": "2016-03-16T15:47:04.495Z"
}
```
**Respuesta de error**
>**Codigo:** 400
>**Contenido:**
```json
{
"name": "SequelizeValidationError",
"message": "Validation error: Por favor ingrese un comentario",
"errors": [
{
"message": "Por favor ingrese un comentario",
"type": "Validation error",
"path": "contenido",
"value": {},
"__raw": {}
}
]
}
```
___
## Editar un comentario
___
**URL**
> /comentarios/:id
**Metodo**
> <kbd>PUT</kbd>
**Parametros de la url**
>**Parametro requerido:**
```
id=[integer]
```
>**Ejemplo:**
```
id=83
```
**Parametros del body**
>ejemplo
```json
{
"contenido": "Comentario modificado",
"fk_postulante":241
}
```
**Respuesta correcta**
>**Codigo:** 200
>**Ejemplo**
```json
{
"_id": 178,
"contenido": "Comentario modificado",
"fecha_creacion": "2016-03-16T15:40:22.265Z",
"fecha_modificacion": "2016-03-16T15:48:49.656Z",
"fk_postulante": 241
}
```
**Respuesta de error**
>**Codigo:** 404
>**Contenido:**
```json
{
"message": "Entidad no encontrada"
}
```
>**Codigo:** 400
>**Contenido:**
```json
{
"name": "SequelizeValidationError",
"message": "Validation error: Por favor ingrese un comentario",
"errors": [
{
"message": "Por favor ingrese un comentario",
"type": "Validation error",
"path": "contenido",
"value": {},
"__raw": {}
}
]
}
```
___
### Eliminar un comentario
___
**URL**
> /comentarios/:id
**Metodo**
> <kbd>DELETE</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"
}
```
___
### Obtener todas los comentarios de un postulante
___
**URL**
> /comentarios/postulate/:id
**Metodo**
> <kbd>GET</kbd>
**Parametros de la url**
>**Parametro requerido:**
```
id=[integer]
```
>**Ejemplo:**
```
id=83
```
**Respuesta correcta**
>**Codigo:** 200
>**Contenido:**
```json
[
{
"_id": 190,
"contenido": "comentario de prueba numero :1",
"fecha_creacion": "2016-03-16T15:50:28.624Z",
"fecha_modificacion": "2016-03-16T15:50:28.624Z",
"fk_postulante": 246
},
{
"_id": 191,
"contenido": "comentario de prueba numero :2",
"fecha_creacion": "2016-03-16T15:50:28.625Z",
"fecha_modificacion": "2016-03-16T15:50:28.625Z",
"fk_postulante": 246
}
]
```
**Respuesta de error**
>**Codigo:** 404
>**Contenido:**
```json
{
"message": "Entidad no encontrada"
}
```
___
### Obtener todos los postulantes a un cargo
___
**URL**
> /postulaciones/cargo/:id
**Metodo**
> <kbd>GET</kbd>
**Parametros de la url**
>**Parametro requerido:**
```
id=[integer]
```
>**Ejemplo:**
```
id=83
```
**Respuesta correcta**
>**Codigo:** 200
>**Contenido:**
```json
[
{
"_id": 241,
"nombres": "Juan Carlos",
"apellidos": "Perez Gomez",
"ci": "6867562",
"sexo": true,
"createdAt": "2016-03-16T15:40:22.195Z",
"updatedAt": "2016-03-16T15:40:22.195Z",
"Postulacion": {
"_id": 28,
"presentacion": "Texto de presentacion1",
"fecha_creacion": "2016-03-16T15:40:22.382Z",
"fecha_modificacion": "2016-03-16T15:40:22.382Z",
"fk_postulante": 241,
"fk_cargo": 286
}
},{
"_id": 242,
"nombres": "Ana Gomez",
"apellidos": "Rodriguez",
"ci": "6867122",
"sexo": true,
"createdAt": "2016-03-16T15:40:22.195Z",
"updatedAt": "2016-03-16T15:40:22.195Z",
"Postulacion": {
"_id": 29,
"presentacion": "Texto de presentacion1",
"fecha_creacion": "2016-03-16T15:40:22.382Z",
"fecha_modificacion": "2016-03-16T15:40:22.382Z",
"fk_postulante": 242,
"fk_cargo": 286
}
}
]
```
**Respuesta de error**
>**Codigo:** 404
>**Contenido:**
```json
{
"message": "Entidad no encontrada"
}
```
___
## Obtener todas las postulaciones
___
**URL**
> /postulaciones
**Metodo**
> <kbd>GET</kbd>
**Respuesta correcta**
>**Codigo:** 200
>**Ejemplo:**
```json
[
{
"_id": 21,
"presentacion": "Texto de presentacion1",
"fecha_creacion": "2016-03-16T15:26:38.736Z",
"fecha_modificacion": "2016-03-16T15:26:38.736Z",
"fk_postulante": 236,
"fk_cargo": 276
},
{
"_id": 22,
"presentacion": "Texto de presentacion2",
"fecha_creacion": "2016-03-16T15:26:38.737Z",
"fecha_modificacion": "2016-03-16T15:26:38.737Z",
"fk_postulante": 237,
"fk_cargo": 277
},
{
"_id": 23,
"presentacion": "Texto de presentacion3",
"fecha_creacion": "2016-03-16T15:26:38.755Z",
"fecha_modificacion": "2016-03-16T15:26:38.755Z",
"fk_postulante": 238,
"fk_cargo": 278
},
{
"_id": 24,
"presentacion": "Texto de presentacion4",
"fecha_creacion": "2016-03-16T15:26:38.756Z",
"fecha_modificacion": "2016-03-16T15:26:38.756Z",
"fk_postulante": 239,
"fk_cargo": 279
},
{
"_id": 25,
"presentacion": "Texto de presentacion5",
"fecha_creacion": "2016-03-16T15:26:38.774Z",
"fecha_modificacion": "2016-03-16T15:26:38.774Z",
"fk_postulante": 240,
"fk_cargo": 280
}
]
```
**Respuesta de error**
>**Codigo:** 500
>**Contenido:**
```json
{
"error":"Ocurrio un problema inesperado en el servidor"
}
```
**Observaciones**
>Cuando no existen datos almacenados en la base de datos
>retorna un array vacio
___
## Crear una postulacion
___
**URL**
> /postulaciones
**Metodo**
> <kbd>POST</kbd>
**Parametros del body**
>**Ejemplo**
```json
{
"presentacion":"Texto de presentacion del postulante",
"fk_postulante":236,
"fk_cargo":277
}
```
**Respuesta correcta**
>**Codigo:** 201
>**Ejemplo:**
```json
{
"_id": 26,
"presentacion": "Texto de presentacion del postulante",
"fk_postulante": 236,
"fk_cargo": 277,
"fecha_modificacion": "2016-03-16T15:30:20.292Z",
"fecha_creacion": "2016-03-16T15:30:20.292Z"
}
```
**Respuesta de error**
>**Codigo:** 400
>**Contenido:**
```json
{
"name": "SequelizeValidationError",
"message": "Validation error: Por favor ingrese un mensaje de presentacion",
"errors": [
{
"message": "Por favor ingrese un mensaje de presentacion",
"type": "Validation error",
"path": "presentacion",
"value": {},
"__raw": {}
}
]
}
```
___
## Editar una postulacion
___
**URL**
> /postulaciones/:id
**Metodo**
> <kbd>PUT</kbd>
**Parametros de la url**
>**Parametro requerido:**
```
id=[integer]
```
>**Ejemplo:**
```
id=83
```
**Parametros del body**
>ejemplo
```json
{
"presentacion":"Texto de presentacion del postulante modificado",
"fk_postulante":236,
"fk_cargo":277
}
```
**Respuesta correcta**
>**Codigo:** 200
>**Ejemplo**
```json
{
"_id": 26,
"presentacion": "Texto de presentacion del postulante modificado",
"fecha_creacion": "2016-03-16T15:30:20.292Z",
"fecha_modificacion": "2016-03-16T15:33:51.913Z",
"fk_postulante": 236,
"fk_cargo": 277
}
```
**Respuesta de error**
>**Codigo:** 404
>**Contenido:**
```json
{
"message": "Entidad no encontrada"
}
```
>**Codigo:** 400
>**Contenido:**
```json
{
"name": "SequelizeValidationError",
"message": "Validation error: Por favor ingrese un mensaje de presentacion",
"errors": [
{
"message": "Por favor ingrese un mensaje de presentacion",
"type": "Validation error",
"path": "presentacion",
"value": {},
"__raw": {}
}
]
}
```
___
### Eliminar una postulacion
___
**URL**
> /cargos/:id
**Metodo**