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

Merge branch 'iss42-documentacion-filtro-busqueda' into 'desarrollo'

#42  documentacion filtro busqueda

Corrección y formateo de la documentación del proyecto.

See merge request !49
parents 77fbba66 70124625
......@@ -5,12 +5,12 @@ ___
**URL**
>/autenticar/ldap
**Metodo**
**Método**
><kbd>POST</kbd>
**Parametros de la URL**
**Parámetros de la URL**
**Parametros del body**
**Parámetros del body**
```json
{
"nombreUsuario": "test",
......
......@@ -4,14 +4,14 @@ ___
**URL**
> /cargos
**Metodo**
**Método**
> <kbd>GET</kbd>
**Respuesta correcta**
>**Codigo:** 200
>**Código:** 200
>**Ejemplo:**
>**Contenido:**
```json
{
"count":5,"rows":
......@@ -50,20 +50,22 @@ ___
}
```
**Parametros opcionales de la URL**
**Parámetros opcionales de la URL**
>**Muestra una determinada cantidad de cargos**
>**URL**
```
/cargos/?elementos=valor
/cargos?elementos=valor
```
>**Parámetros requeridos**
```
valor=[integer]
```
>
| **Nombre** | **Tipo** | **Descripción** |
|-------- |--- |--- |
| `elementos` | Integer | Cantidad de elementos a mostrar. |
>**Ejemplo:**
```
/cargos/?elementos=2
/cargos?elementos=2
```
>**Respuesta:**
```json
......@@ -87,17 +89,20 @@ valor=[integer]
```
>___
>**Muestra los cargos en una determinada página**
>**URL**
```
/cargos/?pagina=valor
/cargos?pagina=valor
```
>**Parámetros requeridos**
```
pagina=[integer]
```
>
| **Nombre** | **Tipo** | **Descripción** |
|-------- |--- |--- |
| `pagina` | Integer | El número de página a mostrar. |
>**Ejemplo:**
```
/cargos/?pagina=1
/cargos?pagina=1
```
>**Respuesta:**
......@@ -139,18 +144,21 @@ pagina=[integer]
}
```
>___
>**Ordena los cargos en base a un atributo**
>**Ordena los cargos ascendentemente en base a un campo del modelo**
>**URL**
```
/cargos/?ordenarPor=valor
/cargos?ordenarPor=valor
```
>**Parámetros requeridos**
```
ordenarPor=[string]
```
>
| **Nombre** | **Tipo** | **Descripción** |
|-------- |--- |--- |
| `ordenarPor` | String | El nombre deL campo correspondiente al modelo de la entidad. |
>**Ejemplo:**
```
/cargos/?ordenarPor=nombre
/cargos?ordenarPor=nombre
```
>**Respuesta:**
```json
......@@ -191,19 +199,22 @@ ordenarPor=[string]
}
```
>___
>**Ordena los cargos ascendentemente o descendentemente en base a un atributo**
>**Ordena los cargos descendentemente en base a un campo del modelo**
>**URL**
```
/cargos/?ordenarPor=valor1&orden=valor2
/cargos?ordenarPor=valor1&orden=true
```
>**Parámetros requeridos**
```
valor1=[string]
valor2=[string] (DESC)
```
>
| **Nombre** | **Tipo** | **Descripción** |
|-------- |--- |--- |
| `ordenarPor` | String | El nombre de campo del modelo de la entidad. |
| `orden` | Boolean | TRUE para un orden descendente (DESC), caso contrario el orden ascendente (por defecto). |
>**Ejemplo:**
```
/cargos/?ordenarPor=nombre&orden=DESC
/cargos?ordenarPor=nombre&orden=true
```
>**Respuesta:**
```json
......@@ -243,11 +254,117 @@ valor2=[string] (DESC)
]
}
```
>___
>**Buscar por "palabra" en "campo" de la entidad cargos**
>**URL**
```
/cargos?en=valor1&palabras=valor2
```
>**Parámetros requeridos**
>
| **Nombre** | **Tipo** | **Descripción** |
|-------- |--- |--- |
| `en` | String (array) | El nombre de campo en el cual se realiza la busqueda de `palabra`. |
| `palabra` | String (array) | Palabra que representa el criterio a buscar. |
>**Ejemplo:**
```
/cargos?en=nombre&palabras=Secretario
```
>**Respuesta:**
```json
{
"count":5,"rows":
[
{
"_id": 49,
"nombre": "Secretario",
"fecha_creacion": "2016-03-14T22:52:31.554Z",
"fecha_modificacion": "2016-03-14T22:52:31.554Z"
}
]
}
```
>___
>**Busca los postulantes para el cargo "Secretario"**
>**URL**
```
/cargos?en=valor1&incluye=%7B%22entidad%22:%22valor2%22%7D&palabras=valor3
```
>**Parámetros requeridos**
>
| **Nombre** | **Tipo** | **Descripción** |
|-------- |--- |--- |
| `en` | String (array) | El nombre de campo en el cual se realiza la busqueda de `palabra`. |
| `incluye` | Object (array) | Cada elemento del objeto contiene el nombre de la `entidad`. |
| `entidad` | String | El nombre del modelo de la entidad. |
| `palabra` | String (array) | Cada elemento del array contiene `palabra` que representa el criterio a buscar. |
>**Ejemplo**
```
/cargos?en=nombre&incluye=%7B%22entidad%22:%22Postulantes%22%7D&palabras=Secretario
```
>**Respuesta:**
```json
{
"count":3,"rows":
[
{
"_id": 49,
"nombre": "Secretario",
"fecha_creacion": "2016-03-14T22:52:31.554Z",
"fecha_modificacion": "2016-03-14T22:52:31.554Z",
"Postulantes":
[
{
"_id": 49,
"nombres": "Victor Hugo",
"apellidos": "Daza Lima",
"ci": 372348,
"fecha_creacion": "2016-01-14T22:52:31.554Z",
"fecha_modificacion": "2016-01-14T22:52:31.554Z",
"Postulacion":
{
"_id": 1231,
"presentacion": "Poseo todos los conocimientos necesarios qué la institución requiere",
"fecha_creacion": "2016-03-16T15:26:38.736Z",
"fecha_modificacion": "2016-03-16T15:26:38.736Z",
"fk_postulante": 49,
"fk_cargo": 49
}
},
{
"_id": 50,
"nombres": "Franz Ramiro",
"apellidos": "Gallardo Portanda",
"ci": 878789,
"fecha_creacion": "2016-01-14T22:52:31.554Z",
"fecha_modificacion": "2016-01-14T22:52:31.554Z",
"Postulacion":
{
"_id": 22,
"presentacion": "Soy apto para este cargo",
"fecha_creacion": "2016-03-16T15:26:38.737Z",
"fecha_modificacion": "2016-03-16T15:26:38.737Z",
"fk_postulante": 50,
"fk_cargo": 49
}
}
]
}
]
}
```
**Respuesta de error**
>**Codigo:** 500
>**Código:** 500
>**Contenido:**
```json
......@@ -258,33 +375,31 @@ valor2=[string] (DESC)
**Observaciones**
>Esta petición cuando no existen datos almacenados en la base de datos retorna un array vacio
>El parametro 'orden' depende de 'ordenarPor'
>El parametro 'pagina' muestra 15 cargos por defecto
>El parámetro 'orden' depende de 'ordenarPor'
>El parámetro 'pagina' muestra 15 cargos por defecto
___
## Crear un nuevo cargo
## Crear un cargo
___
**URL**
> /cargos
**Metodo**
**Método**
> <kbd>POST</kbd>
**Parametros del body**
>**Ejemplo**
**Parámetros del body**
>**Ejemplo:**
```json
{
"nombre":"Jefe de unidad"
"nombre":"Jefe"
}
```
**Respuesta correcta**
>**Codigo:** 201
>**Código:** 201
>**Ejemplo:**
>**Contenido:**
```json
{
"_id": 81,
......@@ -296,8 +411,7 @@ ___
**Respuesta de error**
>**Codigo:** 400
>**Código:** 400
>**Contenido:**
```json
......@@ -317,76 +431,99 @@ ___
```
___
## Editar un cargo
## Mostrar un cargo
___
**URL**
> /cargos/:id
**Metodo**
> <kbd>PUT</kbd>
**Método**
> <kbd>GET</kbd>
**Parámetros de la URL**
>**Parámetro requerido:**
>
| **Nombre** | **Tipo** | **Descripción** |
|-------- |--- |--- |
| `id` | Integer | Identificador único del registro en la entidad. |
**Parametros de la url**
>**Parametro requerido:**
```
id=[integer]
```
>**Ejemplo:**
```
id=83
```
**Parametros del body**
>ejemplo
```json
{
"nombre":"Jefe de unidad"
}
id=49
```
**Respuesta correcta**
>**Codigo:** 200
>**Ejemplo**
>**Código:** 200
>**Ejemplo:**
```json
{
"_id": 83,
"nombre": "Jefe modificado",
"fecha_creacion": "2016-03-15T22:28:25.816Z",
"fecha_modificacion": "2016-03-15T22:29:50.184Z"
"_id": 49,
"nombre": "Secretario",
"fecha_creacion": "2016-03-14T22:52:31.554Z",
"fecha_modificacion": "2016-03-14T22:52:31.554Z"
}
```
**Respuesta de error**
>**Codigo:** 404
>**Código:** 404
>**Contenido:**
```json
{
"message": "Entidad no encontrada"
}
```
___
## Eliminar un cargo
## Editar un cargo
___
**URL**
> /cargos/:id
**Metodo**
**Método**
> <kbd>PUT</kbd>
**Parametros de la url**
>**Parametro requerido:**
```
id=[integer]
```
**Parámetros de la URL**
>**Parámetro requerido:**
>
| **Nombre** | **Tipo** | **Descripción** |
|-------- |--- |--- |
| `id` | Integer | Identificador único del registro en la entidad. |
>**Ejemplo:**
```
id=83
```
**Parámetros del body**
>**Ejemplo:**
```json
{
"nombre":"Jefe modificado"
}
```
**Respuesta correcta**
>**Codigo:** 204
>**Código:** 200
>**Contenido:**
```json
{
"_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
>**Código:** 404
>**Contenido:**
```json
......@@ -395,7 +532,7 @@ id=83
}
```
>**Codigo:** 400
>**Código:** 400
>**Contenido:**
```json
......@@ -420,14 +557,17 @@ ___
**URL**
> /cargos/:id
**Metodo**
**Método**
> <kbd>PUT</kbd>
**Parametros de la url**
>**Parametro requerido:**
```
id=[integer]
```
**Parámetros de la URL**
>**Parámetro requerido:**
>
| **Nombre** | **Tipo** | **Descripción** |
|-------- |--- |--- |
| `id` | Integer | Identificador único del registro en la entidad. |
>**Ejemplo:**
```
id=83
......@@ -435,11 +575,11 @@ id=83
**Respuesta correcta**
>**Codigo:** 204
>**Código:** 204
**Respuesta de error**
>**Codigo:** 404
>**Código:** 404
>**Contenido:**
```json
......
This diff is collapsed.
This diff is collapsed.
___
## Servicio BACKEND para migrar datos de Moodle
___
El presente servicio realiza la migración de todos los datos del postulante (usuario)
El presente servicio realiza la migración de todos los datos del postulante (usuario).
**Prerrequisitos de configuración**
>**Tablas de extracción de Datos [mdl_user, mdl_tag_instance, mdl_tag]**
```sh
Tabla en Moodle : mdl_user
firstname => nombres
lastname => apellidos
email => correoElectronico
username => ci
phone1 => telefonoFijo
phone2 => telefonoCelular
address => direccion
city => ciudad
country => pais
url => curriculum
```
```sh
Tablas en Moodle : mdl_tag_instance & mdl_tag
>Tabla en Moodle : **mdl_user**
>
| **Nombre** | **Tipo** | **Descripción** |
|-------- |--- |--- |
| `firstname` | String | Representa nombre(s) del postulante. |
| `lastname` | String | Representa apellido(s) del postulante. |
| `email` | String | Representa correo electronico del postulante. |
| `username` | String | Representa Cedula de Identidad del postulante. |
| `phone1` | String | Representa número de telefono(s) fijo del postulante. |
| `phone2` | String | Representa número de telefono(s) celular del postulante. |
| `address` | String | Representa la dirección del postulante. |
| `city` | String | Representa la ciudad del postulante. |
| `country` | String | Representa el país del postulante. |
| `url` | String | Representa dirección web de la hoja de vida(curriculum vitae) del postulante. |
mdl_tag_instance.itemid => idUsuarioMoodle
mdl_tag.name => nombreTag
```
>**Realizar cambios en archivo:** .../server/environmet.js
```sh
usuarioMoodle:'root', //Usuario Mysql del Origen de Moodle
passwordMoodle:'adminoyq', //Contraseña del Usuario Mysql Moodle
hostMoodle:'localhost', //Dirección donde se encuentra Moodle
baseDatosMoodle:'moodle', //Nombre de Base de Datos
```
>Tabla en Moodle : **mdl_tag_instance** y **mdl_tag**
>
| **Nombre** | **Tipo** | **Descripción** |
|-------- |--- |--- |
| `mdl_tag_instance.itemid` | String | Representa el ID del usuario Moodle (idUsuarioMoodle). |
| `mdl_tag.name` | String | Representa el NOMBRE del tag Moodle (nombreTag). |
>**Realizar cambios en archivo:** __.../server/config/environment/development.js__
>
| **Variable** | **Valor** | **Descripción** |
|-------- |--- |--- |
| `usuarioMoodle` | root | Usuario MySQL del origen de datos de Moodle. |
| `passwordMoodle` | admin | Contraseña del Usuario de Base de Datos MySQL de Moodle. |
| `hostMoodle` | localhost | Dirección web (IP) donde se encuentra la Base de Datos de Moodle. |
| `baseDatosMoodle` | moodle | Nombre de la Base de Datos Moodle. |
**URL**
> /migracionMoodle/migrarDatosMoodle
> /api//migracionMoodle/migrarDatosMoodle
**Metodo**
> <kbd>GET</kbd>
......@@ -70,3 +75,6 @@ mdl_tag.name => nombreTag
"error":"Ocurrio un problema inesperado en el servidor"
}
```
>**Observaciones:**
>Las tablas del modelo(involucradas) se vaciaran, para realizar la migración de toda la información de Moodle(Mysql) a sistema de gestion postulante(PostgrSQL).
This diff is collapsed.
This diff is collapsed.
___
## Obtener todos los tags
## Mostrar todos los tags
___
**URL**
> /tags
**Metodo**
**Método**
> <kbd>GET</kbd>
**Respuesta correcta**
>**Codigo:** 200
>**Código:** 200
>**Ejemplo:**
```json
......@@ -51,19 +51,22 @@ ___
```
**Parametros opcionales de la URL**
**Parámetros opcionales de la URL**
>**Muestra una determinada cantidad de tags**
>**URL**
```
/tags/?elementos=valor
/tags?elementos=valor
```
>**Parámetros requeridos**
```
valor=[integer]
```
>
| **Nombre** | **Tipo** | **Descripción** |
|-------- |--- |--- |
| `elementos` | Integer | Cantidad de elementos a mostrar. |
>**Ejemplo:**
```
/tags/?elementos=3
/tags?elementos=3
```
>**Respuesta:**
```json
......@@ -93,17 +96,20 @@ valor=[integer]
```
>___
>**Muestra los tags en una determinada página**
>**URL**
```
/tags/?pagina=valor
/tags?pagina=valor
```
>**Parámetros requeridos**
```
pagina=[integer]
```
>
| **Nombre** | **Tipo** | **Descripción** |
|-------- |--- |--- |
| `pagina` | Integer | El número de página a mostrar. |
>**Ejemplo:**
```
/tags/?pagina=1
/tags?pagina=1
```
>**Respuesta:**
```json
......@@ -144,18 +150,21 @@ pagina=[integer]
}
```
>___
>**Ordena los tags en base a un atributo**
>**Ordena los tags ascendentemente en base a un campo del modelo**
>**URL**
```
/tags/?ordenarPor=valor
/tags?ordenarPor=valor
```
>**Parámetros requeridos**
```
ordenarPor=[string]
```
>
| **Nombre** | **Tipo** | **Descripción** |
|-------- |--- |--- |
| `ordenarPor` | String | El nombre deL campo correspondiente al modelo de la entidad. |
>**Ejemplo:**
```
/tags/?ordenarPor=nombre
/tags?ordenarPor=nombre
```
>**Respuesta:**
```json
......@@ -196,19 +205,22 @@ ordenarPor=[string]
}
```
>___
>**Ordena los tags ascendentemente o descendentemente en base a un atributo**
>**Ordena los tags descendentemente en base a un campo del modelo**
>**URL**
```
/tags/?ordenarPor=valor1&orden=valor2
/tags?ordenarPor=valor1&orden=true
```
>**Parámetros requeridos**
```
valor1=[string]
valor2=[string] (DESC)
```
>
| **Nombre** | **Tipo** | **Descripción** |
|-------- |--- |--- |
| `ordenarPor` | String | El nombre de campo del modelo de la entidad. |
| `orden` | Boolean | TRUE para un orden descendente (DESC), caso contrario el orden ascendente (por defecto). |
>**Ejemplo:**
```
/tags/?ordenarPor=nombre&orden=DESC
/tags?ordenarPor=nombre&orden=true
```
>**Respuesta:**
```json
......@@ -248,13 +260,125 @@ valor2=[string] (DESC)
]
}
```
>___
>**Busca los Tags que contenga la palabra "Java"**
>**URL**
```
/tags?en=valor1&palabras=valor2
```
>**Parámetros requeridos**
>
| **Nombre** | **Tipo** | **Descripción** |
|-------- |--- |--- |
| `en` | String (array) | El nombre de campo en el cual se realiza la busqueda de `palabra`. |
| `palabra` | String (array) | Palabra que representa el criterio a buscar. |
>**Ejemplo:**
```
/tags?en=nombre&palabras=Java
```
>**Respuesta:**
```json
{
"count":5,"rows":
[
{
"_id": 189,
"nombre": "Java",
"fecha_creacion": "2016-03-16T15:50:28.629Z",
"fecha_modificacion": "2016-03-16T15:50:28.629Z"
}
]
}
```
>___
>**Muestra los postulantes que tienen el Tag "Java"**
>**URL**
```
/tags?en=valor1&incluye=%7B%22entidad%22:%22valor2%22%7D&palabras=valor3
```
>**Parámetros requeridos**
>
| **Nombre** | **Tipo** | **Descripción** |
|-------- |--- |--- |
| `en` | String (array) | El nombre de campo en el cual se realiza la busqueda de `palabra`. |
| `incluye` | Object (array) | Cada elemento del objeto contiene el nombre de la `entidad`. |
| `entidad` | String | El nombre del modelo de la entidad. |
| `palabra` | String (array) | Cada elemento del array contiene `palabra` que representa el criterio a buscar. |
```
incluye (Corresponde a un Array de Objetos, cada Objeto del array contiene el atributo 'entidad')
valor1=[String] (Corresponde a un campo del modelo)
valor2=[String] (Corresponde al nombre de una entidad)
valor3=[String]
```
>**Ejemplo**
```
/tags?en=nombre&incluye=%7B%22entidad%22:%22Postulantes%22%7D&palabras=Java
```