Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- AGETIC Bolivia hacked
- Super hyper lamers and n00bs LOL
- -----------------------------
- diff --git a/INSTALL.md b/INSTALL.md
- index eee27bf..597cd0c 100644
- --- a/INSTALL.md
- +++ b/INSTALL.md
- @@ -2,150 +2,246 @@ ___
- ## INSTALACIÓN
- ___
- -# Prerrequisitos
- +Prerrequisitos
- +--------------
- -La siguiente instalación y configuración realizado en Sistema Operativo Debian Jessie
- +La siguiente instalación y configuración realizado en Sistema Operativo
- +Debian Jessie
- **Creacion de Usuario en Sistema Operativo**
- -```sh
- -$ sudo adduser usuarioPersonal
- +``` {.sourceCode .sh}
- +$ sudo adduser usuario_proyecto
- ```
- **Agregar Usuario al grupo sudo del Sistema Operativo**
- -```sh
- -$ sudo adduser usuarioPersonal sudo
- +``` {.sourceCode .sh}
- +$ sudo adduser usuario_proyecto sudo
- ```
- **Instalando GIT**
- -Git (pronunciado "guit" ) es un software de control de versiones diseñado por Linus Torvalds, pensando en la eficiencia y la confiabilidad del mantenimiento de versiones de aplicaciones cuando éstas tienen un gran número de archivos de código fuente.
- +Git (pronunciado “guit” ) es un software de control de versiones
- +diseñado por Linus Torvalds, pensando en la eficiencia y la
- +confiabilidad del mantenimiento de versiones de aplicaciones cuando
- +éstas tienen un gran número de archivos de código fuente.
- Para la instalación realizar:
- -```sh
- +
- +``` {.sourceCode .sh}
- $ sudo apt-get install git
- ```
- **Instalando nodejs y npm**
- ->Node.js es un entorno de desarrollo basado en JavaScript que permite la ejecución de servicios y eventos del lado del servidor. Existen múltiples librerias que podriamos incorporar a Node,js, esto lo haremos a través de su administrador NPM.
- +Node.js es un entorno de desarrollo basado en JavaScript que permite la
- +ejecución de servicios y eventos del lado del servidor. Existen
- +múltiples librerías que podríamos incorporar a Node,js, esto lo haremos
- +a través de su administrador **NPM**.
- +
- +**Instalar Curl**
- ->
- -**Instalar Curl***
- +Durante el proceso de instalación necesitaremos este binario.
- ->Durante el proceso de instalación necesitaremos este binario.
- -```sh
- +``` {.sourceCode .sh}
- $ sudo apt-get install curl
- ```
- ->
- -**Añadiendo los repositorios de NodeSource***
- +**Añadiendo los repositorios de NodeSource**
- ->Para añadir los repositorios de node.js version 4.x debemos de ejecutar:
- -```sh
- +Para añadir los repositorios de node.js version 4.x debemos de ejecutar:
- +
- +``` {.sourceCode .sh}
- $ sudo curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash -
- ```
- ->
- -**Instalando Node.js***
- +**Instalando Node.js**
- +
- +Ahora realizaremos la instalación de node v4.4.0
- ->Ahora realizaremos la instalacion de node v4.4.0
- -```sh
- +``` {.sourceCode .sh}
- $ sudo apt-get install -y nodejs
- ```
- ->
- -**Instalando NPM***
- +**Instalando NPM**
- +
- +npm(node package manager) es el gestor de paquetes de Node.js, nos
- +permitira descargar librerias y enlazarlas.
- +
- +Antes debemos de hacer la instalación de paquetes necesarios para un
- +copilado correcto.
- +
- +``` {.sourceCode .sh}
- +$ sudo apt-get install build-essential
- +```
- ->npm(node package manager) es el gestor de paquetes de Node.js, nos permitira descargar librerias y enlazarlas.
- +Debemos de seguir de la siguiente manera:
- ->Debemos de seguir de la sigueinte manera:
- -```sh
- +``` {.sourceCode .sh}
- $ git clone http://github.com/isaacs/npm.git
- $ cd npm
- $ sudo make install
- ```
- ->Para verificar si esta instalado correctamente:
- -```sh
- +Para verificar si esta instalado correctamente:
- +
- +``` {.sourceCode .sh}
- $ npm info
- ```
- -
- **Instalando Gruntjs**
- -Un manejador de tareas, permite minimización, compilación, pruebas unitarias, y mucho más.
- -```sh
- +Un manejador de tareas, permite minimización, compilación, pruebas
- +unitarias, y mucho más.
- +
- +``` {.sourceCode .sh}
- $ sudo npm install -g grunt-cli
- ```
- +Backend-End
- +===========
- +
- +**Instalando SASS**
- +
- +``` {.sourceCode .sh}
- +$ sudo gem install sass
- +```
- **Instalando PostgreSQL**
- -PostgreSQL es un potente sistema de base de datos objeto-relacional de código abierto.
- +PostgreSQL es un potente sistema de base de datos objeto-relacional de
- +código abierto.
- -***Instalación***
- -```sh
- +- Instalación
- +
- +``` {.sourceCode .sh}
- $ sudo apt-get install postgresql postgresql-client postgresql-contrib
- ```
- -***Configuración***
- -Para poder realizar operaciones relacionadas con PostgreSQL:
- ->
- -```sh
- +- Configuración
- +
- +Para poder realizar operaciones relacionadas con
- +
- +``` {.sourceCode .sql}
- +PostgreSQL: >
- $ sudo su - postgres
- ```
- Creando usuario para el sistema:
- -```sqldb
- +
- +``` {.sourceCode .sql}
- postgres=# CREATE USER usuarioPersonal PASSWORD 'password';
- ```
- Cambiando privilegios de usuario:
- -```sqlDB
- +
- +``` {.sourceCode .sql}
- postgres=# ALTER ROLE usuarioPersonal WITH SUPERUSER;
- ```
- Creando la Base de Datos para el sistema
- -```sqldb
- +
- +``` {.sourceCode .sql}
- postgres=# CREATE DATABASE moduloPersonalDb WITH OWNER usuarioPersonal;
- ```
- -## Clonar repositorio
- +**Clonar repositorio**
- -```sh
- -$ sudo su - usuarioPersonal
- +``` {.sourceCode .sh}
- +$ sudo su - usuario_proyecto
- $ cd ~
- $ git clone git@gitlab.geo.gob.bo:SistemaGestionAdministrativa/ModuloPersonal.git
- $ cd ModuloPersonal
- ```
- -Para instalar las dependecias del servidor
- -```sh
- +Para instalar las dependencias del servidor
- +
- +``` {.sourceCode .sh}
- +$ npm install
- +```
- +
- +Para iniciar el servidor de desarrollo en el puerto 9000
- +
- +``` {.sourceCode .sh}
- +$ grunt serve
- +```
- +
- +Front-End
- +=========
- +
- +**Instalando BOWER**
- +
- +Bower te permite administrar los componentes que contienen HTML, CSS,
- +JavaScript, fuentes e incluso archivos de imagen. Bower no concatenar o
- +minify código o hacer cualquier otra cosa - sólo instala las versiones
- +correctas de los paquetes que necesita y sus dependencias.
- +
- +``` {.sourceCode .sh}
- +$ npm install -g bower
- +```
- +
- +**Instalando Ruby**
- +
- +Un lenguaje de programación dinámico y de código abierto.
- +
- +``` {.sourceCode .sh}
- +$ sudo apt-get install ruby-full
- +```
- +
- +**Clonar repositorio**
- +
- +``` {.sourceCode .sh}
- +$ sudo su - usuarioPersonal
- +$ cd ~
- +$ git clone git@gitlab.geo.gob.bo:SistemaGestionAdministrativa/ModuloPersonalCliente.git
- +$ cd ModuloPersonal
- +```
- +
- +Para instalar las dependencias del servidor
- +
- +``` {.sourceCode .sh}
- $ npm install
- ```
- +Para ara instalar las dependecias del cliente
- +
- +``` {.sourceCode .sh}
- +$ bower install
- +```
- +
- Para iniciar el servidor de desarrollo en el puerto 9000
- -```sh
- +
- +``` {.sourceCode .sh}
- $ grunt serve
- ```
- -## Instalacion y configuracion de servidor NGinx
- +Servidor NGinx
- +==============
- -Servidor nginx (pronunciado en inglés “engine X”) es un servidor web/proxy inverso ligero de alto rendimiento, optimizado para aplicaciones Node.js.
- +Servidor nginx (pronunciado en inglés “engine X”) es un servidor
- +web/proxy inverso ligero de alto rendimiento, optimizado para
- +aplicaciones Node.js.
- A continuación, instalar Nginx
- -```sh
- +
- +``` {.sourceCode .sh}
- $ sudo apt-get install nginx
- ```
- -Ahora abre el archivo de configuración del bloque servidor por defecto para la edición:
- -```sh
- +Ahora abre el archivo de configuración del bloque servidor por defecto
- +para la edición:
- +
- +``` {.sourceCode .sh}
- $ sudo nano /etc/nginx/sites-available/default
- ```
- -Insertar la siguiente configuración. Asegúrese de sustituir su propio nombre de dominio para el server (o la dirección IP si usted no tiene un dominio configurado), y la aplicación dirección IP-Privada del servidor para el APP_PRIVATE_IP_ADDRESS . Además, cambiar el puerto ( 9000 ) si la aplicación está configurado para escuchar en un puerto diferente:
- -```sh
- +Insertar la siguiente configuración. Asegúrese de sustituir su propio
- +nombre de dominio para el server (o la dirección IP si usted no tiene un
- +dominio configurado), y la aplicación dirección IP-Privada del servidor
- +para el APP\_PRIVATE\_IP\_ADDRESS . Además, cambiar el puerto ( 9000 )
- +si la aplicación está configurado para escuchar en un puerto diferente:
- +
- +``` {.sourceCode .sh}
- server {
- listen 80;
- @@ -162,10 +258,16 @@ server {
- }
- ```
- -Una vez que haya terminado de añadir los bloques de localización para sus aplicaciones, guardar y salir.
- -En el servidor, reiniciar Nginx:
- -```sh
- +Una vez que haya terminado de añadir los bloques de localización para
- +sus aplicaciones, guardar y salir. En el servidor, reiniciar Nginx:
- +
- +``` {.sourceCode .sh}
- $ sudo /et c/init.d/nginx restart
- ```
- -Esto configura la web del servidor para responder a las solicitudes en su raíz. Suponiendo que nuestro servidor está disponible en example.com , el acceso a http://sitio-de-prueba.gob.bo/ a través de un navegador web que enviar la solicitud a la dirección IP privada del servidor de aplicaciones en el puerto 9000 , que se recibió y respondió a la Node.js solicitud.
- +Esto configura la web del servidor para responder a las solicitudes en
- +su raíz. Suponiendo que nuestro servidor está disponible en example.com,
- +el acceso a <http://sitio-de-prueba.gob.bo/> a través de un navegador
- +web que enviar la solicitud a la dirección IP privada del servidor de
- +aplicaciones en el puerto 9000 , que se recibió y respondió a la Node.js
- +solicitud.
- diff --git a/README.md b/README.md
- index 92192e3..49e7690 100644
- --- a/README.md
- +++ b/README.md
- @@ -1,29 +1,56 @@
- -# modulo-personal
- +Readme
- +======
- -Este es el modulo de personal del sistema de gestion administrativa
- +Este es el modulo de contratación pertenece al sistema de gestión
- +administrativa.
- -## Desarrolladores
- -- D'jalmar
- -- David
- -- Gustavo
- +Equipo
- +------
- -### Prerequisitos
- +**Programadores**
- -- [Git](https://git-scm.com/)
- -- [Node.js and npm](nodejs.org) Node ^4.2.3, npm ^2.14.7
- -- [Grunt](http://gruntjs.com/) (`npm install --global grunt-cli`)
- -- [Postgresql](http://www.postgresql.org.es/)
- + * D'jalmar Gutierrez <dgutierrez@adsib.gob.bo>
- -### Para iniciar el proyecto en desarrollo se deben ejecutar los siguientes comandos en la terminal
- + * Teodoro Nina <tnina@adsib.gob.bo>
- -1. Ejecutar `npm install` para instalar las dependecias del servidor.
- -2. Ejecutar `grunt serve` para iniciar el servidor de desarrollo. Debe iniciar automaticamente el explorador.
- +**Pasante**
- -## Compilacion y desarrollo
- + * Gustavo Callejas <gcallejas@adsib.gob.bo>
- -Ejecutar `grunt build` para compilar el proyecto, el proyecto compilado se encuentra en la carpeta `dist` luego ejecutar `grunt serve` para una vista previa.
- -## Tests
- +Prerequisitos
- +-------------
- -Ejecutar `npm test` para ejecutar todos los test(unitarios y de integracion) del proyecto
- +- [Git]
- +- [Node.js and npm] Node \^4.2.3, npm \^2.14.7
- +- [Grunt] (`npm install --global grunt-cli`)
- +- [Postgresql]
- +
- +Ejecución
- +---------
- +
- +Para iniciar el proyecto en desarrollo se deben ejecutar los siguientes
- +comandos en la terminal
- +
- +1. Ejecutar `npm install` para instalar las dependecias del servidor.
- +2. Ejecutar `grunt serve` para iniciar el servidor de desarrollo. Debe
- + iniciar automaticamente el explorador.
- +
- +Compilación y Desarrollo
- +------------------------
- +
- +Ejecutar `grunt build` para compilar el proyecto, y el resultado de esa
- +compilación se encuentra en la carpeta `dist` luego ejecutar **grunt
- +serve** para una vista previa.
- +
- +Test
- +----
- +
- +Ejecutar `npm test` para ejecutar todos los test(unitarios y de
- +integración) del proyecto
- +
- + [Git]: https://git-scm.com/
- + [Node.js and npm]: nodejs.org
- + [Grunt]: http://gruntjs.com/
- + [Postgresql]: http://www.postgresql.org.es/
- diff --git a/docs/autenticacion/autenticacion.rst b/docs/autenticacion/autenticacion.rst
- index e8a3dfd..e925693 100644
- --- a/docs/autenticacion/autenticacion.rst
- +++ b/docs/autenticacion/autenticacion.rst
- @@ -1,63 +1,59 @@
- Autenticación de usuario
- ========================
- -URL
- ----
- -::
- +Formato URL
- +------------------------
- ++-----------------+-------------------------+
- +|**Método HTTP** |**Significado** |
- ++=================+=========================+
- +|`POST` | Crea un recurso |
- ++-----------------+-------------------------+
- - /autenticar/ldap
- +Parámetros
- +------------------------
- -Método
- -------
- -``POST``
- -
- -Parámetros del body
- --------------------
- +**body**
- .. code:: json
- {
- "nombreUsuario": "test",
- - "contrasena": "123456"
- + "contrasena": "password"
- }
- -Respuesta correcta
- -------------------
- -
- -**Código:** 200
- -
- -**Contenido:**
- -.. code:: json
- - {
- - "token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJfaWQiOiJ0ZXN0IiwiY29ycmVvIjoidGVzdEBnbWFpbC5jb20iLCJub21icmVDb21wbGV0byI6IlRlc3QgR3V0aWVycmV6Iiwicm9sZXMiOlsiQURNSU5JU1RSQVRPUiJdLCJpYXQiOjE0NjAxMjQ2MTQsImV4cCI6MTQ2MDE0MjYxNH0.fZ401WElQgKmASLxV_vFaR2YfVJIapTbqBJeIsOxjbw"
- - }
- +Respuestas
- +----------
- -Respuesta incorrecta
- ---------------------
- -
- -**Código:** 400
- -
- -**Contenido**
- +**Token**
- .. code:: json
- {
- - "message": "Invalid username/password"
- + "token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1Ni10.eyJfaWQiOiJ0ZXN0IiwiY29ycmVvIjoidGVzdEBnbWFpbC5jb20iLCJub21icmVDb21wbGV0byI6IlRlc3QgR3V0aWDaViD6Iiwicm9sZXMiOlsiQURNSU5JU1RSQVRPUiJdLCJpYXQiOjE0NjAxMjQ2MTQsImV4cCI6MTQ2MDE0MjYxNH0.fZ401WElQgKmASLxV_vFaR2YfVJIapTbqBJeIsOxjbw"
- }
- -**Código:** 404
- -
- -**Contenido**
- -
- -.. code:: json
- ++------------------+----------------------------------------------------------------------------------------------+
- +| **Código HTTP** | **Descripción** |
- ++==================+==============================================================================================+
- +| `200` | Ok |
- ++------------------+----------------------------------------------------------------------------------------------+
- +| `201` | Creado |
- ++------------------+----------------------------------------------------------------------------------------------+
- +| `400` | Parámetros incorrectos en la entrada |
- ++------------------+----------------------------------------------------------------------------------------------+
- +| `401` | Token de acceso expirado o invalido |
- ++------------------+----------------------------------------------------------------------------------------------+
- +| `404` | Recurso no encontrado |
- ++------------------+----------------------------------------------------------------------------------------------+
- +| `429` | Se están recibiendo muchos requests de parte de tu aplicación. Se esta limitando el acceso |
- ++------------------+----------------------------------------------------------------------------------------------+
- +| `500` | Error interno del servidor |
- ++------------------+----------------------------------------------------------------------------------------------+
- - {
- - "message": "Missing credentials"
- - }
- Observaciones
- -------------
- -- Se debe añadir el token en todas las peticiones de la API
- +- Se debe añadir el token en todas las peticiones de la API.
- diff --git a/docs/cambios/cambios.rst b/docs/cambios/cambios.rst
- deleted file mode 100644
- index 38e3b85..0000000
- --- a/docs/cambios/cambios.rst
- +++ /dev/null
- @@ -1,7 +0,0 @@
- -Cambios
- -==============
- -
- -Versiones
- ----------
- -
- -Listado de los cambios del proyecto Modulo Personal
- diff --git a/docs/cargo/cargo.rst b/docs/cargo/cargo.rst
- index 48171d2..4119cf6 100644
- --- a/docs/cargo/cargo.rst
- +++ b/docs/cargo/cargo.rst
- @@ -32,21 +32,25 @@ Contenido en data del cuerpo para realizar el creado y actualización de un regi
- }
- -+----------------------------------------+-----------------------------------------------------------------------------------------------------+----------------------------------------------------+-----------------------------------------------------+----------------------------------------------+
- -|**Recurso** |**GET** |**POST** |**PUT** |**DELETE** |
- -+========================================+=====================================================================================================+====================================================+=====================================================+==============================================+
- -| `/cargos` | Obtiene el listado de todos los cargos | Crea un registro de cargo | | |
- -+----------------------------------------+-----------------------------------------------------------------------------------------------------+----------------------------------------------------+-----------------------------------------------------+----------------------------------------------+
- -| `/cargos/:id` | Obtiene el cargo identificado como :id | | Actualiza el cargo identificado como :id | Elimina el cargo identificado como :id |
- -+----------------------------------------+-----------------------------------------------------------------------------------------------------+----------------------------------------------------+-----------------------------------------------------+----------------------------------------------+
- -| `/cargos/asignados` | Obtiene el listado de todos los cargos asignados | | | |
- -+----------------------------------------+-----------------------------------------------------------------------------------------------------+----------------------------------------------------+-----------------------------------------------------+----------------------------------------------+
- -| `/cargos/disponibles` | Obtiene el listado de los cargos disponibles | | | |
- -+----------------------------------------+-----------------------------------------------------------------------------------------------------+----------------------------------------------------+-----------------------------------------------------+----------------------------------------------+
- -| `/cargos/:id/convocatoria` | Obtiene el listado de las convocatoria asociadas al cargo identificado como :id | | | |
- -+----------------------------------------+-----------------------------------------------------------------------------------------------------+----------------------------------------------------+-----------------------------------------------------+----------------------------------------------+
- -| `/cargos/:id/relacionesLaborales` | Obtiene el listado de las personas con relacion laboral asociadas al cargo identificado como :id | | | |
- -+----------------------------------------+-----------------------------------------------------------------------------------------------------+----------------------------------------------------+-----------------------------------------------------+----------------------------------------------+
- ++----------------------------------------+-----------------------------------------------------------------------------------------------------+----------------------------------------------------+-----------------------------------------------------------------------------+----------------------------------------------+
- +|**Recurso** |**GET** |**POST** |**PUT** |**DELETE** |
- ++========================================+=====================================================================================================+====================================================+=============================================================================+==============================================+
- +| `/cargos` | Obtiene el listado de todos los cargos | Crea un registro de cargo | | |
- ++----------------------------------------+-----------------------------------------------------------------------------------------------------+----------------------------------------------------+-----------------------------------------------------------------------------+----------------------------------------------+
- +| `/cargos/:id` | Obtiene el cargo identificado como :id | | Actualiza el cargo identificado como :id | Elimina el cargo identificado como :id |
- ++----------------------------------------+-----------------------------------------------------------------------------------------------------+----------------------------------------------------+-----------------------------------------------------------------------------+----------------------------------------------+
- +| `/cargos/asignados` | Obtiene el listado de todos los cargos asignados | | | |
- ++----------------------------------------+-----------------------------------------------------------------------------------------------------+----------------------------------------------------+-----------------------------------------------------------------------------+----------------------------------------------+
- +| `/cargos/disponibles` | Obtiene el listado de los cargos disponibles | | | |
- ++----------------------------------------+-----------------------------------------------------------------------------------------------------+----------------------------------------------------+-----------------------------------------------------------------------------+----------------------------------------------+
- +| `/cargos/:id/convocatoria` | Obtiene el listado de las convocatoria asociadas al cargo identificado como :id | | | |
- ++----------------------------------------+-----------------------------------------------------------------------------------------------------+----------------------------------------------------+-----------------------------------------------------------------------------+----------------------------------------------+
- +| `/cargos/:id/relacionesLaborales` | Obtiene el listado de las personas con relacion laboral asociadas al cargo identificado como :id | | | |
- ++----------------------------------------+-----------------------------------------------------------------------------------------------------+----------------------------------------------------+-----------------------------------------------------------------------------+----------------------------------------------+
- +| `/cargos/:id/ordenarCargos` | | | Actualiza `orden` en los registros asociadas al cargo identificado como :id | |
- ++----------------------------------------+-----------------------------------------------------------------------------------------------------+----------------------------------------------------+-----------------------------------------------------------------------------+----------------------------------------------+
- +| `/cargos/:id/asignaOrdenCargos` | | | Actualiza `orden` reasignando asociadas al cargo identificado como :id | |
- ++----------------------------------------+-----------------------------------------------------------------------------------------------------+----------------------------------------------------+-----------------------------------------------------------------------------+----------------------------------------------+
- Tabla de parámetros opcionales de la URL para peticines GET
- diff --git a/docs/comentario/comentario.rst b/docs/comentario/comentario.rst
- index 4e394fa..4148c15 100644
- --- a/docs/comentario/comentario.rst
- +++ b/docs/comentario/comentario.rst
- @@ -1,59 +1,48 @@
- Comentario
- -==========
- -
- -Mostrar todos los comentarios
- ------------------------------
- -
- -URL
- -```
- -::
- -
- - /comentarios
- -
- -Método
- -``````
- -``GET``
- -
- -Respuesta correcta
- -``````````````````
- -
- -**Código:** 200
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - {
- - "count":3,"rows":
- - [
- - {
- - "_id": 178,
- - "contenido": "¿A qué hora es el examen?",
- - "fecha_creacion": "2016-03-16T15:40:22.265Z",
- - "fecha_modificacion": "2016-03-16T15:40:22.265Z",
- - "fk_persona": 241
- - },
- - {
- - "_id": 179,
- - "contenido": "¿Es necesario llevar carnet?",
- - "fecha_creacion": "2016-03-16T15:40:22.266Z",
- - "fecha_modificacion": "2016-03-16T15:40:22.266Z",
- - "fk_persona": 241
- - },
- - {
- - "_id": 180,
- - "contenido": "¿Por qué se postergo el examen?",
- - "fecha_creacion": "2016-03-16T15:40:22.267Z",
- - "fecha_modificacion": "2016-03-16T15:40:22.267Z",
- - "fk_persona": 242
- - }
- - ]
- - }
- -
- -Parámetros opcionales de la URL
- -```````````````````````````````
- -Tabla de parámetros
- -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
- +====================
- +
- +Formato URL
- +------------------------
- ++-----------------+-------------------------+
- +|**Método HTTP** |**Significado** |
- ++=================+=========================+
- +|`GET` | Obtiene un recurso |
- ++-----------------+-------------------------+
- +|`POST` | Crea un recurso |
- ++-----------------+-------------------------+
- +|`PUT` | Actualiza un recurso |
- ++-----------------+-------------------------+
- +|`DELETE` | Borra un recurso |
- ++-----------------+-------------------------+
- +
- +Ejemplo
- +''''''''''''
- +
- +**Contenido Body**
- +
- +Contenido en data del cuerpo para realizar el creado y actualización de un registro identificado como :id.
- +
- +.. code:: json
- +
- + {
- + "contenido": "Cumple con los requisitos para el puesto, listo para iniciar."",
- + "fecha_creacion": "2016-07-26 10:37:08.885-04",
- + "fecha_modificacion": "2016-07-26 10:37:08.885-04",
- + "fk_persona": 1202, //Persona: Jesus Adrian Romero
- + "fk_usuario": 1 //Usuario: Test
- + }
- +
- ++-----------------------------------------------------+-----------------------------------------------------------------------------------------------+----------------------------------------------------+-----------------------------------------------+----------------------------------------------+
- +|**Recurso** |**GET** |**POST** |**PUT** |**DELETE** |
- ++=====================================================+===============================================================================================+====================================================+===============================================+==============================================+
- +| /comentarios | Obtiene el listado de todos los comentarios | Crea un registro de comentario | | |
- ++-----------------------------------------------------+-----------------------------------------------------------------------------------------------+----------------------------------------------------+-----------------------------------------------+----------------------------------------------+
- +| /comentarios/:id | Obtiene el comentario identificado como :id | | Actualiza registro :id de comentario | Elimina registro :id de comentario |
- ++-----------------------------------------------------+-----------------------------------------------------------------------------------------------+----------------------------------------------------+-----------------------------------------------+----------------------------------------------+
- +
- +
- +Tabla de parámetros opcionales de la URL para peticines GET
- +'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
- +-+-----------+------------------+---------------------------------------------------------------------+
- |**Nombre** |**Tipo** |**Descripción** |
- +=+===========+==================+=====================================================================+
- @@ -78,772 +67,25 @@ Tabla de parámetros
- | |`entidad` | String |El nombre de la entidad. |
- +-+-----------+------------------+---------------------------------------------------------------------+
- -Muestra una determinada cantidad de comentarios
- -'''''''''''''''''''''''''''''''''''''''''''''''
- -
- -**URL**
- -::
- -
- - /comentarios?elementos=valor
- -
- -**Parámetros usados**
- -
- -============ =====================
- -**Nombre** **Valor enviado**
- -============ =====================
- -`elementos` 1
- -============ =====================
- -
- -**Ejemplo:**
- -::
- -
- - /comentarios?elementos=2
- -
- -**Respuesta:**
- -
- -.. code:: json
- -
- - {
- - "count":3,"rows":
- - [
- - {
- - "_id": 178,
- - "contenido": "¿A qué hora es el examen?",
- - "fecha_creacion": "2016-03-16T15:40:22.265Z",
- - "fecha_modificacion": "2016-03-16T15:40:22.265Z",
- - "fk_persona": 241
- - },
- - {
- - "_id": 179,
- - "contenido": "¿Es necesario llevar carnet?",
- - "fecha_creacion": "2016-03-16T15:40:22.266Z",
- - "fecha_modificacion": "2016-03-16T15:40:22.266Z",
- - "fk_persona": 241
- - }
- - ]
- - }
- -
- -Muestra los comentarios en una determinada página
- -'''''''''''''''''''''''''''''''''''''''''''''''''
- -
- -**URL**
- -::
- -
- - /comentarios?pagina=valor
- -
- -**Parámetros usados**
- -
- -============ =====================
- -**Nombre** **Valor enviado**
- -============ =====================
- -`pagina` 1
- -============ =====================
- -
- -**Ejemplo:**
- -::
- -
- - /comentarios?pagina=1
- -
- -**Respuesta:**
- -
- -.. code:: json
- -
- - {
- - "count":3,"rows":
- - [
- - {
- - "_id": 178,
- - "contenido": "¿A qué hora es el examen?",
- - "fecha_creacion": "2016-03-16T15:40:22.265Z",
- - "fecha_modificacion": "2016-03-16T15:40:22.265Z",
- - "fk_persona": 241
- - },
- - {
- - "_id": 179,
- - "contenido": "¿Es necesario llevar carnet?",
- - "fecha_creacion": "2016-03-16T15:40:22.266Z",
- - "fecha_modificacion": "2016-03-16T15:40:22.266Z",
- - "fk_persona": 241
- - },
- - {
- - "_id": 180,
- - "contenido": "¿Por qué se postergo el examen?",
- - "fecha_creacion": "2016-03-16T15:40:22.267Z",
- - "fecha_modificacion": "2016-03-16T15:40:22.267Z",
- - "fk_persona": 242
- - }
- - ]
- - }
- -
- -Ordena los comentarios ascendentemente en base a un campo del modelo
- -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
- -
- -**URL**
- -::
- -
- - /comentarios?ordenarPor=valor
- -
- -**Parámetros usados**
- -
- -============ =====================
- -**Nombre** **Valor enviado**
- -============ =====================
- -`ordenarPor` contenido
- -============ =====================
- -
- -**Ejemplo:**
- -::
- -
- - /comentarios?ordenarPor=contenido
- -
- -**Respuesta:**
- -
- -.. code:: json
- -
- - {
- - "count":3,"rows":
- - [
- - {
- - "_id": 178,
- - "contenido": "¿A qué hora es el examen?",
- - "fecha_creacion": "2016-03-16T15:40:22.265Z",
- - "fecha_modificacion": "2016-03-16T15:40:22.265Z",
- - "fk_persona": 241
- - },
- - {
- - "_id": 179,
- - "contenido": "¿Es necesario llevar carnet?",
- - "fecha_creacion": "2016-03-16T15:40:22.266Z",
- - "fecha_modificacion": "2016-03-16T15:40:22.266Z",
- - "fk_persona": 241
- - },
- - {
- - "_id": 180,
- - "contenido": "¿Por qué se postergo el examen?",
- - "fecha_creacion": "2016-03-16T15:40:22.267Z",
- - "fecha_modificacion": "2016-03-16T15:40:22.267Z",
- - "fk_persona": 242
- - }
- - ]
- - }
- -
- -Ordena los comentarios descendentemente en base a un campo del modelo
- -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
- -
- -**URL**
- -::
- -
- - /comentarios?ordenarPor=valor1&orden=true
- -
- -**Parámetros usados**
- -
- -============ =================
- -**Nombre** **Valor enviado**
- -============ =================
- -`ordenarPor` contenido
- -`orden` true
- -============ =================
- -
- -**Ejemplo:**
- -::
- -
- - /comentarios?ordenarPor=contenido&orden=true
- -
- -**Respuesta:**
- -
- -.. code:: json
- -
- - {
- - "count":3,"rows":
- - [
- - {
- - "_id": 180,
- - "contenido": "¿Por qué se postergo el examen?",
- - "fecha_creacion": "2016-03-16T15:40:22.267Z",
- - "fecha_modificacion": "2016-03-16T15:40:22.267Z",
- - "fk_persona": 242
- - },
- - {
- - "_id": 179,
- - "contenido": "¿Es necesario llevar carnet?",
- - "fecha_creacion": "2016-03-16T15:40:22.266Z",
- - "fecha_modificacion": "2016-03-16T15:40:22.266Z",
- - "fk_persona": 241
- - },
- - {
- - "_id": 178,
- - "contenido": "¿A qué hora es el examen?",
- - "fecha_creacion": "2016-03-16T15:40:22.265Z",
- - "fecha_modificacion": "2016-03-16T15:40:22.265Z",
- - "fk_persona": 241
- - }
- - ]
- - }
- -
- -Busca los comentarios que contenga la palabra "postergo" en el campo "contenido"
- -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
- -
- -**URL**
- -::
- -
- - /comentarios?buscar=%7B%22en%22:%22valor1%22,%22palabra%22:%22valor2%22%7D
- -
- -**Parámetros usados**
- -
- -============ ===========================================
- -**Nombre** **Valor enviado**
- -============ ===========================================
- -`buscar` ::
- -
- - [{"en":"contenido","palabra":"postergo"}]
- -============ ===========================================
- -
- -**Ejemplo:**
- -::
- -
- - /comentarios?buscar=%7B%22en%22:%22contenido%22,%22palabra%22:%22postergo%22%7D
- -
- -**Respuesta:**
- -
- -.. code:: json
- -
- - {
- - "count":3,"rows":
- - [
- - {
- - "_id": 180,
- - "contenido": "¿Por qué se postergo el examen?",
- - "fecha_creacion": "2016-03-16T15:40:22.267Z",
- - "fecha_modificacion": "2016-03-16T15:40:22.267Z",
- - "fk_persona": 242
- - }
- - ]
- - }
- -
- -Muestra los postulantes de cada comentario
- -''''''''''''''''''''''''''''''''''''''''''
- -
- -**URL**
- -::
- -
- - /comentarios?incluye=%7B%22entidad%22:%22valor1%22%7D
- -
- -**Parámetros usados**
- -
- -============ ===========================================
- -**Nombre** **Valor enviado**
- -============ ===========================================
- -`incluye` ::
- -
- - [{"entidad":"Persona"}]
- -============ ===========================================
- -
- -**Ejemplo:**
- -::
- -
- - /comentarios?incluye=%7B%22entidad%22:%22Persona%22%7D
- -
- -**Respuesta:**
- -
- -.. code:: json
- -
- - {
- - "count":3,"rows":
- - [
- - {
- - "_id": 178,
- - "contenido": "¿A qué hora es el examen?",
- - "fecha_creacion": "2016-03-16T15:40:22.265Z",
- - "fecha_modificacion": "2016-03-16T15:40:22.265Z",
- - "fk_persona": 241,
- - "Persona":
- - {
- - "_id": 241,
- - "nombres": "Hugo Juan",
- - "apellidos": "Layme Pereida",
- - "ci": 372348,
- - "fecha_creacion": "2016-01-14T22:52:31.554Z",
- - "fecha_modificacion": "2016-01-14T22:52:31.554Z"
- - }
- - },
- - {
- - "_id": 179,
- - "contenido": "¿Es necesario llevar carnet?",
- - "fecha_creacion": "2016-03-16T15:40:22.266Z",
- - "fecha_modificacion": "2016-03-16T15:40:22.266Z",
- - "fk_persona": 241,
- - "Persona":
- - {
- - "_id": 241,
- - "nombres": "Hugo Juan",
- - "apellidos": "Layme Pereida",
- - "ci": 372348,
- - "fecha_creacion": "2016-01-14T22:52:31.554Z",
- - "fecha_modificacion": "2016-01-14T22:52:31.554Z"
- - }
- - },
- - {
- - "_id": 180,
- - "contenido": "¿Por qué se postergo el examen?",
- - "fecha_creacion": "2016-03-16T15:40:22.267Z",
- - "fecha_modificacion": "2016-03-16T15:40:22.267Z",
- - "fk_persona": 242,
- - "Persona":
- - {
- - "_id": 242,
- - "nombres": "Juan Pablo",
- - "apellidos": "Oropeza Velez",
- - "ci": 233232,
- - "fecha_creacion": "2016-01-14T22:52:31.554Z",
- - "fecha_modificacion": "2016-01-14T22:52:31.554Z"
- - }
- - }
- - ]
- - }
- -
- -Respuesta de error
- -``````````````````
- -
- -**Código:** 500
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - {
- - "error":"Ocurrio un problema inesperado en el servidor"
- - }
- -
- -Observaciones
- -`````````````
- -- Cuando no existen datos almacenados en la base de datos retorna un array vacio
- -- El parámetro 'orden' depende de 'ordenarPor'
- -- El parámetro 'pagina' muestra 15 comentarios por defecto
- -
- -----
- -
- -Crear un comentario
- --------------------
- -
- -URL
- -```
- -::
- -
- - /comentarios
- -
- -Método
- -``````
- -``POST``
- -
- -Parámetros del body
- -```````````````````
- -**Ejemplo:**
- -
- -.. code:: json
- -
- - {
- - "contenido": "comentario de prueba",
- - "fk_persona":241
- - }
- -
- -Respuesta correcta
- -``````````````````
- -
- -**Código:** 201
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - {
- - "_id": 189,
- - "contenido": "comentario de prueba",
- - "fk_persona": 241,
- - "fecha_modificacion": "2016-03-16T15:47:04.495Z",
- - "fecha_creacion": "2016-03-16T15:47:04.495Z"
- - }
- -
- -
- -Respuesta de error
- -``````````````````
- -
- -**Código:** 400
- -
- -**Contenido:**
- -
- -.. code:: 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": {}
- - }
- - ]
- - }
- -
- -----
- -
- -Mostrar un comentario
- ----------------------
- -
- -URL
- -```
- -::
- -
- - /cargos/:id
- -
- -Método
- -``````
- -``GET``
- -
- -Parámetros de la URL
- -````````````````````
- -
- -**Parámetro requerido:**
- -
- -============ ============== ================================================
- -**Nombre** **Tipo** **Descripción**
- -============ ============== ================================================
- -`id` Integer Identificador único del registro en la entidad.
- -============ ============== ================================================
- -
- -**Ejemplo:**
- -::
- -
- - id=180
- -
- -Respuesta correcta
- -``````````````````
- -
- -**Código:** 200
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - {
- - "_id": 180,
- - "contenido": "¿Por qué se postergo el examen?",
- - "fecha_creacion": "2016-03-16T15:40:22.267Z",
- - "fecha_modificacion": "2016-03-16T15:40:22.267Z",
- - "fk_persona": 242
- - }
- -
- -Respuesta de error
- -``````````````````
- -
- -**Código:** 404
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - {
- - "message": "Entidad no encontrada"
- - }
- -
- -----
- -
- -Editar un comentario
- ---------------------
- -
- -URL
- -```
- -::
- -
- - /comentarios/:id
- -
- -Método
- -``````
- -``PUT``
- -
- -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:**
- -
- -.. code:: json
- -
- - {
- - "contenido": "Comentario modificado",
- - "fk_persona": 241
- - }
- -
- -Respuesta correcta
- -``````````````````
- -
- -**Código:** 200
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - {
- - "_id": 83,
- - "contenido": "Comentario modificado",
- - "fecha_creacion": "2016-03-16T15:40:22.265Z",
- - "fecha_modificacion": "2016-03-16T15:48:49.656Z",
- - "fk_persona": 241
- - }
- -
- -Respuesta de error
- -``````````````````
- -
- -**Código:** 404
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - {
- - "message": "Entidad no encontrada"
- - }
- -
- -
- -**Código:** 400
- -
- -**Contenido:**
- -
- -.. code:: 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
- -
- -Método
- -``````
- -``DELETE``
- -
- -Parámetros de la URL
- -````````````````````
- -
- -**Parámetro requerido:**
- -
- -============ ============== ================================================
- -**Nombre** **Tipo** **Descripción**
- -============ ============== ================================================
- -`id` Integer Identificador único del registro en la entidad.
- -============ ============== ================================================
- -
- -**Ejemplo:**
- -::
- -
- - id=83
- -
- -Respuesta correcta
- -``````````````````
- -
- -**Código:** 204
- -
- -Respuesta de error
- -``````````````````
- -
- -**Código:** 404
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - {
- - "message": "Entidad no encontrada"
- - }
- -
- -----
- -
- -Mostrar todos los comentarios de un postulante
- -----------------------------------------------
- -
- -URL
- -```
- -::
- -
- - /comentarios/postulante/:id
- -
- -Método
- -``````
- -``GET``
- -
- -Parámetros de la URL
- -````````````````````
- -
- -**Parámetro requerido:**
- -
- -============ ============== ================================================
- -**Nombre** **Tipo** **Descripción**
- -============ ============== ================================================
- -`id` Integer Identificador único del registro en la entidad.
- -============ ============== ================================================
- -
- -**Ejemplo:**
- -::
- -
- - id=83
- -
- -Respuesta correcta
- -``````````````````
- -
- -**Código:** 200
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - [
- - {
- - "_id": 190,
- - "contenido": "¿A qué hora es el examen?",
- - "fecha_creacion": "2016-03-16T15:50:28.624Z",
- - "fecha_modificacion": "2016-03-16T15:50:28.624Z",
- - "fk_persona": 246
- - },
- - {
- - "_id": 191,
- - "contenido": "¿Es necesario llevar carnet?",
- - "fecha_creacion": "2016-03-16T15:50:28.625Z",
- - "fecha_modificacion": "2016-03-16T15:50:28.625Z",
- - "fk_persona": 246
- - }
- - ]
- -
- -Respuesta de error
- -``````````````````
- -
- -**Código:** 404
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - {
- - "message": "Entidad no encontrada"
- - }
- -
- -----
- -
- -Mostrar todos los postulantes a un cargo
- -----------------------------------------
- -
- -URL
- -```
- -::
- -
- - /postulaciones/cargo/:id
- -
- -Método
- -``````
- -``GET``
- -
- -Parámetros de la URL
- -````````````````````
- -
- -**Parámetro requerido:**
- -
- -============ ============== ================================================
- -**Nombre** **Tipo** **Descripción**
- -============ ============== ================================================
- -`id` Integer Identificador único del registro en la entidad.
- -============ ============== ================================================
- -
- -**Ejemplo:**
- -::
- -
- - id=286
- -
- -Respuesta correcta
- -``````````````````
- -
- -**Código:** 200
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - [
- - {
- - "_id": 241,
- - "nombres": "Juan Carlos",
- - "apellidos": "Perez Gomez",
- - "ci": "6867562",
- - "fecha_creacion": "2016-03-16T15:40:22.195Z",
- - "fecha_modificacion": "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_persona": 241,
- - "fk_cargo": 286
- - }
- - },
- - {
- - "_id": 242,
- - "nombres": "Ana Pamela",
- - "apellidos": "Rodriguez",
- - "ci": "6867122",
- - "fecha_creacion": "2016-03-16T15:40:22.195Z",
- - "fecha_modificacion": "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_persona": 242,
- - "fk_cargo": 286
- - }
- - }
- - ]
- -
- -Respuesta de error
- -``````````````````
- -
- -**Código:** 404
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - {
- - "message": "Entidad no encontrada"
- - }
- +Respuestas
- +----------
- +
- ++------------------+----------------------------------------------------------------------------------------------+
- +| **Código HTTP** | **Descripción** |
- ++==================+==============================================================================================+
- +| `200` | Ok |
- ++------------------+----------------------------------------------------------------------------------------------+
- +| `201` | Creado |
- ++------------------+----------------------------------------------------------------------------------------------+
- +| `400` | Parámetros incorrectos en la entrada |
- ++------------------+----------------------------------------------------------------------------------------------+
- +| `401` | Token de acceso expirado o invalido |
- ++------------------+----------------------------------------------------------------------------------------------+
- +| `404` | Recurso no encontrado |
- ++------------------+----------------------------------------------------------------------------------------------+
- +| `405` | Método HTTP no esperado. Ejemplo: se esperaba un HTTP GET y se recibió un HTTP POST |
- ++------------------+----------------------------------------------------------------------------------------------+
- +| `429` | Se están recibiendo muchos requests de parte de tu aplicación. Se esta limitando el acceso |
- ++------------------+----------------------------------------------------------------------------------------------+
- +| `500` | Error interno del servidor |
- ++------------------+----------------------------------------------------------------------------------------------+
- diff --git a/docs/contratacion/contratacion.rst b/docs/contratacion/contratacion.rst
- index 664d09b..4fd9325 100644
- --- a/docs/contratacion/contratacion.rst
- +++ b/docs/contratacion/contratacion.rst
- @@ -1,68 +1,49 @@
- Contratación
- -============
- +====================
- -Mostrar todas las contrataciones
- ---------------------------------
- -
- -URL
- -```
- -::
- -
- - /contrataciones
- -
- -Método
- -``````
- -``GET``
- -
- -Respuesta correcta
- -``````````````````
- -
- -**Código:** 200
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - {
- - "count": 3,
- - "rows": [
- - {
- - "_id": 1,
- - "fechaContratacion": "2016-04-27T20:58:20.042Z",
- - "estado": true,
- - "fecha_creacion": "2016-05-30T14:37:14.689Z",
- - "fecha_modificacion": "2016-05-30T14:37:14.689Z",
- - "fk_persona": 1,
- - "fk_cargo": 1,
- - "fk_tipo_contrato": 1
- - },
- - {
- - "_id": 2,
- - "fechaContratacion": "2000-08-12T20:58:20.042Z",
- - "estado": true,
- - "fecha_creacion": "2016-05-30T14:37:14.689Z",
- - "fecha_modificacion": "2016-05-30T14:37:14.689Z",
- - "fk_persona": 2,
- - "fk_cargo": 3,
- - "fk_tipo_contrato": 3
- - },
- - {
- - "_id": 3,
- - "fechaContratacion": "2005-01-15T20:58:20.042Z",
- - "estado": true,
- - "fecha_creacion": "2016-05-30T14:37:14.689Z",
- - "fecha_modificacion": "2016-05-30T14:37:14.689Z",
- - "fk_persona": 3,
- - "fk_cargo": 4,
- - "fk_tipo_contrato": 3
- - }
- - ]
- - }
- -
- -Parámetros opcionales de la URL
- -```````````````````````````````
- -Tabla de parámetros
- -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
- +Formato URL
- +------------------------
- ++-----------------+-------------------------+
- +|**Método HTTP** |**Significado** |
- ++=================+=========================+
- +|`GET` | Obtiene un recurso |
- ++-----------------+-------------------------+
- +|`POST` | Crea un recurso |
- ++-----------------+-------------------------+
- +|`PUT` | Actualiza un recurso |
- ++-----------------+-------------------------+
- +|`DELETE` | Borra un recurso |
- ++-----------------+-------------------------+
- +
- +Ejemplo
- +''''''''''''
- +
- +**Contenido Body**
- +
- +Contenido en data del cuerpo para realizar el creado y actualización de un registro identificado como :id.
- +
- +.. code:: json
- +
- + {
- + "fechaContratacion": "2016-04-27T20:58:20.042Z",
- + "estado": true,
- + "fecha_creacion": "2016-07-26T14:37:08.938Z",
- + "fecha_modificacion": "2016-07-26T14:37:08.938Z",
- + "fk_persona": 1091, //Sylvain Damien Lesage
- + "fk_cargo": 1266 //Director Ejecutivo
- + }
- +
- ++-----------------------------------------------------+-----------------------------------------------------------------------------------------------+----------------------------------------------------+-----------------------------------------------+----------------------------------------------+
- +|**Recurso** |**GET** |**POST** |**PUT** |**DELETE** |
- ++=====================================================+===============================================================================================+====================================================+===============================================+==============================================+
- +| /contrataciones | Obtiene el listado de todos las contrataciones | Crea un registro de contratación | | |
- ++-----------------------------------------------------+-----------------------------------------------------------------------------------------------+----------------------------------------------------+-----------------------------------------------+----------------------------------------------+
- +| /contrataciones/:id | Obtiene contratación identificado como :id | | Actualiza registro :id de contratación | Elimina registro :id de contratación |
- ++-----------------------------------------------------+-----------------------------------------------------------------------------------------------+----------------------------------------------------+-----------------------------------------------+----------------------------------------------+
- +
- +
- +Tabla de parámetros opcionales de la URL para peticines GET
- +'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
- +-+-----------+------------------+---------------------------------------------------------------------+
- |**Nombre** |**Tipo** |**Descripción** |
- +=+===========+==================+=====================================================================+
- @@ -87,569 +68,25 @@ Tabla de parámetros
- | |`entidad` | String |El nombre de la entidad. |
- +-+-----------+------------------+---------------------------------------------------------------------+
- -Muestra una determinada cantidad de contrataciones
- -''''''''''''''''''''''''''''''''''''''''''''''''''
- -
- -**URL**
- -::
- -
- - /contrataciones?elementos=valor
- -
- -**Parámetros usados**
- -
- -============ =====================
- -**Nombre** **Valor enviado**
- -============ =====================
- -`elementos` 1
- -============ =====================
- -
- -**Ejemplo:**
- -
- -::
- -
- - /contrataciones?elementos=1
- -
- -**Respuesta:**
- -
- -.. code:: json
- -
- - {
- - "count": 3,
- - "rows": [
- - {
- - "_id": 1,
- - "fechaContratacion": "2016-04-27T20:58:20.042Z",
- - "estado": true,
- - "fecha_creacion": "2016-05-30T14:37:14.689Z",
- - "fecha_modificacion": "2016-05-30T14:37:14.689Z",
- - "fk_persona": 1,
- - "fk_cargo": 1,
- - "fk_tipo_contrato": 1
- - }
- - ]
- - }
- -
- -Muestra las contrataciones en una determinada página
- -''''''''''''''''''''''''''''''''''''''''''''''''''''
- -
- -**URL**
- -::
- -
- - /contrataciones?pagina=valor
- -
- -**Parámetros usados**
- -
- -============ =====================
- -**Nombre** **Valor enviado**
- -============ =====================
- -`pagina` 1
- -============ =====================
- -
- -**Ejemplo:**
- -::
- -
- - /contrataciones?pagina=1
- -
- -**Respuesta:**
- -
- -.. code:: json
- -
- - {
- - "count": 3,
- - "rows": [
- - {
- - "_id": 1,
- - "fechaContratacion": "2016-04-27T20:58:20.042Z",
- - "estado": true,
- - "fecha_creacion": "2016-05-30T14:37:14.689Z",
- - "fecha_modificacion": "2016-05-30T14:37:14.689Z",
- - "fk_persona": 1,
- - "fk_cargo": 1,
- - "fk_tipo_contrato": 1
- - },
- - {
- - "_id": 2,
- - "fechaContratacion": "2000-08-12T20:58:20.042Z",
- - "estado": true,
- - "fecha_creacion": "2016-05-30T14:37:14.689Z",
- - "fecha_modificacion": "2016-05-30T14:37:14.689Z",
- - "fk_persona": 2,
- - "fk_cargo": 3,
- - "fk_tipo_contrato": 3
- - },
- - {
- - "_id": 3,
- - "fechaContratacion": "2005-01-15T20:58:20.042Z",
- - "estado": true,
- - "fecha_creacion": "2016-05-30T14:37:14.689Z",
- - "fecha_modificacion": "2016-05-30T14:37:14.689Z",
- - "fk_persona": 3,
- - "fk_cargo": 4,
- - "fk_tipo_contrato": 3
- - }
- - ]
- - }
- -
- -Ordena las contrataciones ascendentemente en base a un campo del modelo
- -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
- -
- -**URL**
- -::
- -
- - /contrataciones?ordenarPor=valor
- -
- -**Parámetros usados**
- -
- -============ =====================
- -**Nombre** **Valor enviado**
- -============ =====================
- -`ordenarPor` fechaContratacion
- -============ =====================
- -
- -**Ejemplo**
- -::
- -
- - /contrataciones?ordenarPor=fechaContratacion
- -
- -**Respuesta:**
- -
- -.. code:: json
- -
- - {
- - "count": 3,
- - "rows": [
- - {
- - "_id": 2,
- - "fechaContratacion": "2000-08-12T20:58:20.042Z",
- - "estado": true,
- - "fecha_creacion": "2016-05-30T14:37:14.689Z",
- - "fecha_modificacion": "2016-05-30T14:37:14.689Z",
- - "fk_persona": 2,
- - "fk_cargo": 3,
- - "fk_tipo_contrato": 3
- - },
- - {
- - "_id": 3,
- - "fechaContratacion": "2005-01-15T20:58:20.042Z",
- - "estado": true,
- - "fecha_creacion": "2016-05-30T14:37:14.689Z",
- - "fecha_modificacion": "2016-05-30T14:37:14.689Z",
- - "fk_persona": 3,
- - "fk_cargo": 4,
- - "fk_tipo_contrato": 3
- - },
- - {
- - "_id": 1,
- - "fechaContratacion": "2016-04-27T20:58:20.042Z",
- - "estado": true,
- - "fecha_creacion": "2016-05-30T14:37:14.689Z",
- - "fecha_modificacion": "2016-05-30T14:37:14.689Z",
- - "fk_persona": 1,
- - "fk_cargo": 1,
- - "fk_tipo_contrato": 1
- - }
- - ]
- - }
- -
- -Ordena las contrataciones descendentemente en base a un campo del modelo
- -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
- -
- -**URL**
- -::
- -
- - /contrataciones?ordenarPor=valor1&orden=true
- -
- -**Parámetros usados**
- -
- -============ =================
- -**Nombre** **Valor enviado**
- -============ =================
- -`ordenarPor` fechaContratacion
- -`orden` true
- -============ =================
- -
- -**Ejemplo:**
- -::
- -
- - /contrataciones?ordenarPor=fechaContratacion&orden=true
- -
- -**Respuesta:**
- -
- -.. code:: json
- -
- - {
- - "count": 3,
- - "rows": [
- - {
- - "_id": 1,
- - "fechaContratacion": "2016-04-27T20:58:20.042Z",
- - "estado": true,
- - "fecha_creacion": "2016-05-30T14:37:14.689Z",
- - "fecha_modificacion": "2016-05-30T14:37:14.689Z",
- - "fk_persona": 1,
- - "fk_cargo": 1,
- - "fk_tipo_contrato": 1
- - },
- - {
- - "_id": 3,
- - "fechaContratacion": "2005-01-15T20:58:20.042Z",
- - "estado": true,
- - "fecha_creacion": "2016-05-30T14:37:14.689Z",
- - "fecha_modificacion": "2016-05-30T14:37:14.689Z",
- - "fk_persona": 3,
- - "fk_cargo": 4,
- - "fk_tipo_contrato": 3
- - },
- - {
- - "_id": 2,
- - "fechaContratacion": "2000-08-12T20:58:20.042Z",
- - "estado": true,
- - "fecha_creacion": "2016-05-30T14:37:14.689Z",
- - "fecha_modificacion": "2016-05-30T14:37:14.689Z",
- - "fk_persona": 2,
- - "fk_cargo": 3,
- - "fk_tipo_contrato": 3
- - }
- - ]
- - }
- -
- -Buscar por "palabra" en "campo" de la entidad contratación
- -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
- -
- -**URL**
- -::
- -
- - /contrataciones?buscar=%7B%22en%22:%22valor1%22,%22palabra%22:%22valor2%22%7D
- -
- -**Parámetros usados**
- -
- -============ ===========================================
- -**Nombre** **Valor enviado**
- -============ ===========================================
- -`buscar` ::
- -
- - [{"en":"fechaContratacion","palabra":"2000"}]
- -============ ===========================================
- -
- -**Ejemplo**
- -::
- -
- - /contrataciones?buscar=%7B%22en%22:%22fechaContratacion%22,%22palabra%22:%222000%22%7D
- -
- -**Respuesta:**
- -
- -.. code:: json
- -
- - {
- - "count": 1,
- - "rows": [
- - {
- - "_id": 2,
- - "fechaContratacion": "2000-08-12T20:58:20.042Z",
- - "estado": true,
- - "fecha_creacion": "2016-05-30T14:37:14.689Z",
- - "fecha_modificacion": "2016-05-30T14:37:14.689Z",
- - "fk_persona": 2,
- - "fk_cargo": 3,
- - "fk_tipo_contrato": 3
- - }
- - ]
- - }
- -
- -Respuesta de error
- -``````````````````
- -
- -**Código:** 500
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - {
- - "error":"Ocurrio un problema inesperado en el servidor"
- - }
- -
- -
- -Observaciones
- -`````````````
- -- Esta petición cuando no existen datos almacenados en la base de datos retorna un array vacio
- -- El parámetro 'orden' depende de 'ordenarPor'
- -- El parámetro 'pagina' muestra 15 contrataciones por defecto
- -
- -----
- -
- -Crear una contratacion
- -----------------------
- -
- -URL
- -```
- -::
- -
- - /contrataciones
- -
- -Método
- -``````
- -``POST``
- -
- -Parámetros del body
- -```````````````````
- -**Ejemplo**
- -
- -.. code:: json
- -
- - {
- - "fechaContratacion": "2016-06-06T20:58:20.042Z",
- - "estado": true,
- - "fk_persona": 5,
- - "fk_cargo": 2,
- - "fk_tipo_contrato": 4
- - }
- -
- -Respuesta correcta
- -``````````````````
- -
- -**Código:** 201
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - {
- - "_id": 24,
- - "fechaContratacion": "2016-06-06T20:58:20.042Z",
- - "estado": true,
- - "fecha_creacion": "2016-05-30T15:02:39.034Z",
- - "fecha_modificacion": "2016-05-30T15:02:39.034Z",
- - "fk_persona": 5,
- - "fk_cargo": 2,
- - "fk_tipo_contrato": 4
- - }
- -
- -Respuesta de error
- -``````````````````
- -
- -**Código:** 400
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - {
- - "name": "SequelizeValidationError",
- - "message": "Validation error: El formato de la fecha es incorrecto",
- - "errors": [
- - {
- - "message": "El formato de la fecha es incorrecto",
- - "type": "Validation error",
- - "path": "fechaContratacion",
- - "value": {},
- - "__raw": {}
- - }
- - ]
- - }
- -
- -----
- -
- -Mostrar una contratacion
- -------------------------
- -URL
- -```
- -::
- -
- - /contrataciones/:id
- -
- -Método
- -``````
- -``GET``
- -
- -Parámetros de la URL
- -````````````````````
- -
- -**Parámetro requerido:**
- -
- -============ ============== ================================================
- -**Nombre** **Tipo** **Descripción**
- -============ ============== ================================================
- -`id` Integer Identificador único del registro en la entidad.
- -============ ============== ================================================
- -
- -**Ejemplo**
- -::
- -
- - id=24
- -
- -Respuesta correcta
- -``````````````````
- -
- -**Código:** 200
- -
- -**Ejemplo**
- -
- -.. code:: json
- -
- - {
- - "_id": 24,
- - "fechaContratacion": "2016-06-06T20:58:20.042Z",
- - "estado": true,
- - "fecha_creacion": "2016-05-30T15:02:39.034Z",
- - "fecha_modificacion": "2016-05-30T15:02:39.034Z",
- - "fk_persona": 5,
- - "fk_cargo": 2,
- - "fk_tipo_contrato": 4
- - }
- -
- -Respuesta de error
- -``````````````````
- -
- -**Código:** 404
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - {
- - "message": "Entidad no encontrada"
- - }
- -
- -----
- -
- -Editar una contratacion
- ------------------------
- -URL
- -```
- -::
- -
- - /contrataciones/:id
- -
- -Método
- -``````
- -``PUT``
- -
- -Parámetros de la URL
- -````````````````````
- -
- -**Parámetro requerido:**
- -
- -============ ============== ================================================
- -**Nombre** **Tipo** **Descripción**
- -============ ============== ================================================
- -`id` Integer Identificador único del registro en la entidad.
- -============ ============== ================================================
- -
- -**Ejemplo**
- -::
- -
- - id=24
- -
- -Parámetros del body
- -```````````````````
- -
- -**Ejemplo**
- -
- -.. code:: json
- -
- - {
- - "fechaContratacion": "2016-06-01T20:58:20.042Z",
- - }
- -
- -
- -Respuesta correcta
- -``````````````````
- -
- -**Código:** 200
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - {
- - "_id": 24,
- - "fechaContratacion": "2016-06-01T20:58:20.042Z",
- - "estado": true,
- - "fecha_creacion": "2016-05-30T15:02:39.034Z",
- - "fecha_modificacion": "2016-05-30T15:02:39.034Z",
- - "fk_persona": 5,
- - "fk_cargo": 2,
- - "fk_tipo_contrato": 4
- - }
- -
- -Respuesta de error
- -``````````````````
- -
- -**Código:** 404
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - {
- - "message": "Entidad no encontrada"
- - }
- -
- -**Código:** 400
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - {
- - "name": "SequelizeValidationError",
- - "message": "Validation error: El formato de la fecha es incorrecto",
- - "errors": [
- - {
- - "message": "El formato de la fecha es incorrecto",
- - "type": "Validation error",
- - "path": "fechaContratacion",
- - "value": {},
- - "__raw": {}
- - }
- - ]
- - }
- -
- -----
- -
- -Eliminar una contratacion
- --------------------------
- -URL
- -```
- -::
- -
- - /contrataciones/:id
- -
- -Método
- -``````
- -``DELETE``
- -
- -Parámetros de la URL
- -````````````````````
- -
- -**Parámetro requerido:**
- -
- -============ ============== ================================================
- -**Nombre** **Tipo** **Descripción**
- -============ ============== ================================================
- -`id` Integer Identificador único del registro en la entidad.
- -============ ============== ================================================
- -
- -**Ejemplo**
- -::
- -
- - id=24
- -
- -Respuesta correcta
- -``````````````````
- -
- -**Código:** 204
- -
- -Respuesta de error
- -``````````````````
- -
- -**Código:** 404
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - {
- - "message": "Entidad no encontrada"
- - }
- +Respuestas
- +----------
- +
- ++------------------+----------------------------------------------------------------------------------------------+
- +| **Código HTTP** | **Descripción** |
- ++==================+==============================================================================================+
- +| `200` | Ok |
- ++------------------+----------------------------------------------------------------------------------------------+
- +| `201` | Creado |
- ++------------------+----------------------------------------------------------------------------------------------+
- +| `400` | Parámetros incorrectos en la entrada |
- ++------------------+----------------------------------------------------------------------------------------------+
- +| `401` | Token de acceso expirado o invalido |
- ++------------------+----------------------------------------------------------------------------------------------+
- +| `404` | Recurso no encontrado |
- ++------------------+----------------------------------------------------------------------------------------------+
- +| `405` | Método HTTP no esperado. Ejemplo: se esperaba un HTTP GET y se recibió un HTTP POST |
- ++------------------+----------------------------------------------------------------------------------------------+
- +| `429` | Se están recibiendo muchos requests de parte de tu aplicación. Se esta limitando el acceso |
- ++------------------+----------------------------------------------------------------------------------------------+
- +| `500` | Error interno del servidor |
- ++------------------+----------------------------------------------------------------------------------------------+
- diff --git a/docs/datoOficina/datoOficina.rst b/docs/datoOficina/datoOficina.rst
- index f0e7c5b..0ae4b89 100644
- --- a/docs/datoOficina/datoOficina.rst
- +++ b/docs/datoOficina/datoOficina.rst
- @@ -1,648 +1,65 @@
- -Datos de Oficina
- -================
- +Datos Oficina
- +====================
- -Mostrar todas los datos de oficina
- -----------------------------------
- -
- -URL
- -```
- -::
- -
- - /datosOficina
- -
- -Método
- -``````
- -``GET``
- -
- -Respuesta correcta
- -``````````````````
- -
- -**Código:** 200
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - {
- - "count": 3,
- - "rows": [
- - {
- - "_id": 1,
- - "valor": "2200002",
- - "principal": true,
- - "fecha_creacion": "2016-04-27T20:28:49.910Z",
- - "fecha_modificacion": "2016-04-27T20:31:37.041Z",
- - "fk_oficina": 1,
- - "propiedad": "TEL-CENTRAL"
- - },
- - {
- - "_id": 3,
- - "valor": "2200003",
- - "principal": true,
- - "fecha_creacion": "2016-04-27T20:33:46.396Z",
- - "fecha_modificacion": "2016-04-27T20:33:46.396Z",
- - "fk_oficina": 1,
- - "propiedad": "TEL-CENTRAL"
- - },
- - {
- - "_id": 4,
- - "valor": "2200004",
- - "principal": true,
- - "fecha_creacion": "2016-04-27T20:33:53.112Z",
- - "fecha_modificacion": "2016-04-27T20:33:53.112Z",
- - "fk_oficina": 1,
- - "propiedad": "TEL-CENTRAL"
- - }
- - ]
- - }
- -
- -Parámetros opcionales de la URL
- -```````````````````````````````
- -Tabla de parámetros
- -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
- -+-+-----------+------------------+---------------------------------------------------------------------+
- -|**Nombre** |**Tipo** |**Descripción** |
- -+=+===========+==================+=====================================================================+
- -|`elementos` | Integer |Cantidad de elementos a mostrar. |
- -+-+-----------+------------------+---------------------------------------------------------------------+
- -|`pagina` | Integer |El número de página a mostrar. |
- -+-+-----------+------------------+---------------------------------------------------------------------+
- -|`ordenarPor` | String |El nombre del campo correspondiente al modelo de la entidad. |
- -+-+-----------+------------------+---------------------------------------------------------------------+
- -|`orden` | Boolean |TRUE para un orden descendente. |
- -+-+-----------+------------------+---------------------------------------------------------------------+
- -|`buscar` | Object (array) |Cada objeto del array contiene los atributos: `palabra` y `en`. |
- -+-+-----------+------------------+---------------------------------------------------------------------+
- -| |`palabra` | String |Palabra que representa el criterio a buscar. |
- -+-+-----------+------------------+---------------------------------------------------------------------+
- -| |`en` | String |El nombre de campo en el cual se realiza la busqueda de `palabra`. |
- -+-+-----------+------------------+---------------------------------------------------------------------+
- -|`incluye` | Object (array) |Cada objeto del array contiene los atributos: `entidad` y `buscar`. |
- -| | |(La estructura del atributo `buscar` es igual al del parámetro |
- -| | |`buscar` definido anteriormente) |
- -+-+-----------+------------------+---------------------------------------------------------------------+
- -| |`entidad` | String |El nombre de la entidad. |
- -+-+-----------+------------------+---------------------------------------------------------------------+
- -
- -Muestra una determinada cantidad de entidades
- -'''''''''''''''''''''''''''''''''''''''''''''
- -
- -**URL**
- -::
- -
- - /datosOficina?elementos=valor
- -
- -**Parámetros usados**
- -
- -============ =====================
- -**Nombre** **Valor enviado**
- -============ =====================
- -`elementos` 1
- -============ =====================
- -
- -**Ejemplo:**
- -
- -::
- -
- - /datosOficina?elementos=1
- -
- -**Respuesta:**
- -
- -.. code:: json
- -
- - {
- - "count": 3,
- - "rows": [
- - {
- - "_id": 1,
- - "valor": "2200002",
- - "principal": true,
- - "fecha_creacion": "2016-04-27T20:28:49.910Z",
- - "fecha_modificacion": "2016-04-27T20:31:37.041Z",
- - "fk_oficina": 1,
- - "propiedad": "TEL-CENTRAL"
- - }
- - ]
- - }
- -
- -Muestra los datos de oficina en una determinada página
- -'''''''''''''''''''''''''''''''''''''''''''''''''''''
- -
- -**URL**
- -::
- -
- - /datosOficina?pagina=valor
- -
- -**Parámetros usados**
- -
- -============ =====================
- -**Nombre** **Valor enviado**
- -============ =====================
- -`pagina` 1
- -============ =====================
- -
- -**Ejemplo:**
- -::
- -
- - /datosOficina?pagina=1
- -
- -**Respuesta:**
- -
- -.. code:: json
- -
- - {
- - "count": 3,
- - "rows": [
- - {
- - "_id": 1,
- - "valor": "2200002",
- - "principal": true,
- - "fecha_creacion": "2016-04-27T20:28:49.910Z",
- - "fecha_modificacion": "2016-04-27T20:31:37.041Z",
- - "fk_oficina": 1,
- - "propiedad": "TEL-CENTRAL"
- - },
- - {
- - "_id": 3,
- - "valor": "2200003",
- - "principal": true,
- - "fecha_creacion": "2016-04-27T20:33:46.396Z",
- - "fecha_modificacion": "2016-04-27T20:33:46.396Z",
- - "fk_oficina": 1,
- - "propiedad": "TEL-CENTRAL"
- - },
- - {
- - "_id": 4,
- - "valor": "2200004",
- - "principal": true,
- - "fecha_creacion": "2016-04-27T20:33:53.112Z",
- - "fecha_modificacion": "2016-04-27T20:33:53.112Z",
- - "fk_oficina": 1,
- - "propiedad": "TEL-CENTRAL"
- - }
- - ]
- - }
- -
- -Ordena los datos de oficina ascendentemente en base a un campo del modelo
- -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
- -
- -**URL**
- -::
- -
- - /datosOficina?ordenarPor=valor
- -
- -**Parámetros usados**
- -
- -============ =====================
- -**Nombre** **Valor enviado**
- -============ =====================
- -`ordenarPor` valor
- -============ =====================
- -
- -**Ejemplo**
- -::
- -
- - /datosOficina?ordenarPor=valor
- -
- -**Respuesta:**
- -
- -.. code:: json
- -
- - {
- - "count": 3,
- - "rows": [
- - {
- - "_id": 1,
- - "valor": "2200002",
- - "principal": true,
- - "fecha_creacion": "2016-04-27T20:28:49.910Z",
- - "fecha_modificacion": "2016-04-27T20:31:37.041Z",
- - "fk_oficina": 1,
- - "propiedad": "TEL-CENTRAL"
- - },
- - {
- - "_id": 3,
- - "valor": "2200003",
- - "principal": true,
- - "fecha_creacion": "2016-04-27T20:33:46.396Z",
- - "fecha_modificacion": "2016-04-27T20:33:46.396Z",
- - "fk_oficina": 1,
- - "propiedad": "TEL-CENTRAL"
- - },
- - {
- - "_id": 4,
- - "valor": "2200004",
- - "principal": true,
- - "fecha_creacion": "2016-04-27T20:33:53.112Z",
- - "fecha_modificacion": "2016-04-27T20:33:53.112Z",
- - "fk_oficina": 1,
- - "propiedad": "TEL-CENTRAL"
- - }
- - ]
- - }
- -
- -Ordena los datos de oficina descendentemente en base a un campo del modelo
- -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
- -
- -**URL**
- -::
- -
- - /datosOficina?ordenarPor=valor1&orden=true
- -
- -**Parámetros usados**
- -
- -============ =================
- -**Nombre** **Valor enviado**
- -============ =================
- -`ordenarPor` nombre
- -`orden` true
- -============ =================
- -
- -**Ejemplo:**
- -::
- -
- - /datosOficina?ordenarPor=valor&orden=true
- -
- -**Respuesta:**
- -
- -.. code:: json
- -
- - {
- - "count": 3,
- - "rows": [
- - {
- - "_id": 4,
- - "valor": "2200004",
- - "principal": true,
- - "fecha_creacion": "2016-04-27T20:33:53.112Z",
- - "fecha_modificacion": "2016-04-27T20:33:53.112Z",
- - "fk_oficina": 1,
- - "propiedad": "TEL-CENTRAL"
- - },
- - {
- - "_id": 3,
- - "valor": "2200003",
- - "principal": true,
- - "fecha_creacion": "2016-04-27T20:33:46.396Z",
- - "fecha_modificacion": "2016-04-27T20:33:46.396Z",
- - "fk_oficina": 1,
- - "propiedad": "TEL-CENTRAL"
- - },
- - {
- - "_id": 1,
- - "valor": "2200002",
- - "principal": true,
- - "fecha_creacion": "2016-04-27T20:28:49.910Z",
- - "fecha_modificacion": "2016-04-27T20:31:37.041Z",
- - "fk_oficina": 1,
- - "propiedad": "TEL-CENTRAL"
- - }
- - ]
- - }
- -
- -Buscar por "palabra" en "campo" en el modelo "entidad"
- -''''''''''''''''''''''''''''''''''''''''''''''''''''''
- -
- -**URL**
- -::
- -
- - /datosOficina?buscar=%7B%22en%22:%22valor1%22,%22palabra%22:%22valor2%22%7D
- -
- -**Parámetros usados**
- -
- -============ ===========================================
- -**Nombre** **Valor enviado**
- -============ ===========================================
- -`buscar` ::
- -
- - [{"en":"valor","palabra":"2200003"}]
- -============ ===========================================
- -
- -**Ejemplo**
- -::
- -
- - /datosOficina?buscar=%7B%22en%22:%22valor%22,%22palabra%22:%222200003%22%7D
- -
- -**Respuesta:**
- -
- -.. code:: json
- -
- - {
- - "count": 1,
- - "rows": [
- - {
- - "_id": 3,
- - "valor": "2200003",
- - "principal": true,
- - "fecha_creacion": "2016-04-27T20:33:46.396Z",
- - "fecha_modificacion": "2016-04-27T20:33:46.396Z",
- - "fk_oficina": 1,
- - "propiedad": "TEL-CENTRAL"
- - }
- - ]
- - }
- -
- -Respuesta de error
- -``````````````````
- -
- -**Código:** 500
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - {
- - "error":"Ocurrio un problema inesperado en el servidor"
- - }
- -
- -
- -Observaciones
- -`````````````
- -- Esta petición cuando no existen datos almacenados en la base de datos retorna un array vacio
- -- El parámetro 'orden' depende de 'ordenarPor'
- -- El parámetro 'pagina' muestra 15 entidades por defecto
- -
- -----
- -
- -Crear un dato de oficina
- +Formato URL
- ------------------------
- -
- -URL
- -```
- -::
- -
- - /datosOficina
- -
- -Método
- -``````
- -``POST``
- -
- -Parámetros del body
- -```````````````````
- -**Ejemplo**
- -
- -.. code:: json
- -
- - {
- - "valor": "2245640",
- - "principal": true,
- - "propiedad": "TEL-CENTRAL",
- - "fk_oficina": 1
- - }
- -
- -Respuesta correcta
- -``````````````````
- -
- -**Código:** 201
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - {
- - "_id": 10,
- - "valor": "2245640",
- - "principal": true,
- - "fecha_creacion": "2016-04-27T20:28:49.910Z",
- - "fecha_modificacion": "2016-04-27T20:31:37.041Z",
- - "fk_oficina": 1,
- - "propiedad": "TEL-CENTRAL"
- - }
- -
- -Respuesta de error
- -``````````````````
- -
- -**Código:** 400
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - {
- - "name": "SequelizeValidationError",
- - "message": "Validation error: Ingrese el valor para el dato de oficina.",
- - "errors": [
- - {
- - "message": "Ingrese el valor para el dato de oficina.",
- - "type": "Validation error",
- - "path": "valor",
- - "value": {},
- - "__raw": {}
- - }
- - ]
- - }
- -
- -**Código:** 409
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - {
- - "name": "SequelizeUniqueConstraintError",
- - "message": "llave duplicada viola restricción de unicidad «unidad_organizacional_nombre_key»",
- - "errors": {}
- - }
- -
- -----
- -
- -Mostrar un dato de oficina
- ---------------------------
- -URL
- -```
- -::
- -
- - /datosOficina/:id
- -
- -Método
- -``````
- -``GET``
- -
- -Parámetros de la URL
- -````````````````````
- -
- -**Parámetro requerido:**
- -
- -============ ============== ================================================
- -**Nombre** **Tipo** **Descripción**
- -============ ============== ================================================
- -`id` Integer Identificador único del registro en la entidad.
- -============ ============== ================================================
- -
- -**Ejemplo**
- -::
- -
- - id=10
- -
- -Respuesta correcta
- -``````````````````
- -
- -**Código:** 200
- -
- -**Ejemplo**
- -
- -.. code:: json
- -
- - {
- - "_id": 10,
- - "valor": "2245640",
- - "principal": true,
- - "fecha_creacion": "2016-04-27T20:28:49.910Z",
- - "fecha_modificacion": "2016-04-27T20:31:37.041Z",
- - "fk_oficina": 1,
- - "propiedad": "TEL-CENTRAL"
- - }
- -
- -Respuesta de error
- -``````````````````
- -
- -**Código:** 404
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - {
- - "message": "Entidad no encontrada"
- - }
- -
- -----
- -
- -Editar un dato de oficina
- --------------------------
- -URL
- -```
- -::
- -
- - /datosOficina/:id
- -
- -Método
- -``````
- -``PUT``
- -
- -Parámetros de la URL
- -````````````````````
- -
- -**Parámetro requerido:**
- -
- -============ ============== ================================================
- -**Nombre** **Tipo** **Descripción**
- -============ ============== ================================================
- -`id` Integer Identificador único del registro en la entidad.
- -============ ============== ================================================
- -
- -**Ejemplo**
- -::
- -
- - id=26
- -
- -Parámetros del body
- -```````````````````
- -
- -**Ejemplo**
- -
- -.. code:: json
- -
- - {
- - "valor": "2345678"
- - }
- -
- -Respuesta correcta
- -``````````````````
- -
- -**Código:** 200
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - {
- - "_id": 10,
- - "valor": "2345678",
- - "principal": true,
- - "fecha_creacion": "2016-04-27T20:28:49.910Z",
- - "fecha_modificacion": "2016-04-27T20:31:37.041Z",
- - "fk_oficina": 1,
- - "propiedad": "TEL-CENTRAL"
- - }
- -
- -Respuesta de error
- -``````````````````
- -
- -**Código:** 404
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - {
- - "message": "Entidad no encontrada"
- - }
- -
- -**Código:** 400
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - {
- - "name": "SequelizeValidationError",
- - "message": "Validation error: Ingrese el valor para el dato de oficina.",
- - "errors": [
- - {
- - "message": "Ingrese el valor para el dato de oficina.",
- - "type": "Validation error",
- - "path": "valor",
- - "value": {},
- - "__raw": {}
- - }
- - ]
- - }
- -
- -----
- -
- -Eliminar un dato de oficina
- ---------------------
- -URL
- -```
- -::
- -
- - /datosOficina/:id
- -
- -Método
- -``````
- -``DELETE``
- -
- -Parámetros de la URL
- -````````````````````
- -
- -**Parámetro requerido:**
- -
- -============ ============== ================================================
- -**Nombre** **Tipo** **Descripción**
- -============ ============== ================================================
- -`id` Integer Identificador único del registro en la entidad.
- -============ ============== ================================================
- -
- -**Ejemplo**
- -::
- -
- - id=10
- -
- -Respuesta correcta
- -``````````````````
- -
- -**Código:** 204
- -
- -Respuesta de error
- -``````````````````
- -
- -**Código:** 404
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - {
- - "message": "Entidad no encontrada"
- - }
- ++-----------------+-------------------------+
- +|**Método HTTP** |**Significado** |
- ++=================+=========================+
- +|`GET` | Obtiene un recurso |
- ++-----------------+-------------------------+
- +|`POST` | Crea un recurso |
- ++-----------------+-------------------------+
- +|`PUT` | Actualiza un recurso |
- ++-----------------+-------------------------+
- +|`DELETE` | Borra un recurso |
- ++-----------------+-------------------------+
- +
- +Ejemplo
- +''''''''''''
- +
- +**Contenido Body**
- +
- +Contenido en data del cuerpo para realizar el creado y actualización de un registro identificado como :id.
- +
- +.. code:: json
- +
- + {
- + "valor": "'(591) 22445566",
- + "principal": true,
- + "fecha_creacion": "2016-07-26 10:37:08.885-04",
- + "fecha_modificacion": "2016-07-26 10:37:08.885-04",
- + "fk_oficina": 2, //Oficina Central
- + "propiedad": "TEL-OFI" //Teléfono de Oficina
- + }
- +
- ++-----------------------------------------------------+-----------------------------------------------------------------------------------------------+----------------------------------------------------+-----------------------------------------------+----------------------------------------------+
- +|**Recurso** |**GET** |**POST** |**PUT** |**DELETE** |
- ++=====================================================+===============================================================================================+====================================================+===============================================+==============================================+
- +| /datosOficina | Obtiene el listado de todos los Datos Oficina | Crea un registro de Datos Oficina | | |
- ++-----------------------------------------------------+-----------------------------------------------------------------------------------------------+----------------------------------------------------+-----------------------------------------------+----------------------------------------------+
- +| /datosOficina/:id | Obtiene el Datos Oficina identificado como :id | | Actualiza registro :id de Datos Oficina | Elimina registro :id de Datos Oficina |
- ++-----------------------------------------------------+-----------------------------------------------------------------------------------------------+----------------------------------------------------+-----------------------------------------------+----------------------------------------------+
- +
- +Respuestas
- +----------
- +
- ++------------------+----------------------------------------------------------------------------------------------+
- +| **Código HTTP** | **Descripción** |
- ++==================+==============================================================================================+
- +| `200` | Ok |
- ++------------------+----------------------------------------------------------------------------------------------+
- +| `201` | Creado |
- ++------------------+----------------------------------------------------------------------------------------------+
- +| `400` | Parámetros incorrectos en la entrada |
- ++------------------+----------------------------------------------------------------------------------------------+
- +| `401` | Token de acceso expirado o invalido |
- ++------------------+----------------------------------------------------------------------------------------------+
- +| `404` | Recurso no encontrado |
- ++------------------+----------------------------------------------------------------------------------------------+
- +| `405` | Método HTTP no esperado. Ejemplo: se esperaba un HTTP GET y se recibió un HTTP POST |
- ++------------------+----------------------------------------------------------------------------------------------+
- +| `429` | Se están recibiendo muchos requests de parte de tu aplicación. Se esta limitando el acceso |
- ++------------------+----------------------------------------------------------------------------------------------+
- +| `500` | Error interno del servidor |
- ++------------------+----------------------------------------------------------------------------------------------+
- diff --git a/docs/datoPersona/datoPersona.rst b/docs/datoPersona/datoPersona.rst
- index 1c4b446..15032aa 100644
- --- a/docs/datoPersona/datoPersona.rst
- +++ b/docs/datoPersona/datoPersona.rst
- @@ -1,801 +1,65 @@
- -Datos de Persona
- -===================
- +Datos Persona
- +====================
- -Mostrar todos los datos de persona
- ---------------------------------------
- -
- -URL
- -```
- -::
- -
- - /datosPersonas
- -
- -Método
- -``````
- -``GET``
- -
- -Respuesta correcta
- -``````````````````
- -
- -**Código:** 200
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - {
- - "count":4,
- - "rows": [
- - {
- - "_id": 2,
- - "valor": "daniel@daniel.com",
- - "fecha_creacion": "2016-02-14T22:03:48.216Z",
- - "fecha_modificacion": "2016-02-14T22:03:48.216Z",
- - "fk_persona": 1,
- - "propiedad": "EMAIL"
- - },
- - {
- - "_id": 3,
- - "valor": "abc@gmail.com",
- - "fecha_creacion": "2016-03-16T22:08:55.216Z",
- - "fecha_modificacion": "2016-03-16T22:08:55.216Z",
- - "fk_persona": 10,
- - "propiedad": "EMAIL"
- - },
- - {
- - "_id": 4,
- - "valor": "palvarez@adsib.gob.bo",
- - "fecha_creacion": "2016-04-18T22:01:28.110Z",
- - "fecha_modificacion": "2016-04-18T22:01:28.110Z",
- - "fk_persona": 5,
- - "propiedad": "EMAIL"
- - },
- - {
- - "_id": 5,
- - "valor": "kevin@hotmail.com",
- - "fecha_creacion": "2016-07-22T22:09:15.115Z",
- - "fecha_modificacion": "2016-07-22T22:09:15.115Z",
- - "fk_persona": 2,
- - "propiedad": "EMAIL"
- - }
- - ]
- - }
- -
- -Parámetros opcionales de la URL
- -```````````````````````````````
- -Tabla de parámetros
- -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
- -+-+-----------+------------------+---------------------------------------------------------------------+
- -|**Nombre** |**Tipo** |**Descripción** |
- -+=+===========+==================+=====================================================================+
- -|`elementos` | Integer |Cantidad de elementos a mostrar. |
- -+-+-----------+------------------+---------------------------------------------------------------------+
- -|`pagina` | Integer |El número de página a mostrar. |
- -+-+-----------+------------------+---------------------------------------------------------------------+
- -|`ordenarPor` | String |El nombre del campo correspondiente al modelo de la entidad. |
- -+-+-----------+------------------+---------------------------------------------------------------------+
- -|`orden` | Boolean |TRUE para un orden descendente. |
- -+-+-----------+------------------+---------------------------------------------------------------------+
- -|`buscar` | Object (array) |Cada objeto del array contiene los atributos: `palabra` y `en`. |
- -+-+-----------+------------------+---------------------------------------------------------------------+
- -| |`palabra` | String |Palabra que representa el criterio a buscar. |
- -+-+-----------+------------------+---------------------------------------------------------------------+
- -| |`en` | String |El nombre de campo en el cual se realiza la busqueda de `palabra`. |
- -+-+-----------+------------------+---------------------------------------------------------------------+
- -|`incluye` | Object (array) |Cada objeto del array contiene los atributos: `entidad` y `buscar`. |
- -| | |(La estructura del atributo `buscar` es igual al del parámetro |
- -| | |`buscar` definido anteriormente) |
- -+-+-----------+------------------+---------------------------------------------------------------------+
- -| |`entidad` | String |El nombre de la entidad. |
- -+-+-----------+------------------+---------------------------------------------------------------------+
- -
- -Muestra una determinada cantidad de datos de personas
- -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
- -
- -**URL**
- -::
- -
- - /datosPersonas?elementos=valor
- -
- -**Parámetros usados**
- -
- -============ =====================
- -**Nombre** **Valor enviado**
- -============ =====================
- -`elementos` 1
- -============ =====================
- -
- -**Ejemplo:**
- -::
- -
- - /datosPersonas?elementos=3
- -
- -**Respuesta:**
- -
- -.. code:: json
- -
- - {
- - "count":4,"rows":
- - [
- - {
- - "_id": 2,
- - "valor": "daniel@daniel.com",
- - "fecha_creacion": "2016-02-14T22:03:48.216Z",
- - "fecha_modificacion": "2016-02-14T22:03:48.216Z",
- - "fk_persona": 1,
- - "propiedad": "EMAIL"
- - },
- - {
- - "_id": 3,
- - "valor": "abc@gmail.com",
- - "fecha_creacion": "2016-03-16T22:08:55.216Z",
- - "fecha_modificacion": "2016-03-16T22:08:55.216Z",
- - "fk_persona": 10,
- - "propiedad": "EMAIL"
- - },
- - {
- - "_id": 4,
- - "valor": "palvarez@adsib.gob.bo",
- - "fecha_creacion": "2016-04-18T22:01:28.110Z",
- - "fecha_modificacion": "2016-04-18T22:01:28.110Z",
- - "fk_persona": 5,
- - "propiedad": "EMAIL"
- - }
- - ]
- - }
- -
- -Muestra los datos de cada Postulante en una determinada página
- -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
- -
- -**URL**
- -::
- -
- - /datosPersonas?pagina=valor
- -
- -**Parámetros usados**
- -
- -============ =====================
- -**Nombre** **Valor enviado**
- -============ =====================
- -`pagina` 1
- -============ =====================
- -
- -**Ejemplo:**
- -::
- -
- - /datosPersonas?pagina=1
- -
- -**Respuesta:**
- -
- -.. code:: json
- -
- - {
- - "count":4,"rows":
- - [
- - {
- - "_id": 2,
- - "valor": "daniel@daniel.com",
- - "fecha_creacion": "2016-02-14T22:03:48.216Z",
- - "fecha_modificacion": "2016-02-14T22:03:48.216Z",
- - "fk_persona": 1,
- - "propiedad": "EMAIL"
- - },
- - {
- - "_id": 3,
- - "valor": "abc@gmail.com",
- - "fecha_creacion": "2016-03-16T22:08:55.216Z",
- - "fecha_modificacion": "2016-03-16T22:08:55.216Z",
- - "fk_persona": 10,
- - "propiedad": "EMAIL"
- - },
- - {
- - "_id": 4,
- - "valor": "palvarez@adsib.gob.bo",
- - "fecha_creacion": "2016-04-18T22:01:28.110Z",
- - "fecha_modificacion": "2016-04-18T22:01:28.110Z",
- - "fk_persona": 5,
- - "propiedad": "EMAIL"
- - },
- - {
- - "_id": 5,
- - "valor": "kevin@hotmail.com",
- - "fecha_creacion": "2016-07-22T22:09:15.115Z",
- - "fecha_modificacion": "2016-07-22T22:09:15.115Z",
- - "fk_persona": 2,
- - "propiedad": "EMAIL"
- - }
- - ]
- - }
- -
- -Ordena los datos de personas ascendentemente en base a un campo del modelo
- -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
- -
- -**URL**
- -::
- -
- - /datosPersonas?ordenarPor=valor
- -
- -**Parámetros usados**
- -
- -============ =====================
- -**Nombre** **Valor enviado**
- -============ =====================
- -`ordenarPor` valor
- -============ =====================
- -
- -**Ejemplo:**
- -::
- -
- - /datosPersonas?ordenarPor=valor
- -
- -**Respuesta:**
- -
- -.. code:: json
- -
- - {
- - "count":4,"rows":
- - [
- - {
- - "_id": 3,
- - "valor": "abc@gmail.com",
- - "fecha_creacion": "2016-03-16T22:08:55.216Z",
- - "fecha_modificacion": "2016-03-16T22:08:55.216Z",
- - "fk_persona": 10,
- - "propiedad": "EMAIL"
- - },
- - {
- - "_id": 2,
- - "valor": "daniel@daniel.com",
- - "fecha_creacion": "2016-02-14T22:03:48.216Z",
- - "fecha_modificacion": "2016-02-14T22:03:48.216Z",
- - "fk_persona": 1,
- - "propiedad": "EMAIL"
- - },
- - {
- - "_id": 5,
- - "valor": "kevin@hotmail.com",
- - "fecha_creacion": "2016-07-22T22:09:15.115Z",
- - "fecha_modificacion": "2016-07-22T22:09:15.115Z",
- - "fk_persona": 2,
- - "propiedad": "EMAIL"
- - },
- - {
- - "_id": 4,
- - "valor": "palvarez@adsib.gob.bo",
- - "fecha_creacion": "2016-04-18T22:01:28.110Z",
- - "fecha_modificacion": "2016-04-18T22:01:28.110Z",
- - "fk_persona": 5,
- - "propiedad": "EMAIL"
- - }
- - ]
- - }
- -
- -Ordena los datos de personas descendentemente en base a un campo del modelo
- -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
- -
- -**URL**
- -::
- -
- - /datosPersonas?ordenarPor=valor1&orden=true
- -
- -**Parámetros usados**
- -
- -============ =================
- -**Nombre** **Valor enviado**
- -============ =================
- -`ordenarPor` valor
- -`orden` true
- -============ =================
- -
- -**Ejemplo:**
- -::
- -
- - /datosPersonas?ordenarPor=valor&orden=true
- -
- -**Respuesta:**
- -
- -.. code:: json
- -
- - {
- - "count":4,"rows":
- - [
- - {
- - "_id": 4,
- - "valor": "palvarez@adsib.gob.bo",
- - "fecha_creacion": "2016-04-18T22:01:28.110Z",
- - "fecha_modificacion": "2016-04-18T22:01:28.110Z",
- - "fk_persona": 5,
- - "propiedad": "EMAIL"
- - },
- - {
- - "_id": 5,
- - "valor": "kevin@hotmail.com",
- - "fecha_creacion": "2016-07-22T22:09:15.115Z",
- - "fecha_modificacion": "2016-07-22T22:09:15.115Z",
- - "fk_persona": 2,
- - "propiedad": "EMAIL"
- - },
- - {
- - "_id": 2,
- - "valor": "daniel@daniel.com",
- - "fecha_creacion": "2016-02-14T22:03:48.216Z",
- - "fecha_modificacion": "2016-02-14T22:03:48.216Z",
- - "fk_persona": 1,
- - "propiedad": "EMAIL"
- - },
- - {
- - "_id": 3,
- - "valor": "abc@gmail.com",
- - "fecha_creacion": "2016-03-16T22:08:55.216Z",
- - "fecha_modificacion": "2016-03-16T22:08:55.216Z",
- - "fk_persona": 10,
- - "propiedad": "EMAIL"
- - }
- - ]
- - }
- -
- -Busca las personas que en el atributo "valor" contenga la palabra "adsib"
- -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
- -
- -**URL**
- -::
- -
- - /datosPersonas?buscar=%7B%22en%22:%22valor1%22,%22palabra%22:%22valor2%22%7D
- -
- -**Parámetros usados**
- -
- -============ ===========================================
- -**Nombre** **Valor enviado**
- -============ ===========================================
- -`buscar` ::
- -
- - [{"en":"valor","palabra":"adsib"}]
- -============ ===========================================
- -
- -**Ejemplo:**
- -::
- -
- - /datosPersonas?buscar=%7B%22en%22:%22valor%22,%22palabra%22:%22adsib%22%7D
- -
- -**Respuesta:**
- -
- -.. code:: json
- -
- - {
- - "count":4,"rows":
- - [
- - {
- - "_id": 4,
- - "valor": "palvarez@adsib.gob.bo",
- - "fecha_creacion": "2016-04-18T22:01:28.110Z",
- - "fecha_modificacion": "2016-04-18T22:01:28.110Z",
- - "fk_persona": 5,
- - "propiedad": "EMAIL"
- - }
- - ]
- - }
- -
- -Muestra el detalle de Postulante y Tipos de dato del correo "palvarez@adsib.gob.bo"
- -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
- -
- -**URL**
- -::
- -
- - /datosPersonas?buscar=%7B%22en%22:%22valor1%22,%22palabra%22:%22valor2%22%7D&incluye=%7B%22entidad%22:%22valor3%22%7D&incluye=%7B%22entidad%22:%22valor4%22%7D
- -
- -**Parámetros usados**
- -
- -============ ===========================================
- -**Nombre** **Valor enviado**
- -============ ===========================================
- -`buscar` ::
- -
- - [{"en":"valor","palabra":"adsib"}]
- -
- -`incluye` ::
- -
- - [{"entidad":"Persona"},{"entidad":"TipoDato"}]
- -============ ===========================================
- -
- -**Ejemplo:**
- -::
- -
- - /datosPersonas?buscar=%7B%22en%22:%22valor%22,%22palabra%22:%22email%22%7D&incluye=%7B%22entidad%22:%22Persona%22%7D&incluye=%7B%22entidad%22:%22TipoDato%22%7D
- -
- -**Respuesta:**
- -
- -.. code:: json
- -
- - {
- - "count": 1,
- - "rows": [
- - {
- - "_id": 4,
- - "valor": "palvarez@adsib.gob.bo",
- - "fecha_creacion": "2016-04-18T22:01:28.110Z",
- - "fecha_modificacion": "2016-04-18T22:01:28.110Z",
- - "fk_persona": 5,
- - "propiedad": "EMAIL",
- - "Persona": {
- - "_id": 23,
- - "nombres": "Victor Hugo",
- - "apellidos": "Suarez Perez",
- - "ci": "45678912",
- - "fecha_creacion": "2016-06-01T13:13:21.827Z",
- - "fecha_modificacion": "2016-06-01T13:13:21.827Z"
- - },
- - "TipoDato": {
- - "propiedad": "EMAIL",
- - "nombre": "correo electronico",
- - "createdAt": "2016-06-01T13:15:21.318Z",
- - "updatedAt": "2016-06-01T13:15:21.318Z",
- - "deletedAt": null
- - }
- - }
- - ]
- - }
- -
- -Respuesta de error
- -``````````````````
- -
- -**Código:** 500
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - {
- - "error":"Ocurrio un problema inesperado en el servidor"
- - }
- -
- -Observaciones
- -`````````````
- -- Cuando no existen datos almacenados en la base de datos retorna un array vacio
- -- El parámetro 'orden' depende de 'ordenarPor'
- -- El parámetro 'pagina' muestra 15 datos de postulantes por defecto
- -- Solo se puede hacer "incluye" con las entidades "tipo_dato" y "postulante"
- -
- -----
- -
- -Crear un dato de persona
- +Formato URL
- ------------------------
- -
- -URL
- -```
- -::
- -
- - /datosPersonas
- -
- -Método
- -``````
- -``POST``
- -
- -Parámetros del body
- -```````````````````
- -**Ejemplo:**
- -
- -.. code:: json
- -
- - {
- - "valor":"email@email.net",
- - "propiedad":"EMAIL",
- - "fk_persona":"1"
- - }
- -
- -Respuesta correcta
- -``````````````````
- -
- -**Código:** 201
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - {
- - "_id": 3,
- - "valor": "email@email.net",
- - "propiedad": "EMAIL",
- - "fk_persona": 1,
- - "fecha_modificacion": "2016-03-15T22:59:34.162Z",
- - "fecha_creacion": "2016-03-15T22:59:34.162Z"
- - }
- -
- -Respuesta de error
- -``````````````````
- -
- -**Código:** 400
- -
- -**Contenido:**
- -
- -.. code:: 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": {}
- - }
- - ]
- - }
- -
- -----
- -
- -Mostrar un dato de persona
- --------------------------------
- -
- -URL
- -```
- -::
- -
- - /datosPersonas/:id
- -
- -Método
- -``````
- -``GET``
- -
- -Parámetros de la URL
- -````````````````````
- -
- -**Parámetro requerido:**
- -
- -============ ============== ================================================
- -**Nombre** **Tipo** **Descripción**
- -============ ============== ================================================
- -`id` Integer Identificador único del registro en la entidad.
- -============ ============== ================================================
- -
- -**Ejemplo:**
- -::
- -
- - id=2
- -
- -Respuesta correcta
- -``````````````````
- -
- -**Código:** 200
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - {
- - "_id": 2,
- - "valor": "daniel@daniel.com",
- - "fecha_creacion": "2016-02-14T22:03:48.216Z",
- - "fecha_modificacion": "2016-02-14T22:03:48.216Z",
- - "fk_persona": 1,
- - "propiedad": "EMAIL"
- - }
- -
- -Respuesta de error
- -``````````````````
- -
- -**Código:** 404
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - {
- - "message": "Entidad no encontrada"
- - }
- -
- -----
- -
- -Editar un dato de persona
- --------------------------
- -
- -URL
- -```
- -::
- -
- - /datosPersonas/
- -
- -Método
- -``````
- -``PUT``
- -
- -Parámetros de la URL
- -````````````````````
- -
- -**Parámetro requerido:**
- -
- -============ ============== ================================================
- -**Nombre** **Tipo** **Descripción**
- -============ ============== ================================================
- -`id` Integer Identificador único del registro en la entidad.
- -============ ============== ================================================
- -
- -**Ejemplo:**
- -::
- -
- - id=3
- -
- -Parámetros del body
- -```````````````````
- -**Ejemplo:**
- -
- -.. code:: json
- -
- - {
- - "valor": "email@gmail.com"
- - }
- -
- -Respuesta correcta
- -``````````````````
- -
- -**Código:** 200
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - {
- - "_id": 3,
- - "valor": "email@gmail.com",
- - "propiedad": "EMAIL",
- - "fk_persona": 1,
- - "fecha_modificacion": "2016-03-15T22:59:34.162Z",
- - "fecha_creacion": "2016-03-15T22:59:34.162Z"
- - }
- -
- -Respuesta de error
- -``````````````````
- -
- -**Código:** 404
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - {
- - "message": "Entidad no encontrada"
- - }
- -
- -
- -**Código:** 400
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - {
- - "name": "SequelizeValidationError",
- - "message": "Validation error: Ingrese el dato para la persona.",
- - "errors": [
- - {
- - "message": "Ingrese el dato para la persona.",
- - "type": "Validation error",
- - "path": "valor",
- - "value": {},
- - "__raw": {}
- - }
- - ]
- - }
- -
- -----
- -
- -Eliminar un dato de persona
- ----------------------------
- -
- -URL
- -```
- -::
- -
- - /datosPersonas/
- -
- -Método
- -``````
- -``DELETE``
- -
- -Parámetros de la URL
- -````````````````````
- -
- -**Parámetro requerido:**
- -
- -============ ============== ================================================
- -**Nombre** **Tipo** **Descripción**
- -============ ============== ================================================
- -`id` Integer Identificador único del registro en la entidad.
- -============ ============== ================================================
- -
- -**Ejemplo:**
- -::
- -
- - id=187
- -
- -Respuesta correcta
- -``````````````````
- -
- -**Código:** 204
- -
- -Respuesta de error
- -``````````````````
- -
- -**Código:** 404
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - {
- - "message": "Entidad no encontrada"
- - }
- -
- -----
- -
- -Muestra detalles de un dato de persona
- ---------------------------------------
- -
- -URL
- -```
- -::
- -
- - /datosPersonas/obtieneDato/:id
- -
- -Método
- -``````
- -``GET``
- -
- -Parámetros de la URL
- -````````````````````
- -
- -**Parámetro requerido:**
- -
- -============ ============== ================================================
- -**Nombre** **Tipo** **Descripción**
- -============ ============== ================================================
- -`id` Integer Identificador único del registro en la entidad.
- -============ ============== ================================================
- -
- -**Ejemplo:**
- -::
- -
- - id=4
- -
- -Respuesta correcta
- -``````````````````
- -
- -**Código:** 200
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - [
- - {
- - "propiedad": "EMAIL",
- - "nombre": "correo electronico",
- - "createdAt": "2016-06-01T13:15:21.318Z",
- - "updatedAt": "2016-06-01T13:15:21.318Z",
- - "deletedAt": null,
- - "DatoPersona": {
- - "_id": 4,
- - "valor": "palvarez@adsib.gob.bo",
- - "fecha_creacion": "2016-04-18T22:01:28.110Z",
- - "fecha_modificacion": "2016-04-18T22:01:28.110Z",
- - "fk_persona": 5,
- - "propiedad": "EMAIL"
- - }
- - }
- - ]
- -
- -Respuesta de error
- -``````````````````
- -
- -**Código:** 404
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - {
- - "message": "Entidad no encontrada"
- - }
- -
- -----
- ++-----------------+-------------------------+
- +|**Método HTTP** |**Significado** |
- ++=================+=========================+
- +|`GET` | Obtiene un recurso |
- ++-----------------+-------------------------+
- +|`POST` | Crea un recurso |
- ++-----------------+-------------------------+
- +|`PUT` | Actualiza un recurso |
- ++-----------------+-------------------------+
- +|`DELETE` | Borra un recurso |
- ++-----------------+-------------------------+
- +
- +Ejemplo
- +''''''''''''
- +
- +**Contenido Body**
- +
- +Contenido en data del cuerpo para realizar el creado y actualización de un registro identificado como :id.
- +
- +.. code:: json
- +
- + {
- + "valor": "(591) 777-000007",
- + "fecha_creacion": "2016-04-27T20:58:20.042Z",
- + "fecha_modificacion": "2016-04-27T20:58:20.042Z",
- + "fk_persona": 1091, //Sylvain Damien Lesage
- + "propiedad": "TEL-CEL" //Teléfono Celular
- + }
- +
- ++-----------------------------------------------------+-----------------------------------------------------------------------------------------------+----------------------------------------------------+-----------------------------------------------+----------------------------------------------+
- +|**Recurso** |**GET** |**POST** |**PUT** |**DELETE** |
- ++=====================================================+===============================================================================================+====================================================+===============================================+==============================================+
- +| /datosPersonas | Obtiene el listado de todos los Datos Persona | Crea un registro de Datos Persona | | |
- ++-----------------------------------------------------+-----------------------------------------------------------------------------------------------+----------------------------------------------------+-----------------------------------------------+----------------------------------------------+
- +| /datosPersonas/:id | Obtiene el Datos Persona identificado como :id | | Actualiza registro :id de Datos Persona | Elimina registro :id de Datos Persona |
- ++-----------------------------------------------------+-----------------------------------------------------------------------------------------------+----------------------------------------------------+-----------------------------------------------+----------------------------------------------+
- +
- +
- +Respuestas
- +----------
- +
- ++------------------+----------------------------------------------------------------------------------------------+
- +| **Código HTTP** | **Descripción** |
- ++==================+==============================================================================================+
- +| `200` | Ok |
- ++------------------+----------------------------------------------------------------------------------------------+
- +| `201` | Creado |
- ++------------------+----------------------------------------------------------------------------------------------+
- +| `400` | Parámetros incorrectos en la entrada |
- ++------------------+----------------------------------------------------------------------------------------------+
- +| `401` | Token de acceso expirado o invalido |
- ++------------------+----------------------------------------------------------------------------------------------+
- +| `404` | Recurso no encontrado |
- ++------------------+----------------------------------------------------------------------------------------------+
- +| `405` | Método HTTP no esperado. Ejemplo: se esperaba un HTTP GET y se recibió un HTTP POST |
- ++------------------+----------------------------------------------------------------------------------------------+
- +| `429` | Se están recibiendo muchos requests de parte de tu aplicación. Se esta limitando el acceso |
- ++------------------+----------------------------------------------------------------------------------------------+
- +| `500` | Error interno del servidor |
- ++------------------+----------------------------------------------------------------------------------------------+
- diff --git a/docs/documentacion/INSTALL.rst b/docs/documentacion/INSTALL.rst
- index 4879459..e756f02 100644
- --- a/docs/documentacion/INSTALL.rst
- +++ b/docs/documentacion/INSTALL.rst
- @@ -2,22 +2,21 @@ Instalación
- ===============
- Prerrequisitos
- ----------------
- +------------------------------
- -La siguiente instalación y configuración realizado en Sistema Operativo
- -Debian Jessie
- +La siguiente instalación y configuración realizado en Sistema Operativo Debian Jessie
- **Creacion de Usuario en Sistema Operativo**
- .. code:: sh
- - $ sudo adduser usuarioPersonal
- + $ sudo adduser usuario_proyecto
- **Agregar Usuario al grupo sudo del Sistema Operativo**
- .. code:: sh
- - $ sudo adduser usuarioPersonal sudo
- + $ sudo adduser usuario_proyecto sudo
- **Instalando GIT**
- @@ -34,42 +33,46 @@ Para la instalación realizar:
- **Instalando nodejs y npm**
- - Node.js es un entorno de desarrollo basado en JavaScript que permite
- - la ejecución de servicios y eventos del lado del servidor. Existen
- - múltiples librerias que podriamos incorporar a Node,js, esto lo
- - haremos a través de su administrador NPM.
- +Node.js es un entorno de desarrollo basado en JavaScript que permite la ejecución de servicios y eventos del lado del servidor. Existen múltiples librerías que podríamos incorporar a Node,js, esto lo haremos a través de su administrador **NPM**.
- - **Instalar Curl**\ \*
- - Durante el proceso de instalación necesitaremos este binario.
- +**Instalar Curl**
- +
- +Durante el proceso de instalación necesitaremos este binario.
- .. code:: sh
- $ sudo apt-get install curl
- - **Añadiendo los repositorios de NodeSource**\ \*
- - Para añadir los repositorios de node.js version 4.x debemos de
- - ejecutar:
- +**Añadiendo los repositorios de NodeSource**
- +
- +Para añadir los repositorios de node.js version 4.x debemos de ejecutar:
- .. code:: sh
- - $ sudo curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash -
- + $ sudo curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash -
- +
- - **Instalando Node.js**\ \*
- +**Instalando Node.js**
- - Ahora realizaremos la instalacion de node v4.4.0
- +Ahora realizaremos la instalación de node v4.4.0
- .. code:: sh
- $ sudo apt-get install -y nodejs
- - **Instalando NPM**\ \*
- +**Instalando NPM**
- - npm(node package manager) es el gestor de paquetes de Node.js, nos
- - permitira descargar librerias y enlazarlas.
- +npm(node package manager) es el gestor de paquetes de Node.js, nos permitira descargar librerias y enlazarlas.
- - Debemos de seguir de la sigueinte manera:
- +Antes debemos de hacer la instalación de paquetes necesarios para un copilado correcto.
- +
- +.. code:: sh
- +
- + $ sudo apt-get install build-essential
- +
- +Debemos de seguir de la siguiente manera:
- .. code:: sh
- @@ -77,7 +80,7 @@ Para la instalación realizar:
- $ cd npm
- $ sudo make install
- - Para verificar si esta instalado correctamente:
- +Para verificar si esta instalado correctamente:
- .. code:: sh
- @@ -92,53 +95,64 @@ unitarias, y mucho más.
- $ sudo npm install -g grunt-cli
- +Backend-End
- +---------------------------------------
- +
- +**Instalando SASS**
- +
- +.. code:: sh
- +
- + $ sudo gem install sass
- +
- **Instalando PostgreSQL**
- +
- PostgreSQL es un potente sistema de base de datos objeto-relacional de
- código abierto.
- -***Instalación***
- +- Instalación
- .. code:: sh
- $ sudo apt-get install postgresql postgresql-client postgresql-contrib
- -***Configuración*** Para poder realizar operaciones relacionadas con
- -PostgreSQL: >
- +- Configuración
- -.. code:: sh
- +Para poder realizar operaciones relacionadas con
- +.. code:: sql
- +
- + PostgreSQL: >
- $ sudo su - postgres
- Creando usuario para el sistema:
- -.. code:: sqldb
- +.. code:: sql
- postgres=# CREATE USER usuarioPersonal PASSWORD 'password';
- Cambiando privilegios de usuario:
- -.. code:: sqlDB
- +.. code:: sql
- postgres=# ALTER ROLE usuarioPersonal WITH SUPERUSER;
- Creando la Base de Datos para el sistema
- -.. code:: sqldb
- +.. code:: sql
- postgres=# CREATE DATABASE moduloPersonalDb WITH OWNER usuarioPersonal;
- -Clonar repositorio
- ----------------
- +**Clonar repositorio**
- .. code:: sh
- - $ sudo su - usuarioPersonal
- + $ sudo su - usuario_proyecto
- $ cd ~
- $ git clone git@gitlab.geo.gob.bo:SistemaGestionAdministrativa/ModuloPersonal.git
- $ cd ModuloPersonal
- -Para instalar las dependecias del servidor
- +Para instalar las dependencias del servidor
- .. code:: sh
- @@ -150,8 +164,55 @@ Para iniciar el servidor de desarrollo en el puerto 9000
- $ grunt serve
- -Instalacion y configuracion de servidor NGinx
- ----------------
- +
- +Front-End
- +---------------------------------------
- +
- +**Instalando BOWER**
- +
- +Bower te permite administrar los componentes que contienen HTML, CSS, JavaScript, fuentes e incluso archivos de imagen. Bower no concatenar o minify código o hacer cualquier otra cosa - sólo instala las versiones correctas de los paquetes que necesita y sus dependencias.
- +
- +.. code:: sh
- +
- + $ npm install -g bower
- +
- +**Instalando Ruby**
- +
- +Un lenguaje de programación dinámico y de código abierto.
- +
- +.. code:: sh
- +
- + $ sudo apt-get install ruby-full
- +
- +**Clonar repositorio**
- +
- +.. code:: sh
- +
- + $ sudo su - usuarioPersonal
- + $ cd ~
- + $ git clone git@gitlab.geo.gob.bo:SistemaGestionAdministrativa/ModuloPersonalCliente.git
- + $ cd ModuloPersonal
- +
- +Para instalar las dependencias del servidor
- +
- +.. code:: sh
- +
- + $ npm install
- +
- +Para ara instalar las dependecias del cliente
- +
- +.. code:: sh
- +
- + $ bower install
- +
- +Para iniciar el servidor de desarrollo en el puerto 9000
- +
- +.. code:: sh
- +
- + $ grunt serve
- +
- +Servidor NGinx
- +------------------------------------------------------------
- Servidor nginx (pronunciado en inglés “engine X”) es un servidor
- web/proxy inverso ligero de alto rendimiento, optimizado para
- @@ -170,11 +231,7 @@ para la edición:
- $ sudo nano /etc/nginx/sites-available/default
- -Insertar la siguiente configuración. Asegúrese de sustituir su propio
- -nombre de dominio para el server (o la dirección IP si usted no tiene un
- -dominio configurado), y la aplicación dirección IP-Privada del servidor
- -para el APP\_PRIVATE\_IP\_ADDRESS . Además, cambiar el puerto ( 9000 )
- -si la aplicación está configurado para escuchar en un puerto diferente:
- +Insertar la siguiente configuración. Asegúrese de sustituir su propio nombre de dominio para el server (o la dirección IP si usted no tiene un dominio configurado), y la aplicación dirección IP-Privada del servidor para el APP_PRIVATE_IP_ADDRESS . Además, cambiar el puerto ( 9000 ) si la aplicación está configurado para escuchar en un puerto diferente:
- .. code:: sh
- @@ -193,16 +250,10 @@ si la aplicación está configurado para escuchar en un puerto diferente:
- }
- }
- -Una vez que haya terminado de añadir los bloques de localización para
- -sus aplicaciones, guardar y salir. En el servidor, reiniciar Nginx:
- +Una vez que haya terminado de añadir los bloques de localización para sus aplicaciones, guardar y salir. En el servidor, reiniciar Nginx:
- .. code:: sh
- $ sudo /et c/init.d/nginx restart
- -Esto configura la web del servidor para responder a las solicitudes en
- -su raíz. Suponiendo que nuestro servidor está disponible en example.com
- -, el acceso a http://sitio-de-prueba.gob.bo/ a través de un navegador
- -web que enviar la solicitud a la dirección IP privada del servidor de
- -aplicaciones en el puerto 9000 , que se recibió y respondió a la Node.js
- -solicitud.
- +Esto configura la web del servidor para responder a las solicitudes en su raíz. Suponiendo que nuestro servidor está disponible en example.com, el acceso a http://sitio-de-prueba.gob.bo/ a través de un navegador web que enviar la solicitud a la dirección IP privada del servidor de aplicaciones en el puerto 9000 , que se recibió y respondió a la Node.js solicitud.
- diff --git a/docs/documentacion/README.rst b/docs/documentacion/README.rst
- index 441b5bb..2092067 100644
- --- a/docs/documentacion/README.rst
- +++ b/docs/documentacion/README.rst
- @@ -1,14 +1,24 @@
- Readme
- ===============
- -Este es el modulo de personal del sistema de gestion administrativa
- +Este es el modulo de contratación pertenece al sistema de gestión administrativa.
- -Desarrolladores
- ----------------
- +Equipo
- +------------------------
- -- D'jalmar
- -- David
- -- Gustavo
- ++-------------------------+--------------------------+
- +|**Programador** |**Correo Electrónico** |
- ++=========================+==========================+
- +|`D'jalmar Gutierrez` | <dgutierrez@adsib.gob.bo>|
- ++-------------------------+--------------------------+
- +|`Teodoro Nina` | <tnina@adsib.gob.bo> |
- ++-------------------------+--------------------------+
- +
- ++-------------------------+-------------------------+
- +|**Pasante** |**Correo Electrónico** |
- ++=========================+=========================+
- +|`Gustavo Callejas` | <gcallejas@adsib.gob.bo>|
- ++-------------------------+-------------------------+
- Prerequisitos
- ---------------
- @@ -18,23 +28,22 @@ Prerequisitos
- - `Grunt <http://gruntjs.com/>`__ (``npm install --global grunt-cli``)
- - `Postgresql <http://www.postgresql.org.es/>`__
- -Para iniciar el proyecto en desarrollo se deben ejecutar los siguientes comandos en la terminal
- +Ejecución
- ---------------
- +Para iniciar el proyecto en desarrollo se deben ejecutar los siguientes comandos en la terminal
- +
- 1. Ejecutar ``npm install`` para instalar las dependecias del servidor.
- 2. Ejecutar ``grunt serve`` para iniciar el servidor de desarrollo. Debe
- iniciar automaticamente el explorador.
- -Compilacion y desarrollo
- -------------------------
- +Compilación y Desarrollo
- +----------------------------
- -Ejecutar ``grunt build`` para compilar el proyecto, el proyecto
- -compilado se encuentra en la carpeta ``dist`` luego ejecutar
- -``grunt serve`` para una vista previa.
- +Ejecutar ``grunt build`` para compilar el proyecto, y el resultado de esa compilación se encuentra en la carpeta ``dist`` luego ejecutar **grunt serve** para una vista previa.
- -Tests
- +Test
- -----
- -Ejecutar ``npm test`` para ejecutar todos los test(unitarios y de
- -integracion) del proyecto
- +Ejecutar ``npm test`` para ejecutar todos los test(unitarios y de integración) del proyecto
- diff --git a/docs/entidad/entidad.rst b/docs/entidad/entidad.rst
- index 0f3fddb..ece343e 100644
- --- a/docs/entidad/entidad.rst
- +++ b/docs/entidad/entidad.rst
- @@ -36,23 +36,27 @@ Contenido en data del cuerpo para realizar el creado y actualización de un regi
- }
- -+--------------------------------------------+-----------------------------------------------------------------------------------------------------+----------------------------------------------------+-----------------------------------------------------+----------------------------------------------+
- -|**Recurso** |**GET** |**POST** |**PUT** |**DELETE** |
- -+============================================+=====================================================================================================+====================================================+=====================================================+==============================================+
- -| `/entidades` | Obtiene el listado de todos las entidades | Crea un registro de entidad | | |
- -+--------------------------------------------+-----------------------------------------------------------------------------------------------------+----------------------------------------------------+-----------------------------------------------------+----------------------------------------------+
- -| `/entidades/:id` | Obtiene la entidad identificado como :id | | Actualiza la entidad identificado como :id | Elimina la entidad identificado como :id |
- -+--------------------------------------------+-----------------------------------------------------------------------------------------------------+----------------------------------------------------+-----------------------------------------------------+----------------------------------------------+
- -| `/entidades/:id/organigrama` | Obtiene el organigrama de la entidad identificado como :id | | | |
- -+--------------------------------------------+-----------------------------------------------------------------------------------------------------+----------------------------------------------------+-----------------------------------------------------+----------------------------------------------+
- -| `/entidades/:id/oficinas` | Obtiene el listado de las oficinas de una entidad identificado como :id | | | |
- -+--------------------------------------------+-----------------------------------------------------------------------------------------------------+----------------------------------------------------+-----------------------------------------------------+----------------------------------------------+
- -| `/entidades/:id/unidadesOrganizacionales` | Obtiene el listado de las unidades organizacionales de una entidad identificado como :id | | | |
- -+--------------------------------------------+-----------------------------------------------------------------------------------------------------+----------------------------------------------------+-----------------------------------------------------+----------------------------------------------+
- -| `/entidades/:id/convocatorias` | Obtiene el listado de las convocatorias de una entidad identificado como :id | | | |
- -+--------------------------------------------+-----------------------------------------------------------------------------------------------------+----------------------------------------------------+-----------------------------------------------------+----------------------------------------------+
- -| `/entidades/:id/cargosDisponibles` | Obtiene el listado de los cargos disponibles de una entidad identificado como :id | | | |
- -+--------------------------------------------+-----------------------------------------------------------------------------------------------------+----------------------------------------------------+-----------------------------------------------------+----------------------------------------------+
- ++--------------------------------------------+-----------------------------------------------------------------------------------------------------+----------------------------------------------------+----------------------------------------------------------------------------------------------------+----------------------------------------------+
- +|**Recurso** |**GET** |**POST** |**PUT** |**DELETE** |
- ++============================================+=====================================================================================================+====================================================+====================================================================================================+==============================================+
- +| `/entidades` | Obtiene el listado de todos las Entidades | Crea un registro de entidad | | |
- ++--------------------------------------------+-----------------------------------------------------------------------------------------------------+----------------------------------------------------+----------------------------------------------------------------------------------------------------+----------------------------------------------+
- +| `/entidades/:id` | Obtiene la entidad identificado como :id | | Actualiza la Entidad identificado como :id | Elimina la Entidad identificado como :id |
- ++--------------------------------------------+-----------------------------------------------------------------------------------------------------+----------------------------------------------------+----------------------------------------------------------------------------------------------------+----------------------------------------------+
- +| `/entidades/:id/organigrama` | Obtiene el organigrama de la Entidad identificado como :id | | | |
- ++--------------------------------------------+-----------------------------------------------------------------------------------------------------+----------------------------------------------------+----------------------------------------------------------------------------------------------------+----------------------------------------------+
- +| `/entidades/:id/oficinas` | Obtiene el listado de las oficinas de una Entidad identificado como :id | | | |
- ++--------------------------------------------+-----------------------------------------------------------------------------------------------------+----------------------------------------------------+----------------------------------------------------------------------------------------------------+----------------------------------------------+
- +| `/entidades/:id/unidadesOrganizacionales` | Obtiene el listado de las Unidades Organizacionales de una Entidad identificado como :id | | | |
- ++--------------------------------------------+-----------------------------------------------------------------------------------------------------+----------------------------------------------------+----------------------------------------------------------------------------------------------------+----------------------------------------------+
- +| `/entidades/:id/convocatorias` | Obtiene el listado de las convocatorias de una entidad identificado como :id | | | |
- ++--------------------------------------------+-----------------------------------------------------------------------------------------------------+----------------------------------------------------+----------------------------------------------------------------------------------------------------+----------------------------------------------+
- +| `/entidades/:id/cargosDisponibles` | Obtiene el listado de los cargos disponibles de una Entidad identificada como :id | | | |
- ++--------------------------------------------+-----------------------------------------------------------------------------------------------------+----------------------------------------------------+----------------------------------------------------------------------------------------------------+----------------------------------------------+
- +| `/entidades/:id/tiposCargo` | Obtiene el listado de los tipos cargo disponibles de una Entidad identificada como :id | | | |
- ++--------------------------------------------+-----------------------------------------------------------------------------------------------------+----------------------------------------------------+----------------------------------------------------------------------------------------------------+----------------------------------------------+
- +| `/entidades/:id/ordenarUnidades` | | | Actualiza orden de Unidades Organizacionales de una entidad identificada como :id | |
- ++--------------------------------------------+-----------------------------------------------------------------------------------------------------+----------------------------------------------------+----------------------------------------------------------------------------------------------------+----------------------------------------------+
- Tabla de parámetros opcionales de la URL para peticines GET
- diff --git a/docs/index.rst b/docs/index.rst
- index 87753fc..6283e73 100644
- --- a/docs/index.rst
- +++ b/docs/index.rst
- @@ -32,17 +32,17 @@ Contenido:
- entidad/entidad.rst
- etapa/etapa.rst
- evaluacion/evaluacion.rst
- - evaluacionCargoEtapa/evaluacionCargoEtapa.rst
- - migracionMoodle/migracionMoodle.servicio.web.rst
- - migracionMoodle/migracionMoodle.mysql.moodle.rst
- + migracionMoodle/migracionUsuarioMoodle.rst
- + migracionMoodle/migracionWebServiceMoodle.rst
- oficina/oficina.rst
- oficinaUnidad/oficinaUnidad.rst
- persona/persona.rst
- postulacion/postulacion.rst
- + reserva/reserva.rst
- tag/tag.rst
- tagPersona/tagPersona.rst
- - tipoCargo/tipoCargo.rst
- - tipoDato/tipoDato.rst
- + tipo_dato/tipo_dato.rst
- + tipoCargo/tipoCargoo.rst
- tipoEntidad/tipoEntidad.rst
- unidadOrganizacional/unidadOrganizacional.rst
- @@ -50,12 +50,12 @@ Contenido:
- :maxdepth: 1
- :caption: Modelos
- - modelo_datos/modelo_datos.rst
- + modelos_db/modelo_db.rst
- .. toctree::
- :maxdepth: 1
- :caption: Otros
- - test/test.rst
- - mockups/mockups.rst
- - cambios/cambios.rst
- + otros/guia_test.rst
- + otros/guia_mockup.rst
- + otros/licencia.rst
- diff --git a/docs/migracionMoodle/migracionMoodle.mysql.moodle.rst b/docs/migracionMoodle/migracionUsuarioMoodle.rst
- similarity index 98%
- rename from docs/migracionMoodle/migracionMoodle.mysql.moodle.rst
- rename to docs/migracionMoodle/migracionUsuarioMoodle.rst
- index 0646255..206c528 100644
- --- a/docs/migracionMoodle/migracionMoodle.mysql.moodle.rst
- +++ b/docs/migracionMoodle/migracionUsuarioMoodle.rst
- @@ -4,7 +4,7 @@ Migrar
- 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]**
- diff --git a/docs/migracionMoodle/migracionModle.servicio.web.rst b/docs/migracionMoodle/migracionWebServiceMoodle.rst
- similarity index 100%
- rename from docs/migracionMoodle/migracionModle.servicio.web.rst
- rename to docs/migracionMoodle/migracionWebServiceMoodle.rst
- diff --git a/docs/modelo_db/bd_26072016.pdf b/docs/modelo_db/bd_26072016.pdf
- new file mode 100644
- index 0000000..2ae912e
- Binary files /dev/null and b/docs/modelo_db/bd_26072016.pdf differ
- diff --git a/docs/modelo_datos/modelo_datos.rst b/docs/modelo_db/modelo_db.rst
- similarity index 50%
- rename from docs/modelo_datos/modelo_datos.rst
- rename to docs/modelo_db/modelo_db.rst
- index 6fc0571..ef6f451 100644
- --- a/docs/modelo_datos/modelo_datos.rst
- +++ b/docs/modelo_db/modelo_db.rst
- @@ -1,7 +1,5 @@
- Modelos (BD)
- ==============
- -Modelos del Proyecto
- ---------------------
- -Modelo de la base de datos del proyecto Modulo Personal
- +`Modelado del proyecto <bd_26072016.pdf>`_
- diff --git a/docs/oficina/oficina.rst b/docs/oficina/oficina.rst
- index 451eeb5..8e53c48 100644
- --- a/docs/oficina/oficina.rst
- +++ b/docs/oficina/oficina.rst
- @@ -1,58 +1,51 @@
- Oficina
- -=======
- +====================
- -Mostrar todas las oficinas
- ---------------------------
- +Formato URL
- +------------------------
- ++-----------------+-------------------------+
- +|**Método HTTP** |**Significado** |
- ++=================+=========================+
- +|`GET` | Obtiene un recurso |
- ++-----------------+-------------------------+
- +|`POST` | Crea un recurso |
- ++-----------------+-------------------------+
- +|`PUT` | Actualiza un recurso |
- ++-----------------+-------------------------+
- +|`DELETE` | Borra un recurso |
- ++-----------------+-------------------------+
- -URL
- -```
- -::
- +Ejemplo
- +''''''''''''
- - /oficinas
- +**Contenido Body**
- -Método
- -``````
- -``GET``
- -
- -Respuesta correcta
- -``````````````````
- -
- -**Código:** 200
- -
- -**Contenido:**
- +Contenido en data del cuerpo para realizar el creado y actualización de un registro identificado como :id.
- .. code:: json
- {
- - "count": 2,
- - "rows": [
- - {
- - "_id": 1,
- - "nombre": "Oficina Central",
- - "pais": "Bolivia",
- - "latitud": -16.85,
- - "longitud": -68.15,
- - "principal": true,
- - "fecha_creacion": "2016-04-27T19:00:35.752Z",
- - "fecha_modificacion": "2016-04-27T19:00:35.752Z"
- - },
- - {
- - "_id": 2,
- - "nombre": "Dirección de Finanzas",
- - "pais": "Bolivia",
- - "latitud": -16.85,
- - "longitud": -68.15,
- - "principal": false,
- - "fecha_creacion": "2016-04-27T19:01:59.064Z",
- - "fecha_modificacion": "2016-04-27T19:01:59.064Z"
- - }
- - ]
- + "nombre": "Oficina Central",
- + "pais": "Bolivia",
- + "latitud": 16.45,
- + "longitud": 48.67,
- + "principal": true,
- + "fecha_creacion": "2016-07-28T14:12:00.539Z",
- + "fecha_modificacion": "2016-07-28T14:12:00.539Z",
- + "fk_entidad": 109 //ADSIB
- }
- -Parámetros opcionales de la URL
- -```````````````````````````````
- -Tabla de parámetros
- -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
- ++-----------------------------------------------------+-----------------------------------------------------------------------------------------------+----------------------------------------------------+-----------------------------------------------+----------------------------------------------+
- +|**Recurso** |**GET** |**POST** |**PUT** |**DELETE** |
- ++=====================================================+===============================================================================================+====================================================+===============================================+==============================================+
- +| /oficinas | Obtiene el listado de todos las Oficinas | Crea un registro de Oficina | | |
- ++-----------------------------------------------------+-----------------------------------------------------------------------------------------------+----------------------------------------------------+-----------------------------------------------+----------------------------------------------+
- +| /oficinas/:id | Obtiene la Oficina identificado como :id | | Actualiza registro :id de Oficina | Elimina registro :id de Oficina |
- ++-----------------------------------------------------+-----------------------------------------------------------------------------------------------+----------------------------------------------------+-----------------------------------------------+----------------------------------------------+
- +
- +
- +Tabla de parámetros opcionales de la URL para peticines GET
- +'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
- +-+-----------+------------------+---------------------------------------------------------------------+
- |**Nombre** |**Tipo** |**Descripción** |
- +=+===========+==================+=====================================================================+
- @@ -77,539 +70,25 @@ Tabla de parámetros
- | |`entidad` | String |El nombre de la entidad. |
- +-+-----------+------------------+---------------------------------------------------------------------+
- -Muestra una determinada cantidad de oficinas
- -''''''''''''''''''''''''''''''''''''''''''''
- -
- -**URL**
- -::
- -
- - /oficinas?elementos=valor
- -
- -**Parámetros usados**
- -
- -============ =====================
- -**Nombre** **Valor enviado**
- -============ =====================
- -`elementos` 1
- -============ =====================
- -
- -**Ejemplo:**
- -
- -::
- -
- - /oficinas?elementos=1
- -
- -**Respuesta:**
- -
- -.. code:: json
- -
- - {
- - "count": 2,
- - "rows": [
- - {
- - "_id": 1,
- - "nombre": "Oficina Central",
- - "pais": "Bolivia",
- - "latitud": -16.85,
- - "longitud": -68.15,
- - "principal": true,
- - "fecha_creacion": "2016-04-27T19:00:35.752Z",
- - "fecha_modificacion": "2016-04-27T19:00:35.752Z"
- - }
- - ]
- - }
- -
- -Muestra las oficinas en una determinada página
- -''''''''''''''''''''''''''''''''''''''''''''''
- -
- -**URL**
- -::
- -
- - /oficinas?pagina=valor
- -
- -**Parámetros usados**
- -
- -============ =====================
- -**Nombre** **Valor enviado**
- -============ =====================
- -`pagina` 1
- -============ =====================
- -
- -**Ejemplo:**
- -::
- -
- - /oficinas?pagina=1
- -
- -**Respuesta:**
- -
- -.. code:: json
- -
- - {
- - "count": 2,
- - "rows": [
- - {
- - "_id": 1,
- - "nombre": "Oficina Central",
- - "pais": "Bolivia",
- - "latitud": -16.85,
- - "longitud": -68.15,
- - "principal": true,
- - "fecha_creacion": "2016-04-27T19:00:35.752Z",
- - "fecha_modificacion": "2016-04-27T19:00:35.752Z"
- - },
- - {
- - "_id": 2,
- - "nombre": "Dirección de Finanzas",
- - "pais": "Bolivia",
- - "latitud": -16.85,
- - "longitud": -68.15,
- - "principal": false,
- - "fecha_creacion": "2016-04-27T19:01:59.064Z",
- - "fecha_modificacion": "2016-04-27T19:01:59.064Z"
- - }
- - ]
- - }
- -
- -Ordena las oficinas ascendentemente en base a un campo del modelo
- -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
- -
- -**URL**
- -::
- -
- - /oficinas?ordenarPor=valor
- -
- -**Parámetros usados**
- -
- -============ =====================
- -**Nombre** **Valor enviado**
- -============ =====================
- -`ordenarPor` nombre
- -============ =====================
- -
- -**Ejemplo**
- -::
- -
- - /oficinas?ordenarPor=nombre
- -
- -**Respuesta:**
- -
- -.. code:: json
- -
- - {
- - "count": 2,
- - "rows": [
- - {
- - "_id": 2,
- - "nombre": "Dirección de Finanzas",
- - "pais": "Bolivia",
- - "latitud": -16.85,
- - "longitud": -68.15,
- - "principal": false,
- - "fecha_creacion": "2016-04-27T19:01:59.064Z",
- - "fecha_modificacion": "2016-04-27T19:01:59.064Z"
- - },
- - {
- - "_id": 1,
- - "nombre": "Oficina Central",
- - "pais": "Bolivia",
- - "latitud": -16.85,
- - "longitud": -68.15,
- - "principal": true,
- - "fecha_creacion": "2016-04-27T19:00:35.752Z",
- - "fecha_modificacion": "2016-04-27T19:00:35.752Z"
- - }
- - ]
- - }
- -
- -Ordena las oficinas descendentemente en base a un campo del modelo
- -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
- -
- -**URL**
- -::
- -
- - /oficinas?ordenarPor=valor1&orden=true
- -
- -**Parámetros usados**
- -
- -============ =================
- -**Nombre** **Valor enviado**
- -============ =================
- -`ordenarPor` nombre
- -`orden` true
- -============ =================
- -
- -**Ejemplo:**
- -::
- -
- - /oficinas?ordenarPor=nombre&orden=true
- -
- -**Respuesta:**
- -
- -.. code:: json
- -
- - {
- - "count": 2,
- - "rows": [
- - {
- - "_id": 1,
- - "nombre": "Oficina Central",
- - "pais": "Bolivia",
- - "latitud": -16.85,
- - "longitud": -68.15,
- - "principal": true,
- - "fecha_creacion": "2016-04-27T19:00:35.752Z",
- - "fecha_modificacion": "2016-04-27T19:00:35.752Z"
- - },
- - {
- - "_id": 2,
- - "nombre": "Dirección de Finanzas",
- - "pais": "Bolivia",
- - "latitud": -16.85,
- - "longitud": -68.15,
- - "principal": false,
- - "fecha_creacion": "2016-04-27T19:01:59.064Z",
- - "fecha_modificacion": "2016-04-27T19:01:59.064Z"
- - }
- - ]
- - }
- -
- -Buscar por "palabra" en "campo" de la entidad oficina
- -'''''''''''''''''''''''''''''''''''''''''''''''''''''
- -
- -**URL**
- -::
- -
- - /oficinas?buscar=%7B%22en%22:%22valor1%22,%22palabra%22:%22valor2%22%7D
- -
- -**Parámetros usados**
- -
- -============ ===========================================
- -**Nombre** **Valor enviado**
- -============ ===========================================
- -`buscar` ::
- -
- - [{"en":"nombre","palabra":"Oficina"}]
- -============ ===========================================
- -
- -**Ejemplo**
- -::
- -
- - /oficinas?buscar=%7B%22en%22:%22nombre%22,%22palabra%22:%22Oficina%22%7D
- -
- -**Respuesta:**
- -
- -.. code:: json
- -
- - {
- - "count": 1,
- - "rows": [
- - {
- - "_id": 1,
- - "nombre": "Oficina Central",
- - "pais": "Bolivia",
- - "latitud": -16.85,
- - "longitud": -68.15,
- - "principal": true,
- - "fecha_creacion": "2016-04-27T19:00:35.752Z",
- - "fecha_modificacion": "2016-04-27T19:00:35.752Z"
- - }
- - ]
- - }
- -
- -Respuesta de error
- -``````````````````
- -
- -**Código:** 500
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - {
- - "error":"Ocurrio un problema inesperado en el servidor"
- - }
- -
- -
- -Observaciones
- -`````````````
- -- Esta petición cuando no existen datos almacenados en la base de datos retorna un array vacio
- -- El parámetro 'orden' depende de 'ordenarPor'
- -- El parámetro 'pagina' muestra 15 oficinas por defecto
- -
- -----
- -
- -Crear una oficina
- ------------------
- -
- -URL
- -```
- -::
- -
- - /oficinas
- -
- -Método
- -``````
- -``POST``
- -
- -Parámetros del body
- -```````````````````
- -**Ejemplo**
- -
- -.. code:: json
- -
- - {
- - "nombre":"Dirección de Finanzas",
- - "pais":"Bolivia",
- - "latitud": "-16.85",
- - "longitud": "-68.15",
- - "principal": false
- - }
- -
- -Respuesta correcta
- -``````````````````
- -
- -**Código:** 201
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - {
- - "_id": 35,
- - "nombre": "Dirección de Finanzas",
- - "pais": "Bolivia",
- - "latitud": -16.85,
- - "longitud": -68.15,
- - "principal": false,
- - "fecha_modificacion": "2016-05-30T13:10:47.884Z",
- - "fecha_creacion": "2016-05-30T13:10:47.884Z"
- - }
- -
- -Respuesta de error
- -``````````````````
- -
- -**Código:** 400
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - {
- - "name": "SequelizeValidationError",
- - "message": "Validation error: Ingrese Nombre a Oficina.",
- - "errors": [
- - {
- - "message": "Ingrese Nombre a Oficina.",
- - "type": "Validation error",
- - "path": "nombre",
- - "value": {},
- - "__raw": {}
- - }
- - ]
- - }
- -
- -----
- -
- -Mostrar una oficina
- --------------------
- -URL
- -```
- -::
- -
- - /oficinas/:id
- -
- -Método
- -``````
- -``GET``
- -
- -Parámetros de la URL
- -````````````````````
- -
- -**Parámetro requerido:**
- -
- -============ ============== ================================================
- -**Nombre** **Tipo** **Descripción**
- -============ ============== ================================================
- -`id` Integer Identificador único del registro en la entidad.
- -============ ============== ================================================
- -
- -**Ejemplo**
- -::
- -
- - id=35
- -
- -Respuesta correcta
- -``````````````````
- -
- -**Código:** 200
- -
- -**Ejemplo**
- -
- -.. code:: json
- -
- - {
- - "_id": 35,
- - "nombre": "Dirección de Finanzas",
- - "pais": "Bolivia",
- - "latitud": -16.85,
- - "longitud": -68.15,
- - "principal": false,
- - "fecha_modificacion": "2016-05-30T13:10:47.884Z",
- - "fecha_creacion": "2016-05-30T13:10:47.884Z"
- - }
- -
- -Respuesta de error
- -``````````````````
- -
- -**Código:** 404
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - {
- - "message": "Entidad no encontrada"
- - }
- -
- -----
- -
- -Editar una oficina
- -------------------
- -URL
- -```
- -::
- -
- - /oficinas/:id
- -
- -Método
- -``````
- -``PUT``
- -
- -Parámetros de la URL
- -````````````````````
- -
- -**Parámetro requerido:**
- -
- -============ ============== ================================================
- -**Nombre** **Tipo** **Descripción**
- -============ ============== ================================================
- -`id` Integer Identificador único del registro en la entidad.
- -============ ============== ================================================
- -
- -**Ejemplo**
- -::
- -
- - id=35
- -
- -Parámetros del body
- -```````````````````
- -
- -**Ejemplo**
- -
- -.. code:: json
- -
- - {
- - "nombre":"Dirección de Finanzas y Administración"
- - }
- -
- -
- -Respuesta correcta
- -``````````````````
- -
- -**Código:** 200
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - {
- - "_id": 35,
- - "nombre": "Dirección de Finanzas y Administración",
- - "pais": "Bolivia",
- - "latitud": -16.85,
- - "longitud": -68.15,
- - "principal": false,
- - "fecha_modificacion": "2016-05-30T13:10:47.884Z",
- - "fecha_creacion": "2016-05-30T13:10:47.884Z"
- - }
- -
- -Respuesta de error
- -``````````````````
- -
- -**Código:** 404
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - {
- - "message": "Entidad no encontrada"
- - }
- -
- -**Código:** 400
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - {
- - "name": "SequelizeValidationError",
- - "message": "Validation error: Ingrese Nombre a Oficina.",
- - "errors": [
- - {
- - "message": "Ingrese Nombre a Oficina.",
- - "type": "Validation error",
- - "path": "nombre",
- - "value": {},
- - "__raw": {}
- - }
- - ]
- - }
- -
- -----
- -
- -Eliminar una oficina
- ---------------------
- -URL
- -```
- -::
- -
- - /oficinas/:id
- -
- -Método
- -``````
- -``DELETE``
- -
- -Parámetros de la URL
- -````````````````````
- -
- -**Parámetro requerido:**
- -
- -============ ============== ================================================
- -**Nombre** **Tipo** **Descripción**
- -============ ============== ================================================
- -`id` Integer Identificador único del registro en la entidad.
- -============ ============== ================================================
- -
- -**Ejemplo**
- -::
- -
- - id=83
- -
- -Respuesta correcta
- -``````````````````
- -
- -**Código:** 204
- -
- -Respuesta de error
- -``````````````````
- -
- -**Código:** 404
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - {
- - "message": "Entidad no encontrada"
- - }
- +Respuestas
- +----------
- +
- ++------------------+----------------------------------------------------------------------------------------------+
- +| **Código HTTP** | **Descripción** |
- ++==================+==============================================================================================+
- +| `200` | Ok |
- ++------------------+----------------------------------------------------------------------------------------------+
- +| `201` | Creado |
- ++------------------+----------------------------------------------------------------------------------------------+
- +| `400` | Parámetros incorrectos en la entrada |
- ++------------------+----------------------------------------------------------------------------------------------+
- +| `401` | Token de acceso expirado o invalido |
- ++------------------+----------------------------------------------------------------------------------------------+
- +| `404` | Recurso no encontrado |
- ++------------------+----------------------------------------------------------------------------------------------+
- +| `405` | Método HTTP no esperado. Ejemplo: se esperaba un HTTP GET y se recibió un HTTP POST |
- ++------------------+----------------------------------------------------------------------------------------------+
- +| `429` | Se están recibiendo muchos requests de parte de tu aplicación. Se esta limitando el acceso |
- ++------------------+----------------------------------------------------------------------------------------------+
- +| `500` | Error interno del servidor |
- ++------------------+----------------------------------------------------------------------------------------------+
- diff --git a/docs/oficinaUnidad/oficinaUnidad.rst b/docs/oficinaUnidad/oficinaUnidad.rst
- index f4a5fec..7a60443 100644
- --- a/docs/oficinaUnidad/oficinaUnidad.rst
- +++ b/docs/oficinaUnidad/oficinaUnidad.rst
- @@ -1,554 +1,65 @@
- -Relacion entre oficina y unidad
- -===============================
- -
- -Mostrar todas las relaciones entre oficina y unidad
- ----------------------------------------------------
- -
- -URL
- -```
- -::
- -
- - /oficinasUnidad
- -
- -Método
- -``````
- -``GET``
- -
- -Respuesta correcta
- -``````````````````
- -
- -**Código:** 200
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - {
- - "count": 2,
- - "rows": [
- - {
- - "_id": 8,
- - "principal": true,
- - "fecha_creacion": "2016-05-30T13:41:29.210Z",
- - "fecha_modificacion": "2016-05-30T13:41:29.210Z",
- - "fk_oficina": 1,
- - "fk_unidad_organizacional": 94
- - },
- - {
- - "_id": 9,
- - "principal": true,
- - "fecha_creacion": "2016-05-30T13:41:29.210Z",
- - "fecha_modificacion": "2016-05-30T13:43:59.979Z",
- - "fk_oficina": 2,
- - "fk_unidad_organizacional": 95
- - }
- - ]
- - }
- -
- -Parámetros opcionales de la URL
- -```````````````````````````````
- -Tabla de parámetros
- -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
- -+-+-----------+------------------+---------------------------------------------------------------------+
- -|**Nombre** |**Tipo** |**Descripción** |
- -+=+===========+==================+=====================================================================+
- -|`elementos` | Integer |Cantidad de elementos a mostrar. |
- -+-+-----------+------------------+---------------------------------------------------------------------+
- -|`pagina` | Integer |El número de página a mostrar. |
- -+-+-----------+------------------+---------------------------------------------------------------------+
- -|`ordenarPor` | String |El nombre del campo correspondiente al modelo de la entidad. |
- -+-+-----------+------------------+---------------------------------------------------------------------+
- -|`orden` | Boolean |TRUE para un orden descendente. |
- -+-+-----------+------------------+---------------------------------------------------------------------+
- -|`buscar` | Object (array) |Cada objeto del array contiene los atributos: `palabra` y `en`. |
- -+-+-----------+------------------+---------------------------------------------------------------------+
- -| |`palabra` | String |Palabra que representa el criterio a buscar. |
- -+-+-----------+------------------+---------------------------------------------------------------------+
- -| |`en` | String |El nombre de campo en el cual se realiza la busqueda de `palabra`. |
- -+-+-----------+------------------+---------------------------------------------------------------------+
- -|`incluye` | Object (array) |Cada objeto del array contiene los atributos: `entidad` y `buscar`. |
- -| | |(La estructura del atributo `buscar` es igual al del parámetro |
- -| | |`buscar` definido anteriormente) |
- -+-+-----------+------------------+---------------------------------------------------------------------+
- -| |`entidad` | String |El nombre de la entidad. |
- -+-+-----------+------------------+---------------------------------------------------------------------+
- -
- -Muestra una determinada cantidad de oficinas
- -''''''''''''''''''''''''''''''''''''''''''''
- -
- -**URL**
- -::
- -
- - /oficinasUnidad?elementos=valor
- -
- -**Parámetros usados**
- -
- -============ =====================
- -**Nombre** **Valor enviado**
- -============ =====================
- -`elementos` 1
- -============ =====================
- -
- -**Ejemplo:**
- -
- -::
- -
- - /oficinasUnidad?elementos=1
- -
- -**Respuesta:**
- -
- -.. code:: json
- -
- - {
- - "count": 2,
- - "rows": [
- - {
- - "_id": 8,
- - "principal": true,
- - "fecha_creacion": "2016-05-30T13:41:29.210Z",
- - "fecha_modificacion": "2016-05-30T13:41:29.210Z",
- - "fk_oficina": 1,
- - "fk_unidad_organizacional": 94
- - },
- - ]
- - }
- -
- -Muestra las relaciones entre oficina y unidad en una determinada página
- -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
- -
- -**URL**
- -::
- -
- - /oficinasUnidad?pagina=valor
- -
- -**Parámetros usados**
- -
- -============ =====================
- -**Nombre** **Valor enviado**
- -============ =====================
- -`pagina` 1
- -============ =====================
- -
- -**Ejemplo:**
- -::
- -
- - /oficinasUnidad?pagina=1
- -
- -**Respuesta:**
- -
- -.. code:: json
- -
- - {
- - "count": 2,
- - "rows": [
- - {
- - "_id": 8,
- - "principal": true,
- - "fecha_creacion": "2016-05-30T13:41:29.210Z",
- - "fecha_modificacion": "2016-05-30T13:41:29.210Z",
- - "fk_oficina": 1,
- - "fk_unidad_organizacional": 94
- - },
- - {
- - "_id": 9,
- - "principal": true,
- - "fecha_creacion": "2016-05-30T13:41:29.210Z",
- - "fecha_modificacion": "2016-05-30T13:43:59.979Z",
- - "fk_oficina": 2,
- - "fk_unidad_organizacional": 95
- - }
- - ]
- - }
- -
- -Ordena las relaciones entre oficina y unidad ascendentemente en base a un campo del modelo
- -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
- -
- -**URL**
- -::
- -
- - /oficinasUnidad?ordenarPor=valor
- -
- -**Parámetros usados**
- -
- -============ =====================
- -**Nombre** **Valor enviado**
- -============ =====================
- -`ordenarPor` nombre
- -============ =====================
- -
- -**Ejemplo**
- -::
- -
- - /oficinasUnidad?ordenarPor=nombre
- -
- -**Respuesta:**
- -
- -.. code:: json
- -
- - {
- - "count": 2,
- - "rows": [
- - {
- - "_id": 8,
- - "principal": true,
- - "fecha_creacion": "2016-05-30T13:41:29.210Z",
- - "fecha_modificacion": "2016-05-30T13:41:29.210Z",
- - "fk_oficina": 1,
- - "fk_unidad_organizacional": 94
- - },
- - {
- - "_id": 9,
- - "principal": true,
- - "fecha_creacion": "2016-05-30T13:41:29.210Z",
- - "fecha_modificacion": "2016-05-30T13:43:59.979Z",
- - "fk_oficina": 2,
- - "fk_unidad_organizacional": 95
- - }
- - ]
- - }
- -
- -Ordena las relaciones entre oficina y unidad descendentemente en base a un campo del modelo
- -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
- -
- -**URL**
- -::
- -
- - /oficinasUnidad?ordenarPor=valor1&orden=true
- -
- -**Parámetros usados**
- -
- -============ =================
- -**Nombre** **Valor enviado**
- -============ =================
- -`ordenarPor` nombre
- -`orden` true
- -============ =================
- -
- -**Ejemplo:**
- -::
- -
- - /oficinasUnidad?ordenarPor=nombre&orden=true
- -
- -**Respuesta:**
- -
- -.. code:: json
- -
- - {
- - "count": 2,
- - "rows": [
- - {
- - "_id": 8,
- - "principal": true,
- - "fecha_creacion": "2016-05-30T13:41:29.210Z",
- - "fecha_modificacion": "2016-05-30T13:41:29.210Z",
- - "fk_oficina": 1,
- - "fk_unidad_organizacional": 94
- - },
- - {
- - "_id": 9,
- - "principal": true,
- - "fecha_creacion": "2016-05-30T13:41:29.210Z",
- - "fecha_modificacion": "2016-05-30T13:43:59.979Z",
- - "fk_oficina": 2,
- - "fk_unidad_organizacional": 95
- - }
- - ]
- - }
- -
- -Respuesta de error
- -``````````````````
- -
- -**Código:** 500
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - {
- - "error":"Ocurrio un problema inesperado en el servidor"
- - }
- -
- -
- -Observaciones
- -`````````````
- -- Esta petición cuando no existen datos almacenados en la base de datos retorna un array vacio
- -- El parámetro 'orden' depende de 'ordenarPor'
- -- El parámetro 'pagina' muestra 15 oficinas por defecto
- -
- -----
- -
- -Crear una relacion entre oficina y unidad
- ------------------------------------------
- -
- -URL
- -```
- -::
- -
- - /oficinasUnidad
- -
- -Método
- -``````
- -``POST``
- -
- -Parámetros del body
- -```````````````````
- -**Ejemplo**
- -
- -.. code:: json
- -
- - {
- - "nombre":"Dirección de Finanzas",
- - "pais":"Bolivia",
- - "latitud": "-16.85",
- - "longitud": "-68.15",
- - "principal": false
- - }
- -
- -Respuesta correcta
- -``````````````````
- -
- -**Código:** 201
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - {
- - "_id": 35,
- - "nombre": "Dirección de Finanzas",
- - "pais": "Bolivia",
- - "latitud": -16.85,
- - "longitud": -68.15,
- - "principal": false,
- - "fecha_modificacion": "2016-05-30T13:10:47.884Z",
- - "fecha_creacion": "2016-05-30T13:10:47.884Z"
- - }
- -
- -Respuesta de error
- -``````````````````
- -
- -**Código:** 400
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - {
- - "name": "SequelizeValidationError",
- - "message": "Validation error: Ingrese Nombre a Oficina.",
- - "errors": [
- - {
- - "message": "Ingrese Nombre a Oficina.",
- - "type": "Validation error",
- - "path": "nombre",
- - "value": {},
- - "__raw": {}
- - }
- - ]
- - }
- -
- -----
- -
- -Mostrar una relacion entre oficina y unidad
- --------------------------------------------
- -URL
- -```
- -::
- -
- - /oficinasUnidad/:id
- -
- -Método
- -``````
- -``GET``
- -
- -Parámetros de la URL
- -````````````````````
- -
- -**Parámetro requerido:**
- -
- -============ ============== ================================================
- -**Nombre** **Tipo** **Descripción**
- -============ ============== ================================================
- -`id` Integer Identificador único del registro en la entidad.
- -============ ============== ================================================
- -
- -**Ejemplo**
- -::
- -
- - id=35
- -
- -Respuesta correcta
- -``````````````````
- -
- -**Código:** 200
- -
- -**Ejemplo**
- -
- -.. code:: json
- -
- - {
- - "_id": 35,
- - "nombre": "Dirección de Finanzas",
- - "pais": "Bolivia",
- - "latitud": -16.85,
- - "longitud": -68.15,
- - "principal": false,
- - "fecha_modificacion": "2016-05-30T13:10:47.884Z",
- - "fecha_creacion": "2016-05-30T13:10:47.884Z"
- - }
- -
- -Respuesta de error
- -``````````````````
- -
- -**Código:** 404
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - {
- - "message": "Entidad no encontrada"
- - }
- -
- -----
- -
- -Editar una relacion entre oficina y unidad
- -------------------------------------------
- -URL
- -```
- -::
- -
- - /oficinasUnidad/:id
- -
- -Método
- -``````
- -``PUT``
- -
- -Parámetros de la URL
- -````````````````````
- -
- -**Parámetro requerido:**
- -
- -============ ============== ================================================
- -**Nombre** **Tipo** **Descripción**
- -============ ============== ================================================
- -`id` Integer Identificador único del registro en la entidad.
- -============ ============== ================================================
- -
- -**Ejemplo**
- -::
- -
- - id=35
- -
- -Parámetros del body
- -```````````````````
- -
- -**Ejemplo**
- -
- -.. code:: json
- -
- - {
- - "nombre":"Dirección de Finanzas y Administración"
- - }
- -
- -
- -Respuesta correcta
- -``````````````````
- -
- -**Código:** 200
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - {
- - "_id": 35,
- - "nombre": "Dirección de Finanzas y Administración",
- - "pais": "Bolivia",
- - "latitud": -16.85,
- - "longitud": -68.15,
- - "principal": false,
- - "fecha_modificacion": "2016-05-30T13:10:47.884Z",
- - "fecha_creacion": "2016-05-30T13:10:47.884Z"
- - }
- -
- -Respuesta de error
- -``````````````````
- -
- -**Código:** 404
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - {
- - "message": "Entidad no encontrada"
- - }
- -
- -**Código:** 400
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - {
- - "name": "SequelizeValidationError",
- - "message": "Validation error: Ingrese Nombre a Oficina.",
- - "errors": [
- - {
- - "message": "Ingrese Nombre a Oficina.",
- - "type": "Validation error",
- - "path": "nombre",
- - "value": {},
- - "__raw": {}
- - }
- - ]
- - }
- -
- -----
- -
- -Eliminar una relacion entre oficina y unidad
- ---------------------------------------------
- -URL
- -```
- -::
- -
- - /oficinasUnidad/:id
- -
- -Método
- -``````
- -``DELETE``
- -
- -Parámetros de la URL
- -````````````````````
- -
- -**Parámetro requerido:**
- -
- -============ ============== ================================================
- -**Nombre** **Tipo** **Descripción**
- -============ ============== ================================================
- -`id` Integer Identificador único del registro en la entidad.
- -============ ============== ================================================
- -
- -**Ejemplo**
- -::
- -
- - id=83
- -
- -Respuesta correcta
- -``````````````````
- -
- -**Código:** 204
- -
- -Respuesta de error
- -``````````````````
- -
- -**Código:** 404
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - {
- - "message": "Entidad no encontrada"
- - }
- +Oficina Unidad
- +====================
- +
- +Formato URL
- +------------------------
- ++-----------------+-------------------------+
- +|**Método HTTP** |**Significado** |
- ++=================+=========================+
- +|`GET` | Obtiene un recurso |
- ++-----------------+-------------------------+
- +|`POST` | Crea un recurso |
- ++-----------------+-------------------------+
- +|`PUT` | Actualiza un recurso |
- ++-----------------+-------------------------+
- +|`DELETE` | Borra un recurso |
- ++-----------------+-------------------------+
- +
- +Ejemplo
- +''''''''''''
- +
- +**Contenido Body**
- +
- +Contenido en data del cuerpo para realizar el creado y actualización de un registro identificado como :id.
- +
- +.. code:: json
- +
- + {
- + "principal": false,
- + "fecha_creacion": "2016-04-27T20:58:20.042Z",
- + "fecha_modificacion": "2016-04-27T20:58:20.042Z",
- + "fk_oficina": 3, // Oficina Geo Bolivia
- + "fk_unidad_organizacional": 651 // Unidad de Innovación y Desarrollo
- + }
- +
- ++-----------------------------------------------------+-----------------------------------------------------------------------------------------------+----------------------------------------------------+-----------------------------------------------+----------------------------------------------+
- +|**Recurso** |**GET** |**POST** |**PUT** |**DELETE** |
- ++=====================================================+===============================================================================================+====================================================+===============================================+==============================================+
- +| /oficinasUnidad | Obtiene el listado de todos las Oficinas-Unidad | Crea un registro de Oficinas-Unidad | | |
- ++-----------------------------------------------------+-----------------------------------------------------------------------------------------------+----------------------------------------------------+-----------------------------------------------+----------------------------------------------+
- +| /oficinasUnidad/:id | Obtiene la Oficinas-Unidad identificado como :id | | Actualiza registro :id de Oficinas-Unidad | Elimina registro :id de Oficinas-Unidad |
- ++-----------------------------------------------------+-----------------------------------------------------------------------------------------------+----------------------------------------------------+-----------------------------------------------+----------------------------------------------+
- +
- +
- +Respuestas
- +----------
- +
- ++------------------+----------------------------------------------------------------------------------------------+
- +| **Código HTTP** | **Descripción** |
- ++==================+==============================================================================================+
- +| `200` | Ok |
- ++------------------+----------------------------------------------------------------------------------------------+
- +| `201` | Creado |
- ++------------------+----------------------------------------------------------------------------------------------+
- +| `400` | Parámetros incorrectos en la entrada |
- ++------------------+----------------------------------------------------------------------------------------------+
- +| `401` | Token de acceso expirado o invalido |
- ++------------------+----------------------------------------------------------------------------------------------+
- +| `404` | Recurso no encontrado |
- ++------------------+----------------------------------------------------------------------------------------------+
- +| `405` | Método HTTP no esperado. Ejemplo: se esperaba un HTTP GET y se recibió un HTTP POST |
- ++------------------+----------------------------------------------------------------------------------------------+
- +| `429` | Se están recibiendo muchos requests de parte de tu aplicación. Se esta limitando el acceso |
- ++------------------+----------------------------------------------------------------------------------------------+
- +| `500` | Error interno del servidor |
- ++------------------+----------------------------------------------------------------------------------------------+
- diff --git a/docs/mockups/mockups.rst b/docs/otros/guia_mockup.rst
- similarity index 71%
- rename from docs/mockups/mockups.rst
- rename to docs/otros/guia_mockup.rst
- index 7fdd8ae..80f3195 100644
- --- a/docs/mockups/mockups.rst
- +++ b/docs/otros/guia_mockup.rst
- @@ -1,33 +1,33 @@
- -Mockups Proyecto
- -================
- +Mockup con PENCIL
- +=================
- Introducción
- -------------
- +---------------
- El mockup del Proyecto es un prototipo con el que proporciona al menos una parte de la funcionalidad del sistema y permite pruebas del diseño. Este diseño permitirá comentarios por parte de los usuarios.
- Software de diseño mockup - Pencil
- -----------------------------------
- +---------------------------------------------
- -Pencil es una bonita herramienta GUI de prototipos de código abierto.
- +Pencil es una buena herramienta GUI de prototipos de código abierto.
- Instalación Pencil en Debian Jessie
- ------------------------------------
- +---------------------------------------------
- -- Descarga la ultima versión.
- +Descarga la ultima versión.
- .. code:: sh
- $ wget https://evoluspencil.googlecode.com/files/evoluspencil_2.0.5_all.deb
- -- Descomprimir el paquete debian
- +Descomprimir el paquete debian
- .. code:: sh
- $ dpkg-deb -x evoluspencil_2.0.5_all.deb dir_tmp
- $ dpkg-deb --control evoluspencil_2.0.5_all.deb dir_tmp/DEBIAN
- -- Editar archivo dir\_tmp/DEBIAN/control
- +Editar archivo dir\_tmp/DEBIAN/control
- .. code:: sh
- @@ -43,13 +43,13 @@ Instalación Pencil en Debian Jessie
- Description: Evolus Pencil
- Pencil is an open source GUI prototyping and sketching tools released under GPL.
- -- Vuelva a empaquetar el paquete debian
- +Vuelva a empaquetar el paquete debian
- .. code:: sh
- $ dpkg -b dir_tmp evoluspencil_2.0.5_all.deb
- -- Instalar el paquete
- +Instalar el paquete
- .. code:: sh
- diff --git a/docs/otros/guia_test.rst b/docs/otros/guia_test.rst
- new file mode 100644
- index 0000000..3211103
- --- /dev/null
- +++ b/docs/otros/guia_test.rst
- @@ -0,0 +1,175 @@
- +Guía de Test
- +===============
- +
- +`Mocha`_ nos ayuda a tener un marco de trabajo para realizar nuestras pruebas(test) de manera ordenada.
- +
- +Dentro del proyecto y en una terminal de comandos escribir **npm test** para ejecutar los test.
- +
- +Cada uno de las entidades cuentan con su modulo de test **[entidad].controller.js**.
- +
- +Los test de cada proceso estan en **[entidad].integration.js**.
- +
- +Lo primero que debemos realizar es verificar las rutas de cada entidad, y estas las encontramos en **index.spec.js** de cada entidad.
- +
- +
- +Aplicación
- +---------------
- +Creación de una `Persona`.
- +
- +Extraido de `/api/persona/index.spec.js`
- +
- +.. code:: javascript
- +
- + describe('POST /api/personas', function () {
- +
- + it('Debe apuntar a la ruta persona.controller.create', function () {
- + expect(routerStub.post
- + .withArgs('/', 'autenticacionService.tieneRol.ADMINISTRATOR', 'personaCtrl.create')
- + ).to.have.been.calledOnce;
- + });
- +
- + });
- +
- +Ahora realizaremos el test, que nos permitirá verificar la creación de la Persona:
- +
- +Extraido de `/api/persona/persona.integration.js`
- +
- +.. code:: javascript
- +
- + describe('POST /api/personas', function () {
- + it('Debe crear una nueva persona', function (done) {
- + request(app)
- + .post('/api/personas')
- + .set('authorization', 'Bearer ' + token)
- + .send({nombres: 'Juan Perez', apellidos: 'Lopez Gomez', ci: '123123'})
- + .expect(201)
- + .expect('Content-Type', /json/)
- + .end((err, res)=> {
- + nuevoPostulante = res.body;
- + expect(res.body.nombres).to.equal("Juan Perez");
- + expect(res.body.apellidos).to.equal("Lopez Gomez");
- + expect(res.body.ci).to.equal("123123");
- + done();
- + })
- + })
- + });
- +
- +El **describe** puede contener otros describe o puede contener las pruebas en sí que encuentran dentro del **it**.
- +
- +Realizamos **request** una solicitud del método **post** de nuestra *api* en **/api/personas**.
- +
- +Realizamos la autenticación mediante **set** de la siguiente manera (**'authorization', 'Bearer ' + token**).
- +
- +Con **send** enviamos nuestro *json* con los datos a ser creados.
- +
- +El **expect** realiza una comparación de elementos y registra los elementos que no cumplan con dicha comparación.
- +
- +En **res.body** tenemos el resultado de la operacion con los datos proporcionados por la **/api/personas**.
- +
- +A continuación le mostraremos algunos ejemplos de pruebas (test) que se pueden realizar para **persona**.
- +
- +
- +Debe obtener un objeto con la cantidad de los personas y un array con todos los personas
- +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- +
- +.. code:: javascript
- +
- + describe('GET /api/personas', function () {
- + it('Debe obtener un objeto con la cantidad de los personas y un array con todos los personas', function (done) {
- + request(app)
- + .get('/api/personas')
- + .set('authorization', 'Bearer ' + token)
- + .expect(200)
- + .expect('Content-Type', /json/)
- + .end((err, res)=> {
- + expect(res.body.count).to.equal(0);
- + expect(res.body.rows).to.be.instanceOf(Array);
- + done();
- + })
- + })
- + });
- +
- +Debe obtener un postulante por el id
- +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- +
- +.. code:: javascript
- +
- + describe('GET /api/personas/:id', function () {
- + it('Debe obtener una persona por el id', function (done) {
- + request(app)
- + .get('/api/personas/' + nuevoPostulante._id)
- + .set('authorization', 'Bearer ' + token)
- + .expect(200)
- + .expect('Content-Type', /json/)
- + .end((err, res)=> {
- + expect(res.body.nombres).to.equal(nuevoPostulante.nombres);
- + expect(res.body.apellidos).to.equal(nuevoPostulante.apellidos);
- + expect(res.body.ci).to.equal(nuevoPostulante.ci);
- + done();
- + })
- + })
- + });
- +
- +Debe actualizar el dato de una persona
- +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- +
- +.. code:: javascript
- +
- + describe('PUT /api/personas/:id', function () {
- + it('Debe actualizar una persona por el id ', function (done) {
- + nuevoPostulante.nombres = "Ana";
- + nuevoPostulante.apellidos = "Lopez Perez";
- + nuevoPostulante.ci = "123456";
- + request(app)
- + .put('/api/personas/' + nuevoPostulante._id)
- + .set('authorization', 'Bearer ' + token)
- + .send({nombres: nuevoPostulante.nombres, apellidos: nuevoPostulante.apellidos, ci: nuevoPostulante.ci})
- + .expect(200)
- + .expect('Content-Type', /json/)
- + .end((err, res)=> {
- + expect(res.body.nombres).to.equal(nuevoPostulante.nombres);
- + expect(res.body.apellidos).to.equal(nuevoPostulante.apellidos);
- + expect(res.body.ci).to.equal(nuevoPostulante.ci);
- + done();
- + })
- + })
- + });
- +
- +Debe eliminar y verificar la eliminación de un registro de persona
- +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- +
- +.. code:: javascript
- +
- + describe('DELETE /api/personas/:id', function () {
- +
- + it('Debe responder con 204 en la eliminación', function (done) {
- + request(app)
- + .delete('/api/personas/' + nuevoPostulante._id)
- + .set('authorization', 'Bearer ' + token)
- + .expect(204)
- + .end((err, res) => {
- + if (err) {
- + return done(err);
- + }
- + done();
- + });
- + });
- +
- + it('Debe responder con 404 si la persona no existe', function (done) {
- + request(app)
- + .delete('/api/personas/' + nuevoPostulante._id)
- + .set('authorization', 'Bearer ' + token)
- + .expect(404)
- + .end((err, res) => {
- + if (err) {
- + return done(err);
- + }
- + done();
- + });
- + });
- +
- + });
- +
- +
- +
- +.. _Mocha: https://mochajs.org/
- diff --git a/docs/otros/licencia.rst b/docs/otros/licencia.rst
- new file mode 100644
- index 0000000..32f6677
- --- /dev/null
- +++ b/docs/otros/licencia.rst
- @@ -0,0 +1,236 @@
- +LICENCIA PÚBLICA GENERAL
- +==============================================================================
- +
- +*Agencia para el Desarrollo de la Sociedad de la Información en Bolivia.*
- +
- +**LICENCIA PÚBLICA GENERAL**
- +
- +*de Consideraciones y Registro de Software Libre en Bolivia (LPG-Bolivia)*
- +
- +*Versión 1, 13 de mayo de 2014.*
- +
- +Introducción
- +------------------------------
- +
- +Esta licencia está basada en la Licencia Pública General GNU (GNU GPL) de la Fundación para el Software Libre (www.fsf.org), la cual ha sido adaptada por la Agencia para el Desarrollo de la Sociedad de la Información en Bolivia (ADSIB) a la normativa legal vigente en Bolivia, enmarcada en la Ley General de Telecomunicaciones, Tecnologías de Información y Comunicación, Ley No. 164 de 8 de agosto de 2011 y el Reglamento para el Desarrollo de Tecnologías de Información y Comunicación aprobado por el Decreto Supremo No. 1793 de 13 de noviembre de 2013.
- +
- +
- +Ésta no constituye una traducción oficial de la GNU GPL al español. No ha sido publicada por la Fundación para el Software Libre, y no establece legalmente las condiciones de distribución para el software que usa la GNU GPL –estas condiciones se establecen solamente por el texto original de la GNU GPL de la Fundación para el Software Libre (www.fsf.org).
- +
- +Esta licencia se aplica conforme a la legislación vigente y en orden de prelación normativa dando prioridad a lo normativa superior y sin vulnerar cualquier derecho consagrado por la Constitución y las Leyes del Estado Plurinacional de Bolivia.
- +
- +Esta licencia se basa en la traducción elaborada por Gonzalo Abella, Javier Aguirre, Héctor J. Macho Borja Menéndez, Javier Moset, Ángel Torrado.
- +
- +Preámbulo
- +
- +La Licencia Pública General Bolivia (LPG - Bolivia) es una licencia libre para software y otro tipo de obras.
- +
- +Las licencias para la mayoría del software y otras obras de carácter práctico están diseñadas para privarle de la libertad de compartir y modificar las obras. Por el contrario, esta Licencia Pública General pretende garantizar su libertad de compartir y modificar todas las versiones de un programa –para cerciorar que permanece como software libre para todos sus usuarios.
- +
- +Cuando hablamos de software libre, nos referimos a libertad de acción, no de precio. La LPG - Bolivia está diseñada para garantizar la libertad de distribuir copias de software libre (y cobrar por ello si quiere), de recibir el código fuente o poder conseguirlo si así lo desea, de modificar el software o usar parte del mismo en nuevos programas libres, y a saber que puede hacer estas cosas.
- +
- +Para proteger sus derechos, necesitamos evitar que otros le nieguen esos derechos o le pidan renunciar a ellos. Por lo tanto, usted tiene ciertas responsabilidades cuando distribuye copias del software, o si lo modifica: responsabilidades que persiguen respetar la libertad de otros.
- +
- +Si distribuye copias de un programa, bien sea gratis o por una tasa, debe transferirles a los que lo reciban las mismas libertades que usted recibió. Debe asegurarse que ellos, también, reciben o pueden obtener el código fuente. Y debe mostrarles estos términos para que ellos puedan conocer sus derechos.
- +
- +Los desarrolladores que usan la LPG-Bolivia protegen tus derechos con dos pasos: (1) haciendo valer el derecho de propiedad intelectual en el software y (2) le ofrecen esta Licencia que le da el permiso legal para copiarlo, distribuirlo y/o modificarlo.
- +
- +Para la protección de autores y desarrolladores, la LPG-Bolivia explica claramente que no hay garantía para este software libre. Por el bien de usuarios como de autores o titulares, la LPG-Bolivia establece que las versiones modificadas sean identificadas como tales, de forma que sus problemas no puedan ser atribuidos de forma errónea a autores de versiones previas.
- +
- +Algunos dispositivos están diseñados para denegar a los usuarios el acceso a instalar o ejecutar versiones modificadas del software en su interior, a pesar de que el fabricante puede hacerlo. Esto es fundamentalmente incompatible con el objetivo de proteger la libertad de los usuarios de modificar el software. Este tipo de abuso sistemático ocurre en el ámbito de los productos de uso personal, que es precisamente donde es más inaceptable. Por consiguiente, hemos diseñado esta versión de la LPG-Bolivia para prohibir estas prácticas en esos productos.
- +
- +Finalmente, todo programa está constantemente amenazado por las patentes de software. El Estado buscará los medios mas idóneos para evitar el especial peligro que suponen las patentes, que aplicadas a un programa libre puedan hacerlo propietario en la práctica. Para prevenir eso, la LPG-Bolivia establece que las patentes no pueden usarse para convertir un programa en no-libre.
- +
- +Los términos exactos y las condiciones para la copia, distribución y modificación se exponen a continuación.
- +
- +Términos y Condiciones
- +------------------------------
- +
- +0. Definiciones
- +
- +“Licencia” se refiere a la Licencia Pública General Bolivia (LPG-Bolivia) "Copyright", “Derechos de Autor (“Copyright”)” incluye a las leyes similares a la de derechos de autor (“copyright”) que se apliquen a otro tipo de obras.
- +
- +“El Programa” se refiere a cualquier obra con derechos de autor bajo esta Licencia. Cada “licenciatario” o “destinatario” es tratado como “usted”. Los “licenciatarios”, y los “destinatarios” pueden ser individuos u organizaciones.
- +
- +“Modificar” una obra quiere decir copiar o adaptar parte o la totalidad de la obra de una forma que se requieran permisos de derechos de autor (“copyright”), distintos de los de hacer una copia exacta. La obra resultante es llamada “versión modificada” de la obra previa o una obra “basada en” la obra previa.
- +
- +“Obra amparada” significa o el Programa sin modificar o una obra basada en el Programa.
- +
- +"Difundir" una obra significa hacer cualquier cosa con él que, sin permiso, le haga directa o indirectamente responsable de infringir leyes de derechos de autor (“copyright”), excepto la ejecución en un ordenador o la modificación de una copia privada. La difusión incluye la copia, distribución (con o sin modificaciones) y publicación.
- +
- +"Transmitir" una obra quiere decir cualquier tipo de difusión que permita a otras partes hacer o recibir copias. La mera interacción con un usuario a través de una red informática, sin transferir una copia, no es transmitir.
- +
- +Una interfaz interactiva de usuario muestra “Avisos Legales Apropiados” en la medida que incluye una característica visible, práctica y destacada que (1) muestra un aviso apropiado de derechos de autor (“copyright”), y (2) informa al usuario de que no hay garantía para la obra (excepto las garantías proporcionadas), que los licenciatarios deben transmitir la obra bajo esta Licencia, y cómo ver una copia de esta Licencia. Si la interfaz presenta una lista de comandos de usuario u opciones, como un menú, un elemento destacado en la lista satisface este criterio.
- +
- +1. Código Fuente
- +
- +El "código fuente" de una obra es el formato preferido de la misma para realizar modificaciones sobre ella. "Código objeto" se refiere a cualquier formato de la obra que no sea código fuente.
- +
- +Una "Interfaz Estándar" se refiere a una interfaz que sea un estándar oficial definido por una institución de estándares reconocida, o bien, en el caso de interfaces específicas para un determinado lenguaje de programación, una cuyo uso esté generalizado entre los desarrolladores que trabajan con ese lenguaje.
- +
- +Las “Bibliotecas del Sistema” de una obra ejecutable incluyen cualquier cosa, diferente de la obra como un todo, que (a) está incluida en la forma normal de empaquetado de un Componente Importante, pero que no forme parte de ese Componente Importante, y (b) sirve solo para habilitar el uso de la obra con ese Componente Importante, o para implementar una Interfaz Estándar para la cual una implementación está disponible para el público en forma de código fuente. Un “Componente Importante”, en este contexto, significa un componente importante esencial (kernel, sistema de ventanas, etcétera) del sistema operativo en concreto (si hubiese) en el cual el ejecutable funciona o un compilador utilizado para producir la obra, o un intérprete de código objeto utilizado para hacerla funcionar.
- +
- +La “Fuente Correspondiente” de una obra en forma de código objeto significa todo el código fuente necesario para generar, instalar, y (para una obra ejecutable) hacer funcionar el código objeto y modificar la obra, incluyendo los scripts o guiones o archivos de órdenes para controlar dichas actividades. Sin embargo, ello no incluye la obra de las Bibliotecas del Sistema o herramientas de propósito general o programas de libre disponibilidad general, los cuales son usados sin modificaciones para la realización de dichas actividades, pero que no son parte de la obra. Por ejemplo, la Fuente Correspondiente incluye ficheros de definición de interfaces asociados a los ficheros fuente para la obra, y el código fuente para bibliotecas compartidas y subprogramas enlazados dinámicamente que la obra requiere específicamente por diseño, tales como la comunicación de datos intrínseca o flujo de control entre aquellos subprogramas y otras partes de la obra.
- +
- +La Fuente Correspondiente no incluye necesariamente aquello que los usuarios pueden regenerar automáticamente a partir de otras partes de la Fuente Correspondiente.
- +
- +La Fuente Correspondiente de una obra en forma de código fuente es la obra en sí.
- +
- +2. Permisos Básicos
- +
- +Todos los derechos concedidos bajo esta Licencia se conceden durante la duración de los derechos de autor (“copyright”) del Programa, y son irrevocables siempre que se cumplan las condiciones establecidas. Esta Licencia afirma explícitamente su permiso ilimitado para ejecutar el Programa sin modificar. El resultado de la ejecución de una obra amparada está cubierta por esta Licencia solo si el mismo, dado su contenido, constituye una obra amparada. Esta Licencia reconoce sus derechos de uso razonable u otro equivalente, según lo establecido por la ley de derechos de autor (“copyright”).
- +
- +Usted podrá realizar, ejecutar y difundir obras amparadas que usted no transmita sin condición alguna, siempre y cuando la Licencia vigente no establezca otra cosa. Podrá transmitir obras amparadas a terceros con el único propósito de que ellos hagan modificaciones exclusivamente para usted, o proporcionarle ayuda para ejecutar estas obras, siempre y cuando cumpla con los términos de esta Licencia en la transmisión de todo el material del cual usted no controle los derechos de autor (“copyright”). Aquellos que realicen o ejecuten las obras amparadas para usted, deben hacerlo exclusivamente en su nombre, bajo su dirección y control, en términos que prohiban realizar ninguna copia de su materia registrado bajo derechos de autor (“copyright”) fuera de la relación con usted.
- +
- +La transmisión bajo otras circunstancias se permite únicamente bajo las condiciones establecidas más abajo. No está permitido sublicenciar; la claúsula 10 lo hace innecesario.
- +
- +3. Protección de Derechos Legales de los Usuarios Frente a Leyes Anti-Evación.
- +
- +Ninguna obra amparada debe considerarse parte de una medida tecnológica efectiva, a tenor de lo establecido en cualquier ley aplicable que cumpla las obligaciones establecidas en el artículo 11 del tratado de derechos de autor (“copyright”) de WIPO adoptado el 20 de diciembre de 1996, por el hoy Estado Plurinacional de Bolivia o leyes similares que prohíban o restrinjan la evasión de tales medidas.
- +
- +Cuando transmita una obra amparada, renuncia a cualquier poder legal para prohibir la evasión de medidas tecnológicas, mientras tales evasiones se realicen en ejercicio de derechos amparados por esta Licencia respecto a la obra amparada; además, usted renuncia a cualquier intención de limitar el uso o modificación de la obra con el objetivo de imponer, en contra de los usuarios de la obra, sus derechos legales o los de terceros para prohibir la evasión de medidas tecnológicas.
- +
- +4. Transmisión de Copias Literales
- +
- +Usted podrá transmitir copias literales del código fuente del Programa tal cual lo ha recibido, por cualquier medio, siempre que publique visible y apropiadamente en cada copia el correspondiente aviso de derechos de autor (“copyright”); mantenga intactos todos los avisos que establezcan que esta Licencia y cualquier cláusula no-permisiva añadida acorde con la cláusula 7 aplicables al código; mantenga intactos todos los avisos de ausencia de garantía; y proporcione a todos los destinatarios una copia de esta Licencia junto con el Programa.
- +
- +Usted podrá cobrar cualquier importe o no cobrar nada por cada copia que transmita y podrá ofrecer soporte o protección de garantía mediante un pago.
- +
- +5. Transmisión de Versiones Modificadas del Código
- +
- +Usted puede transmitir una obra basada en el Programa, o las modificaciones para generarla a partir del Programa, en la forma de código fuente bajo los términos de la sección 4, siempre que cumpla además todas las condiciones siguientes:
- +
- +a) La obra debe incluir avisos destacados indicando que usted la ha modificado y dando una fecha pertinente.
- +
- +b) La obra debe incluir avisos destacados indicando que está liberada o publicada bajo esta Licencia y cualquier otra condición añadida bajo la sección 7. Este requerimiento modifica los requerimientos de la sección 4 de “mantener intactos todos los avisos”.
- +
- +c) Usted debe licenciar la obra entera, como un todo, bajo esta Licencia para cualquier persona que esté en posesión de una copia. Esta Licencia se aplicará por consiguiente junto con cualquier término adicional aplicable bajo la sección 7, a la totalidad de la obra y a todos sus componentes, independientemente de como estén empaquetados. Esta Licencia no autoriza a licenciar la obra de otra forma, pero no invalida esos permisos si usted los ha recibido de forma separada.
- +
- +d) Si la obra tiene interfaces de usuario interactivas, cada una debe mostrar los Avisos Legales Apropiados; sin embargo, si el Programa tiene interfaces interactivas que no muestran los Avisos Legales Apropiados, tampoco es necesario que su obra lo haga.
- +
- +Una recopilación de una obra amparada con otras obras separadas e independientes, que no son por su naturaleza extensiones de la obra amparada, y que no se combinan con ella con el fin de formar un programa más grande, en o sobre un volumen de un medio de almacenamiento o distribución, es llamado un “agregado” si la recopilación y sus resultantes derechos de autor (“copyright”) no son usados para limitar el acceso o los derechos legales de los usuarios de la recopilación más allá de lo que las obras individuales permitan. La inclusión de una obra amparada en un agregado no provoca que esta Licencia se aplique a los otros componentes del agregado.
- +
- +6. Transmisión de Código No-Fuente
- +
- +Usted podrá transmitir el código objeto de una obra amparada en virtud de los términos de las cláusulas 4 y 5, siempre que también transmita las Fuentes Correspondientes en código legible por máquina, de acuerdo con los términos establecidos en esta Licencia, de alguna de las siguientes maneras:
- +
- +a) Transmitir el código objeto en, o embebido en, un producto físico (incluyendo medios de distribución físicos), acompañado de las Fuentes Correspondientes en un medio físico duradero y que sea utilizado habitualmente para el intercambio de software.
- +
- +b) Transmitir el código objeto en, o embebido en, un producto físico (incluyendo medios de distribución físicos), acompañado de una oferta por escrito, válido durante al menos tres años y válido mientras usted ofrezca recambios o soporte para ese modelo de producto, de dar a cualquiera que posea el código objeto bien (1) una copia de las Fuentes Correspondientes a todo el software del producto que esté cubierto por esta Licencia, en un medio físico duradero habitual para el intercambio de software, a un precio razonable, directamente relacionado al costo de efectuar la transmisión física de la Fuente Correspondiente, o (2) acceso para copiar la Fuente Correspondiente de un servidor de red sin costo alguno.
- +
- +c) Transmitir copias individuales del código objeto junto con una copia del ofrecimiento escrito de proveer la Fuente Correspondiente. Esta alternativa sólo está permitida ocasionalmente y sin fines comerciales, y solamente si usted recibió el código objeto junto con una oferta parecida, de acuerdo con la subcláusula 6b.
- +
- +d) Transmitir el código objeto ofreciendo acceso desde un lugar determinado (gratuitamente o mediante pago) y ofrecer acceso equivalente a la Fuente Correspondiente de la misma manera en el mismo lugar sin cargo adicional. No es necesario exigir a los destinatarios que copien la Fuente Correspondiente junto con el código objeto. Si el lugar para copiar el código objeto es un servidor de red, la Fuente Correspondiente puede estar en un servidor diferente (gestionado por usted o un tercero) que ofrezca facilidades de copia equivalentes, siempre que mantenga instrucciones claras junto al código objeto especificando dónde encontrar la Fuente Correspondiente. Independientemente de qué servidor albergue la Fuente Correspondiente, usted seguirá estando obligado a asegurar que está disponible durante el tiempo que sea necesario para satisfacer estos requisitos.
- +
- +e) Transmitir el código mediante transferencias de red entre pares o usuarios (peer-to-peer), siempre que informe a los otros pares o usuarios dónde se ofrece el código objeto y la Fuente Correspondiente de la obra al público general de forma gratuita bajo la subsección 6d.
- +
- +Una porción separable del código objeto, cuyo código fuente está excluido de la Fuente Correspondiente como una Biblioteca del Sistema, no necesita ser incluida en la transmisión del código objeto de la obra.
- +
- +Un “Producto de Usuario” es o (1) un “producto de consumo”, lo que significa cualquier propiedad tangible personal que es usada habitualmente con fines personales, familiares o domésticos, o (2) cualquier cosa diseñada o vendida para ser incorporada en una vivienda. Al determinar si un producto es un producto de consumo, los casos dudosos serán resueltos en favor de la cobertura. Para un producto concreto recibido por un usuario concreto, “uso habitual” se refiere a un uso típico o común de esa clase de producto, sin tener en cuenta la situación del usuario concreto o la forma en la que el usuario concreto realmente use, o espera o se espera que use, el producto. Un producto es un producto de consumo independientemente de si el producto tiene usos esencialmente comerciales, industriales o distintos del consumo, a menos que dichos usos constituyan el único modo de uso significativo del producto.
- +
- +Las "Instrucciones de Instalación" para un Producto de Usuario se refieren a cualquier método, procedimiento, clave de autorización u otro tipo de información necesaria para instalar y ejecutar una versión modificada de una obra amparada en ese Producto de Usuario, a partir de una versión modificada de su Fuente Correspondiente. Las instrucciones deben ser suficientes para asegurar que el funcionamiento continuo del código objeto modificado no es evitado, condicionado o interferido por el hecho de haber sufrido tal modificación.
- +
- +Si transmite el código objeto de una obra en o con un Producto de Usuario o específicamente para ser usado en el mismo, y la transmisión forma parte de una transacción donde los derechos de posesión y uso del Producto de Usuario se transfieren al destinatario a perpetuidad o por un periodo establecido (independientemente de las características de la transacción), la Fuente Correspondiente transmitida bajo esta sección debe estar acompañada de las Instrucciones de Instalación. Pero este requisito no se aplica si ni usted ni ningún tercero tiene la capacidad de instalar código objeto modificado en el Producto de Usuario.
- +
- +El requisito de proveer de las Instrucciones de Instalación no incluye la necesidad de continuar proporcionando asistencia, garantía o actualizaciones para una obra que ha sido modificada o instalada por el destinatario, o para el Producto de Usuario en el cual ha sido modificada o instalada. El acceso a una red puede ser denegado cuando la modificación en sí afecta materialmente y adversamente el funcionamiento de la red o viola las reglas y protocolos de comunicación de la red.
- +
- +Las Fuentes Correspondientes transmitidas y las Instrucciones de Instalación proporcionadas de acuerdo con esta sección deben figurar en un formato documentado públicamente (y con una implementación disponible para el público en forma de código fuente), y no deben necesitar contraseñas o claves de acceso especiales para la extracción, lectura o copia.
- +
- +7. Condiciones adicionales
- +
- +Los “Permisos adicionales” son condiciones que complementan los términos de esta Licencia haciendo excepciones de una o más de una de sus condiciones. Los permisos adicionales que son aplicables al Programa entero deberán ser tratados como si estuvieran incluidos en esta Licencia, hasta los límites de validez impuestos por las leyes aplicables. Si los permisos adicionales sólo son aplicables a parte del Programa, esa parte debe ser usada por separado bajo esos permisos, pero el Programa completo queda bajo la autoridad de esta Licencia sin considerar los permisos adicionales.
- +
- +Cuando transmita una copia de una obra amparada, puede opcionalmente quitar cualesquiera permisos adicionales de esa copia, o de cualquier parte de ella. (Los permisos adicionales pueden ser escritos para requerir su propia eliminación bajo ciertos casos cuando se modifica la obra.) Puede incorporar permisos adicionales a material añadido por usted a una obra amparada, sobre el cual usted tiene o puede establecer los permisos de derechos de autor (“copyright”) correspondientes.
- +
- +Sin contravenir cualquier otra disposición de esta Licencia, para el material que añada a una obra cubierta por la misma, usted puede (si está autorizado por los titulares de los derechos de autor (“copyright”) del material) complementar los términos de esta Licencia en los siguientes términos:
- +
- +a) Declarando la ausencia de garantía o limitación de responsabilidad en forma diferente a la de los términos establecidos en las cláusulas 14 y 15 de esta Licencia; u
- +
- +b) Requiriendo la obligación de mantener determinados avisos legales razonables o atribuciones de autoría en el material o en los Avisos Legales Apropiados mostrados por las obras que lo contengan.
- +
- +c) Prohibir la tergiversación del origen del material o requerir que las versiones modificadas del material se señalen de manera razonable como diferentes de la versión original; o
- +
- +d) Limitar la utilización de los nombres de los autores o licenciantes del material con fines publicitarios o comerciales; o
- +
- +e) Negarse a ofrecer derechos bajo leyes de registro para el uso de algunos nombres comerciales, marcas registradas o marcas de servicio; o
- +
- +f) Exigir la compensación de los licenciantes y autores de ese material por cualquiera que distribuya el material (o versiones modificadas del mismo) estableciendo obligaciones contractuales de responsabilidad sobre el destinatario, por cualquier responsabilidad que estas obligaciones contractuales impongan directamente sobre los licenciantes y autores.
- +
- +Cualesquiera otras condiciones adicionales no-permisivas son consideradas "restricciones adicionales" en el contexto de la cláusula 10. Si el Programa, tal cual lo recibió, o cualquier parte del mismo, contiene un aviso indicando que está amparado por esta Licencia junto a una cláusula de restricción adicional, usted podrá suprimir esa cláusula. Si un documento de licencia contiene una restricción de este tipo pero permite modificar la Licencia o la transmisión de la obra en virtud de la presente Licencia, puede añadir material regido por esa licencia a una obra amparada, siempre que dicha restricción no se mantenga tras la modificación de la licencia o la transmisión.
- +
- +Si se añaden términos a una obra amparada de acuerdo con los términos de esta sección, debe colocar, en los archivos fuente involucrados, una declaración de los términos adicionales aplicables a esos archivos, o un aviso indicando donde encontrar los términos aplicables.
- +
- +Las condiciones adicionales, permisivas o no, deben aparecer por escrito como licencias separadas o figurar como excepciones; de todas formas, los requisitos anteriores se aplican igualmente.
- +
- +8. Cancelación
- +
- +Usted no podrá difundir o modificar una obra amparada salvo lo expresamente permitido por esta Licencia. Cualquier intento diferente de difusión o modificación será considerado nulo y automáticamente cancelará sus derechos respecto a esta Licencia (incluyendo cualquier patente conseguida según el párrafo tercero de la cláusula 11).
- +
- +Sin embargo, si usted deja de violar esta Licencia, entonces su Licencia desde el titular de los derechos de autor (“copyright”) correspondiente será restituida (a) provisionalmente, a menos que y hasta que el titular de los derechos de autor (“copyright”) explícita y permanentemente de por cancelada su licencia, y (b) permanentemente, si el titular del derecho de autor no le ha notificado su violación por algún medio razonable antes de los 60 días siguientes a la cesación.
- +
- +Además, su Licencia de un titular de los derechos de autor (“copyright”) correspondientes será restituida permanentemente si el titular de los derechos de autor (“copyright”) le notifica la violación por algún medio razonable, siendo ésta la primera vez que recibe la notificación de violación de esta Licencia (para cualquier obra) de ese titular de los derechos de autor (“copyright”), y usted subsana la violación antes de 30 días después de la recepción de la notificación.
- +
- +La cancelación de sus derechos bajo esta sección no da por canceladas las licencias de terceros que hayan recibido copias o derechos de usted bajo esta Licencia. Si sus derechos han sido cancelados y no fueran renovados de manera permanente, usted no cumple los requisitos para recibir nuevas licencias para el mismo material bajo la sección 10.
- +
- +9. Aceptación por Tenencia de Copias.
- +
- +No está obligado a aceptar esta Licencia por recibir o ejecutar una copia del Programa. La difusión de una obra amparada surgida simplemente como consecuencia de la transferencias de red entre pares o usuarios (peer-to-peer) para obtener una copia tampoco requiere aceptación. Sin embargo, únicamente esta Licencia le otorga permiso para difundir o modificar cualquier obra amparada. Estas acciones infringen los derechos de autor (“copyright”) si usted no acepta esta Licencia. Por lo tanto, al modificar o difundir una obra amparada, usted indica que acepta esta Licencia para hacerlo.
- +
- +10. Licencia Automática para Destinatarios Subsiguientes
- +
- +Cada vez que transmita una obra amparada, el destinatario recibirá automáticamente una Licencia desde los licenciadores originales, para ejecutar, modificar y difundir esa obra, al amparo de los términos de esta Licencia. Usted no será responsable de asegurar el cumplimiento por terceros de esta Licencia.
- +
- +Una “transacción de entidad” es una transacción que transfiere el control de una organización, o sustancialmente todos los bienes de una, o subdivide una organización, o fusiona organizaciones. Si la difusión de una obra amparada surge de una transacción de entidad, cada parte involucrada en esa transacción que reciba una copia de la obra, también recibe todas y cada una de las licencias existentes de la obra que la entidad precedente tuviese o pudiese ofrecer según el párrafo anterior, además del derecho a tomar posesión de la Fuente Correspondiente de la obra a través del predecesor interesado, si está en poder de dicha parte o se puede conseguir con un esfuerzo razonable.
- +
- +Usted no podrá imponer restricciones adicionales por el ejercicio de los derechos otorgados o concedidos en virtud de la presente Licencia, no podrá imponer a la Licencia pagos, derechos u otros cargos por la redistribución o modificación a los subsiguientes beneficiarios o destinatarios de la obra según los derechos otorgados bajo esta Licencia; además no podrá iniciar litigios (incluyendo demandas o contrademandas en pleitos) alegando que se infringen patentes por cambiar, usar, vender, ofrecer en venta o importar el Programa, o cualquier parte del mismo.
- +
- +11. Patentes
- +
- +Un “colaborador” es un titular de los derechos de autor (“copyright”) que autoriza, bajo los términos de la presente Licencia el uso del Programa o una obra en la que se base el Programa. La obra así licenciada se denomina “versión en colaboración” del colaborador.
- +
- +Las “demandas de patente esenciales” del colaborador son todas las reivindicaciones de patentes poseídas o controladas por el colaborador, existentes o adquiridas con posterioridad, que fueran infringidas de alguna forma, permitida por esta Licencia, al hacer, usar o vender la versión en colaboración, pero sin incluir demandas que sólo sean infringidas como consecuencia de modificaciones posteriores de la versión en colaboración. Para los propósitos de esta definición, “control” incluye el derecho de conceder sublicencias de patente de forma consistente con los requisitos establecidos en la presente Licencia.
- +
- +Cada colaborador le concede a usted una licencia de la patente no-exclusiva, global y libre de regalías bajo las demandas de patente esenciales del colaborador, para hacer, usar, modificar, vender, ofrecer para venta, importar y otras formas de ejecución, modificación y difusión del contenido de la versión en colaboración.
- +
- +En los siguientes tres párrafos, una “licencia de patente” se define como cualquier acuerdo o compromiso expreso, cualquiera que sea su denominación, que no imponga una patente (como el permiso expreso para ejecutar una patente o acuerdos para no imponer demandas por infracción de patente). “Conceder” una licencias de patente de este tipo a un tercero significa hacer tal tipo de acuerdo o compromiso de no imponer una patente a ningún tercero.
- +
- +Si usted transmite una obra amparada, conociendo que está amparada por una licencia de patente, y las Fuentes Correspondientes no se encuentran disponibles de forma pública para su copia, sin cargo alguno y bajo los términos de esta Licencia, ya sea a través de un servidor público o mediante cualquier otro medio, entonces usted deberá (1) hacer que las Fuentes Correspondientes sean públicas, o (2) tratar de eliminar los beneficios de la licencia de patente para esta obra en particular, o (3) tratar de extender, de manera compatible con los requisitos de esta Licencia, la licencia de patente a los terceros o destinatarios subsiguientes. “Conocer que está afectado” significa que usted tiene conocimiento real de que, para la licencia de patente, la transmisión de la obra amparada en un país, o el uso de la obra amparada por sus destinatarios en un país, infringiría una o más patentes existentes en ese país que usted considera válidas por algún motivo.
- +
- +Si, de conformidad con alguna transacción o acuerdo (o en un proceso relacionado con ellos), usted transmite o difunde con fines de distribución, una obra amparada, concediendo una licencia de patente para algún tercero que reciba la obra amparada, y autorizá a usar, difundir, modificar o transmitir una copia específica de la obra amparada, entonces la licencia de patente que usted otorgue se extiende automáticamente a todos los receptores de la obra amparada y cualquier obra basada en ella.
- +
- +Una licencia de patente es “discriminatoria” si no incluye en el marco de su cobertura los derechos otorgados por esta licencia, prohíbe el ejercicio o esta condicionada al no ejercicio de uno o mas de los derechos específicamente otorgados por esta licencia. Usted no debe transmitir una obra amparada si usted es parte de un acuerdo con una tercera parte involucrada en el negocio de distribución de software, bajo el cual usted debe realizar un pago a esa parte basado en el rango de su actividad de transmisión de la obra y bajo la cual la tercera parte adquiere, frente a cualquiera de las partes que pueda recibir de usted la obra, una licencia de patente discriminatoria (a) en conexión con copias de la obra amparada distribuida por usted (o copias hechas de esas copias), o (b) principalmente o en conexión con productos específicos o compilaciones que contienen la obra amparada.
- +
- +Nada en esta Licencia debe ser interpretado como excluyente o limitante a cualquier licencia implicada u otras defensas a la violación que puedan hacerse disponibles para usted bajo la ley de patentes aplicables.
- +
- +12. No Condicionamiento de la Libertad de Terceros
- +
- +Si a usted le son impuestas condiciones que contravienen las estipuladas en la presente Licencia (ya sea por orden judicial, acuerdo u otros), no quedará eximido de cumplir las condiciones de esta Licencia. Si usted no puede transmitir una obra amparada cumpliendo sus obligaciones con esta Licencia, entonces no podrá transmitirla de ninguna forma. Por ejemplo, si usted se compromete con términos que le obligan a obtener derechos por la transmisión que terceros a los cuales haya transmitido la obra amparada pudieran realizar, la única forma de satisfacer ambos condicionantes y esta Licencia es abstenerse completamente de transmitir el Programa.
- +
- +13. Versiones Actualizadas de esta Licencia
- +
- +La ADSIB puede publicar versiones revisadas y/o nuevas de la LPG - Bolivia. Cada nueva versión será similar en espíritu a la versión actual, pero puede diferir en detalles para abordar nuevos problemas o preocupaciones.
- +
- +Cada versión recibe un número de versión distintivo. Si el Programa especifica que cierta versión numerada de la Licencia General Pública Bolivia o cualquier versión posterior se aplica a él, usted tiene la opción de seguir los términos y condiciones de esa versión numerada o de cualquier versión posterior publicada por la ADSIB. Si el Programa no especifica un número de versión de la LPG - Bolivia, usted puede escoger cualquier versión publicada por la ADSIB.
- +
- +Si el Programa especifica que un apoderado/representante puede decidir qué versiones de la LPG - Bolivia pueden aplicarse en el futuro, la declaración pública de aceptación que el apoderado/representante haga de una versión le autoriza a usted con carácter permanente a elegir esa versión para el Programa.
- +
- +Las versiones posteriores de la Licencia pueden darle permisos adicionales o diferentes. No obstante, no se impone a ningún autor o titular de los derechos de autor obligaciones adicionales como resultado de su elección de seguir una versión posterior.
- +
- +14. Ausencia de Garantía
- +
- +EL PROGRAMA NO TIENE GARANTÍA ALGUNA, HASTA LOS LÍMITES PERMITIDOS POR LAS LEYES APLICABLES. SALVO CUANDO SE ESTABLEZCA LO CONTRARIO POR ESCRITO, LOS TITULARES DE LOS DERECHOS DE AUTOR (“COPYRIGHT”) Y/O TERCEROS PROPORCIONAN EL PROGRAMA “TAL CUAL” SIN GARANTÍAS DE NINGÚN TIPO, BIEN SEAN EXPLÍCITAS O IMPLÍCITAS, INCLUYENDO, PERO NO LIMITADO A, LAS GARANTÍAS IMPLÍCITAS DE COMERCIALIZACIÓN Y APTITUD PARA UN PROPÓSITO PARTICULAR. USTED ASUMIRÁ CUALQUIER RIESGO RELATIVO A LA CALIDAD Y RENDIMIENTO DEL PROGRAMA. SI EL PROGRAMA FUESE DEFECTUOSO, USTED ASUMIRÁ CUALQUIER COSTE DE SERVICIO, REPARACIÓN O CORRECCIÓN.
- +
- +15. Límite de responsabilidad
- +
- +EN NINGÚN CASO, SALVO REQUERIMIENTO POR LEYES APLICABLES O MEDIANTE ACUERDO POR ESCRITO NINGÚN TITULAR DE LOS DERECHOS DE AUTOR (“COPYRIGHT”), O NINGÚN TERCERO QUE MODIFIQUE Y/O DISTRIBUYA EL PROGRAMA SEGÚN LO INDICADO ANTERIORMENTE, PODRÁ HACERLE A USTED RESPONSABLE DE DAÑO ALGUNO, INCLUYENDO CUALQUIER DAÑO GENERAL, ESPECIAL, OCASIONAL O DERIVADO QUE SURJA DEL USO O LA INCAPACIDAD DE USO DEL PROGRAMA (INCLUYENDO PERO SIN LIMITARSE A LA PÉRDIDA DE DATOS O LA PRESENTACIÓN NO PRECISA DE LOS MISMOS O A PÉRDIDAS SUFRIDAS POR USTED O TERCEROS O AL FALLO DEL PROGRAMA AL INTERACTUAR CON OTROS PROGRAMAS), INCLUSO SI DICHO TITULAR O UN TERCERO HA SIDO ADVERTIDO DE LA POSIBILIDAD DE TALES DAÑOS.
- +
- +16. Interpretación de las Cláusulas 14 y 15
- +
- +Si el descargo de responsabilidad de garantía y el límite de responsabilidad proporcionado anteriormente no tiene efectos legales de acuerdo a sus términos, los juzgados deberán aplicar la ley local que más se asemeje a una renuncia absoluta de la responsabilidad civil concerniente al Programa, a menos que una garantía o una asunción de responsabilidad acompañe a la copia del Programa como resultado del pago de una tasa.
- +
- +17. Del Licenciamiento GNU GPL.
- +
- +La presente licencia ha sido traducida y adaptada para la publicación y distribución de software libre por parte de las entidades públicas del Estado Plurinacional de Bolivia en el Repositorio Estatal de Software Libre, conforme a lo establecido por la Ley No. 164 y el D.S. 1793, y busca ser lo más fiel posible a la letra y espíritu de la GNU GPL. No obstante, como salvaguarda, todo usuario esta autorizado a licenciar bajo la GNU GPL, publicada de forma oficial por la Fundación para el Software Libre en su página web www.fsf.org, cualquier obra que reciba bajo la presente licencia, según la legislación legal correspondiente.
- +
- +
- +**FIN DE TÉRMINOS Y CONDICIONES**
- diff --git "a/docs/evaluacionCargoEtapa/evaluaci\303\263nCargoEtapa.rst" b/docs/reserva/reserva.rst
- similarity index 60%
- rename from "docs/evaluacionCargoEtapa/evaluaci\303\263nCargoEtapa.rst"
- rename to docs/reserva/reserva.rst
- index 1015a0b..9edb393 100644
- --- "a/docs/evaluacionCargoEtapa/evaluaci\303\263nCargoEtapa.rst"
- +++ b/docs/reserva/reserva.rst
- @@ -1,5 +1,5 @@
- -Evaluación Cargo Etapa
- -======================
- +Reserva
- +====================
- Formato URL
- ------------------------
- @@ -20,31 +20,27 @@ Ejemplo
- **Contenido Body**
- -Contenido en data del cuerpo para realizar el creado ó actualización de un registro identificado como :id (Identificador único del registro).
- +Contenido en data del cuerpo para realizar el creado y actualización de un registro identificado como :id.
- .. code:: json
- - {
- - "fecha_creacion": "2016-07-04T14:04:23.583Z",
- - "fecha_modificacion": "2016-07-04T14:04:23.583Z",
- - "fk_evaluacion": 7, // servidores web
- - "fk_cargo_convocatoria": 1, // cargo: Seguridad Informática e Incidentes Informáticos I, convocatoria: Se requiere personal en el área de desarrollo y seguridad informática
- - "fk_etapa": 2 // Evaluación requerimiento de personal (15 de marzo)
- - }
- -
- -
- -+----------------------------------------+---------------------------------------------------------------------+----------------------------------------------------+-----------------------------------------------------+----------------------------------------------------+
- -|**Recurso** |**GET** |**POST** |**PUT** |**DELETE** |
- -+========================================+=====================================================================+====================================================+=====================================================+====================================================+
- -| `/evaluacionesCargosEtapas` | Obtiene el listado de todas las Evaluaciones Cargo Etapa | Crea un registro de Evaluaciones Cargo Etapa | | |
- -+----------------------------------------+---------------------------------------------------------------------+----------------------------------------------------+-----------------------------------------------------+----------------------------------------------------+
- -| `/evaluacionesCargosEtapas/:id` | Obtiene la etapas identificado como :id | | Actualiza registro :id de Evaluaciones Cargo Etapa | Elimina registro :id de Evaluaciones Cargo Etapa |
- -+----------------------------------------+---------------------------------------------------------------------+----------------------------------------------------+-----------------------------------------------------+----------------------------------------------------+
- -
- + {
- + "fecha_creacion": "2016-04-27T20:58:20.042Z",
- + "fecha_modificacion": "2016-04-27T20:58:20.042Z",
- + "fk_persona": 1202, //Jesus Adrian Romero
- + "fk_cargo": 1380 //Desarrollador de Sistemas 1
- + }
- +
- ++-----------------------------------------------------+-----------------------------------------------------------------------------------------------+----------------------------------------------------+-----------------------------------------------+----------------------------------------------+
- +|**Recurso** |**GET** |**POST** |**PUT** |**DELETE** |
- ++=====================================================+===============================================================================================+====================================================+===============================================+==============================================+
- +| /reservas | Obtiene el listado de todos las Reservas | Crea un registro de Reserva | | |
- ++-----------------------------------------------------+-----------------------------------------------------------------------------------------------+----------------------------------------------------+-----------------------------------------------+----------------------------------------------+
- +| /reservas/:id | Obtiene la Reserva identificado como :id | | Actualiza registro :id de Reserva | Elimina registro :id de Reserva |
- ++-----------------------------------------------------+-----------------------------------------------------------------------------------------------+----------------------------------------------------+-----------------------------------------------+----------------------------------------------+
- Respuestas
- ----------
- -
- +------------------+----------------------------------------------------------------------------------------------+
- | **Código HTTP** | **Descripción** |
- +==================+==============================================================================================+
- diff --git a/docs/tag/tag.rst b/docs/tag/tag.rst
- index fcfe9b2..85822c7 100644
- --- a/docs/tag/tag.rst
- +++ b/docs/tag/tag.rst
- @@ -1,68 +1,46 @@
- Tag
- -===
- +====================
- -Mostrar todos los tags
- -----------------------
- +Formato URL
- +------------------------
- ++-----------------+-------------------------+
- +|**Método HTTP** |**Significado** |
- ++=================+=========================+
- +|`GET` | Obtiene un recurso |
- ++-----------------+-------------------------+
- +|`POST` | Crea un recurso |
- ++-----------------+-------------------------+
- +|`PUT` | Actualiza un recurso |
- ++-----------------+-------------------------+
- +|`DELETE` | Borra un recurso |
- ++-----------------+-------------------------+
- -URL
- -```
- -::
- +Ejemplo
- +''''''''''''
- - /tags
- +**Contenido Body**
- -Método
- -``````
- -``GET``
- +Contenido en data del cuerpo para realizar el creado y actualización de un registro identificado como :id.
- -Respuesta correcta
- -``````````````````
- -
- -**Código:** 200
- +.. code:: json
- -**Contenido:**
- + {
- + "nombre": "javascript",
- + "fecha_creacion": "2016-04-27T20:58:20.042Z",
- + "fecha_modificacion": "2016-04-27T20:58:20.042Z"
- + }
- -.. code:: json
- ++-----------------------------------------------------+-----------------------------------------------------------------------------------------------+----------------------------------------------------+-----------------------------------------------+----------------------------------------------+
- +|**Recurso** |**GET** |**POST** |**PUT** |**DELETE** |
- ++=====================================================+===============================================================================================+====================================================+===============================================+==============================================+
- +| /tags | Obtiene el listado de todos los Tags | Crea un registro de Tag | | |
- ++-----------------------------------------------------+-----------------------------------------------------------------------------------------------+----------------------------------------------------+-----------------------------------------------+----------------------------------------------+
- +| /tags/:id | Obtiene el Tag identificado como :id | | Actualiza registro :id de Tag | Elimina registro :id de Tag |
- ++-----------------------------------------------------+-----------------------------------------------------------------------------------------------+----------------------------------------------------+-----------------------------------------------+----------------------------------------------+
- - {
- - "count":5,"rows":
- - [
- - {
- - "_id": 187,
- - "nombre": "C++",
- - "fecha_creacion": "2016-03-16T15:50:28.626Z",
- - "fecha_modificacion": "2016-03-16T15:50:28.626Z"
- - },
- - {
- - "_id": 188,
- - "nombre": "Python",
- - "fecha_creacion": "2016-03-16T15:50:28.628Z",
- - "fecha_modificacion": "2016-03-16T15:50:28.628Z"
- - },
- - {
- - "_id": 189,
- - "nombre": "Java",
- - "fecha_creacion": "2016-03-16T15:50:28.629Z",
- - "fecha_modificacion": "2016-03-16T15:50:28.629Z"
- - },
- - {
- - "_id": 190,
- - "nombre": "PHP",
- - "fecha_creacion": "2016-03-16T15:50:28.630Z",
- - "fecha_modificacion": "2016-03-16T15:50:28.630Z"
- - },
- - {
- - "_id": 191,
- - "nombre": "Ruby",
- - "fecha_creacion": "2016-03-16T15:50:28.632Z",
- - "fecha_modificacion": "2016-03-16T15:50:28.632Z"
- - }
- - ]
- - }
- -Parámetros opcionales de la URL
- -```````````````````````````````
- -Tabla de parámetros
- -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
- +Tabla de parámetros opcionales de la URL para peticines GET
- +'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
- +-+-----------+------------------+---------------------------------------------------------------------+
- |**Nombre** |**Tipo** |**Descripción** |
- +=+===========+==================+=====================================================================+
- @@ -87,647 +65,25 @@ Tabla de parámetros
- | |`entidad` | String |El nombre de la entidad. |
- +-+-----------+------------------+---------------------------------------------------------------------+
- -Muestra una determinada cantidad de tags
- -''''''''''''''''''''''''''''''''''''''''
- -
- -**URL**
- -::
- -
- - /tags?elementos=valor
- -
- -**Parámetros usados**
- -
- -============ =====================
- -**Nombre** **Valor enviado**
- -============ =====================
- -`elementos` 1
- -============ =====================
- -
- -**Ejemplo:**
- -::
- -
- - /tags?elementos=3
- -
- -**Respuesta:**
- -
- -.. code:: json
- -
- - {
- - "count":5,"rows":
- - [
- - {
- - "_id": 187,
- - "nombre": "C++",
- - "fecha_creacion": "2016-03-16T15:50:28.626Z",
- - "fecha_modificacion": "2016-03-16T15:50:28.626Z"
- - },
- - {
- - "_id": 188,
- - "nombre": "Python",
- - "fecha_creacion": "2016-03-16T15:50:28.628Z",
- - "fecha_modificacion": "2016-03-16T15:50:28.628Z"
- - },
- - {
- - "_id": 189,
- - "nombre": "Java",
- - "fecha_creacion": "2016-03-16T15:50:28.629Z",
- - "fecha_modificacion": "2016-03-16T15:50:28.629Z"
- - }
- - ]
- - }
- -
- -Muestra los tags en una determinada página
- -''''''''''''''''''''''''''''''''''''''''''
- -
- -**URL**
- -::
- -
- - /tags?pagina=valor
- -
- -**Parámetros usados**
- -
- -============ =====================
- -**Nombre** **Valor enviado**
- -============ =====================
- -`pagina` 1
- -============ =====================
- -
- -**Ejemplo:**
- -::
- -
- - /tags?pagina=1
- -
- -**Respuesta:**
- -
- -.. code:: json
- -
- - {
- - "count":5,"rows":
- - [
- - {
- - "_id": 187,
- - "nombre": "C++",
- - "fecha_creacion": "2016-03-16T15:50:28.626Z",
- - "fecha_modificacion": "2016-03-16T15:50:28.626Z"
- - },
- - {
- - "_id": 188,
- - "nombre": "Python",
- - "fecha_creacion": "2016-03-16T15:50:28.628Z",
- - "fecha_modificacion": "2016-03-16T15:50:28.628Z"
- - },
- - {
- - "_id": 189,
- - "nombre": "Java",
- - "fecha_creacion": "2016-03-16T15:50:28.629Z",
- - "fecha_modificacion": "2016-03-16T15:50:28.629Z"
- - },
- - {
- - "_id": 190,
- - "nombre": "PHP",
- - "fecha_creacion": "2016-03-16T15:50:28.630Z",
- - "fecha_modificacion": "2016-03-16T15:50:28.630Z"
- - },
- - {
- - "_id": 191,
- - "nombre": "Ruby",
- - "fecha_creacion": "2016-03-16T15:50:28.632Z",
- - "fecha_modificacion": "2016-03-16T15:50:28.632Z"
- - }
- - ]
- - }
- -
- -Ordena los tags ascendentemente en base a un campo del modelo
- -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
- -
- -**URL**
- -::
- -
- - /tags?ordenarPor=valor
- -
- -**Parámetros usados**
- -
- -============ =====================
- -**Nombre** **Valor enviado**
- -============ =====================
- -`ordenarPor` nombre
- -============ =====================
- -
- -**Ejemplo:**
- -::
- -
- - /tags?ordenarPor=nombre
- -
- -**Respuesta:**
- -
- -.. code:: json
- -
- - {
- - "count":5,"rows":
- - [
- - {
- - "_id": 187,
- - "nombre": "C++",
- - "fecha_creacion": "2016-03-16T15:50:28.626Z",
- - "fecha_modificacion": "2016-03-16T15:50:28.626Z"
- - },
- - {
- - "_id": 189,
- - "nombre": "Java",
- - "fecha_creacion": "2016-03-16T15:50:28.629Z",
- - "fecha_modificacion": "2016-03-16T15:50:28.629Z"
- - },
- - {
- - "_id": 190,
- - "nombre": "PHP",
- - "fecha_creacion": "2016-03-16T15:50:28.630Z",
- - "fecha_modificacion": "2016-03-16T15:50:28.630Z"
- - },
- - {
- - "_id": 188,
- - "nombre": "Python",
- - "fecha_creacion": "2016-03-16T15:50:28.628Z",
- - "fecha_modificacion": "2016-03-16T15:50:28.628Z"
- - },
- - {
- - "_id": 191,
- - "nombre": "Ruby",
- - "fecha_creacion": "2016-03-16T15:50:28.632Z",
- - "fecha_modificacion": "2016-03-16T15:50:28.632Z"
- - }
- - ]
- - }
- -
- -Ordena los tags descendentemente en base a un campo del modelo
- -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
- -
- -**URL**
- -::
- -
- - /tags?ordenarPor=valor1&orden=true
- -
- -**Parámetros usados**
- -
- -============ =================
- -**Nombre** **Valor enviado**
- -============ =================
- -`ordenarPor` nombre
- -`orden` true
- -============ =================
- -
- -**Ejemplo:**
- -::
- -
- - /tags?ordenarPor=nombre&orden=true
- -
- -**Respuesta:**
- -
- -.. code:: json
- -
- - {
- - "count":5,"rows":
- - [
- - {
- - "_id": 191,
- - "nombre": "Ruby",
- - "fecha_creacion": "2016-03-16T15:50:28.632Z",
- - "fecha_modificacion": "2016-03-16T15:50:28.632Z"
- - },
- - {
- - "_id": 188,
- - "nombre": "Python",
- - "fecha_creacion": "2016-03-16T15:50:28.628Z",
- - "fecha_modificacion": "2016-03-16T15:50:28.628Z"
- - },
- - {
- - "_id": 190,
- - "nombre": "PHP",
- - "fecha_creacion": "2016-03-16T15:50:28.630Z",
- - "fecha_modificacion": "2016-03-16T15:50:28.630Z"
- - },
- - {
- - "_id": 189,
- - "nombre": "Java",
- - "fecha_creacion": "2016-03-16T15:50:28.629Z",
- - "fecha_modificacion": "2016-03-16T15:50:28.629Z"
- - },
- - {
- - "_id": 187,
- - "nombre": "C++",
- - "fecha_creacion": "2016-03-16T15:50:28.626Z",
- - "fecha_modificacion": "2016-03-16T15:50:28.626Z"
- - }
- - ]
- - }
- -
- -Busca los Tags que contenga la palabra "Java"
- -'''''''''''''''''''''''''''''''''''''''''''''
- -
- -**URL**
- -::
- -
- - /tags?buscar=%7B%22en%22:%22valor1%22,%22palabra%22:%22valor2%22%7D
- -
- -**Parámetros usados**
- -
- -============ ===========================================
- -**Nombre** **Valor enviado**
- -============ ===========================================
- -`buscar` ::
- -
- - [{"en":"nombre","palabra":"Java"}]
- -============ ===========================================
- -
- -**Ejemplo:**
- -::
- -
- - /tags?buscar=%7B%22en%22:%22nombre%22,%22palabra%22:%22Java%22%7D
- -
- -**Respuesta:**
- -
- -.. code:: 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 las personas que tienen el Tag "Java"
- -''''''''''''''''''''''''''''''''''''''''''''''''
- -
- -**URL**
- -::
- -
- - /tags?buscar=%7B%22en%22:%22valor1%22,%22palabra%22:%22valor2%22%7D&incluye=%7B%22entidad%22:%22valor3%22%7D
- -
- -**Parámetros usados**
- -
- -============ ===========================================
- -**Nombre** **Valor enviado**
- -============ ===========================================
- -`buscar` ::
- -
- - [{"en":"nombre","palabra":"java"}]
- -
- -`incluye` ::
- -
- - [{"entidad":"persona"}]
- -============ ===========================================
- -
- -**Ejemplo:**
- -::
- -
- - /tags?buscar=%7B%22en%22:%22nombre%22,%22palabra%22:%22java%22%7D&incluye=%7B%22entidad%22:%22persona%22%7D
- -
- -**Respuesta:**
- -
- -.. code:: json
- -
- - {
- - "count":5,"rows":
- - [
- - {
- - "_id": 189,
- - "nombre": "Java",
- - "fecha_creacion": "2016-03-16T15:50:28.629Z",
- - "fecha_modificacion": "2016-03-16T15:50:28.629Z",
- - "Personas":
- - [
- - {
- - "_id": 220,
- - "nombres": "Carlos Alberto",
- - "apellidos": "Vargas Nina",
- - "ci": 6845231,
- - "fecha_creacion": "2016-01-14T22:52:31.554Z",
- - "fecha_modificacion": "2016-01-14T22:52:31.554Z",
- - "TagPersona":
- - {
- - "_id": 63,
- - "fecha_creacion": "2016-01-16T15:50:28.738Z",
- - "fecha_modificacion": "2016-01-16T15:50:28.738Z",
- - "fk_persona": 220,
- - "fk_tag": 189
- - }
- - },
- - {
- - "_id": 560,
- - "nombres": "Damian Teodoro",
- - "apellidos": "Soliz Antequera",
- - "ci": 129855,
- - "fecha_creacion": "2016-01-14T22:52:31.554Z",
- - "fecha_modificacion": "2016-01-14T22:52:31.554Z",
- - "TagPersona":
- - {
- - "_id": 63,
- - "fecha_creacion": "2016-01-16T15:50:28.738Z",
- - "fecha_modificacion": "2016-01-16T15:50:28.738Z",
- - "fk_persona": 560,
- - "fk_tag": 189
- - }
- - }
- - ]
- - }
- - ]
- - }
- -
- -Respuesta de error
- -``````````````````
- -
- -**Código:** 500
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - {
- - "error":"Ocurrio un problema inesperado en el servidor"
- - }
- -
- -Observaciones
- -`````````````
- -- Cuando no existen datos almacenados en la base de datos retorna un array vacio
- -- El parámetro 'orden' depende de 'ordenarPor'
- -- El parámetro 'pagina' muestra 15 tags por defecto
- -
- -----
- -
- -Crear un tag
- -------------
- -
- -URL
- -```
- -::
- -
- - /tags
- -
- -Método
- -``````
- -``POST``
- -
- -Parámetros del body
- -```````````````````
- -**Ejemplo:**
- -
- -.. code:: json
- -
- - {
- - "nombre": "Javascript"
- - }
- -
- -Respuesta correcta
- -``````````````````
- -
- -**Código:**
- -201
- -
- -**Ejemplo:**
- -
- -.. code:: json
- -
- - {
- - "_id": 192,
- - "nombre": "Javascript",
- - "fecha_modificacion": "2016-03-16T16:07:29.322Z",
- - "fecha_creacion": "2016-03-16T16:07:29.322Z"
- - }
- -
- -Respuesta de error
- -``````````````````
- -
- -**Código:** 409
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - {
- - "name": "SequelizeUniqueConstraintError",
- - "message": "El objeto ya existe",
- - "errors": {}
- - }
- -
- -**Código:** 400
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - {
- - "name": "SequelizeValidationError",
- - "message": "Validation error: Por favor ingrese un nombre para el tag",
- - "errors": [
- - {
- - "message": "Por favor ingrese un nombre para el tag",
- - "type": "Validation error",
- - "path": "nombre",
- - "value": {},
- - "__raw": {}
- - }
- - ]
- - }
- -
- -----
- -
- -Mostrar un tag
- ---------------
- -
- -URL
- -```
- -::
- -
- - /tags/:id
- -
- -Método
- -``````
- -``GET``
- -
- -Parámetros de la URL
- -````````````````````
- -
- -**Parámetro requerido:**
- -
- -============ ============== ================================================
- -**Nombre** **Tipo** **Descripción**
- -============ ============== ================================================
- -`id` Integer Identificador único del registro en la entidad.
- -============ ============== ================================================
- -
- -**Ejemplo:**
- -::
- -
- - id=192
- -
- -Respuesta correcta
- -``````````````````
- -
- -**Código:** 200
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - {
- - "_id": 192,
- - "nombre": "Javascript",
- - "fecha_modificacion": "2016-03-16T16:07:29.322Z",
- - "fecha_creacion": "2016-03-16T16:07:29.322Z"
- - }
- -
- -Respuesta de error
- -``````````````````
- -
- -**Código:** 404
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - {
- - "message": "Entidad no encontrada"
- - }
- -
- -----
- -
- -Editar un tag
- --------------
- -
- -URL
- -```
- -::
- -
- - /tag/:id
- -
- -Método
- -``````
- -``PUT``
- -
- -Parámetros de la URL
- -````````````````````
- -
- -**Parámetro requerido:**
- -
- -============ ============== ================================================
- -**Nombre** **Tipo** **Descripción**
- -============ ============== ================================================
- -`id` Integer Identificador único del registro en la entidad.
- -============ ============== ================================================
- -
- -**Ejemplo:**
- -::
- -
- - id=192
- -
- -Parámetros del body
- -```````````````````
- -**Ejemplo:**
- -
- -.. code:: json
- -
- - {
- - "nombre":"git"
- - }
- -
- -Respuesta correcta
- -``````````````````
- -
- -**Código:** 200
- -
- -**Ejemplo:**
- -
- -.. code:: json
- -
- - {
- - "_id": 192,
- - "nombre": "git",
- - "fecha_modificacion": "2016-03-16T16:07:29.322Z",
- - "fecha_creacion": "2016-03-16T16:07:29.322Z"
- - }
- -
- -Respuesta de error
- -``````````````````
- -
- -**Código:** 404
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - {
- - "message": "Entidad no encontrada"
- - }
- -
- -**Código:** 400
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - {
- - "name": "SequelizeValidationError",
- - "message": "Validation error: Por favor ingrese un nombre para el tag",
- - "errors": [
- - {
- - "message": "Por favor ingrese un nombre para el tag",
- - "type": "Validation error",
- - "path": "nombre",
- - "value": {},
- - "__raw": {}
- - }
- - ]
- - }
- -
- -----
- -
- -Eliminar un tag
- ----------------
- -
- -URL
- -```
- -::
- -
- - /tags/:id
- -
- -Método
- -``````
- -``DELETE``
- -
- -Parámetros de la URL
- -````````````````````
- -
- -**Parámetro requerido:**
- -
- -============ ============== ================================================
- -**Nombre** **Tipo** **Descripción**
- -============ ============== ================================================
- -`id` Integer Identificador único del registro en la entidad.
- -============ ============== ================================================
- -
- -**Ejemplo:**
- -::
- -
- - id=192
- -
- -Respuesta correcta
- -``````````````````
- -
- -**Código:** 204
- -
- -Respuesta de error
- -``````````````````
- -
- -**Código:** 404
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - {
- - "message": "Entidad no encontrada"
- - }
- +Respuestas
- +----------
- +
- ++------------------+----------------------------------------------------------------------------------------------+
- +| **Código HTTP** | **Descripción** |
- ++==================+==============================================================================================+
- +| `200` | Ok |
- ++------------------+----------------------------------------------------------------------------------------------+
- +| `201` | Creado |
- ++------------------+----------------------------------------------------------------------------------------------+
- +| `400` | Parámetros incorrectos en la entrada |
- ++------------------+----------------------------------------------------------------------------------------------+
- +| `401` | Token de acceso expirado o invalido |
- ++------------------+----------------------------------------------------------------------------------------------+
- +| `404` | Recurso no encontrado |
- ++------------------+----------------------------------------------------------------------------------------------+
- +| `405` | Método HTTP no esperado. Ejemplo: se esperaba un HTTP GET y se recibió un HTTP POST |
- ++------------------+----------------------------------------------------------------------------------------------+
- +| `429` | Se están recibiendo muchos requests de parte de tu aplicación. Se esta limitando el acceso |
- ++------------------+----------------------------------------------------------------------------------------------+
- +| `500` | Error interno del servidor |
- ++------------------+----------------------------------------------------------------------------------------------+
- diff --git a/docs/tagPersona/tagPersona.rst b/docs/tagPersona/tagPersona.rst
- index f1d25ca..73b71b3 100644
- --- a/docs/tagPersona/tagPersona.rst
- +++ b/docs/tagPersona/tagPersona.rst
- @@ -1,810 +1,63 @@
- -Relación entre Tag y Persona
- -===============================
- -
- -Mostrar todas las relaciones entre tags y personas
- ------------------------------------------------------
- -
- -URL
- -```
- -::
- -
- - /tagsPersonas
- -
- -Método
- -``````
- -``GET``
- -
- -Respuesta correcta
- -``````````````````
- -
- -**Código:** 200
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - {
- - "count":3,"rows":
- - [
- - {
- - "_id": 63,
- - "fecha_creacion": "2016-01-16T15:50:28.738Z",
- - "fecha_modificacion": "2016-01-16T15:50:28.738Z",
- - "fk_persona": 250,
- - "fk_tag": 190
- - },
- - {
- - "_id": 64,
- - "fecha_creacion": "2016-03-03T15:50:28.752Z",
- - "fecha_modificacion": "2016-03-03T15:50:28.752Z",
- - "fk_persona": 247,
- - "fk_tag": 188
- - },
- - {
- - "_id": 65,
- - "fecha_creacion": "2016-03-16T15:50:28.753Z",
- - "fecha_modificacion": "2016-03-16T15:50:28.753Z",
- - "fk_persona": 248,
- - "fk_tag": 189
- - }
- - ]
- - }
- -
- -Parámetros opcionales de la URL
- -```````````````````````````````
- -Tabla de parámetros
- -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
- -+-+-----------+------------------+---------------------------------------------------------------------+
- -|**Nombre** |**Tipo** |**Descripción** |
- -+=+===========+==================+=====================================================================+
- -|`elementos` | Integer |Cantidad de elementos a mostrar. |
- -+-+-----------+------------------+---------------------------------------------------------------------+
- -|`pagina` | Integer |El número de página a mostrar. |
- -+-+-----------+------------------+---------------------------------------------------------------------+
- -|`ordenarPor` | String |El nombre del campo correspondiente al modelo de la entidad. |
- -+-+-----------+------------------+---------------------------------------------------------------------+
- -|`orden` | Boolean |TRUE para un orden descendente. |
- -+-+-----------+------------------+---------------------------------------------------------------------+
- -|`buscar` | Object (array) |Cada objeto del array contiene los atributos: `palabra` y `en`. |
- -+-+-----------+------------------+---------------------------------------------------------------------+
- -| |`palabra` | String |Palabra que representa el criterio a buscar. |
- -+-+-----------+------------------+---------------------------------------------------------------------+
- -| |`en` | String |El nombre de campo en el cual se realiza la busqueda de `palabra`. |
- -+-+-----------+------------------+---------------------------------------------------------------------+
- -|`incluye` | Object (array) |Cada objeto del array contiene los atributos: `entidad` y `buscar`. |
- -| | |(La estructura del atributo `buscar` es igual al del parámetro |
- -| | |`buscar` definido anteriormente) |
- -+-+-----------+------------------+---------------------------------------------------------------------+
- -| |`entidad` | String |El nombre de la entidad. |
- -+-+-----------+------------------+---------------------------------------------------------------------+
- -
- -Muestra una determinada cantidad de relaciones entre un tag y una persona
- -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
- -
- -**URL**
- -::
- -
- - /tagsPersonas?elementos=valor
- -
- -**Parámetros usados**
- -
- -============ =====================
- -**Nombre** **Valor enviado**
- -============ =====================
- -`elementos` 1
- -============ =====================
- -
- -**Ejemplo:**
- -::
- -
- - /tagsPersonas?elementos=2
- -
- -**Respuesta:**
- -
- -.. code:: json
- -
- - {
- - "count":3,"rows":
- - [
- - {
- - "_id": 63,
- - "fecha_creacion": "2016-01-16T15:50:28.738Z",
- - "fecha_modificacion": "2016-01-16T15:50:28.738Z",
- - "fk_persona": 250,
- - "fk_tag": 190
- - },
- - {
- - "_id": 64,
- - "fecha_creacion": "2016-03-03T15:50:28.752Z",
- - "fecha_modificacion": "2016-03-03T15:50:28.752Z",
- - "fk_persona": 247,
- - "fk_tag": 188
- - }
- - ]
- - }
- -
- -Muestra las relaciones entre un tag y una persona en una determinada página
- -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
- -
- -**URL**
- -::
- -
- - /tagsPersonas?pagina=valor
- -
- -**Parámetros usados**
- -
- -============ =====================
- -**Nombre** **Valor enviado**
- -============ =====================
- -`pagina` 1
- -============ =====================
- -
- -**Ejemplo:**
- -::
- -
- - /tagsPersonas?pagina=1
- -
- -**Respuesta:**
- -
- -.. code:: json
- -
- - {
- - "count":3,"rows":
- - [
- - {
- - "_id": 63,
- - "fecha_creacion": "2016-01-16T15:50:28.738Z",
- - "fecha_modificacion": "2016-01-16T15:50:28.738Z",
- - "fk_persona": 250,
- - "fk_tag": 190
- - },
- - {
- - "_id": 64,
- - "fecha_creacion": "2016-03-03T15:50:28.752Z",
- - "fecha_modificacion": "2016-03-03T15:50:28.752Z",
- - "fk_persona": 247,
- - "fk_tag": 188
- - },
- - {
- - "_id": 65,
- - "fecha_creacion": "2016-03-16T15:50:28.753Z",
- - "fecha_modificacion": "2016-03-16T15:50:28.753Z",
- - "fk_persona": 248,
- - "fk_tag": 189
- - }
- - ]
- - }
- -
- -Ordena las relaciones entre un tag y una persona ascendentemente en base a un campo del modelo
- -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
- -
- -**URL**
- -::
- -
- - /tagsPersonas?ordenarPor=valor
- -
- -**Parámetros usados**
- -
- -============ =====================
- -**Nombre** **Valor enviado**
- -============ =====================
- -`ordenarPor` fk_persona
- -============ =====================
- -
- -**Ejemplo:**
- -::
- -
- - /tagsPersonas?ordernarPor=fk_persona
- -
- -**Respuesta:**
- -
- -.. code:: json
- -
- - {
- - "count":3,"rows":
- - [
- - {
- - "_id": 64,
- - "fecha_creacion": "2016-03-03T15:50:28.752Z",
- - "fecha_modificacion": "2016-03-03T15:50:28.752Z",
- - "fk_persona": 247,
- - "fk_tag": 188
- - },
- - {
- - "_id": 65,
- - "fecha_creacion": "2016-03-16T15:50:28.753Z",
- - "fecha_modificacion": "2016-03-16T15:50:28.753Z",
- - "fk_persona": 248,
- - "fk_tag": 189
- - },
- - {
- - "_id": 63,
- - "fecha_creacion": "2016-01-16T15:50:28.738Z",
- - "fecha_modificacion": "2016-01-16T15:50:28.738Z",
- - "fk_persona": 250,
- - "fk_tag": 190
- - }
- - ]
- - }
- -
- -Ordena las relaciones entre un tag y una persona descendentemente en base a un campo del modelo
- -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
- -
- -**URL**
- -::
- -
- - /tagsPersonas?ordenarPor=valor1&orden=true
- -
- -**Parámetros usados**
- -
- -============ =================
- -**Nombre** **Valor enviado**
- -============ =================
- -`ordenarPor` fk_persona
- -`orden` true
- -============ =================
- -
- -**Ejemplo:**
- -::
- -
- - /tagsPersonas?ordenarPor=fk_persona&orden=true
- -
- -**Respuesta:**
- -
- -.. code:: json
- -
- - {
- - "count":3,"rows":
- - [
- - {
- - "_id": 63,
- - "fecha_creacion": "2016-01-16T15:50:28.738Z",
- - "fecha_modificacion": "2016-01-16T15:50:28.738Z",
- - "fk_persona": 250,
- - "fk_tag": 190
- - },
- - {
- - "_id": 65,
- - "fecha_creacion": "2016-03-16T15:50:28.753Z",
- - "fecha_modificacion": "2016-03-16T15:50:28.753Z",
- - "fk_persona": 248,
- - "fk_tag": 189
- - },
- - {
- - "_id": 64,
- - "fecha_creacion": "2016-03-03T15:50:28.752Z",
- - "fecha_modificacion": "2016-03-03T15:50:28.752Z",
- - "fk_persona": 247,
- - "fk_tag": 188
- - }
- - ]
- - }
- -
- -Muestra los detalles de Personas y Tags
- -'''''''''''''''''''''''''''''''''''''''''
- -
- -**URL**
- -::
- -
- - /tagsPersonas?incluye=%7B%22entidad%22:%22valor1%22%7D&incluye=%7B%22entidad%22:%22valor2%22%7D
- -
- -**Parámetros usados**
- -
- -============ ===========================================
- -**Nombre** **Valor enviado**
- -============ ===========================================
- -`incluye` ::
- -
- - [{"entidad":"Persona"},{"entidad":"Tag"}]
- -============ ===========================================
- -
- -**Ejemplo:**
- -::
- -
- - /tagsPersonas?incluye=%7B%22entidad%22:%22Persona%22%7D&incluye=%7B%22entidad%22:%22Tag%22%7D
- -
- -**Respuesta:**
- -
- -.. code:: json
- -
- - {
- - "count":3,"rows":
- - [
- - {
- - "_id": 63,
- - "fecha_creacion": "2016-01-16T15:50:28.738Z",
- - "fecha_modificacion": "2016-01-16T15:50:28.738Z",
- - "fk_persona": 250,
- - "fk_tag": 190,
- - "Persona":
- - {
- - "_id": 250,
- - "nombres": "Juan",
- - "apellidos": "Garzofino Blanco",
- - "ci": 172348,
- - "fecha_creacion": "2016-01-14T22:52:31.554Z",
- - "fecha_modificacion": "2016-01-14T22:52:31.554Z"
- - },
- - "Tag":
- - {
- - "_id": 190,
- - "nombre": "Java",
- - "fecha_creacion": "2016-03-16T15:50:28.629Z",
- - "fecha_modificacion": "2016-03-16T15:50:28.629Z"
- - }
- - },
- - {
- - "_id": 64,
- - "fecha_creacion": "2016-03-03T15:50:28.752Z",
- - "fecha_modificacion": "2016-03-03T15:50:28.752Z",
- - "fk_persona": 247,
- - "fk_tag": 188,
- - "Persona":
- - {
- - "_id": 247,
- - "nombres": "Daniel Hugo",
- - "apellidos": "Estrada Jimenez",
- - "ci": 27238,
- - "fecha_creacion": "2016-01-14T22:52:31.554Z",
- - "fecha_modificacion": "2016-01-14T22:52:31.554Z"
- - },
- - "Tag":
- - {
- - "_id": 188,
- - "nombre": "Python",
- - "fecha_creacion": "2016-03-16T15:50:28.629Z",
- - "fecha_modificacion": "2016-03-16T15:50:28.629Z"
- - }
- - },
- - {
- - "_id": 65,
- - "fecha_creacion": "2016-03-16T15:50:28.753Z",
- - "fecha_modificacion": "2016-03-16T15:50:28.753Z",
- - "fk_persona": 248,
- - "fk_tag": 189,
- - "Persona":
- - {
- - "_id": 248,
- - "nombres": "Alba",
- - "apellidos": "Guzman Arias",
- - "ci": 4542,
- - "fecha_creacion": "2016-01-14T22:52:31.554Z",
- - "fecha_modificacion": "2016-01-14T22:52:31.554Z"
- - },
- - "Tag":
- - {
- - "_id": 189,
- - "nombre": "PHP",
- - "fecha_creacion": "2016-03-16T15:50:28.629Z",
- - "fecha_modificacion": "2016-03-16T15:50:28.629Z"
- - }
- - }
- - ]
- - }
- -
- -Respuesta de error
- -``````````````````
- -
- -**Código:** 500
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - {
- - "error":"Ocurrio un problema inesperado en el servidor"
- - }
- -
- -Observaciones
- -`````````````
- -- Cuando no existen datos almacenados en la base de datos retorna un array vacio
- -- El parámetro 'orden' depende de 'ordenarPor'
- -- El parámetro 'pagina' muestra 15 relaciones entre Tag y persona por defecto
- -- Solo se puede hacer "incluye" con las entidades "tag" y "persona"
- -
- -----
- -
- -Crear una relacion entre un tag y una persona
- ------------------------------------------------
- -
- -URL
- -```
- -::
- -
- - /tagsPersonas
- -
- -Método
- -``````
- -``POST``
- -
- -Parámetros del body
- -```````````````````
- -**Ejemplo:**
- -
- -.. code:: json
- -
- - {
- - "fk_persona":246,
- - "fk_tag":187
- - }
- -
- -Respuesta correcta
- -``````````````````
- -
- -**Código:** 201
- -
- -**Ejemplo:**
- -
- -.. code:: json
- -
- - {
- - "_id": 68,
- - "fk_persona": 246,
- - "fk_tag": 187,
- - "fecha_modificacion": "2016-03-16T19:01:06.559Z",
- - "fecha_creacion": "2016-03-16T19:01:06.559Z"
- - }
- -
- -Respuesta de error
- -``````````````````
- -
- -**Código:** 500
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - {
- - "name": "SequelizeForeignKeyConstraintError",
- - "message": "inserción o actualización en la tabla «tag_persona» viola la llave foránea «tag_persona_fk_tag_fkey»"
- - }
- -
- -----
- -
- -Mostrar una relacion entre un tag y una persona
- --------------------------------------------------
- -
- -URL
- -```
- -::
- -
- - /tagsPersonas/:id
- -
- -Método
- -``````
- -``GET``
- -
- -Parámetros de la URL
- -````````````````````
- -
- -**Parámetro requerido:**
- -
- -============ ============== ================================================
- -**Nombre** **Tipo** **Descripción**
- -============ ============== ================================================
- -`id` Integer Identificador único del registro en la entidad.
- -============ ============== ================================================
- -
- -**Ejemplo:**
- -::
- -
- - id=63
- -
- -Respuesta correcta
- -``````````````````
- -
- -**Código:** 200
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - {
- - "_id": 63,
- - "fecha_creacion": "2016-03-16T15:50:28.738Z",
- - "fecha_modificacion": "2016-03-16T15:50:28.738Z",
- - "fk_persona": 246,
- - "fk_tag": 187
- - }
- -
- -Respuesta de error
- -``````````````````
- -
- -**Código:** 404
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - {
- - "message": "Entidad no encontrada"
- - }
- -
- -----
- -
- -Editar una relacion entre tag y persona
- -------------------------------------------
- -
- -URL
- -```
- -::
- -
- - /tagsPersonas/:id
- -
- -Método
- -``````
- -``PUT``
- -
- -Parámetros de la URL
- -````````````````````
- -
- -**Parámetro requerido:**
- -
- -============ ============== ================================================
- -**Nombre** **Tipo** **Descripción**
- -============ ============== ================================================
- -`id` Integer Identificador único del registro en la entidad.
- -============ ============== ================================================
- -
- -**Ejemplo:**
- -::
- -
- - id=63
- -
- -Parámetros del body
- -```````````````````
- -**Ejemplo:**
- -
- -.. code:: json
- -
- - {
- - "fk_persona":246,
- - "fk_tag":188
- - }
- -
- -Respuesta correcta
- -``````````````````
- -
- -**Código:** 200
- -
- -**Ejemplo:**
- -
- -.. code:: json
- -
- - {
- - "_id": 63,
- - "fecha_creacion": "2016-03-16T15:50:28.738Z",
- - "fecha_modificacion": "2016-03-16T19:07:58.475Z",
- - "fk_persona": 246,
- - "fk_tag": 188
- - }
- -
- -Respuesta de error
- -``````````````````
- -
- -**Código:** 404
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - {
- - "message": "Entidad no encontrada"
- - }
- -
- -----
- -
- -Eliminar una relacion entre un tag y una persona
- ---------------------------------------------------
- -
- -URL
- -```
- -::
- -
- - /tagsPersonas/:id
- -
- -Método
- -``````
- -``DELETE``
- -
- -Parámetros de la URL
- -````````````````````
- -
- -**Parámetro requerido:**
- -
- -============ ============== ================================================
- -**Nombre** **Tipo** **Descripción**
- -============ ============== ================================================
- -`id` Integer Identificador único del registro en la entidad.
- -============ ============== ================================================
- -
- -**Ejemplo:**
- -::
- -
- - id=63
- -
- -Respuesta correcta
- -``````````````````
- -
- -**Código:** 204
- -
- -Respuesta de error
- -``````````````````
- -
- -**Código:** 404
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - {
- - "message": "Entidad no encontrada"
- - }
- -
- -----
- -
- -Obtener todos los tags de una persona
- ----------------------------------------
- -
- -URL
- -```
- -::
- -
- - /tagsPersonas/persona/:id
- -
- -Método
- -``````
- -``GET``
- -
- -Parámetros de la URL
- -````````````````````
- -
- -**Parámetro requerido:**
- -
- -============ ============== ================================================
- -**Nombre** **Tipo** **Descripción**
- -============ ============== ================================================
- -`id` Integer Identificador único del registro en la entidad.
- -============ ============== ================================================
- -
- -**Ejemplo:**
- -::
- -
- - id=83
- -
- -Respuesta correcta
- -``````````````````
- -
- -**Código:** 200
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - [
- - {
- - "_id": 188,
- - "nombre": "tag 2",
- - "fecha_creacion": "2016-03-16T15:50:28.628Z",
- - "fecha_modificacion": "2016-03-16T15:50:28.628Z",
- - "TagPersona": {
- - "_id": 64,
- - "fecha_creacion": "2016-03-16T15:50:28.752Z",
- - "fecha_modificacion": "2016-03-16T15:50:28.752Z",
- - "fk_persona": 247,
- - "fk_tag": 188
- - }
- - },
- - {
- - "_id": 189,
- - "nombre": "tag 4",
- - "fecha_creacion": "2016-03-16T15:50:28.628Z",
- - "fecha_modificacion": "2016-03-16T15:50:28.628Z",
- - "TagPersona": {
- - "_id": 65,
- - "fecha_creacion": "2016-03-16T15:50:28.752Z",
- - "fecha_modificacion": "2016-03-16T15:50:28.752Z",
- - "fk_persona": 247,
- - "fk_tag": 189
- - }
- - }
- - ]
- -
- -Respuesta de error
- -``````````````````
- -
- -**Código:** 404
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - {
- - "message": "Entidad no encontrada"
- - }
- -
- -----
- -
- -Obtener todos los personas de un Tag
- ----------------------------------------
- -
- -URL
- -```
- -::
- -
- - /tagsPersonas/tag/:id
- -
- -Método
- -``````
- -``GET``
- -
- -Parámetros de la URL
- -````````````````````
- -
- -**Parámetro requerido:**
- -
- -============ ============== ================================================
- -**Nombre** **Tipo** **Descripción**
- -============ ============== ================================================
- -`id` Integer Identificador único del registro en la entidad.
- -============ ============== ================================================
- -
- -**Ejemplo:**
- -::
- -
- - id=194
- -
- -Respuesta correcta
- -``````````````````
- -
- -**Código:** 200
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - [
- - {
- - "_id": 251,
- - "nombres": "Juan Carlos",
- - "apellidos": "Perez Gomez",
- - "ci": "6867562",
- - "createdAt": "2016-03-16T19:18:07.801Z",
- - "updatedAt": "2016-03-16T19:18:07.801Z",
- - "TagPersona": {
- - "_id": 70,
- - "fecha_creacion": "2016-03-16T19:18:08.004Z",
- - "fecha_modificacion": "2016-03-16T19:18:08.004Z",
- - "fk_persona": 251,
- - "fk_tag": 194
- - }
- - },
- - {
- - "_id": 252,
- - "nombres": "Ana Maria",
- - "apellidos": "Suarez",
- - "ci": "6867122",
- - "createdAt": "2016-03-16T19:18:07.801Z",
- - "updatedAt": "2016-03-16T19:18:07.801Z",
- - "TagPersona": {
- - "_id": 71,
- - "fecha_creacion": "2016-03-16T19:18:08.004Z",
- - "fecha_modificacion": "2016-03-16T19:18:08.004Z",
- - "fk_persona": 252,
- - "fk_tag": 194
- - }
- - }
- - ]
- -
- -Respuesta de error
- -``````````````````
- -
- -**Código:** 404
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - {
- - "message": "Entidad no encontrada"
- - }
- +Tag Persona
- +====================
- +
- +Formato URL
- +------------------------
- ++-----------------+-------------------------+
- +|**Método HTTP** |**Significado** |
- ++=================+=========================+
- +|`GET` | Obtiene un recurso |
- ++-----------------+-------------------------+
- +|`POST` | Crea un recurso |
- ++-----------------+-------------------------+
- +|`PUT` | Actualiza un recurso |
- ++-----------------+-------------------------+
- +|`DELETE` | Borra un recurso |
- ++-----------------+-------------------------+
- +
- +Ejemplo
- +''''''''''''
- +
- +**Contenido Body**
- +
- +Contenido en data del cuerpo para realizar el creado y actualización de un registro identificado como :id.
- +
- +.. code:: json
- +
- + {
- + "fecha_creacion": "2016-04-27T20:58:20.042Z",
- + "fecha_modificacion": "2016-04-27T20:58:20.042Z",
- + "fk_persona": 1202, // Persona: Jesus Adrian Romero
- + "fk_tag": 1 // Tag: javascript
- + }
- +
- ++-----------------------------------------------------+-----------------------------------------------------------------------------------------------+----------------------------------------------------+-----------------------------------------------+----------------------------------------------+
- +|**Recurso** |**GET** |**POST** |**PUT** |**DELETE** |
- ++=====================================================+===============================================================================================+====================================================+===============================================+==============================================+
- +| /tagsPersonas | Obtiene el listado de todos los Tag-Persona | Crea un registro de Tag-Persona | | |
- ++-----------------------------------------------------+-----------------------------------------------------------------------------------------------+----------------------------------------------------+-----------------------------------------------+----------------------------------------------+
- +| /tagsPersonas/:id | Obtiene el Tag-Persona identificado como :id | | Actualiza registro :id de Tag-Persona | Elimina registro :id de Tag-Persona |
- ++-----------------------------------------------------+-----------------------------------------------------------------------------------------------+----------------------------------------------------+-----------------------------------------------+----------------------------------------------+
- +
- +Respuestas
- +----------
- +
- ++------------------+----------------------------------------------------------------------------------------------+
- +| **Código HTTP** | **Descripción** |
- ++==================+==============================================================================================+
- +| `200` | Ok |
- ++------------------+----------------------------------------------------------------------------------------------+
- +| `201` | Creado |
- ++------------------+----------------------------------------------------------------------------------------------+
- +| `400` | Parámetros incorrectos en la entrada |
- ++------------------+----------------------------------------------------------------------------------------------+
- +| `401` | Token de acceso expirado o invalido |
- ++------------------+----------------------------------------------------------------------------------------------+
- +| `404` | Recurso no encontrado |
- ++------------------+----------------------------------------------------------------------------------------------+
- +| `405` | Método HTTP no esperado. Ejemplo: se esperaba un HTTP GET y se recibió un HTTP POST |
- ++------------------+----------------------------------------------------------------------------------------------+
- +| `429` | Se están recibiendo muchos requests de parte de tu aplicación. Se esta limitando el acceso |
- ++------------------+----------------------------------------------------------------------------------------------+
- +| `500` | Error interno del servidor |
- ++------------------+----------------------------------------------------------------------------------------------+
- diff --git a/docs/test/test.rst b/docs/test/test.rst
- deleted file mode 100644
- index 6ba0462..0000000
- --- a/docs/test/test.rst
- +++ /dev/null
- @@ -1,96 +0,0 @@
- -Guia de Testing
- -===============
- -
- -Para la elaboración de los Test se utlizo `Mocha`_
- -
- -Para ejecutar los test, se escribe en la terminal el comando ``npm test`` dentro de la ruta donde está el proyecto.
- -
- -Los procesos de cada modulo se encuentra en ``[entidad].controller.js``.
- -
- -Los test de cada proceso se encuentra en ``[entidad].integration.js`` .
- -
- -Primeramente se verifica si existe las rutas de cada entidad, todas esas verificaciones esta guardadas en ``index.spec.js`` de cada entidad.
- -
- -Tome como ejemplo la creación de un postulante.
- -
- -*Extraido de* ``server/api/postulantes/index.spec.js``
- -
- -.. code:: javascript
- -
- - describe('POST /api/postulantes', function() {
- - it('Debe apuntar a la ruta postulante.controller.create', function() {
- - expect(routerStub.post
- - .withArgs('/', 'postulanteCtrl.create')
- - ).to.have.been.calledOnce;
- - });
- - });
- -
- -Luego se procede a hacer los test en este ejemplo verificara si creo un postulante:
- -
- -*Extraido de* ``server/api/postulacion/postulante.integration.js``
- -
- -.. code:: javascript
- -
- - describe('POST /api/postulantes', function() {
- - beforeEach(function(done) {
- - request(app)
- - .post('/api/postulantes')
- - .send({
- - nombres: 'Alvaro',
- - apellidos: 'Alvarez Alvarado',
- - ci: '123456 LP',
- - sexo: true
- - })
- - .expect(201)
- - .expect('Content-Type', /json/)
- - .end((err, res) => {
- - if (err) {
- - return done(err);
- - }
- - nuevoPostulante = res.body;
- - done();
- - });
- - });
- -
- - it('Debe responder con una nueva creacion de postulante', function() {
- - expect(nuevoPostulante.nombres).to.equal('Alvaro');
- - expect(nuevoPostulante.apellidos).to.equal('Alvarez Alvarado');
- - expect(nuevoPostulante.ci).to.equal('123456 LP');
- - expect(nuevoPostulante.sexo).to.equal(true);
- - });
- - });
- -
- -En la función ``beforeEach()`` se envia los datos del postulante a la ruta ``/api/postulantes`` y nos devuelve un json en ``res.body``.
- -
- -En la función ``it()`` se compara si los datos recibidos son iguales a los enviados.
- -
- -En algunos casos particulares como ser "Obtener las postulaciones de un determinado postulante".
- -
- -.. code:: javascript
- -
- - describe('GET /api/postulaciones/postulante/:id',function(){
- - var postulaciones;
- - beforeEach(function(done){
- - request(app)
- - .get('/api/postulaciones/postulante/'+nuevoPostulante._id)
- - .expect(200)
- - .expect('Content-Type', /json/)
- - .end((err, res) => {
- - if (err) {
- - return done(err);
- - }
- - postulaciones = res.body;
- - done();
- - })
- - })
- - it('responder con 200 si existe los cargos',function(){
- - expect(postulaciones[0]._id).to.equal(nuevoCargo._id);
- - expect(postulaciones[0].nombre).to.equal(nuevoCargo.nombre);
- - expect(postulaciones[0].Postulacion._id).to.equal(nuevoPostulacion._id);
- - });
- - })
- -
- -La tabla "postulacion" esta relacionada con las tablas "postulante" y "cargo", era necesario tener los datos del postulante y cargo en la base de datos. Previamente se enviaron los datos del postulante y cargo.
- -
- -
- -.. _Mocha: https://mochajs.org/
- diff --git a/docs/tipoDato/tipoDato.rst b/docs/tipoDato/tipoDato.rst
- deleted file mode 100644
- index 65b7fab..0000000
- --- a/docs/tipoDato/tipoDato.rst
- +++ /dev/null
- @@ -1,699 +0,0 @@
- -Tipo de Dato
- -============
- -
- -Mostrar todos los Tipos de Dato
- --------------------------------
- -
- -URL
- -```
- -::
- -
- - /tiposDato
- -
- -Método
- -``````
- -``GET``
- -
- -Respuesta correcta
- -``````````````````
- -
- -**Código:** 200
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - {
- - "count":3,"rows":
- - [
- - {
- - "propiedad": "EMAIL",
- - "nombre": "correo electronico",
- - "createdAt": "2016-03-14T22:52:31.554Z",
- - "updatedAt": "2016-03-14T22:52:31.554Z",
- - "deletedAt": null
- - },
- - {
- - "propiedad": "TEL",
- - "nombre": "Telefono",
- - "createdAt": "2016-03-14T22:52:31.554Z",
- - "updatedAt": "2016-03-14T22:52:31.554Z",
- - "deletedAt": null
- - },
- - {
- - "propiedad": "WEB",
- - "nombre": "Pagina Web",
- - "createdAt": "2016-03-14T22:52:31.554Z",
- - "updatedAt": "2016-03-14T22:52:31.554Z",
- - "deletedAt": null
- - }
- - ]
- - }
- -
- -Parámetros opcionales de la URL
- -```````````````````````````````
- -Tabla de parámetros
- -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
- -+-+-----------+------------------+---------------------------------------------------------------------+
- -|**Nombre** |**Tipo** |**Descripción** |
- -+=+===========+==================+=====================================================================+
- -|`elementos` | Integer |Cantidad de elementos a mostrar. |
- -+-+-----------+------------------+---------------------------------------------------------------------+
- -|`pagina` | Integer |El número de página a mostrar. |
- -+-+-----------+------------------+---------------------------------------------------------------------+
- -|`ordenarPor` | String |El nombre del campo correspondiente al modelo de la entidad. |
- -+-+-----------+------------------+---------------------------------------------------------------------+
- -|`orden` | Boolean |TRUE para un orden descendente. |
- -+-+-----------+------------------+---------------------------------------------------------------------+
- -|`buscar` | Object (array) |Cada objeto del array contiene los atributos: `palabra` y `en`. |
- -+-+-----------+------------------+---------------------------------------------------------------------+
- -| |`palabra` | String |Palabra que representa el criterio a buscar. |
- -+-+-----------+------------------+---------------------------------------------------------------------+
- -| |`en` | String |El nombre de campo en el cual se realiza la busqueda de `palabra`. |
- -+-+-----------+------------------+---------------------------------------------------------------------+
- -|`incluye` | Object (array) |Cada objeto del array contiene los atributos: `entidad` y `buscar`. |
- -| | |(La estructura del atributo `buscar` es igual al del parámetro |
- -| | |`buscar` definido anteriormente) |
- -+-+-----------+------------------+---------------------------------------------------------------------+
- -| |`entidad` | String |El nombre de la entidad. |
- -+-+-----------+------------------+---------------------------------------------------------------------+
- -
- -Muestra una determinada cantidad de tipos de dato
- -'''''''''''''''''''''''''''''''''''''''''''''''''
- -
- -**URL**
- -::
- -
- - /tiposDato?elementos=valor
- -
- -**Parámetros usados**
- -
- -============ =====================
- -**Nombre** **Valor enviado**
- -============ =====================
- -`elementos` 2
- -============ =====================
- -
- -**Ejemplo:**
- -::
- -
- - /tiposDato?elementos=2
- -
- -**Respuesta:**
- -
- -.. code:: json
- -
- - {
- - "count":3,"rows":
- - [
- - {
- - "propiedad": "EMAIL",
- - "nombre": "correo electronico",
- - "createdAt": "2016-03-14T22:52:31.554Z",
- - "updatedAt": "2016-03-14T22:52:31.554Z",
- - "deletedAt": null
- - },
- - {
- - "propiedad": "TEL",
- - "nombre": "Telefono",
- - "createdAt": "2016-03-14T22:52:31.554Z",
- - "updatedAt": "2016-03-14T22:52:31.554Z",
- - "deletedAt": null
- - }
- - ]
- - }
- -
- -Muestra los tipos de dato en una determinada página
- -'''''''''''''''''''''''''''''''''''''''''''''''''''
- -
- -**URL**
- -::
- -
- - /tiposDato?pagina=valor
- -
- -**Parámetros usados**
- -
- -============ =====================
- -**Nombre** **Valor enviado**
- -============ =====================
- -`pagina` 1
- -============ =====================
- -
- -**Ejemplo:**
- -::
- -
- - /tiposDato?pagina=1
- -
- -**Respuesta:**
- -
- -.. code:: json
- -
- - {
- - "count":3,"rows":
- - [
- - {
- - "propiedad": "EMAIL",
- - "nombre": "correo electronico",
- - "createdAt": "2016-03-14T22:52:31.554Z",
- - "updatedAt": "2016-03-14T22:52:31.554Z",
- - "deletedAt": null
- - },
- - {
- - "propiedad": "TEL",
- - "nombre": "Telefono",
- - "createdAt": "2016-03-14T22:52:31.554Z",
- - "updatedAt": "2016-03-14T22:52:31.554Z",
- - "deletedAt": null
- - },
- - {
- - "propiedad": "WEB",
- - "nombre": "Pagina Web",
- - "createdAt": "2016-03-14T22:52:31.554Z",
- - "updatedAt": "2016-03-14T22:52:31.554Z",
- - "deletedAt": null
- - }
- - ]
- - }
- -
- -Ordena los tipos de dato ascendentemente en base a un campo del modelo
- -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
- -
- -**URL**
- -::
- -
- - /tiposDato?ordenarPor=valor
- -
- -**Parámetros usados**
- -
- -============ =====================
- -**Nombre** **Valor enviado**
- -============ =====================
- -`ordenarPor` nombre
- -============ =====================
- -
- -**Ejemplo:**
- -::
- -
- - /tiposDato?ordenarPor=nombre
- -
- -**Respuesta:**
- -
- -.. code:: json
- -
- - {
- - "count":3,"rows":
- - [
- - {
- - "propiedad": "EMAIL",
- - "nombre": "correo electronico",
- - "createdAt": "2016-03-14T22:52:31.554Z",
- - "updatedAt": "2016-03-14T22:52:31.554Z",
- - "deletedAt": null
- - },
- - {
- - "propiedad": "WEB",
- - "nombre": "Pagina Web",
- - "createdAt": "2016-03-14T22:52:31.554Z",
- - "updatedAt": "2016-03-14T22:52:31.554Z",
- - "deletedAt": null
- - },
- - {
- - "propiedad": "TEL",
- - "nombre": "Telefono",
- - "createdAt": "2016-03-14T22:52:31.554Z",
- - "updatedAt": "2016-03-14T22:52:31.554Z",
- - "deletedAt": null
- - }
- - ]
- - }
- -
- -Ordena los tipos de dato descendentemente en base a un campo del modelo
- -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
- -
- -**URL**
- -::
- -
- - /tiposDato?ordenarPor=valor1&orden=true
- -
- -**Parámetros usados**
- -
- -============ =================
- -**Nombre** **Valor enviado**
- -============ =================
- -`ordenarPor` nombre
- -`orden` true
- -============ =================
- -
- -**Ejemplo:**
- -::
- -
- - /tiposDato?ordenarPor=nombre&orden=true
- -
- -**Respuesta:**
- -
- -.. code:: json
- -
- - {
- - "count":3,"rows":
- - [
- - {
- - "propiedad": "TEL",
- - "nombre": "Telefono",
- - "createdAt": "2016-03-14T22:52:31.554Z",
- - "updatedAt": "2016-03-14T22:52:31.554Z",
- - "deletedAt": null
- - },
- - {
- - "propiedad": "WEB",
- - "nombre": "Pagina Web",
- - "createdAt": "2016-03-14T22:52:31.554Z",
- - "updatedAt": "2016-03-14T22:52:31.554Z",
- - "deletedAt": null
- - },
- - {
- - "propiedad": "EMAIL",
- - "nombre": "correo electronico",
- - "createdAt": "2016-03-14T22:52:31.554Z",
- - "updatedAt": "2016-03-14T22:52:31.554Z",
- - "deletedAt": null
- - }
- - ]
- - }
- -
- -Busca los Tipos De Datos que contengas las palabras "TEL" y "Telefono" en los campos "propiedad" y "nombre"
- -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
- -
- -**URL**
- -::
- -
- - /tiposDato?buscar=%7B%22en%22:%22valor1%22,%22palabra%22:%22valor2%22%7D
- -
- -**Parámetros usados**
- -
- -============ ===========================================
- -**Nombre** **Valor enviado**
- -============ ===========================================
- -`buscar` ::
- -
- - [{"en":"propiedad","palabra":"Telefono"}]
- -============ ===========================================
- -
- -**Ejemplo:**
- -::
- -
- - /tiposDato?buscar=%7B%22en%22:%22propiedad%22,%22palabra%22:%22Telefono%22%7D
- -
- -**Respuesta:**
- -
- -.. code:: json
- -
- - {
- - "count":3,"rows":
- - [
- - {
- - "propiedad": "TEL",
- - "nombre": "Telefono",
- - "createdAt": "2016-03-14T22:52:31.554Z",
- - "updatedAt": "2016-03-14T22:52:31.554Z",
- - "deletedAt": null
- - }
- - ]
- - }
- -
- -Muestra los postulantes de tienen la propiedad "EMAIL"
- -''''''''''''''''''''''''''''''''''''''''''''''''''''''
- -
- -**URL**
- -::
- -
- - /tiposDato?buscar=%7B%22en%22:%22valor1%22,%22palabra%22:%22valor2%22%7D&incluye=%7B%22entidad%22:%22valor3%22%7D
- -
- -**Parámetros usados**
- -
- -============ ===========================================
- -**Nombre** **Valor enviado**
- -============ ===========================================
- -`buscar` ::
- -
- - [{"en":"propiedad","palabra":"email"}]
- -
- -`incluye` ::
- -
- - [{"entidad":"persona"}]
- -============ ===========================================
- -
- -**Ejemplo:**
- -::
- -
- - /tiposDato?buscar=%7B%22en%22:%22propiedad%22,%22palabra%22:%22email%22%7D&incluye=%7B%22entidad%22:%22persona%22%7D
- -
- -**Respuesta:**
- -
- -.. code:: json
- -
- - {
- - "count":3,"rows":
- - [
- - {
- - "propiedad": "EMAIL",
- - "nombre": "correo electronico",
- - "createdAt": "2016-03-14T22:52:31.554Z",
- - "updatedAt": "2016-03-14T22:52:31.554Z",,
- - "deletedAt": null,
- - "Personas":
- - [
- - {
- - "_id": 50,
- - "nombres": "Fabio",
- - "apellidos": "Gonzales Lima",
- - "ci": 37234258,
- - "fecha_creacion": "2016-01-14T22:52:31.554Z",
- - "fecha_modificacion": "2016-01-14T22:52:31.554Z",
- - "Datos":
- - {
- - "_id": 2,
- - "valor": "fabio@gmail.com",
- - "createdAt": "2016-02-14T22:03:48.216Z",
- - "updatedAt": "2016-02-14T22:03:48.216Z",
- - "fk_persona": 50,
- - "propiedad": "EMAIL"
- - }
- - },
- - {
- - "_id": 60,
- - "nombres": "Hugo",
- - "apellidos": "Molina Mendez",
- - "ci": 39398,
- - "fecha_creacion": "2016-01-14T22:52:31.554Z",
- - "fecha_modificacion": "2016-01-14T22:52:31.554Z",
- - "Datos":
- - {
- - "_id": 2,
- - "valor": "hmm@gmail.com",
- - "createdAt": "2016-02-14T22:03:48.216Z",
- - "updatedAt": "2016-02-14T22:03:48.216Z",
- - "fk_persona": 60,
- - "propiedad": "EMAIL"
- - }
- - }
- - ]
- - }
- - ]
- - }
- -
- -Respuesta de error
- -``````````````````
- -
- -**Código:** 500
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - {
- - "error":"Ocurrio un problema inesperado en el servidor"
- - }
- -
- -Observaciones
- -`````````````
- -- Cuando no existen datos almacenados en la base de datos retorna un array vacio
- -- El parámetro 'orden' depende de 'ordenarPor'
- -- El parámetro 'pagina' muestra 15 tipos de dato por defecto
- -
- -----
- -
- -Crear un Tipo de Dato
- ----------------------
- -
- -URL
- -```
- -::
- -
- - /tiposDato
- -
- -Método
- -``````
- -``POST``
- -
- -Parámetros del body
- -```````````````````
- -**Ejemplo:**
- -
- -.. code:: json
- -
- - {
- - "propiedad": "WEB",
- - "nombre": "Página"
- - }
- -
- -Respuesta correcta
- -``````````````````
- -
- -**Código:** 201
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - {
- - "propiedad": "WEB",
- - "nombre": "Página",
- - "createdAt": "2016-03-14T22:52:31.554Z",
- - "updatedAt": "2016-03-14T22:52:31.554Z",
- - "deletedAt": null
- - }
- -
- -Respuesta de error
- -``````````````````
- -
- -**Código:** 400
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - {
- - "name": "SequelizeValidationError",
- - "message": "Validation error: Ingrese nombre al Tipo de Dato.",
- - "errors": [
- - {
- - "message": "Ingrese nombre al Tipo de Dato.",
- - "type": "Validation error",
- - "path": "nombre",
- - "value": {},
- - "__raw": {}
- - }
- - ]
- - }
- -
- -**Código:** 409
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - {
- - "name": "SequelizeUniqueConstraintError",
- - "message": "El objeto ya existe",
- - "errors": {}
- - }
- -
- -----
- -
- -Mostrar un Tipo de dato
- ------------------------
- -
- -URL
- -```
- -::
- -
- - /tiposDato/:id
- -
- -Método
- -``````
- -``GET``
- -
- -Parámetros de la URL
- -````````````````````
- -
- -**Parámetro requerido:**
- -
- -============ ============== ================================================
- -**Nombre** **Tipo** **Descripción**
- -============ ============== ================================================
- -`id` String Identificador único del registro en la entidad.
- -============ ============== ================================================
- -
- -**Ejemplo:**
- -::
- -
- - id=EMAIL
- -
- -Respuesta correcta
- -``````````````````
- -
- -**Código:** 200
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - {
- - "propiedad": "EMAIL",
- - "nombre": "correo electronico",
- - "createdAt": "2016-03-14T22:52:31.554Z",
- - "updatedAt": "2016-03-14T22:52:31.554Z",
- - "deletedAt": null
- - }
- -
- -Respuesta de error
- -``````````````````
- -
- -**Código:** 404
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - {
- - "message": "Entidad no encontrada"
- - }
- -
- -----
- -
- -Editar un Tipo de Dato
- -----------------------
- -
- -URL
- -```
- -::
- -
- - /tiposDato
- -
- -Método
- -``````
- -``PUT``
- -
- -Parámetros de la URL
- -````````````````````
- -
- -**Parámetro requerido:**
- -
- -============ ============== ================================================
- -**Nombre** **Tipo** **Descripción**
- -============ ============== ================================================
- -`id` String Identificador único del registro en la entidad.
- -============ ============== ================================================
- -
- -**Ejemplo:**
- -::
- -
- - id="WEB"
- -
- -Parámetros del body
- -```````````````````
- -**Ejemplo:**
- -
- -.. code:: json
- -
- - {
- - "nombre": "Página web"
- - }
- -
- -Respuesta correcta
- -``````````````````
- -
- -**Código:** 200
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - {
- - "propiedad": "WEB",
- - "nombre": "Página web",
- - "createdAt": "2016-03-14T22:52:31.554Z",
- - "updatedAt": "2016-03-14T22:52:31.554Z",
- - "deletedAt": null
- - }
- -
- -**Repuesta de error**
- -
- -**Código:** 404
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - {
- - "message": "Entidad no encontrada"
- - }
- -
- -**Código:** 400
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - {
- - "name": "SequelizeValidationError",
- - "message": "Validation error: Ingrese nombre al Tipo de Dato.",
- - "errors": [
- - {
- - "message": "Ingrese nombre al Tipo de Dato.",
- - "type": "Validation error",
- - "path": "nombre",
- - "value": {},
- - "__raw": {}
- - }
- - ]
- - }
- -
- -----
- -
- -Eliminar Tipo de Dato
- ----------------------
- -
- -URL
- -```
- -::
- -
- - /tiposDato/
- -
- -Método
- -``````
- -``DELETE``
- -
- -Parámetros de la URL
- -````````````````````
- -
- -**Parámetro requerido:**
- -
- -============ ============== ================================================
- -**Nombre** **Tipo** **Descripción**
- -============ ============== ================================================
- -`id` String Identificador único del registro en la entidad.
- -============ ============== ================================================
- -
- -**Ejemplo:**
- -::
- -
- - id="WEB"
- -
- -Respuesta correcta
- -``````````````````
- -
- -**Código:** 204
- -
- -Respuesta de error
- -``````````````````
- -
- -**Código:** 404
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - {
- - "message": "Entidad no encontrada"
- - }
- diff --git a/docs/tipoEntidad/tipoEntidad.rst b/docs/tipoEntidad/tipoEntidad.rst
- index 22921b4..1d7222f 100644
- --- a/docs/tipoEntidad/tipoEntidad.rst
- +++ b/docs/tipoEntidad/tipoEntidad.rst
- @@ -1,602 +1,63 @@
- -Tipo de Entidad
- -===============
- +Tipo Entidad
- +====================
- -Mostrar todos los tipos de entidades
- -------------------------------------
- -
- -URL
- -```
- -::
- -
- - /tiposEntidad
- -
- -Método
- -``````
- -``GET``
- -
- -Respuesta correcta
- -``````````````````
- -
- -**Código:** 200
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - {
- - "count": 3,
- - "rows": [
- - {
- - "_id": 1,
- - "nombre": "Ministerio",
- - "fecha_creacion": "2016-04-27T15:43:27.717Z",
- - "fecha_modificacion": "2016-04-27T15:43:27.717Z"
- - },
- - {
- - "_id": 2,
- - "nombre": "Viceministerio",
- - "fecha_creacion": "2016-04-27T15:43:55.908Z",
- - "fecha_modificacion": "2016-04-27T15:43:55.908Z"
- - },
- - {
- - "_id": 3,
- - "nombre": "Entidad Privada",
- - "fecha_creacion": "2016-04-27T15:43:55.908Z",
- - "fecha_modificacion": "2016-04-27T15:43:55.908Z"
- - },
- - ]
- - }
- -
- -Parámetros opcionales de la URL
- -```````````````````````````````
- -Tabla de parámetros
- -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
- -+-+-----------+------------------+---------------------------------------------------------------------+
- -|**Nombre** |**Tipo** |**Descripción** |
- -+=+===========+==================+=====================================================================+
- -|`elementos` | Integer |Cantidad de elementos a mostrar. |
- -+-+-----------+------------------+---------------------------------------------------------------------+
- -|`pagina` | Integer |El número de página a mostrar. |
- -+-+-----------+------------------+---------------------------------------------------------------------+
- -|`ordenarPor` | String |El nombre del campo correspondiente al modelo de la entidad. |
- -+-+-----------+------------------+---------------------------------------------------------------------+
- -|`orden` | Boolean |TRUE para un orden descendente. |
- -+-+-----------+------------------+---------------------------------------------------------------------+
- -|`buscar` | Object (array) |Cada objeto del array contiene los atributos: `palabra` y `en`. |
- -+-+-----------+------------------+---------------------------------------------------------------------+
- -| |`palabra` | String |Palabra que representa el criterio a buscar. |
- -+-+-----------+------------------+---------------------------------------------------------------------+
- -| |`en` | String |El nombre de campo en el cual se realiza la busqueda de `palabra`. |
- -+-+-----------+------------------+---------------------------------------------------------------------+
- -|`incluye` | Object (array) |Cada objeto del array contiene los atributos: `entidad` y `buscar`. |
- -| | |(La estructura del atributo `buscar` es igual al del parámetro |
- -| | |`buscar` definido anteriormente) |
- -+-+-----------+------------------+---------------------------------------------------------------------+
- -| |`entidad` | String |El nombre de la entidad. |
- -+-+-----------+------------------+---------------------------------------------------------------------+
- -
- -Muestra una determinada cantidad de tipos de entidades
- -''''''''''''''''''''''''''''''''''''''''''''''''''''''
- -
- -**URL**
- -::
- -
- - /tiposEntidad?elementos=valor
- -
- -**Parámetros usados**
- -
- -============ =====================
- -**Nombre** **Valor enviado**
- -============ =====================
- -`elementos` 1
- -============ =====================
- -
- -**Ejemplo:**
- -
- -::
- -
- - /tiposEntidad?elementos=1
- -
- -**Respuesta:**
- -
- -.. code:: json
- -
- - {
- - "count": 3,
- - "rows": [
- - {
- - "_id": 1,
- - "nombre": "Ministerio",
- - "fecha_creacion": "2016-04-27T15:43:27.717Z",
- - "fecha_modificacion": "2016-04-27T15:43:27.717Z"
- - }
- - ]
- - }
- -
- -Muestra los tipos de entidades en una determinada página
- -''''''''''''''''''''''''''''''''''''''''''''''''''''''''
- -
- -**URL**
- -::
- -
- - /tiposEntidad?pagina=valor
- -
- -**Parámetros usados**
- -
- -============ =====================
- -**Nombre** **Valor enviado**
- -============ =====================
- -`pagina` 1
- -============ =====================
- -
- -**Ejemplo:**
- -::
- -
- - /tiposEntidad?pagina=1
- -
- -**Respuesta:**
- -
- -.. code:: json
- -
- - {
- - "count": 3,
- - "rows": [
- - {
- - "_id": 1,
- - "nombre": "Ministerio",
- - "fecha_creacion": "2016-04-27T15:43:27.717Z",
- - "fecha_modificacion": "2016-04-27T15:43:27.717Z"
- - },
- - {
- - "_id": 2,
- - "nombre": "Viceministerio",
- - "fecha_creacion": "2016-04-27T15:43:55.908Z",
- - "fecha_modificacion": "2016-04-27T15:43:55.908Z"
- - },
- - {
- - "_id": 3,
- - "nombre": "Entidad Privada",
- - "fecha_creacion": "2016-04-27T15:43:55.908Z",
- - "fecha_modificacion": "2016-04-27T15:43:55.908Z"
- - },
- - ]
- - }
- -
- -Ordena los tipos de entidades ascendentemente en base a un campo del modelo
- -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
- -
- -**URL**
- -::
- -
- - /tiposEntidad?ordenarPor=valor
- -
- -**Parámetros usados**
- -
- -============ =====================
- -**Nombre** **Valor enviado**
- -============ =====================
- -`ordenarPor` nombre
- -============ =====================
- -
- -**Ejemplo**
- -::
- -
- - /tiposEntidad?ordenarPor=nombre
- -
- -**Respuesta:**
- -
- -.. code:: json
- -
- - {
- - "count": 3,
- - "rows": [
- - {
- - "_id": 3,
- - "nombre": "Entidad Privada",
- - "fecha_creacion": "2016-04-27T15:43:55.908Z",
- - "fecha_modificacion": "2016-04-27T15:43:55.908Z"
- - },
- - {
- - "_id": 1,
- - "nombre": "Ministerio",
- - "fecha_creacion": "2016-04-27T15:43:27.717Z",
- - "fecha_modificacion": "2016-04-27T15:43:27.717Z"
- - },
- - {
- - "_id": 2,
- - "nombre": "Viceministerio",
- - "fecha_creacion": "2016-04-27T15:43:55.908Z",
- - "fecha_modificacion": "2016-04-27T15:43:55.908Z"
- - },
- - ]
- - }
- -
- -Ordena los tipos de entidades descendentemente en base a un campo del modelo
- -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
- -
- -**URL**
- -::
- -
- - /tiposEntidad?ordenarPor=valor1&orden=true
- -
- -**Parámetros usados**
- -
- -============ =================
- -**Nombre** **Valor enviado**
- -============ =================
- -`ordenarPor` nombre
- -`orden` true
- -============ =================
- -
- -**Ejemplo:**
- -::
- -
- - /tiposEntidad?ordenarPor=nombre&orden=true
- -
- -**Respuesta:**
- -
- -.. code:: json
- -
- - {
- - "count": 3,
- - "rows": [
- - {
- - "_id": 2,
- - "nombre": "Viceministerio",
- - "fecha_creacion": "2016-04-27T15:43:55.908Z",
- - "fecha_modificacion": "2016-04-27T15:43:55.908Z"
- - },
- - {
- - "_id": 1,
- - "nombre": "Ministerio",
- - "fecha_creacion": "2016-04-27T15:43:27.717Z",
- - "fecha_modificacion": "2016-04-27T15:43:27.717Z"
- - },
- - {
- - "_id": 3,
- - "nombre": "Entidad Privada",
- - "fecha_creacion": "2016-04-27T15:43:55.908Z",
- - "fecha_modificacion": "2016-04-27T15:43:55.908Z"
- - },
- - ]
- - }
- -
- -Buscar por "palabra" en "campo" en el modelo "Tipo de entidad"
- -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
- -
- -**URL**
- -::
- -
- - /tiposEntidad?buscar=%7B%22en%22:%22valor1%22,%22palabra%22:%22valor2%22%7D
- -
- -**Parámetros usados**
- -
- -============ ===========================================
- -**Nombre** **Valor enviado**
- -============ ===========================================
- -`buscar` ::
- -
- - [{"en":"nombre","palabra":"ministerio"}]
- -============ ===========================================
- -
- -**Ejemplo**
- -::
- -
- - /tiposEntidad?buscar=%7B%22en%22:%22nombre%22,%22palabra%22:%22ministerio%22%7D
- -
- -**Respuesta:**
- -
- -.. code:: json
- -
- - {
- - "count": 2,
- - "rows": [
- - {
- - "_id": 1,
- - "nombre": "Ministerio",
- - "fecha_creacion": "2016-04-27T15:43:27.717Z",
- - "fecha_modificacion": "2016-04-27T15:43:27.717Z"
- - },
- - {
- - "_id": 2,
- - "nombre": "Viceministerio",
- - "fecha_creacion": "2016-04-27T15:43:55.908Z",
- - "fecha_modificacion": "2016-04-27T15:43:55.908Z"
- - }
- - ]
- - }
- -
- -Respuesta de error
- -``````````````````
- -
- -**Código:** 500
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - {
- - "error":"Ocurrio un problema inesperado en el servidor"
- - }
- -
- -
- -Observaciones
- -`````````````
- -- Esta petición cuando no existen datos almacenados en la base de datos retorna un array vacio
- -- El parámetro 'orden' depende de 'ordenarPor'
- -- El parámetro 'pagina' muestra 15 tipos de entidades por defecto
- -
- -----
- -
- -Crear un tipo de entidad
- +Formato URL
- ------------------------
- -
- -URL
- -```
- -::
- -
- - /tiposEntidad
- -
- -Método
- -``````
- -``POST``
- -
- -Parámetros del body
- -```````````````````
- -**Ejemplo**
- -
- -.. code:: json
- -
- - {
- - "nombre": "Agencia"
- - }
- -
- -Respuesta correcta
- -``````````````````
- -
- -**Código:** 201
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - {
- - "_id": 4,
- - "nombre": "Entidad",
- - "fecha_creacion": "2016-04-27T15:43:55.908Z",
- - "fecha_modificacion": "2016-04-27T15:43:55.908Z"
- - }
- -
- -Respuesta de error
- -``````````````````
- -
- -**Código:** 400
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - {
- - "name": "SequelizeValidationError",
- - "message": "Validation error: Ingrese un tipo de Entidad.",
- - "errors": [
- - {
- - "message": "Ingrese un tipo de Entidad.",
- - "type": "Validation error",
- - "path": "nombre",
- - "value": {},
- - "__raw": {}
- - }
- - ]
- - }
- -
- -**Código:** 409
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - {
- - "name": "SequelizeUniqueConstraintError",
- - "message": "llave duplicada viola restricción de unicidad «unidad_organizacional_nombre_key»",
- - "errors": {}
- - }
- -
- -----
- -
- -Mostrar un tipo de entidad
- ---------------------------
- -URL
- -```
- -::
- -
- - /tiposEntidad/:id
- -
- -Método
- -``````
- -``GET``
- -
- -Parámetros de la URL
- -````````````````````
- -
- -**Parámetro requerido:**
- -
- -============ ============== ================================================
- -**Nombre** **Tipo** **Descripción**
- -============ ============== ================================================
- -`id` Integer Identificador único del registro en la entidad.
- -============ ============== ================================================
- -
- -**Ejemplo**
- -::
- -
- - id=4
- -
- -Respuesta correcta
- -``````````````````
- -
- -**Código:** 200
- -
- -**Ejemplo**
- -
- -.. code:: json
- -
- - {
- - "_id": 4,
- - "nombre": "Entidad",
- - "fecha_creacion": "2016-04-27T15:43:55.908Z",
- - "fecha_modificacion": "2016-04-27T15:43:55.908Z"
- - }
- -
- -Respuesta de error
- -``````````````````
- -
- -**Código:** 404
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - {
- - "message": "Entidad no encontrada"
- - }
- -
- -----
- -
- -Editar un tipo de entidad
- --------------------------
- -URL
- -```
- -::
- -
- - /tiposEntidad/:id
- -
- -Método
- -``````
- -``PUT``
- -
- -Parámetros de la URL
- -````````````````````
- -
- -**Parámetro requerido:**
- -
- -============ ============== ================================================
- -**Nombre** **Tipo** **Descripción**
- -============ ============== ================================================
- -`id` Integer Identificador único del registro en la entidad.
- -============ ============== ================================================
- -
- -**Ejemplo**
- -::
- -
- - id=4
- -
- -Parámetros del body
- -```````````````````
- -
- -**Ejemplo**
- -
- -.. code:: json
- -
- - {
- - "nombre": "Entidad Gubernamental"
- - }
- -
- -
- -Respuesta correcta
- -``````````````````
- -
- -**Código:** 200
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - {
- - "_id": 4,
- - "nombre": "Entidad Gubernamental",
- - "fecha_creacion": "2016-04-27T15:43:55.908Z",
- - "fecha_modificacion": "2016-04-27T15:43:55.908Z"
- - }
- -
- -Respuesta de error
- -``````````````````
- -
- -**Código:** 404
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - {
- - "message": "Entidad no encontrada"
- - }
- -
- -
- -**Código:** 400
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - {
- - "name": "SequelizeValidationError",
- - "message": "Validation error: Ingrese un tipo de Entidad.",
- - "errors": [
- - {
- - "message": "Ingrese un tipo de Entidad.",
- - "type": "Validation error",
- - "path": "nombre",
- - "value": {},
- - "__raw": {}
- - }
- - ]
- - }
- -
- -----
- -
- -Eliminar un tipo de entidad
- ----------------------------
- -URL
- -```
- -::
- -
- - /tiposEntidad/:id
- -
- -Método
- -``````
- -``DELETE``
- -
- -Parámetros de la URL
- -````````````````````
- -
- -**Parámetro requerido:**
- -
- -============ ============== ================================================
- -**Nombre** **Tipo** **Descripción**
- -============ ============== ================================================
- -`id` Integer Identificador único del registro en la entidad.
- -============ ============== ================================================
- -
- -**Ejemplo**
- -::
- -
- - id=4
- -
- -Respuesta correcta
- -``````````````````
- -
- -**Código:** 204
- -
- -Respuesta de error
- -``````````````````
- -
- -**Código:** 404
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - {
- - "message": "Entidad no encontrada"
- - }
- ++-----------------+-------------------------+
- +|**Método HTTP** |**Significado** |
- ++=================+=========================+
- +|`GET` | Obtiene un recurso |
- ++-----------------+-------------------------+
- +|`POST` | Crea un recurso |
- ++-----------------+-------------------------+
- +|`PUT` | Actualiza un recurso |
- ++-----------------+-------------------------+
- +|`DELETE` | Borra un recurso |
- ++-----------------+-------------------------+
- +
- +Ejemplo
- +''''''''''''
- +
- +**Contenido Body**
- +
- +Contenido en data del cuerpo para realizar el creado y actualización de un registro identificado como :id.
- +
- +.. code:: json
- +
- + {
- + "nombre": "Entidad Descentralizada",
- + "fecha_creacion": "2016-07-26T14:37:06.822Z",
- + "fecha_modificacion": "2016-07-26T14:37:06.822Z"
- + }
- +
- ++-----------------------------------------------------+-----------------------------------------------------------------------------------------------+----------------------------------------------------+-----------------------------------------------+----------------------------------------------+
- +|**Recurso** |**GET** |**POST** |**PUT** |**DELETE** |
- ++=====================================================+===============================================================================================+====================================================+===============================================+==============================================+
- +| /tiposEntidad | Obtiene el listado de todos los Tipo Entidad | Crea un registro de Tipo Entidad | | |
- ++-----------------------------------------------------+-----------------------------------------------------------------------------------------------+----------------------------------------------------+-----------------------------------------------+----------------------------------------------+
- +| /tiposEntidad/:id | Obtiene el Tipo Entidad identificado como :id | | Actualiza registro :id de Tipo Entidad | Elimina registro :id de Tipo Entidad |
- ++-----------------------------------------------------+-----------------------------------------------------------------------------------------------+----------------------------------------------------+-----------------------------------------------+----------------------------------------------+
- +
- +
- +Respuestas
- +----------
- +
- ++------------------+----------------------------------------------------------------------------------------------+
- +| **Código HTTP** | **Descripción** |
- ++==================+==============================================================================================+
- +| `200` | Ok |
- ++------------------+----------------------------------------------------------------------------------------------+
- +| `201` | Creado |
- ++------------------+----------------------------------------------------------------------------------------------+
- +| `400` | Parámetros incorrectos en la entrada |
- ++------------------+----------------------------------------------------------------------------------------------+
- +| `401` | Token de acceso expirado o invalido |
- ++------------------+----------------------------------------------------------------------------------------------+
- +| `404` | Recurso no encontrado |
- ++------------------+----------------------------------------------------------------------------------------------+
- +| `405` | Método HTTP no esperado. Ejemplo: se esperaba un HTTP GET y se recibió un HTTP POST |
- ++------------------+----------------------------------------------------------------------------------------------+
- +| `429` | Se están recibiendo muchos requests de parte de tu aplicación. Se esta limitando el acceso |
- ++------------------+----------------------------------------------------------------------------------------------+
- +| `500` | Error interno del servidor |
- ++------------------+----------------------------------------------------------------------------------------------+
- diff --git a/docs/tipo_dato/tipo_dato.rst b/docs/tipo_dato/tipo_dato.rst
- new file mode 100644
- index 0000000..3599415
- --- /dev/null
- +++ b/docs/tipo_dato/tipo_dato.rst
- @@ -0,0 +1,91 @@
- +Tipo Dato
- +====================
- +
- +Formato URL
- +------------------------
- ++-----------------+-------------------------+
- +|**Método HTTP** |**Significado** |
- ++=================+=========================+
- +|`GET` | Obtiene un recurso |
- ++-----------------+-------------------------+
- +|`POST` | Crea un recurso |
- ++-----------------+-------------------------+
- +|`PUT` | Actualiza un recurso |
- ++-----------------+-------------------------+
- +|`DELETE` | Borra un recurso |
- ++-----------------+-------------------------+
- +
- +Ejemplo
- +''''''''''''
- +
- +**Contenido Body**
- +
- +Contenido en data del cuerpo para realizar el creado y actualización de un registro identificado como :id.
- +
- +.. code:: json
- +
- + {
- + "propiedad": "EMAIL",
- + "nombre": "Correo Electrónico",
- + "createdAt": "2016-03-14T22:52:31.554Z",
- + "updatedAt": "2016-03-14T22:52:31.554Z",
- + "deletedAt": null
- + }
- +
- ++-----------------------------------------------------+-----------------------------------------------------------------------------------------------+----------------------------------------------------+-----------------------------------------------+----------------------------------------------+
- +|**Recurso** |**GET** |**POST** |**PUT** |**DELETE** |
- ++=====================================================+===============================================================================================+====================================================+===============================================+==============================================+
- +| /tiposDato | Obtiene el listado de todos los Tipo Dato | Crea un registro de Tipo Dato | | |
- ++-----------------------------------------------------+-----------------------------------------------------------------------------------------------+----------------------------------------------------+-----------------------------------------------+----------------------------------------------+
- +| /tiposDato/:id | Obtiene el Tipo Dato identificado como :id | | Actualiza registro :id de Tipo Dato | Elimina registro :id de Tipo Dato |
- ++-----------------------------------------------------+-----------------------------------------------------------------------------------------------+----------------------------------------------------+-----------------------------------------------+----------------------------------------------+
- +
- +Tabla de parámetros opcionales de la URL para peticines GET
- +'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
- ++-+-----------+------------------+---------------------------------------------------------------------+
- +|**Nombre** |**Tipo** |**Descripción** |
- ++=+===========+==================+=====================================================================+
- +|`elementos` | Integer |Cantidad de elementos a mostrar. |
- ++-+-----------+------------------+---------------------------------------------------------------------+
- +|`pagina` | Integer |El número de página a mostrar. |
- ++-+-----------+------------------+---------------------------------------------------------------------+
- +|`ordenarPor` | String |El nombre del campo correspondiente al modelo de la entidad. |
- ++-+-----------+------------------+---------------------------------------------------------------------+
- +|`orden` | Boolean |TRUE para un orden descendente. |
- ++-+-----------+------------------+---------------------------------------------------------------------+
- +|`buscar` | Object (array) |Cada objeto del array contiene los atributos: `palabra` y `en`. |
- ++-+-----------+------------------+---------------------------------------------------------------------+
- +| |`palabra` | String |Palabra que representa el criterio a buscar. |
- ++-+-----------+------------------+---------------------------------------------------------------------+
- +| |`en` | String |El nombre de campo en el cual se realiza la busqueda de `palabra`. |
- ++-+-----------+------------------+---------------------------------------------------------------------+
- +|`incluye` | Object (array) |Cada objeto del array contiene los atributos: `entidad` y `buscar`. |
- +| | |(La estructura del atributo `buscar` es igual al del parámetro |
- +| | |`buscar` definido anteriormente) |
- ++-+-----------+------------------+---------------------------------------------------------------------+
- +| |`entidad` | String |El nombre de la entidad. |
- ++-+-----------+------------------+---------------------------------------------------------------------+
- +
- +
- +Respuestas
- +----------
- +
- ++------------------+----------------------------------------------------------------------------------------------+
- +| **Código HTTP** | **Descripción** |
- ++==================+==============================================================================================+
- +| `200` | Ok |
- ++------------------+----------------------------------------------------------------------------------------------+
- +| `201` | Creado |
- ++------------------+----------------------------------------------------------------------------------------------+
- +| `400` | Parámetros incorrectos en la entrada |
- ++------------------+----------------------------------------------------------------------------------------------+
- +| `401` | Token de acceso expirado o invalido |
- ++------------------+----------------------------------------------------------------------------------------------+
- +| `404` | Recurso no encontrado |
- ++------------------+----------------------------------------------------------------------------------------------+
- +| `405` | Método HTTP no esperado. Ejemplo: se esperaba un HTTP GET y se recibió un HTTP POST |
- ++------------------+----------------------------------------------------------------------------------------------+
- +| `429` | Se están recibiendo muchos requests de parte de tu aplicación. Se esta limitando el acceso |
- ++------------------+----------------------------------------------------------------------------------------------+
- +| `500` | Error interno del servidor |
- ++------------------+----------------------------------------------------------------------------------------------+
- diff --git a/docs/unidadOrganizacional/unidadOrganizacional.rst b/docs/unidadOrganizacional/unidadOrganizacional.rst
- index 871d4b6..0ac7f30 100644
- --- a/docs/unidadOrganizacional/unidadOrganizacional.rst
- +++ b/docs/unidadOrganizacional/unidadOrganizacional.rst
- @@ -1,98 +1,55 @@
- -Unidad Organizacional
- -=====================
- -
- -Mostrar todas las unidades organizacionales
- --------------------------------------------
- -
- -URL
- -```
- -::
- -
- - /unidadesOrganizacional
- -
- -Método
- -``````
- -``GET``
- -
- -Respuesta correcta
- -``````````````````
- -
- -**Código:** 200
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - {
- - "count": 4,
- - "rows": [
- - {
- - "_id": 89,
- - "nombre": "Dirección Ejecutiva",
- - "sigla": "DE",
- - "descripcion": "Responsable del macro-proceso de Gestión Estratégica Institucional de la ADSIB",
- - "paginaWeb": null,
- - "correo": null,
- - "estado": true,
- - "fecha_supresion": null,
- - "unidad_superior_id": null,
- - "fecha_creacion": "2016-05-24T13:54:00.941Z",
- - "fecha_modificacion": "2016-05-24T13:54:00.943Z",
- - "hierarchyLevel": 1,
- - "fk_entidad": 23
- - },
- - {
- - "_id": 90,
- - "nombre": "Unidad de Innovación y Desarrollo",
- - "sigla": "UID",
- - "descripcion": "Encargada de unir los esfuerzos de las diferentes líneas de investigación de la ADSIB para el desarrollo de nuevos productos que impacten positivamente al pais",
- - "paginaWeb": null,
- - "correo": null,
- - "estado": true,
- - "fecha_supresion": null,
- - "unidad_superior_id": 89,
- - "fecha_creacion": "2016-05-24T13:54:01.007Z",
- - "fecha_modificacion": "2016-05-24T13:54:01.011Z",
- - "hierarchyLevel": 2,
- - "fk_entidad": 23
- - },
- - {
- - "_id": 91,
- - "nombre": "Unidad Administrativa Financiera",
- - "sigla": "UAF",
- - "descripcion": "Encargada de la gestión administrativa y financiera, y el seguimiento de todos los procesos que implican el manejo de recursos económicos.",
- - "paginaWeb": null,
- - "correo": null,
- - "estado": true,
- - "fecha_supresion": null,
- - "unidad_superior_id": 89,
- - "fecha_creacion": "2016-05-24T13:54:01.007Z",
- - "fecha_modificacion": "2016-05-24T13:54:01.010Z",
- - "hierarchyLevel": 2,
- - "fk_entidad": 23
- - },
- - {
- - "_id": 92,
- - "nombre": "Unidad de Administración de Sistemas y Soporte Técnico",
- - "sigla": "UASST",
- - "descripcion": "Encargada del mantenimiento preventivo-correctivo de los equipos periféricos de computación y herramientas de software adquiridos e instalados en la ADSIB",
- - "paginaWeb": null,
- - "correo": null,
- - "estado": true,
- - "fecha_supresion": null,
- - "unidad_superior_id": 89,
- - "fecha_creacion": "2016-05-24T13:54:01.007Z",
- - "fecha_modificacion": "2016-05-24T13:54:01.011Z",
- - "hierarchyLevel": 2,
- - "fk_entidad": 23
- - }
- - ]
- - }
- -
- -Parámetros opcionales de la URL
- -```````````````````````````````
- -Tabla de parámetros
- -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
- +Comentario
- +====================
- +
- +Formato URL
- +------------------------
- ++-----------------+-------------------------+
- +|**Método HTTP** |**Significado** |
- ++=================+=========================+
- +|`GET` | Obtiene un recurso |
- ++-----------------+-------------------------+
- +|`POST` | Crea un recurso |
- ++-----------------+-------------------------+
- +|`PUT` | Actualiza un recurso |
- ++-----------------+-------------------------+
- +|`DELETE` | Borra un recurso |
- ++-----------------+-------------------------+
- +
- +Ejemplo
- +''''''''''''
- +
- +**Contenido Body**
- +
- +Contenido en data del cuerpo para realizar el creado y actualización de un registro identificado como :id.
- +
- +.. code:: json
- +
- + {
- + "nombre": "Dirección Ejecutiva",
- + "sigla": "DE",
- + "descripcion": "Responsable del macro-proceso de Gestión Estratégica Institucional de la ADSIB",
- + "paginaWeb": null,
- + "correo": null,
- + "estado": true,
- + "fecha_supresion": null,
- + "unidad_superior_id": null,
- + "orden": 0,
- + "fecha_creacion": "2016-07-26T14:37:06.901Z",
- + "fecha_modificacion": "2016-07-26T14:37:06.904Z",
- + "fk_entidad": 109
- + }
- +
- ++----------------------------------------------------------------+-----------------------------------------------------------------------------------------------+----------------------------------------------------+----------------------------------------------------------+---------------------------------------------------------+
- +|**Recurso** |**GET** |**POST** |**PUT** |**DELETE** |
- ++================================================================+===============================================================================================+====================================================+==========================================================+=========================================================+
- +| /unidadesOrganizacional | Obtiene el listado de todos las Unidad Organizacional | Crea un registro de Unidad Organizacional | | |
- ++----------------------------------------------------------------+-----------------------------------------------------------------------------------------------+----------------------------------------------------+----------------------------------------------------------+---------------------------------------------------------+
- +| /unidadesOrganizacional/:id | Obtiene el Unidad Organizacional identificado como :id | | Actualiza registro :id de Unidad Organizacional | Elimina registro :id de Unidad Organizacional |
- ++----------------------------------------------------------------+-----------------------------------------------------------------------------------------------+----------------------------------------------------+----------------------------------------------------------+---------------------------------------------------------+
- +
- +
- +Tabla de parámetros opcionales de la URL para peticines GET
- +'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
- +-+-----------+------------------+---------------------------------------------------------------------+
- |**Nombre** |**Tipo** |**Descripción** |
- +=+===========+==================+=====================================================================+
- @@ -117,726 +74,25 @@ Tabla de parámetros
- | |`entidad` | String |El nombre de la entidad. |
- +-+-----------+------------------+---------------------------------------------------------------------+
- -Muestra una determinada cantidad de unidades organizacionales
- -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
- -
- -**URL**
- -::
- -
- - /unidadesOrganizacional?elementos=valor
- -
- -**Parámetros usados**
- -
- -============ =====================
- -**Nombre** **Valor enviado**
- -============ =====================
- -`elementos` 1
- -============ =====================
- -
- -**Ejemplo:**
- -
- -::
- -
- - /unidadesOrganizacional?elementos=1
- -
- -**Respuesta:**
- -
- -.. code:: json
- -
- - {
- - "count": 4,
- - "rows": [
- - {
- - "_id": 89,
- - "nombre": "Dirección Ejecutiva",
- - "sigla": "DE",
- - "descripcion": "Responsable del macro-proceso de Gestión Estratégica Institucional de la ADSIB",
- - "paginaWeb": null,
- - "correo": null,
- - "estado": true,
- - "fecha_supresion": null,
- - "unidad_superior_id": null,
- - "fecha_creacion": "2016-05-24T13:54:00.941Z",
- - "fecha_modificacion": "2016-05-24T13:54:00.943Z",
- - "hierarchyLevel": 1,
- - "fk_entidad": 23
- - }
- - ]
- - }
- -
- -Muestra las unidades organizacionales en una determinada página
- -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
- -
- -**URL**
- -::
- -
- - /unidadesOrganizacional?pagina=valor
- -
- -**Parámetros usados**
- -
- -============ =====================
- -**Nombre** **Valor enviado**
- -============ =====================
- -`pagina` 1
- -============ =====================
- -
- -**Ejemplo:**
- -::
- -
- - /unidadesOrganizacional?pagina=1
- -
- -**Respuesta:**
- -
- -.. code:: json
- -
- - {
- - "count": 4,
- - "rows": [
- - {
- - "_id": 89,
- - "nombre": "Dirección Ejecutiva",
- - "sigla": "DE",
- - "descripcion": "Responsable del macro-proceso de Gestión Estratégica Institucional de la ADSIB",
- - "paginaWeb": null,
- - "correo": null,
- - "estado": true,
- - "fecha_supresion": null,
- - "unidad_superior_id": null,
- - "fecha_creacion": "2016-05-24T13:54:00.941Z",
- - "fecha_modificacion": "2016-05-24T13:54:00.943Z",
- - "hierarchyLevel": 1,
- - "fk_entidad": 23
- - },
- - {
- - "_id": 90,
- - "nombre": "Unidad de Innovación y Desarrollo",
- - "sigla": "UID",
- - "descripcion": "Encargada de unir los esfuerzos de las diferentes líneas de investigación de la ADSIB para el desarrollo de nuevos productos que impacten positivamente al pais",
- - "paginaWeb": null,
- - "correo": null,
- - "estado": true,
- - "fecha_supresion": null,
- - "unidad_superior_id": 89,
- - "fecha_creacion": "2016-05-24T13:54:01.007Z",
- - "fecha_modificacion": "2016-05-24T13:54:01.011Z",
- - "hierarchyLevel": 2,
- - "fk_entidad": 23
- - },
- - {
- - "_id": 91,
- - "nombre": "Unidad Administrativa Financiera",
- - "sigla": "UAF",
- - "descripcion": "Encargada de la gestión administrativa y financiera, y el seguimiento de todos los procesos que implican el manejo de recursos económicos.",
- - "paginaWeb": null,
- - "correo": null,
- - "estado": true,
- - "fecha_supresion": null,
- - "unidad_superior_id": 89,
- - "fecha_creacion": "2016-05-24T13:54:01.007Z",
- - "fecha_modificacion": "2016-05-24T13:54:01.010Z",
- - "hierarchyLevel": 2,
- - "fk_entidad": 23
- - },
- - {
- - "_id": 92,
- - "nombre": "Unidad de Administración de Sistemas y Soporte Técnico",
- - "sigla": "UASST",
- - "descripcion": "Encargada del mantenimiento preventivo-correctivo de los equipos periféricos de computación y herramientas de software adquiridos e instalados en la ADSIB",
- - "paginaWeb": null,
- - "correo": null,
- - "estado": true,
- - "fecha_supresion": null,
- - "unidad_superior_id": 89,
- - "fecha_creacion": "2016-05-24T13:54:01.007Z",
- - "fecha_modificacion": "2016-05-24T13:54:01.011Z",
- - "hierarchyLevel": 2,
- - "fk_entidad": 23
- - }
- - ]
- - }
- -
- -Ordena las unidades organizacionales ascendentemente en base a un campo del modelo
- -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
- -
- -**URL**
- -::
- -
- - /unidadesOrganizacional?ordenarPor=valor
- -
- -**Parámetros usados**
- -
- -============ =====================
- -**Nombre** **Valor enviado**
- -============ =====================
- -`ordenarPor` sigla
- -============ =====================
- -
- -**Ejemplo**
- -::
- -
- - /unidadesOrganizacional?ordenarPor=nombre
- -
- -**Respuesta:**
- -
- -.. code:: json
- -
- - {
- - "count": 4,
- - "rows": [
- - {
- - "_id": 89,
- - "nombre": "Dirección Ejecutiva",
- - "sigla": "DE",
- - "descripcion": "Responsable del macro-proceso de Gestión Estratégica Institucional de la ADSIB",
- - "paginaWeb": null,
- - "correo": null,
- - "estado": true,
- - "fecha_supresion": null,
- - "unidad_superior_id": null,
- - "fecha_creacion": "2016-05-24T15:15:31.301Z",
- - "fecha_modificacion": "2016-05-24T15:15:31.302Z",
- - "hierarchyLevel": 1,
- - "fk_entidad": 23
- - },
- - {
- - "_id": 91,
- - "nombre": "Unidad Administrativa Financiera",
- - "sigla": "UAF",
- - "descripcion": "Encargada de la gestión administrativa y financiera, y el seguimiento de todos los procesos que implican el manejo de recursos económicos.",
- - "paginaWeb": null,
- - "correo": null,
- - "estado": true,
- - "fecha_supresion": null,
- - "unidad_superior_id": 89,
- - "fecha_creacion": "2016-05-24T15:15:31.316Z",
- - "fecha_modificacion": "2016-05-24T15:15:31.319Z",
- - "hierarchyLevel": 2,
- - "fk_entidad": 23
- - },
- - {
- - "_id": 92,
- - "nombre": "Unidad de Administración de Sistemas y Soporte Técnico",
- - "sigla": "UASST",
- - "descripcion": "Encargada del mantenimiento preventivo-correctivo de los equipos periféricos de computación y herramientas de software adquiridos e instalados en la ADSIB",
- - "paginaWeb": null,
- - "correo": null,
- - "estado": true,
- - "fecha_supresion": null,
- - "unidad_superior_id": 89,
- - "fecha_creacion": "2016-05-24T15:15:31.316Z",
- - "fecha_modificacion": "2016-05-24T15:15:31.319Z",
- - "hierarchyLevel": 2,
- - "fk_entidad": 23
- - },
- - {
- - "_id": 90,
- - "nombre": "Unidad de Innovación y Desarrollo",
- - "sigla": "UID",
- - "descripcion": "Encargada de unir los esfuerzos de las diferentes líneas de investigación de la ADSIB para el desarrollo de nuevos productos que impacten positivamente al pais",
- - "paginaWeb": null,
- - "correo": null,
- - "estado": true,
- - "fecha_supresion": null,
- - "unidad_superior_id": 89,
- - "fecha_creacion": "2016-05-24T15:15:31.316Z",
- - "fecha_modificacion": "2016-05-24T15:15:31.319Z",
- - "hierarchyLevel": 2,
- - "fk_entidad": 23
- - }
- - ]
- - }
- -
- -Ordena las unidades organizacionales descendentemente base a un campo del modelo
- -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
- -
- -**URL**
- -::
- -
- - /unidadesOrganizacional?ordenarPor=valor1&orden=valor2
- -
- -**Parámetros usados**
- -
- -============ =================
- -**Nombre** **Valor enviado**
- -============ =================
- -`ordenarPor` sigla
- -`orden` true
- -============ =================
- -
- -**Ejemplo:**
- -::
- -
- - /unidadesOrganizacional?ordenarPor=sigla&orden=true
- -
- -**Respuesta:**
- -
- -.. code:: json
- -
- - {
- - "count": 4,
- - "rows": [
- - {
- - "_id": 90,
- - "nombre": "Unidad de Innovación y Desarrollo",
- - "sigla": "UID",
- - "descripcion": "Encargada de unir los esfuerzos de las diferentes líneas de investigación de la ADSIB para el desarrollo de nuevos productos que impacten positivamente al pais",
- - "paginaWeb": null,
- - "correo": null,
- - "estado": true,
- - "fecha_supresion": null,
- - "unidad_superior_id": 89,
- - "fecha_creacion": "2016-05-24T13:54:01.007Z",
- - "fecha_modificacion": "2016-05-24T13:54:01.011Z",
- - "hierarchyLevel": 2,
- - "fk_entidad": 23
- - },
- - {
- - "_id": 92,
- - "nombre": "Unidad de Administración de Sistemas y Soporte Técnico",
- - "sigla": "UASST",
- - "descripcion": "Encargada del mantenimiento preventivo-correctivo de los equipos periféricos de computación y herramientas de software adquiridos e instalados en la ADSIB",
- - "paginaWeb": null,
- - "correo": null,
- - "estado": true,
- - "fecha_supresion": null,
- - "unidad_superior_id": 89,
- - "fecha_creacion": "2016-05-24T13:54:01.007Z",
- - "fecha_modificacion": "2016-05-24T13:54:01.011Z",
- - "hierarchyLevel": 2,
- - "fk_entidad": 23
- - },
- - {
- - "_id": 91,
- - "nombre": "Unidad Administrativa Financiera",
- - "sigla": "UAF",
- - "descripcion": "Encargada de la gestión administrativa y financiera, y el seguimiento de todos los procesos que implican el manejo de recursos económicos.",
- - "paginaWeb": null,
- - "correo": null,
- - "estado": true,
- - "fecha_supresion": null,
- - "unidad_superior_id": 89,
- - "fecha_creacion": "2016-05-24T13:54:01.007Z",
- - "fecha_modificacion": "2016-05-24T13:54:01.010Z",
- - "hierarchyLevel": 2,
- - "fk_entidad": 23
- - },
- - {
- - "_id": 89,
- - "nombre": "Dirección Ejecutiva",
- - "sigla": "DE",
- - "descripcion": "Responsable del macro-proceso de Gestión Estratégica Institucional de la ADSIB",
- - "paginaWeb": null,
- - "correo": null,
- - "estado": true,
- - "fecha_supresion": null,
- - "unidad_superior_id": null,
- - "fecha_creacion": "2016-05-24T13:54:00.941Z",
- - "fecha_modificacion": "2016-05-24T13:54:00.943Z",
- - "hierarchyLevel": 1,
- - "fk_entidad": 23
- - }
- - ]
- - }
- -
- -Buscar por "palabra" en "campo" de la entidad Unidad organizacional
- -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
- -
- -**URL**
- -::
- -
- - /unidadesOrganizacional?buscar=%7B%22en%22:%22valor1%22,%22palabra%22:%22valor2%22%7D
- -
- -**Parámetros usados**
- -
- -============ ===========================================
- -**Nombre** **Valor enviado**
- -============ ===========================================
- -`buscar` ::
- -
- - [{"en":"nombre","palabra":"unidad"}]
- -============ ===========================================
- -
- -**Ejemplo**
- -::
- -
- - /unidadesOrganizacional?buscar=%7B%22en%22:%22nombre%22,%22palabra%22:%22unidad%22%7D
- -
- -**Respuesta:**
- -
- -.. code:: json
- -
- - {
- - "count": 3,
- - "rows": [
- - {
- - "_id": 90,
- - "nombre": "Unidad de Innovación y Desarrollo",
- - "sigla": "UID",
- - "descripcion": "Encargada de unir los esfuerzos de las diferentes líneas de investigación de la ADSIB para el desarrollo de nuevos productos que impacten positivamente al pais",
- - "paginaWeb": null,
- - "correo": null,
- - "estado": true,
- - "fecha_supresion": null,
- - "unidad_superior_id": 89,
- - "fecha_creacion": "2016-05-24T13:54:01.007Z",
- - "fecha_modificacion": "2016-05-24T13:54:01.011Z",
- - "hierarchyLevel": 2,
- - "fk_entidad": 23
- - },
- - {
- - "_id": 91,
- - "nombre": "Unidad Administrativa Financiera",
- - "sigla": "UAF",
- - "descripcion": "Encargada de la gestión administrativa y financiera, y el seguimiento de todos los procesos que implican el manejo de recursos económicos.",
- - "paginaWeb": null,
- - "correo": null,
- - "estado": true,
- - "fecha_supresion": null,
- - "unidad_superior_id": 89,
- - "fecha_creacion": "2016-05-24T13:54:01.007Z",
- - "fecha_modificacion": "2016-05-24T13:54:01.010Z",
- - "hierarchyLevel": 2,
- - "fk_entidad": 23
- - },
- - {
- - "_id": 92,
- - "nombre": "Unidad de Administración de Sistemas y Soporte Técnico",
- - "sigla": "UASST",
- - "descripcion": "Encargada del mantenimiento preventivo-correctivo de los equipos periféricos de computación y herramientas de software adquiridos e instalados en la ADSIB",
- - "paginaWeb": null,
- - "correo": null,
- - "estado": true,
- - "fecha_supresion": null,
- - "unidad_superior_id": 89,
- - "fecha_creacion": "2016-05-24T13:54:01.007Z",
- - "fecha_modificacion": "2016-05-24T13:54:01.011Z",
- - "hierarchyLevel": 2,
- - "fk_entidad": 23
- - }
- - ]
- - }
- -
- -Respuesta de error
- -``````````````````
- -
- -**Código:** 500
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - {
- - "error":"Ocurrio un problema inesperado en el servidor"
- - }
- -
- -
- -Observaciones
- -`````````````
- -- Esta petición cuando no existen datos almacenados en la base de datos retorna un array vacio
- -- El parámetro 'orden' depende del parámetro 'ordenarPor'
- -- El parámetro 'pagina' muestra 15 unidades organizacionales por defecto
- -
- -----
- -
- -Crear una unidad organizacional
- --------------------------------
- -
- -URL
- -```
- -::
- -
- - /unidadesOrganizacional
- -
- -Método
- -``````
- -``POST``
- -
- -Parámetros del body
- -```````````````````
- -**Ejemplo**
- -
- -.. code:: json
- -
- - {
- - "nombre": "Unidad de Desarrollo de Hardware",
- - "sigla": "Hardware",
- - "descripcion": "Investigación de nueva tecnologia sobre Hardware",
- - "fk_entidad": 23,
- - "estado": true
- - }
- -
- -Respuesta correcta
- -``````````````````
- -
- -**Código:** 201
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - {
- - "_id": 93,
- - "nombre": "Unidad de Desarrollo de Hardware",
- - "sigla": "Hardware",
- - "descripcion": "Investigación de nueva tecnologia sobre Hardware",
- - "fk_entidad": 23,
- - "estado": true,
- - "fecha_modificacion": "2016-05-24T14:54:27.053Z",
- - "fecha_creacion": "2016-05-24T14:54:27.053Z",
- - "hierarchyLevel": 1,
- - "paginaWeb": null,
- - "correo": null,
- - "fecha_supresion": null,
- - "unidad_superior_id": null
- - }
- -
- -Respuesta de error
- -``````````````````
- -
- -**Código:** 400
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - {
- - "name": "SequelizeValidationError",
- - "message": "Validation error: Ingrese Sigla para la Unidad Organizacional.",
- - "errors": [
- - {
- - "message": "Ingrese Sigla para la Unidad Organizacional.",
- - "type": "Validation error",
- - "path": "sigla",
- - "value": {},
- - "__raw": {}
- - }
- - ]
- - }
- -
- -**Código:** 409
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - {
- - "name": "SequelizeUniqueConstraintError",
- - "message": "llave duplicada viola restricción de unicidad «unidad_organizacional_nombre_key»",
- - "errors": {}
- - }
- -
- -----
- -
- -Mostrar una unidad organizacional
- ----------------------------------
- -URL
- -```
- -::
- -
- - /unidadesOrganizacional/:id
- -
- -Método
- -``````
- -``GET``
- -
- -Parámetros de la URL
- -````````````````````
- -
- -**Parámetro requerido:**
- -
- -============ ============== ================================================
- -**Nombre** **Tipo** **Descripción**
- -============ ============== ================================================
- -`id` Integer Identificador único del registro en la entidad.
- -============ ============== ================================================
- -
- -**Ejemplo**
- -::
- -
- - id=93
- -
- -Respuesta correcta
- -``````````````````
- -
- -**Código:** 200
- -
- -**Ejemplo**
- -
- -.. code:: json
- -
- - {
- - "_id": 93,
- - "nombre": "Unidad de Desarrollo de Hardware",
- - "sigla": "Hardware",
- - "descripcion": "Investigación de nueva tecnologia sobre Hardware",
- - "paginaWeb": null,
- - "correo": null,
- - "estado": true,
- - "fecha_supresion": null,
- - "unidad_superior_id": null,
- - "fecha_creacion": "2016-05-24T14:54:27.053Z",
- - "fecha_modificacion": "2016-05-24T14:54:27.053Z",
- - "hierarchyLevel": 1,
- - "fk_entidad": 23
- - }
- -
- -Respuesta de error
- -``````````````````
- -
- -**Código:** 404
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - {
- - "message": "Entidad no encontrada"
- - }
- -
- -----
- -
- -Editar una unidad organizacional
- ---------------------------------
- -URL
- -```
- -::
- -
- - /unidadesOrganizacional/:id
- -
- -Método
- -``````
- -``PUT``
- -
- -Parámetros de la URL
- -````````````````````
- -
- -**Parámetro requerido:**
- -
- -============ ============== ================================================
- -**Nombre** **Tipo** **Descripción**
- -============ ============== ================================================
- -`id` Integer Identificador único del registro en la entidad.
- -============ ============== ================================================
- -
- -**Ejemplo**
- -::
- -
- - id=93
- -
- -Parámetros del body
- -```````````````````
- -
- -**Ejemplo**
- -
- -.. code:: json
- -
- - {
- - "sigla": "UDH"
- - }
- -
- -
- -Respuesta correcta
- -``````````````````
- -
- -**Código:** 200
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - {
- - "_id": 93,
- - "nombre": "Unidad de Desarrollo de Hardware",
- - "sigla": "UDH",
- - "descripcion": "Investigación de nueva tecnologia sobre Hardware",
- - "paginaWeb": null,
- - "correo": null,
- - "estado": true,
- - "fecha_supresion": null,
- - "unidad_superior_id": null,
- - "fecha_creacion": "2016-05-24T14:54:27.053Z",
- - "fecha_modificacion": "2016-05-24T15:00:39.780Z",
- - "hierarchyLevel": 1,
- - "fk_entidad": 23
- - }
- -
- -Respuesta de error
- -``````````````````
- -
- -**Código:** 404
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - {
- - "message": "Entidad no encontrada"
- - }
- -
- -**Código:** 400
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - {
- - "name": "SequelizeValidationError",
- - "message": "Validation error: Ingrese Sigla para la Unidad Organizacional.",
- - "errors": [
- - {
- - "message": "Ingrese Sigla para la Unidad Organizacional.",
- - "type": "Validation error",
- - "path": "sigla",
- - "value": {},
- - "__raw": {}
- - }
- - ]
- - }
- -
- -----
- -
- -Eliminar una unidad organizacional
- -----------------------------------
- -URL
- -```
- -::
- -
- - /unidadesOrganizacional/:id
- -
- -Método
- -``````
- -``DELETE``
- -
- -Parámetros de la URL
- -````````````````````
- -
- -**Parámetro requerido:**
- -
- -============ ============== ================================================
- -**Nombre** **Tipo** **Descripción**
- -============ ============== ================================================
- -`id` Integer Identificador único del registro en la entidad.
- -============ ============== ================================================
- -
- -**Ejemplo**
- -::
- -
- - id=93
- -
- -Respuesta correcta
- -``````````````````
- -
- -**Código:** 204
- -
- -Respuesta de error
- -``````````````````
- -
- -**Código:** 404
- -
- -**Contenido:**
- -
- -.. code:: json
- -
- - {
- - "message": "Entidad no encontrada"
- - }
- +Respuestas
- +----------
- +
- ++------------------+----------------------------------------------------------------------------------------------+
- +| **Código HTTP** | **Descripción** |
- ++==================+==============================================================================================+
- +| `200` | Ok |
- ++------------------+----------------------------------------------------------------------------------------------+
- +| `201` | Creado |
- ++------------------+----------------------------------------------------------------------------------------------+
- +| `400` | Parámetros incorrectos en la entrada |
- ++------------------+----------------------------------------------------------------------------------------------+
- +| `401` | Token de acceso expirado o invalido |
- ++------------------+----------------------------------------------------------------------------------------------+
- +| `404` | Recurso no encontrado |
- ++------------------+----------------------------------------------------------------------------------------------+
- +| `405` | Método HTTP no esperado. Ejemplo: se esperaba un HTTP GET y se recibió un HTTP POST |
- ++------------------+----------------------------------------------------------------------------------------------+
- +| `429` | Se están recibiendo muchos requests de parte de tu aplicación. Se esta limitando el acceso |
- ++------------------+----------------------------------------------------------------------------------------------+
- +| `500` | Error interno del servidor |
- ++------------------+----------------------------------------------------------------------------------------------+
- --
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement