{"info":{"_postman_id":"44a0f633-4651-4686-af11-f7e389acccb6","name":"alkemy-full-stack","description":"<html><head></head><body><p>Una API creada para el Desafío Full Stack JS de la aceleración de Alkemy. Maneja una autenticación con la necesidades básicas, una verificación de la identidad por email y la manipulación de la información del usuario correspondiente (registros de operaciones), utilizando un Bearer Json Web Token en el encabezado de autorización (authorization header) de la petición para las rutas privadas.</p>\n<p>An API created for the Full Stack Challenge JS of Alkemy's acceleration. It handles a user authentication with basic needs, identity verification by email and manipulation of the corresponding user data (records of operations), with a Bearer Json Web Token at request's authorization header for private routes.</p>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[],"owner":"16003276","collectionId":"44a0f633-4651-4686-af11-f7e389acccb6","publishedId":"Uyxeonsr","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"EF5B25"},"publishDate":"2022-05-09T23:15:38.000Z"},"item":[{"name":"Records","item":[{"name":"Get records","id":"f07bbc82-080f-47a3-a71c-1b81125825bc","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"GET","header":[],"url":"http://localhost:8080/api/v1/records","description":"<p>Una ruta privada que responderá con datos JSON, con un mensaje (\"message\") que contiene un error si algo falla, o un mensaje de éxito y un arreglo con los registros almacenados por el usuario en el atributo \"records\".</p>\n<p>A private route that will respond with JSON data, with a \"message\" that contains an error if something fails, or a successful \"message\" and an array with the user's stored records at \"records\" attribute.</p>\n","urlObject":{"protocol":"http","port":"8080","path":["api","v1","records"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"f07bbc82-080f-47a3-a71c-1b81125825bc"},{"name":"Save Record","id":"24c14ecc-56d4-4824-b68b-45de9f1c850a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"urlencoded","urlencoded":[{"key":"concept","value":"<string>","description":"<p>required: not empty string</p>\n","type":"text"},{"key":"amount","value":"<real number>","description":"<p>required: a real number</p>\n","type":"text"},{"key":"operation_date","value":"<yyyy-mm-dd>","description":"<p>required: a date preferably in the format yyyy-mm-dd</p>\n","type":"text"},{"key":"operation_type","value":"<\"Income\" or \"Outcome\">","description":"<p>required: a string with value \"Income\" or \"Outcome\"</p>\n","type":"text"},{"key":"category","value":"<string>","description":"<p>optional: string</p>\n","type":"text"}]},"url":"http://localhost:8080/api/v1/records","description":"<p>Una ruta privada que requerirá un objeto en el formato JSON (application/json) en el cuerpo de la petición, el cual deberá contener los atributos \"concept\", \"amount\", \"operation_date\", \"operation_type\" y opcionalmente \"category\". También deberán tener valores válidos, permitiendo sólo números reales para \"amount\", una fecha (preferentemente en el formato aaaa-mm-dd) para \"operation_date\" y los valores \"Income\" o \"Outcome\" para \"operation_type\". Responderá con datos JSON, con un mensaje (\"message\") que contiene un error si algo falla, o un mensaje de éxito y un objeto con el nuevo registro almacenado por el usuario en el atributo \"recordData\".</p>\n<p>A private route that will require an object in the JSON format (application/json) at request body, which must contain the attributes \"concept\", \"amount\", \"operation_date\", \"operation_type\" and optionally \"category\". Also, they should have valid values, allowing just real numbers for \"amount\", a date (preferably in the formar yyyy-mm-dd) for \"operation_date\" and the values \"Income\" and \"Output\" for \"operation_type\". It will respond with JSON data, with a \"message\" that contains an error if something fails, or a successful \"message\" and an object with the user's newly stored record at \"recordData\" attribute.</p>\n","urlObject":{"protocol":"http","port":"8080","path":["api","v1","records"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"24c14ecc-56d4-4824-b68b-45de9f1c850a"},{"name":"Update record","id":"9e046b0b-faa9-41e8-a0b7-f4f64e11575f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"PUT","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"urlencoded","urlencoded":[{"key":"concept","value":"<string>","description":"<p>required: not empty string</p>\n","type":"text"},{"key":"amount","value":"<real number>","description":"<p>required: a real number</p>\n","type":"text"},{"key":"operation_date","value":"<yyyy-mm-dd>","description":"<p>required: a date preferably in the format yyyy-mm-dd</p>\n","type":"text"},{"key":"category","value":"<string>","description":"<p>optional: string</p>\n","type":"text"}]},"url":"http://localhost:8080/api/v1/records/:uuid","description":"<p>Una ruta privada que requerirá la uuid de un registro existente perteneciente al usuario que realiza la petición en los parametros de la ruta, y un objeto en el formato JSON (application/json) en el cuerpo de la petición que contenga los atributos \"concept\", \"amount\", \"operation_date\" y opcionalmente \"category\", que deberán tener valores válidos, permitiendo sólo números reales para \"amount\" y una fecha (preferentemente en el formato aaaa-mm-dd) para \"operation_date\". Responderá con datos JSON, con un mensaje (\"message\") que contiene un error si algo falla, o un mensaje de éxito y un objeto con el registro actualizado por el usuario en el atributo \"recordData\".</p>\n<p>A private route that will require a uuid of an existing record that belongs to the user that is making the request in the path params, and an object in the JSON format (application/json) at the request body that must contain the attributes \"concept\", \"amount\", \"operation_date\" and optionally \"category\", with valid values, allowing just real numbers for \"amount\" and a date (preferably in the format yyyy-mm-dd) for \"operation_date\". It will respond with JSON data, with a \"message\" that contains an error if something fails, or a successful \"message\" and an object with the user's updated record at \"recordData\" attribute.</p>\n","urlObject":{"protocol":"http","port":"8080","path":["api","v1","records",":uuid"],"host":["localhost"],"query":[],"variable":[{"description":{"content":"<p>the uuid of the record to be updated</p>\n","type":"text/plain"},"type":"any","value":"<record_uuid>","key":"uuid"}]}},"response":[],"_postman_id":"9e046b0b-faa9-41e8-a0b7-f4f64e11575f"},{"name":"Delete Record","id":"f81b8a87-a8a2-4760-b6a3-e289e702b254","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"DELETE","header":[],"url":"http://localhost:8080/api/v1/records/:uuid","description":"<p>Una ruta privada que requerirá la uuid de un registro existente perteneciente al usuario que realiza la petición en los parametros de la ruta. Responderá con datos JSON, con un mensaje (\"message\") que contiene un error si algo falla, o un mensaje de éxito y una cadena con el uuid del registro eliminado por el usuario en el atributo \"record_uuid\".</p>\n<p>A private route that will require a uuid of an existing record that belongs to the user that is making the request in the path params. It will respond with JSON data, with a \"message\" that contains an error if something fails, or a successful \"message\" and a string with the user's deleted record uuid at \"record_uuid\" attribute.</p>\n","urlObject":{"protocol":"http","port":"8080","path":["api","v1","records",":uuid"],"host":["localhost"],"query":[],"variable":[{"description":{"content":"<p>the uuid of the record to be deleted</p>\n","type":"text/plain"},"type":"any","value":"<record_uuid>","key":"uuid"}]}},"response":[],"_postman_id":"f81b8a87-a8a2-4760-b6a3-e289e702b254"},{"name":"https://asiritreehouse.s3.sa-east-1.amazonaws.com/Add%20Bart%20teacher%20at%20speech.png","id":"733a8463-925a-444d-bcdd-4b82e357c3d0","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://asiritreehouse.s3.sa-east-1.amazonaws.com/Add%20Bart%20teacher%20at%20speech.png","urlObject":{"protocol":"https","path":["Add%20Bart%20teacher%20at%20speech.png"],"host":["asiritreehouse","s3","sa-east-1","amazonaws","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"733a8463-925a-444d-bcdd-4b82e357c3d0"}],"id":"93d13c70-64a0-4b36-8865-c0807903893c","description":"<p>Manejo de los registros de operaciones del usuario almacenados en una base de datos en PostgreSQL, en la tabla de \"records\" que contiene las columnas record_uuid, concept, amount, operation_date, operation_type, category, user_uuid, createdAt y updatedAt.</p>\n<p>Handling of user's operation records stored in a PostgreSQL database, at the table \"records\" that has the columns record_uuid, concept, amount, operation_date, operation_type, category, user_uuid, createdAt and updatedAt</p>\n","_postman_id":"93d13c70-64a0-4b36-8865-c0807903893c"},{"name":"User","item":[{"name":"Register","id":"1a433a7b-4ecf-45a5-89b4-de251d31dfb9","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"urlencoded","urlencoded":[{"key":"name","value":"<string>","description":"<p>required: not empty string</p>\n","type":"text"},{"key":"email","value":"<string>","description":"<p>required: valid format email x+@x+(.x+)+ not registered before</p>\n","type":"text"},{"key":"password","value":"<string>","description":"<p>required: not empty string</p>\n","type":"text"}]},"url":"http://localhost:8080/api/v1/user/register","description":"<p>Una ruta pública que requerirá un objeto en el formato JSON (application/json) en el cuerpo de la petición que contenga los atributos \"name\", \"email\" y \"password\", que deberán tener valores válidos, permitiendo en \"email\" una dirección de correo electrónico con un formato válido (para el regexp \" /^[a-z0-9+.~_-]+@[a-z0-9-]+(?:\\.[a-z0-9-]+)+$/ \") que no haya sido registrada previamente. Responderá con datos JSON, con un mensaje (\"message\") que contiene un error si algo falla, o un mensaje de éxito y un objeto en el atributo \"userData\" que contendrá el nombre, la dirección de correo electrónico y el estado de verificación del usuario recien registrado y un token con su uuid encriptada.</p>\n<p>A public route that will require an object in the JSON format (application/json) at the request body that contains the attributes \"name\", \"email\" and \"password\", that must have valid values, allowing at \"email\" just a valid email address (that matches the regexp \" /^[a-z0-9+.~_-]+@[a-z0-9-]+(?:\\.[a-z0-9-]+)+$/ \") that has not been registered before. It will respond with JSON data, with a \"message\" that contains an error if something fails, or a successful \"message\" and an object at \"userData\" attribute\" with the newly registered user's name, email address and verification status and a token with it's uuid encrypted.</p>\n","urlObject":{"protocol":"http","port":"8080","path":["api","v1","user","register"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"1a433a7b-4ecf-45a5-89b4-de251d31dfb9"},{"name":"Login authentication","id":"e91ae646-23ec-4249-8e5f-1be1d9608ff3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"warning":"This is a duplicate header and will be overridden by the Content-Type header generated by Postman.","key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"urlencoded","urlencoded":[{"key":"email","value":"<string>","description":"<p>required: valid format email x+@x+(.x+)+ of a registered user</p>\n","type":"text"},{"key":"password","value":"<string>","description":"<p>required: string that matches the password of the user registered with the email address provided</p>\n","type":"text"}]},"url":"http://localhost:8080/api/v1/user/login","description":"<p>Una ruta pública que requerirá un objeto en el formato JSON (application/json) en el cuerpo de la petición que contenga los atributos \"email\" y \"password\", que deberán tener valores válidos, permitiendo en \"email\" una dirección de correo electrónico con un formato válido (para el regexp \" /^[a-z0-9+.~_-]+@[a-z0-9-]+(?:\\.[a-z0-9-]+)+$/ \") y en \"password\" una cadena de caracteres que coincida con la constraseña del usuario registrado con la dirección enviada. Responderá con datos JSON, con un mensaje (\"message\") que contiene un error si algo falla, o un mensaje de éxito y un objeto en el atributo \"userData\" que contendrá el nombre, la dirección de correo electrónico y un estado de verificación del usuario que ha ingresado y un token con su uuid encriptada.</p>\n<p>A public route that will require an object in the JSON format (application/json) at the request body that contains the attributes \"email\" and \"password\", that must have valid values, allowing at \"email\" just a valid email address (that matches the regexp \" /^[a-z0-9+.~_-]+@[a-z0-9-]+(?:\\.[a-z0-9-]+)+$/ \") and at \"password\" a string that matches the password of the user regitered with the email provided. It will respond with JSON data, with a \"message\" that contains an error if something fails, or a successful \"message\" and an object at \"userData\" attribute\" with the recently logged user's name, email address and verification status and a token with it's uuid encrypted.</p>\n","urlObject":{"protocol":"http","port":"8080","path":["api","v1","user","login"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"e91ae646-23ec-4249-8e5f-1be1d9608ff3"},{"name":"Get user data","id":"53bb6ef0-3dd3-4109-bf9c-4677e8fa91dd","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"GET","header":[],"url":"http://localhost:8080/api/v1/user/me","description":"<p>Una ruta privada que responderá con datos JSON, con un mensaje (\"message\") que contendrá un error si algo falla, o un mensaje de éxito y un objeto en el atributo \"userData\" que tendrá la información del usuario que realizó la petición, a excepción de su contraseña y con un token con su uuid de usuario encriptado en reemplazo del atributo user_uuid .</p>\n<p>A private route that will respond with JSON data, with a \"message\" that contains an error if something fails, or a successful \"message\" and an object at the attribute \"userData\" that will contain the requesting user's information, except it's password and with a token with it's user uuid encrypted instead of the user_uuid attribute.</p>\n","urlObject":{"protocol":"http","port":"8080","path":["api","v1","user","me"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"53bb6ef0-3dd3-4109-bf9c-4677e8fa91dd"},{"name":"Obtain ID verification code","id":"2d357d45-9f7c-4e11-8a02-48580a13b29d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"POST","header":[],"url":"http://localhost:8080/api/v1/user/verification","description":"<p>Una ruta privada que enviará un correo electrónico a la dirección del usuario que realizó la petición, que contendrá un código para la verificación de su identidad. A su vez generará un registro del código y de la petición en una sesión de express y responderá con datos JSON, con un mensaje (\"message\") que contiene un error si algo falla o un mensaje de éxito. Esta ruta quedará bloqueada por los siguientes diez segundos una vez utilizada.</p>\n<p>A private route that will send an email to the address of the user that made the request, that will contain a code for verifying his identity. It will also generate a record of the code and of the request in a express session and will respond with JSON data, with a \"message\" that contains an error if something fails or a successful \"message\". This route will remain blocked for ten second after being used.</p>\n","urlObject":{"protocol":"http","port":"8080","path":["api","v1","user","verification"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"2d357d45-9f7c-4e11-8a02-48580a13b29d"},{"name":"Obtain \"forgot password\" code","id":"bb3abd63-8e5b-475c-bda9-99890bfc1323","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"warning":"This is a duplicate header and will be overridden by the Content-Type header generated by Postman.","key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"urlencoded","urlencoded":[{"key":"email","value":"<string>","description":"<p>required: valid format email x+@x+(.x+)+ of a registered user</p>\n","type":"text"}]},"url":"http://localhost:8080/api/v1/user/forgot-password","description":"<p>Una ruta pública que requerirá un objeto en el formato JSON (application/json) en el cuerpo de la petición que contenga el atributo \"email\", el cual deberá tener una dirección de correo electrónico como valor válido (para el regexp \" /^[a-z0-9+.~_-]+@[a-z0-9-]+(?:\\.[a-z0-9-]+)+$/ \"). Luego de generar un código y enviarlo a la dirección provista, hará un registro de este código y de la petición en una sesión de express y responderá con datos JSON, con un mensaje (\"message\") que contiene un error si algo falla o un mensaje de éxito. Esta ruta quedará bloqueda durante los siguientes diez segundos luego de enviar un correo electrónico.</p>\n<p>A public route that will require an object in the JSON format (application/json) at the request body, which should contain the attribute \"email\" that must have an email address valid value (that matches the regexp \" /^[a-z0-9+.~_-]+@[a-z0-9-]+(?:\\.[a-z0-9-]+)+$/ \"). After generating a code and sending it to the address provided, it will save a record of the code and the request in a express session and will respond with JSON data, with a \"message\" that contains an error if something fails or a successful \"message\". This route will be blocked the next ten seconds after sending an email.</p>\n","urlObject":{"protocol":"http","port":"8080","path":["api","v1","user","forgot-password"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"bb3abd63-8e5b-475c-bda9-99890bfc1323"},{"name":"Verify email","id":"7c24d97c-29bd-43cb-abf9-5a643e61d0f7","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[],"url":"http://localhost:8080/api/v1/user/verification/:code","description":"<p>Una ruta pública que requerirá un código en sus parámetros que debe coincidir con un código solicitado previamente. Responderá con datos JSON, con un mensaje (\"message\") que contiene un error si algo falla, o un mensaje de éxito y un token temporario (que durará cinco minutos) en el atributo \"token\", que tendrá encriptado el uuid del usuario que haya hecho la petición del código previamente. Esta ruta quedará bloqueada durante cinco segundos luego de hacer una comparación del código recibido.</p>\n<p>A public route that will require a code in the path params which must match with a code previouslly required. It will respond with JSON data, with a \"message\" that contains an error if something fails or a successful \"message\" and a temporary token (that will last five minutes) at the \"token\" attribute, which will have encrypted the uuid of the user that had previously made the request of the code. This route will remain blocked during five seconds after making a comparison of the code received.</p>\n","urlObject":{"protocol":"http","port":"8080","path":["api","v1","user","verification",":code"],"host":["localhost"],"query":[],"variable":[{"description":{"content":"<p>A code previously sent to the user's email address</p>\n","type":"text/plain"},"type":"any","value":"<code>","key":"code"}]}},"response":[],"_postman_id":"7c24d97c-29bd-43cb-abf9-5a643e61d0f7"},{"name":"Change password","id":"b801320e-3869-4a07-a285-35bd82fcd2a9","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"PUT","header":[{"warning":"This is a duplicate header and will be overridden by the Content-Type header generated by Postman.","key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"urlencoded","urlencoded":[{"key":"password","value":"<string>","description":"<p>required: not an empty string</p>\n","type":"text"}]},"url":"http://localhost:8080/api/v1/user/password","description":"<p>Una ruta privada que requerirá un objeto en el formato JSON (application/json) en el cuerpo de la petición que contenga el atributo \"password\" con un valor válido. Luego de actualizar la constraseña del usuario que haya hecho la petición, responderá con datos JSON, con un mensaje (\"message\") que contiene un error si algo falla o un mensaje de éxito.</p>\n<p>A private route that will require an object in the JSON format (application/json) at the request body that contains the attribute \"password\" con un valor válido. After updating the password of the user that made the request, it will respond with JSON data, with a \"message\" that contains an error if something fails or a successful \"message\".</p>\n","urlObject":{"protocol":"http","port":"8080","path":["api","v1","user","password"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"b801320e-3869-4a07-a285-35bd82fcd2a9"},{"name":"Change name","id":"2945a92c-5178-4c93-b642-ca11d2d46f23","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"PUT","header":[],"url":"http://localhost:8080/api/v1/user/name/:name","description":"<p>Una ruta privada que requerirá un nombre en sus parámetros. Luego de actualizar el nombre del usuario que haya hecho la petición, responderá con datos JSON, con un mensaje (\"message\") que contiene un error si algo falla o un mensaje de éxito.</p>\n<p>A private route that will require a name in it's path. After updating the name of the user that made the request, it will respond with JSON data, with a \"message\" that contains an error if something fails or a successful \"message\".</p>\n","urlObject":{"protocol":"http","port":"8080","path":["api","v1","user","name",":name"],"host":["localhost"],"query":[],"variable":[{"description":{"content":"<p>required: not an empty string</p>\n","type":"text/plain"},"type":"any","value":"<string>","key":"name"}]}},"response":[],"_postman_id":"2945a92c-5178-4c93-b642-ca11d2d46f23"},{"name":"Delete account","id":"8da01380-070b-425b-ac4f-5f2bc8a56c5a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"DELETE","header":[{"warning":"This is a duplicate header and will be overridden by the Content-Type header generated by Postman.","key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"urlencoded","urlencoded":[{"key":"password","value":"<string>","description":"<p>required: a string with the user password</p>\n","type":"text"}]},"url":"http://localhost:8080/api/v1/user/delete/:uuid","description":"<p>Una ruta privada que requerirá en sus parámetros la uuid del usuario que hace la petición encriptada en un token temporario, que debe ser distinto del token enviado en los encabezados de autorización (authorization headers). Adicionalmente requerirá un objeto en el formato JSON (application/json) en el cuerpo de la petición con el atributo \"password\" cuyo valor coincida con la contraseña del usuario que realizó la petición. Responderá con datos JSON, con un mensaje (\"message\") que contiene un error si algo falla o, luego de eliminar la información del usuario, un mensaje de éxito.</p>\n<p>A private route that will require the uuid of the user that is making the request encrypted in a temporary token, which must be different from the token sent at the authorization headers. Additionally it will require an object in the JSON format (application/json) at the request body that contains the attribute \"password\" which value should match the actual password stored for the user that made the request. It will respond with JSON data, with a \"message\" that contains an error if something fails or, after deleting the user's data, a successful \"message\".</p>\n","urlObject":{"protocol":"http","port":"8080","path":["api","v1","user","delete",":uuid"],"host":["localhost"],"query":[],"variable":[{"description":{"content":"<p>required: a temporary token that contains user uuid encrypted</p>\n","type":"text/plain"},"type":"any","value":"<string>","key":"uuid"}]}},"response":[],"_postman_id":"8da01380-070b-425b-ac4f-5f2bc8a56c5a"},{"name":"Logout","id":"16d0561d-a992-4d8a-a091-390a7c01f557","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"url":"http://localhost:8080/api/v1/user/logout","description":"<p>Una ruta pública que eliminará la sesión de express que se encuentre activa y responderá con datos JSON, con un mensaje (\"message\") que contiene un error si algo falla o un mensaje de éxito.</p>\n<p>A public route that will destroy the active express session and will respond with JSON data, with a \"message\" that contains an error if something fails or a successful \"message\".</p>\n","urlObject":{"protocol":"http","port":"8080","path":["api","v1","user","logout"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"16d0561d-a992-4d8a-a091-390a7c01f557"}],"id":"cfff4c2b-3458-4164-92a3-86807cfbc70c","description":"<p>Manejo de la autenticación utilizando Json Web Token de los distintos usuarios de la aplicación, almacenados en una base de datos en PostgreSQL, en la tabla \"people\" que contiene las columnas user_uuid, name, email, password, verified, createdAt y updatedAt, con verificación de la identidad a través del email.</p>\n<p>Handling of authentication using Json Web Token for the different users of the app, stored in a PostgreSQL database, at the table \"people\" that has the columns user_uuid, name, email, password, verified, createdAt and updatedAt, with identity verification using email address.</p>\n","_postman_id":"cfff4c2b-3458-4164-92a3-86807cfbc70c"}]}