{"info":{"_postman_id":"3cca9922-2913-4f0f-836d-96fdbe6aacbd","name":"TaTrade","description":"<html><head></head><body><p>La API de Talent Trade permite la interacción con la plataforma de intercambio de conocimientos y habilidades entre personas. Los usuarios pueden gestionar sus perfiles, buscar compañeros de intercambio, y dejar valoraciones y feedback sobre las sesiones. Esta API está diseñada para ser utilizada por desarrolladores que desean integrar o ampliar la funcionalidad de Talent Trade en sus aplicaciones. Actualizado.</p>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[],"owner":"36313081","collectionId":"3cca9922-2913-4f0f-836d-96fdbe6aacbd","publishedId":"2sA3e2eoff","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"},"publishDate":"2024-07-08T20:55:19.000Z"},"item":[{"name":"Endpoints de usuarios","item":[{"name":"Crear usuario","event":[{"listen":"test","script":{"id":"377251e8-cbcb-4fc0-8584-6404d235180a","exec":["pm.environment.set('token', pm.cookies.reference.token.value)"],"type":"text/javascript","packages":{}}}],"id":"dec48ca4-9c36-4b93-a6e7-1f060ddf92f6","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"name\":\"Catriel Milei\",\r\n    \"email\":\"camilojtello5@gmail.com\",\r\n    \"password\":\"Hola.todos777\",\r\n    \"repassword\":\"Hola.todos777\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{base_url}}/api/user","description":"<p>Endpoint para crear usuario. El cuerpo deberá ser en formato JSON y debe contener los siguientes campos:</p>\n<ul>\n<li><p><strong>name:</strong> Nombre del usuario. Debe contener como mínimo 2 caracteres. <em><strong>Obligatorio</strong></em></p>\n</li>\n<li><p><strong>email:</strong> Correo electrónico asociado a la cuenta del usario. Debe ser un correo electrónico válido. <em><strong>Obligatorio</strong></em></p>\n</li>\n<li><p><strong>password:</strong> Contraseña asociada a la cuenta del usuario. Debe tener como mínimo 8 caracteres y contener por lo menos una mayúscula, un número y un caracter especial. <em><strong>Obligatorio</strong></em></p>\n</li>\n<li><p><strong>repassword:</strong> Confirmación de la contraseña a ser establecida para la cuenta. Debe ser exactamente la misma que la contraseña ingresada anteriormente. <em><strong>Obligatorio</strong></em></p>\n</li>\n<li><p><strong>phoneNumber:</strong> Número de teléfono con el que vas a asociar tu cuenta. Asegúrate que el número tenga por lo menos 8 dígitos. <em><strong>Opcional</strong></em></p>\n</li>\n</ul>\n<p>Todos los campos son strings.</p>\n<p>Recuerda que tienes a tu disposición un modelo para tu body y algunos ejemplos.</p>\n","urlObject":{"path":["api","user"],"host":["{{base_url}}"],"query":[],"variable":[]}},"response":[{"id":"18356dfa-cca5-4ff3-808a-09b9b927c509","name":"Con todos los campos vacíos","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"name\":\"\",\r\n    \"email\":\"\",\r\n    \"password\":\"\",\r\n    \"repassword\":\"\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:4000/api/user"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"300"},{"key":"ETag","value":"W/\"12c-5MbNuR1zawep3mFAdKMYR6yxNtY\""},{"key":"Date","value":"Tue, 09 Jul 2024 14:47:06 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"path\": \"name\",\n        \"error\": \"El nombre debe contener 2 caracteres minimo\"\n    },\n    {\n        \"path\": \"email\",\n        \"error\": \"Email no valido\"\n    },\n    {\n        \"path\": \"password\",\n        \"error\": \"La contraseña debe contener 8 caracteres minimo\"\n    },\n    {\n        \"path\": \"password\",\n        \"error\": \"La contraseña debe contener una mayuscula, un numero y un caracter especial\"\n    }\n]"},{"id":"c66165f9-c869-46d7-9d8c-780a5953ee89","name":"Ingresando solamente el nombre","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"name\":\"Catriel Milei\",\r\n    \"email\":\"\",\r\n    \"password\":\"\",\r\n    \"repassword\":\"\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:4000/api/user"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"230"},{"key":"ETag","value":"W/\"e6-MebZa7f0VGQ0MMG0Tu4e3CQpCiQ\""},{"key":"Date","value":"Tue, 09 Jul 2024 14:48:05 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"path\": \"email\",\n        \"error\": \"Email no valido\"\n    },\n    {\n        \"path\": \"password\",\n        \"error\": \"La contraseña debe contener 8 caracteres minimo\"\n    },\n    {\n        \"path\": \"password\",\n        \"error\": \"La contraseña debe contener una mayuscula, un numero y un caracter especial\"\n    }\n]"},{"id":"f4ef8519-0cda-425b-bf85-3c2412ec4d80","name":"Ingresando solamente nombre y correo electrónico","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"name\":\"Catriel Milei\",\r\n    \"email\":\"camilojtello5@gmail.com\",\r\n    \"password\":\"\",\r\n    \"repassword\":\"\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:4000/api/user"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"187"},{"key":"ETag","value":"W/\"bb-sezaQmzllCbRFfUh9hArl6jSwiw\""},{"key":"Date","value":"Tue, 09 Jul 2024 14:48:49 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"path\": \"password\",\n        \"error\": \"La contraseña debe contener 8 caracteres minimo\"\n    },\n    {\n        \"path\": \"password\",\n        \"error\": \"La contraseña debe contener una mayuscula, un numero y un caracter especial\"\n    }\n]"},{"id":"8ba9156f-e69d-4ba3-9b6f-7903ce3e3d10","name":"Ingresando datos con contraseña de al menos 1 mayúscula, 1 caracter especial","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"name\":\"Catriel Milei\",\r\n    \"email\":\"camilojtello5@gmail.com\",\r\n    \"password\":\"Hola.todos777\",\r\n    \"repassword\":\"Hola.todos777\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:4000/api/user"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"77"},{"key":"ETag","value":"W/\"4d-Ihb9LeRZF4UnueEXKTkpV5+C3bA\""},{"key":"Date","value":"Tue, 09 Jul 2024 14:49:41 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"success\",\n    \"payload\": \"Para terminar tu registro verifica tu email.\"\n}"},{"id":"f167ad86-9dc5-42ca-ac7b-f43e19a8db68","name":"Correo ya registrado","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"name\":\"Catriel Milei\",\r\n    \"email\":\"camilojtello5@gmail.com\",\r\n    \"password\":\"Hola.todos777\",\r\n    \"repassword\":\"Hola.todos777\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{base_url}}/api/user"},"status":"Conflict","code":409,"_postman_previewlanguage":"json","header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"60"},{"key":"ETag","value":"W/\"3c-DLLYtEhy+16YzUyVqUAQyLEpwmg\""},{"key":"Date","value":"Tue, 09 Jul 2024 15:21:15 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"failed\",\n    \"payload\": \"El correo ya esta registrado\"\n}"}],"_postman_id":"dec48ca4-9c36-4b93-a6e7-1f060ddf92f6"},{"name":"Confirmar creación de cuenta (no funciona)","id":"ee9cafdf-8bdd-4b11-b201-045673e86a0b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{base_url}}/api/user/confirm-email/:token","description":"<p>Una vez hayas usado el endpoint <code>POST /api/user</code> para crear tu cuenta, habrás obtenido un token para activar tu cuenta.</p>\n<p>Para usar correctamente este token, lo agregas como <a href=\"https://vaadin.com/docs/latest/flow/routing/route-parameters\">parámetro de ruta, </a> el cual pones al final de la URL.</p>\n<p>(Hasta este momento, el endpoint parece no funcionar en Postman).</p>\n<p>Una vez hayas activado tu cuenta, podrás iniciar sesión con el endpoint <code>POST /api/auth/login</code> y acceder a las diferentes funcionalidades que la API te ofrece.</p>\n","urlObject":{"path":["api","user","confirm-email",":token"],"host":["{{base_url}}"],"query":[{"disabled":true,"key":"","value":null}],"variable":[{"type":"any","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY2OGQ1M2FhMTJkYTE4MDkxYzJjNDFjMyIsImlhdCI6MTcyMDUzODI0MSwiZXhwIjoxNzM2MDkwMjQxfQ.vbvGrnrpLmDBq8bmSwdNUBw7dwzcg1is7oNMuFr6PWo","key":"token"}]}},"response":[{"id":"440c1b8b-f316-45c9-b85a-a209a0723066","name":"Correo ya registrado","originalRequest":{"method":"GET","header":[],"url":{"raw":"http://localhost:4000/api/user/confirm-email/:token","protocol":"http","host":["localhost"],"port":"4000","path":["api","user","confirm-email",":token"],"query":[{"key":"","value":null,"type":"text","disabled":true}],"variable":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJuYW1lIjoiQ2F0cmllbCBNaWxlaSIsImVtYWlsIjoiY2FtaWxvanRlbGxvNUBnbWFpbC5jb20iLCJwYXNzd29yZCI6IkhvbGEudG9kb3M3NzciLCJyZXBhc3N3b3JkIjoiSG9sYS50b2Rvczc3NyIsImlhdCI6MTcyMDUzNzAzMiwiZXhwIjoxNzIwNTM4ODMyfQ.tRgvFLIqw4FFOr4a8Qso2q7eNnJpfLZS0TQfufygU9g"}]}},"status":"Conflict","code":409,"_postman_previewlanguage":"json","header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"60"},{"key":"ETag","value":"W/\"3c-DLLYtEhy+16YzUyVqUAQyLEpwmg\""},{"key":"Date","value":"Tue, 09 Jul 2024 15:02:33 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"failed\",\n    \"payload\": \"El correo ya esta registrado\"\n}"},{"id":"84d167b8-fd51-4af0-b9c2-4e4c53410c45","name":"Creación de cuenta de usuario exitosa","originalRequest":{"method":"GET","header":[],"url":{"raw":"http://localhost:4000/api/user/confirm-email/:token","protocol":"http","host":["localhost"],"port":"4000","path":["api","user","confirm-email",":token"],"query":[{"key":"","value":null,"type":"text","disabled":true}],"variable":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJuYW1lIjoiQ2F0cmllbCBNaWxlaSIsImVtYWlsIjoiY2FtaWxvanRlbGxvNUBnbWFpbC5jb20iLCJwYXNzd29yZCI6IkhvbGEudG9kb3M3NzciLCJyZXBhc3N3b3JkIjoiSG9sYS50b2Rvczc3NyIsImlhdCI6MTcyMDUzNzg4MCwiZXhwIjoxNzIwNTM5NjgwfQ.wUFPtez4TU1qwu9wIrpYQ7Cj21tNmlZARnQbCof5HW0"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"913"},{"key":"ETag","value":"W/\"391-3bV2PEsR780DEnx/iyRBZketJoo\""},{"key":"Date","value":"Tue, 09 Jul 2024 15:13:46 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"success\",\n    \"payload\": {\n        \"$__\": {\n            \"activePaths\": {\n                \"paths\": {\n                    \"password\": \"require\",\n                    \"email\": \"require\",\n                    \"name\": \"require\"\n                },\n                \"states\": {\n                    \"require\": {\n                        \"password\": true,\n                        \"email\": true,\n                        \"name\": true\n                    },\n                    \"default\": {},\n                    \"modify\": {}\n                }\n            },\n            \"op\": null,\n            \"saving\": null,\n            \"$versionError\": null,\n            \"saveOptions\": null,\n            \"validating\": null,\n            \"cachedRequired\": {},\n            \"backup\": {\n                \"activePaths\": {\n                    \"modify\": {\n                        \"name\": true,\n                        \"email\": true,\n                        \"password\": true\n                    },\n                    \"default\": {\n                        \"description\": true,\n                        \"phoneNumber\": true,\n                        \"trades\": true,\n                        \"contacts\": true,\n                        \"_id\": true,\n                        \"specialties\": true,\n                        \"interests\": true,\n                        \"userRatings\": true\n                    }\n                },\n                \"validationError\": null\n            },\n            \"inserting\": true,\n            \"savedState\": {}\n        },\n        \"_doc\": {\n            \"name\": \"Catriel Milei\",\n            \"email\": \"camilojtello5@gmail.com\",\n            \"password\": \"$2b$10$By/28TSRdlRJKS6yIF5JK.G3AebArsVni.WrY1QOyYFxByeOvUtu.\",\n            \"description\": \"Mi descripcion\",\n            \"phoneNumber\": \"\",\n            \"trades\": [],\n            \"contacts\": [],\n            \"_id\": \"668d53aa12da18091c2c41c3\",\n            \"specialties\": [],\n            \"interests\": [],\n            \"userRatings\": [],\n            \"__v\": 0\n        },\n        \"$isNew\": false\n    }\n}"},{"id":"eb951dfb-7b92-4622-ba64-b7e11e88284c","name":"Error al hashear la contraseña","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{base_url}}/api/user/confirm-email/:token","host":["{{base_url}}"],"path":["api","user","confirm-email",":token"],"query":[{"key":"","value":null,"type":"text","disabled":true}],"variable":[{"key":"token","value":"{{token}}"}]}},"status":"Internal Server Error","code":500,"_postman_previewlanguage":"html","header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"text/html; charset=utf-8"},{"key":"Content-Length","value":"31"},{"key":"ETag","value":"W/\"1f-yMVk3CuRCl8mihBJQYiFI1mDNi4\""},{"key":"Date","value":"Tue, 09 Jul 2024 15:31:41 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"Error al hashear la contrasenia"}],"_postman_id":"ee9cafdf-8bdd-4b11-b201-045673e86a0b"},{"name":"Restablecimiento de contraseña (envío de email)","id":"9abd4ac6-7cab-44ee-b80b-1bdacb82ec4f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"email\":\"alexismpaz@gmail.com\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{base_url}}/api/user/reset-password","description":"<p>En caso de que hayas olvidado tu contraseña, puedes usar este endpoint para restablecerla haciendo uso de tu correo electrónico.</p>\n<p>El body deberá ser un JSON con un único campo llamado 'email' de tipo string, el cual corresponde al correo asociado a la cuenta que quieres confirmar la creación.</p>\n<p>Si la solicitud es exitosa, al correo te llegará la confirmación de e-mail.</p>\n<p>Si la solicitud no es exitosa, el status estará indicado como 'failed' y te dirá que el correo no está registrado</p>\n<p>Recuerda que tienes a tu disposición un modelo para tu body y algunos ejemplos de solicitud-respuesta.</p>\n","urlObject":{"path":["api","user","reset-password"],"host":["{{base_url}}"],"query":[],"variable":[]}},"response":[{"id":"681d4c49-3f37-439b-bd2a-d2c816562628","name":"Correo no registrado","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"email\":\"camilojtello5@gmail.com\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{base_url}}/api/user/reset-password"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"60"},{"key":"ETag","value":"W/\"3c-q/vwApUFAD460HmLiBXz5DNx3NM\""},{"key":"Date","value":"Tue, 09 Jul 2024 18:13:58 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"failed\",\n    \"payload\": \"El correo no esta registrado\"\n}"},{"id":"d7e883e6-6f05-4307-9463-d84d1a3451f6","name":"Envío de correo de cambio de contraseña","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"email\":\"camilojtello5@gmail.com\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{base_url}}/api/user/reset-password"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"75"},{"key":"ETag","value":"W/\"4b-060n86gTl5pC43dW1VUfaLAF3J4\""},{"key":"Date","value":"Tue, 09 Jul 2024 18:17:52 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"success\",\n    \"payload\": \"Para continuar el reset verifica tu email.\"\n}"}],"_postman_id":"9abd4ac6-7cab-44ee-b80b-1bdacb82ec4f"},{"name":"Restablecimiento de contraseña","id":"35bfca93-fee5-432b-a251-7fee166f0b3e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\r\n    \"password\":\"Hola.todos777\",\r\n    \"repassword\":\"Hola.todos777\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{base_url}}/api/user/reset-password/:token","description":"<p>Endpoint para restablecer la contraseña de tu cuenta. Una vez consigas el token desde el email de recuperación, lo mandas a este endpoint junto con un body de tipo JSON que contenga los siguientes campos <em>obligatorios</em>:</p>\n<ul>\n<li><p><strong>Contraseña nueva (password):</strong> La nueva contraseña que quieres establecer para tu cuenta. Recuerda que debe tener como mínimo 8 dígitos, una mayúscula, un número y un caracter especial. <em><strong>Obligatorio.</strong></em></p>\n</li>\n<li><p><strong>Confirmación de contraseña nueva (repassword):</strong> La nueva contraseña que quieres establecer escrita una vez más. <em><strong>Obligatorio.</strong></em></p>\n</li>\n</ul>\n<p>Recuerda que tienes a tu disposición un modelo para tu body y algunos ejemplos de solicitud-respuesta.</p>\n","urlObject":{"path":["api","user","reset-password",":token"],"host":["{{base_url}}"],"query":[],"variable":[{"type":"any","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImNhbWlsb2p0ZWxsbzVAZ21haWwuY29tIiwiaWF0IjoxNzIwNTQ5MDcyLCJleHAiOjE3MjA1NTA4NzJ9.unbpVef3LG41Ax-5TIYyIuaoN_Hu5rCJ1oMwDMtWixU","key":"token"}]}},"response":[{"id":"29afa273-cab4-4bce-9be0-218c6cd6086c","name":"Contraseña que no cumple los requisitos","originalRequest":{"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\r\n    \"password\":\"queeseso\",\r\n    \"repassword\":\"queeseso\"\r\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"{{base_url}}/api/user/reset-password/:token","host":["{{base_url}}"],"path":["api","user","reset-password",":token"],"variable":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImNhbWlsb2p0ZWxsbzVAZ21haWwuY29tIiwiaWF0IjoxNzIwNTQ5MDcyLCJleHAiOjE3MjA1NTA4NzJ9.unbpVef3LG41Ax-5TIYyIuaoN_Hu5rCJ1oMwDMtWixU"}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"108"},{"key":"ETag","value":"W/\"6c-b+59pHWYQ6xGBUvbNS9l06ZyhZc\""},{"key":"Date","value":"Tue, 09 Jul 2024 18:19:42 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"path\": \"password\",\n        \"error\": \"La contraseña debe contener una mayuscula, un numero y un caracter especial\"\n    }\n]"},{"id":"5989861b-4988-4fe2-859f-f08bc239b9d5","name":"Cambio de contraseña exitoso","originalRequest":{"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\r\n    \"password\":\"Hola.todos777\",\r\n    \"repassword\":\"Hola.todos777\"\r\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"{{base_url}}/api/user/reset-password/:token","host":["{{base_url}}"],"path":["api","user","reset-password",":token"],"variable":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImNhbWlsb2p0ZWxsbzVAZ21haWwuY29tIiwiaWF0IjoxNzIwNTQ5MDcyLCJleHAiOjE3MjA1NTA4NzJ9.unbpVef3LG41Ax-5TIYyIuaoN_Hu5rCJ1oMwDMtWixU"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"327"},{"key":"ETag","value":"W/\"147-afJnzW077xMuwvTR/To9vQt8YT0\""},{"key":"Date","value":"Tue, 09 Jul 2024 18:20:28 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"success\",\n    \"payload\": {\n        \"_id\": \"668d7e972abfcaaaf9f9fa0a\",\n        \"name\": \"Catriel Milei\",\n        \"email\": \"camilojtello5@gmail.com\",\n        \"password\": \"$2b$10$kYRRS/1MWaw/YTznZy1Nf.C31ilT3EEslC1kxvoVjET02rDUo0pX.\",\n        \"description\": \"Mi descripcion\",\n        \"phoneNumber\": \"\",\n        \"trades\": [],\n        \"contacts\": [],\n        \"specialties\": [],\n        \"interests\": [],\n        \"userRatings\": [],\n        \"__v\": 0\n    }\n}"}],"_postman_id":"35bfca93-fee5-432b-a251-7fee166f0b3e"},{"name":"Conseguir varios usuarios","id":"bd5bf125-1d56-4dc3-968a-8d1e10a62652","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{base_url}}/api/user/","description":"<p>Endpoint para conseguir un listado de todos los usuarios que existen en la aplicación.</p>\n<p>Por defecto, este endpoint entrega los 10 primeros usuarios.</p>\n<h2 id=\"opcional\">Opcional</h2>\n<p>De manera opcional, puedes filtrar los usuarios por categoría y por página.</p>\n<h4 id=\"por-categoría\">Por categoría</h4>\n<p>Para filtrar por categoría, debes proveer un parámetro de ruta con el <em><strong>ID</strong></em> de la categoría con la que deseas filtrar los resultados.</p>\n<h4 id=\"por-página\">Por página</h4>\n<p>Para especificar la página que quieres visualizar, puedes proveer una cadena de consulta (query string) con el nombre 'page' y con un valor numérico correspondiente a la página que quieres visualizar.</p>\n<p>Recuerda que tienes a tu disposición una plantilla para tu body y algunos ejemplos.</p>\n","urlObject":{"path":["api","user",""],"host":["{{base_url}}"],"query":[],"variable":[]}},"response":[{"id":"d3fa0f4b-8c0a-4d0e-99d3-605e7825dd19","name":"Obtención de todos los usuarios","originalRequest":{"method":"GET","header":[],"url":"{{base_url}}/api/user"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"335"},{"key":"ETag","value":"W/\"14f-Z7A+oMU55XPN72hKQUdzAvODV/E\""},{"key":"Date","value":"Tue, 09 Jul 2024 18:20:51 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"success\",\n    \"payload\": {\n        \"docs\": [\n            {\n                \"_id\": \"668d7e972abfcaaaf9f9fa0a\",\n                \"name\": \"Catriel Milei\",\n                \"email\": \"camilojtello5@gmail.com\",\n                \"description\": \"Mi descripcion\",\n                \"specialties\": [],\n                \"interests\": []\n            }\n        ],\n        \"totalDocs\": 1,\n        \"limit\": 10,\n        \"totalPages\": 1,\n        \"page\": 1,\n        \"pagingCounter\": 1,\n        \"hasPrevPage\": false,\n        \"hasNextPage\": false,\n        \"prevPage\": null,\n        \"nextPage\": null\n    }\n}"}],"_postman_id":"bd5bf125-1d56-4dc3-968a-8d1e10a62652"},{"name":"Conseguir un solo usuario","id":"05218b4e-4673-4887-b1f0-f057736874c7","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{base_url}}/api/user/details/:id","description":"<p>En este endpoint devuelve la data del usuario que buscas por Id. si estas Logueado y comparten contacto tambien devuelve su numero de telefono</p>\n","urlObject":{"path":["api","user","details",":id"],"host":["{{base_url}}"],"query":[],"variable":[{"type":"any","value":"669ed106cf6be6f6d849628b","key":"id"}]}},"response":[{"id":"5774e0e8-02cf-4b88-8070-35dcff5c6651","name":"Obtención de un solo usuario","originalRequest":{"method":"GET","header":[],"url":"{{base_url}}/api/user/details/668d7e972abfcaaaf9f9fa0a"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"154"},{"key":"ETag","value":"W/\"9a-GVr8riRtnm00WBuxqJcVOAvWtRc\""},{"key":"Date","value":"Tue, 09 Jul 2024 18:56:24 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"success\",\n    \"payload\": {\n        \"name\": \"Catriel Milei\",\n        \"description\": \"Mi descripcion\",\n        \"specialties\": [],\n        \"interests\": [],\n        \"userRatings\": [],\n        \"phoneNumber\": null\n    }\n}"},{"id":"f9d29c17-5331-4d95-86a2-5f7b990c234a","name":"id de usuario no válido","originalRequest":{"method":"GET","header":[],"url":"{{base_url}}/api/user/details/668d7e972abfcaaaf9f9fa"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"42"},{"key":"ETag","value":"W/\"2a-YWACNiaY6Ph38n+RFgqVmKomAyA\""},{"key":"Date","value":"Tue, 09 Jul 2024 18:58:22 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"error\",\n    \"message\": \"Id invalido\"\n}"}],"_postman_id":"05218b4e-4673-4887-b1f0-f057736874c7"},{"name":"Obtener usuarios compatibles para trade","id":"6061fa82-a625-4fa8-9a07-da2edcd6a910","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{base_url}}/api/user/potential-trades","description":"<h2 id=\"endpoint-para-sugerencias-de-trades\">Endpoint para sugerencias de trades</h2>\n<p>Este endpoint lo puedes usar para poder conseguir sugerencias de usuarios con los que puedes realizar trades. Se asegura de que alguno de tus intereses coincida con una de las especialidades de la otra persona y, de igual manera, se asegura de que una de tus especialidades coincida con alguno de los intereses de la otra persona.</p>\n<p>Recuerda que para usar este endpoint, primero debes <strong>iniciar sesión.</strong> Si no has iniciado sesión, debes dirigirte al endpoint de inicio de sesión, el cual es <code>POST /api/user</code>. En esta misma documentación puedes hallar información e instrucciones con respecto a ese endpoint para iniciar sesión.</p>\n<h3 id=\"necesario-para-las-recomendaciones\">Necesario para las recomendaciones</h3>\n<p>Para conseguir recomendaciones, es necesario que envíes un token de tu sesión por medio de cookies con el nombre de \"token\".</p>\n<p>Como respuesta, recibirás un body de tipo JSON con tres campos:</p>\n<ul>\n<li><p><strong>success:</strong> indica si la solicitud fue exitosa o no.</p>\n</li>\n<li><p><strong>numberOfRecommendations:</strong> Como su nombre lo sugiere, nos muestra el número de usuarios con los que podemos efectuar un trade.</p>\n</li>\n<li><p><strong>payload:</strong> Los usuarios en sí, conteniendo su id, nombre, especialidades e intereses (está sujeto a cambios).</p>\n</li>\n</ul>\n","urlObject":{"path":["api","user","potential-trades"],"host":["{{base_url}}"],"query":[],"variable":[]}},"response":[{"id":"fca4ee4d-52a8-4a1c-ad1c-060d16ca31eb","name":"Obtención exitosa de sugerencias de usuarios para realizar trade","originalRequest":{"method":"GET","header":[],"url":"{{base_url}}/api/user/potential-trades"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"1976"},{"key":"ETag","value":"W/\"7b8-TEu0Hdo8fb3edQdrT1c72Lfdqww\""},{"key":"Date","value":"Fri, 19 Jul 2024 20:40:15 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"success\",\n    \"numberOfRecommendations\": 2,\n    \"payload\": [\n        {\n            \"_id\": \"669a766ad497dd021a12577f\",\n            \"name\": \"Juliana Ortiz\",\n            \"specialties\": [\n                {\n                    \"categoryId\": \"669a762cd497dd021a125725\",\n                    \"specialtyId\": \"669a7640d497dd021a125748\",\n                    \"_id\": \"669a766ad497dd021a125780\"\n                },\n                {\n                    \"categoryId\": \"669a762cd497dd021a125722\",\n                    \"specialtyId\": \"669a7640d497dd021a12573f\",\n                    \"_id\": \"669a766ad497dd021a125781\"\n                },\n                {\n                    \"categoryId\": \"669a762cd497dd021a125727\",\n                    \"specialtyId\": \"669a7640d497dd021a12574c\",\n                    \"_id\": \"669a766ad497dd021a125782\"\n                }\n            ],\n            \"interests\": [\n                {\n                    \"categoryId\": \"669a762cd497dd021a125720\",\n                    \"specialtyId\": \"669a7640d497dd021a125737\",\n                    \"_id\": \"669a766ad497dd021a125783\"\n                },\n                {\n                    \"categoryId\": \"669a762cd497dd021a125727\",\n                    \"specialtyId\": \"669a7640d497dd021a12574e\",\n                    \"_id\": \"669a766ad497dd021a125784\"\n                },\n                {\n                    \"categoryId\": \"669a762cd497dd021a125724\",\n                    \"specialtyId\": \"669a7640d497dd021a125744\",\n                    \"_id\": \"669a766ad497dd021a125785\"\n                },\n                {\n                    \"categoryId\": \"669a762cd497dd021a125728\",\n                    \"specialtyId\": \"669a7640d497dd021a12574f\",\n                    \"_id\": \"669a766ad497dd021a125786\"\n                },\n                {\n                    \"categoryId\": \"669a762cd497dd021a125727\",\n                    \"specialtyId\": \"669a7640d497dd021a12574d\",\n                    \"_id\": \"669a766ad497dd021a125787\"\n                }\n            ]\n        },\n        {\n            \"_id\": \"669a766ad497dd021a125771\",\n            \"name\": \"Catriel Milei\",\n            \"specialties\": [\n                {\n                    \"categoryId\": \"669a762cd497dd021a125722\",\n                    \"specialtyId\": \"669a7640d497dd021a12573f\",\n                    \"_id\": \"669a766ad497dd021a125772\"\n                },\n                {\n                    \"categoryId\": \"669a762cd497dd021a125720\",\n                    \"specialtyId\": \"669a7640d497dd021a125739\",\n                    \"_id\": \"669a766ad497dd021a125773\"\n                },\n                {\n                    \"categoryId\": \"669a762cd497dd021a125722\",\n                    \"specialtyId\": \"669a7640d497dd021a12573d\",\n                    \"_id\": \"669a766ad497dd021a125774\"\n                },\n                {\n                    \"categoryId\": \"669a762cd497dd021a125721\",\n                    \"specialtyId\": \"669a7640d497dd021a12573a\",\n                    \"_id\": \"669a766ad497dd021a125775\"\n                },\n                {\n                    \"categoryId\": \"669a762cd497dd021a125720\",\n                    \"specialtyId\": \"669a7640d497dd021a125738\",\n                    \"_id\": \"669a766ad497dd021a125776\"\n                }\n            ],\n            \"interests\": [\n                {\n                    \"categoryId\": \"669a762cd497dd021a125726\",\n                    \"specialtyId\": \"669a7640d497dd021a12574b\",\n                    \"_id\": \"669a766ad497dd021a125777\"\n                },\n                {\n                    \"categoryId\": \"669a762cd497dd021a125728\",\n                    \"specialtyId\": \"669a7640d497dd021a12574f\",\n                    \"_id\": \"669a766ad497dd021a125778\"\n                }\n            ]\n        }\n    ]\n}"}],"_postman_id":"6061fa82-a625-4fa8-9a07-da2edcd6a910"},{"name":"Actualizar datos de usuario","id":"32c5c523-295a-45fd-a8ca-1543302dd65a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\r\n    \"name\":\"\",\r\n    \"description\":\"\",\r\n    \"phoneNumber\":\"\",\r\n        \"specialties\":[\r\n            {\r\n                \"categoryId\": \"668d9c236a9a837b5eb624e9\",\r\n                \"specialtyId\": \"668d9e5534511024deace976\",\r\n                \"_id\": \"668f287e411e4f0e06ec95fc\"\r\n            },\r\n            {\r\n                \"categoryId\": \"668d9c236a9a837b5eb624ea\",\r\n                \"specialtyId\": \"668d9e5534511024deace977\",\r\n                \"_id\": \"668f287e411e4f0e06ec95fd\"\r\n            }\r\n        ],\r\n\r\n        \"interests\":[\r\n            {\r\n                \"categoryId\": \"668d9c236a9a837b5eb624ea\",\r\n                \"specialtyId\": \"668d9e5534511024deace977\",\r\n                \"_id\": \"668f287e411e4f0e06ec95fd\"\r\n            },\r\n            {\r\n                \"categoryId\": \"668d9c236a9a837b5eb624e9\",\r\n                \"specialtyId\": \"668d9e5534511024deace975\",\r\n                \"_id\": \"668f287e411e4f0e06ec95fe\"\r\n            }\r\n        ]\r\n}","options":{"raw":{"language":"json"}}},"url":"{{base_url}}/api/user/668adbe82272c0be4b438a97","description":"<p>Endpoint que puedes usar para actualizar tus datos. Los únicos datos que puedes actualizar son los siguientes:</p>\n<ul>\n<li><p><strong>name (string):</strong> Tu nombre de usuario. Recuerda que tu nombre debe tener como mínimo 2 caracteres. <em>Este campo no puede estar vacío.</em></p>\n</li>\n<li><p><strong>description (string):</strong> Una descripción de ti mismo. <em>Este campo no puede estar vacío.</em></p>\n</li>\n<li><p><strong>phoneNumber (string):</strong> El número de teléfono asociado a tu cuenta, con la que alguien te puede contactar. Aún no se ha puesto límite de caracteres, lo cual es algo que se podrá corregir en futuras actualizaciones. <em>Este campo no puede estar vacío.</em></p>\n</li>\n</ul>\n<p>Abajo puedes ver un ejemplo de cómo se vería el body de la solicitud que se debe mandar al endpoint.</p>\n","urlObject":{"path":["api","user","668adbe82272c0be4b438a97"],"host":["{{base_url}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"32c5c523-295a-45fd-a8ca-1543302dd65a"},{"name":"update rating","id":"c5dbcc68-cf08-416d-b24c-008dd1c2d8fe","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\r\n    \"comment\":\"Este es un hijo de puta\",\r\n    \"rating\":4\r\n}","options":{"raw":{"language":"json"}}},"url":"{{base_url}}/api/user/:userId/update-rating/:tradeId","description":"<p>Endpoint que puedes usar para actualizar tus datos. Los únicos datos que puedes actualizar son los siguientes:</p>\n<ul>\n<li><p><strong>name (string):</strong> Tu nombre de usuario. Recuerda que tu nombre debe tener como mínimo 2 caracteres. <em>Este campo no puede estar vacío.</em></p>\n</li>\n<li><p><strong>description (string):</strong> Una descripción de ti mismo. <em>Este campo no puede estar vacío.</em></p>\n</li>\n<li><p><strong>phoneNumber (string):</strong> El número de teléfono asociado a tu cuenta, con la que alguien te puede contactar. Aún no se ha puesto límite de caracteres, lo cual es algo que se podrá corregir en futuras actualizaciones. <em>Este campo no puede estar vacío.</em></p>\n</li>\n</ul>\n<p>Abajo puedes ver un ejemplo de cómo se vería el body de la solicitud que se debe mandar al endpoint.</p>\n","urlObject":{"path":["api","user",":userId","update-rating",":tradeId"],"host":["{{base_url}}"],"query":[],"variable":[{"type":"any","value":"669c18fa57fc3a061b83c33d","key":"userId"},{"type":"any","value":"669db1a7a6e1885cc5dfa6d9","key":"tradeId"}]}},"response":[],"_postman_id":"c5dbcc68-cf08-416d-b24c-008dd1c2d8fe"},{"name":"update photo","id":"c3acddc4-b6c8-49ea-bf10-c22c1c62d93c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[],"body":{"mode":"formdata","formdata":[{"key":"profile-pick","type":"file","fileNotInWorkingDirectoryWarning":"This file isn't in your working directory. Teammates you share this request with won't be able to use this file. To make collaboration easier you can setup your working directory in Settings.","filesNotInWorkingDirectory":["/C:/Users/Catriel/Downloads/ipocdxrkbpszcnbd2hzg.jpg"],"src":"/C:/Users/Catriel/Downloads/ipocdxrkbpszcnbd2hzg.jpg"}]},"url":"{{base_url}}/api/user/profile-photo","description":"<p>Endpoint que puedes usar para actualizar tus datos. Los únicos datos que puedes actualizar son los siguientes:</p>\n<ul>\n<li><p><strong>name (string):</strong> Tu nombre de usuario. Recuerda que tu nombre debe tener como mínimo 2 caracteres. <em>Este campo no puede estar vacío.</em></p>\n</li>\n<li><p><strong>description (string):</strong> Una descripción de ti mismo. <em>Este campo no puede estar vacío.</em></p>\n</li>\n<li><p><strong>phoneNumber (string):</strong> El número de teléfono asociado a tu cuenta, con la que alguien te puede contactar. Aún no se ha puesto límite de caracteres, lo cual es algo que se podrá corregir en futuras actualizaciones. <em>Este campo no puede estar vacío.</em></p>\n</li>\n</ul>\n<p>Abajo puedes ver un ejemplo de cómo se vería el body de la solicitud que se debe mandar al endpoint.</p>\n","urlObject":{"path":["api","user","profile-photo"],"host":["{{base_url}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"c3acddc4-b6c8-49ea-bf10-c22c1c62d93c"},{"name":"Eliminar un usuario","id":"b6280439-fc45-4bbe-a0c7-abe73b911f9d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"url":"{{base_url}}/api/user/:id","description":"<h2 id=\"eliminar-usuario\">Eliminar usuario</h2>\n<p>Este endpoint es para eliminar un usuario en específico basado en su ID.</p>\n<p>Para poder eliminar al usuario, debes colocar su ID como parámetro de ruta (route parameter). Si no especificas esta ID, el endpoint no servirá.</p>\n","urlObject":{"path":["api","user",":id"],"host":["{{base_url}}"],"query":[],"variable":[{"type":"any","value":"668d7e972abfcaaaf9f9fa0a","key":"id"}]}},"response":[{"id":"a19aaf29-a12a-4a14-9741-5c80a6e994e1","name":"Usuario eliminado exitosamente","originalRequest":{"method":"DELETE","header":[],"url":{"raw":"http://localhost:4000/api/user/:id","protocol":"http","host":["localhost"],"port":"4000","path":["api","user",":id"],"variable":[{"key":"id","value":"668d4fe06e31202ff4a05d35"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"327"},{"key":"ETag","value":"W/\"147-+e60Ga8BYMZoEbwCcxgS8DiDANI\""},{"key":"Date","value":"Tue, 09 Jul 2024 15:06:34 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"success\",\n    \"payload\": {\n        \"_id\": \"668d4fe06e31202ff4a05d35\",\n        \"name\": \"Catriel Milei\",\n        \"email\": \"camilojtello5@gmail.com\",\n        \"password\": \"$2b$10$2WLIpHxfxUmLvJ2n1eaWp.sMFobNLcb.HiYWhQojJo0b6WThDjgRG\",\n        \"description\": \"Mi descripcion\",\n        \"phoneNumber\": \"\",\n        \"trades\": [],\n        \"contacts\": [],\n        \"specialties\": [],\n        \"interests\": [],\n        \"userRatings\": [],\n        \"__v\": 0\n    }\n}"},{"id":"4d619095-6f5c-410c-bf86-4bcec8ae6b21","name":"No se encuentra usuario que se desea eliminar","originalRequest":{"method":"DELETE","header":[],"url":{"raw":"http://localhost:4000/api/user/:id","protocol":"http","host":["localhost"],"port":"4000","path":["api","user",":id"],"variable":[{"key":"id","value":"668d4fe06e31202ff4a05d35"}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"52"},{"key":"ETag","value":"W/\"34-nRrbfx5LNq+UQ/eCytsXmHnTtnM\""},{"key":"Date","value":"Tue, 09 Jul 2024 15:07:07 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"error\",\n    \"payload\": \"Usuario no encontrado\"\n}"}],"_postman_id":"b6280439-fc45-4bbe-a0c7-abe73b911f9d"}],"id":"a8579469-9eb7-49ae-aa12-6bf3ffab164b","description":"<p>Los endpoints contenidos en esta carpeta son para la administración de usuarios. Te permitirán crear un usuario, enviar e-mail de confirmación, restablecer la contraseña, conseguir todos los usuarios, conseguir un usuario individual, actualizar o eliminar un solo usuario... ¡Entre otros!</p>\n","_postman_id":"a8579469-9eb7-49ae-aa12-6bf3ffab164b"},{"name":"Auth","item":[{"name":"Iniciar sesión","id":"a51e3af6-bd64-478c-b6d7-87ef8a758673","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"email\":\"joaquin.reyes@gmail.com\",\r\n    \"password\":\"Javier.milei777\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{base_url}}/api/auth/login","description":"<p>Para usar este endpoint, primero debes crear una cuenta de usuario. En caso de que no lo hayas hecho, puedes referirte al endpoint <code>POST /api/user</code></p>\n<p>Para iniciar sesión, solo basta con proveer dos campos (ambos son obligatorios):</p>\n<ul>\n<li><p><strong>email:</strong> Correo electrónico asociado a tu cuenta. Recuerda que debe ser una dirección de correo electrónico válida.</p>\n</li>\n<li><p><strong>password:</strong> Contraseña con la que creaste tu cuenta. Recuerda que tu contraseña debe tener como mínimo 8 caracteres, una mayúscula, un número y un caracter especial.</p>\n</li>\n</ul>\n<p>Una vez hayas iniciado sesión exitosamente, se te enviará una cookie que contiene el token de sesión, el cual está vigente por 24 horas (1 día).</p>\n<p>Recuerda que abajo tienes una plantilla para tu body y algunos ejemplos.</p>\n","urlObject":{"path":["api","auth","login"],"host":["{{base_url}}"],"query":[],"variable":[]}},"response":[{"id":"3de56079-35c2-4613-b7ed-0582e6739612","name":"Inicio de sesión exitoso","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"email\":\"camilojtello5@gmail.com\",\r\n    \"password\":\"Hola.todos777\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:4000/api/auth/login"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Set-Cookie","value":"token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY2OGQ1M2FhMTJkYTE4MDkxYzJjNDFjMyIsImlhdCI6MTcyMDUzODIxOCwiZXhwIjoxNzM2MDkwMjE4fQ.x9b1BtxiHOp8dan5AZIBR7hBhub_Jiju6mixWo3CxDo; Max-Age=86400; Path=/; Expires=Wed, 10 Jul 2024 15:16:58 GMT; HttpOnly"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"46"},{"key":"ETag","value":"W/\"2e-Zfn3+VmKcxWwr4QBcchp4jhZ1rU\""},{"key":"Date","value":"Tue, 09 Jul 2024 15:16:58 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"success\",\n    \"payload\": \"Login exitoso\"\n}"},{"id":"7c76968e-b09a-4dd0-a532-0778f2326d18","name":"Contraseña incorrecta","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"email\":\"camilojtello5@gmail.com\",\r\n    \"password\":\"Hola.todos7\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{base_url}}/api/auth/login"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"45"},{"key":"ETag","value":"W/\"2d-MqN70rNrAgaTdSzBj5UHlm/HcuA\""},{"key":"Date","value":"Tue, 09 Jul 2024 19:02:35 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"error\",\n    \"payload\": \"User not found\"\n}"},{"id":"3c9f9393-dcd6-43c5-b3b7-4290c22105ca","name":"Usuario no encontrado","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"email\":\"camilojtello5@gmil.com\",\r\n    \"password\":\"Hola.todos7\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{base_url}}/api/auth/login"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"45"},{"key":"ETag","value":"W/\"2d-MqN70rNrAgaTdSzBj5UHlm/HcuA\""},{"key":"Date","value":"Tue, 09 Jul 2024 19:02:51 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"error\",\n    \"payload\": \"User not found\"\n}"}],"_postman_id":"a51e3af6-bd64-478c-b6d7-87ef8a758673"},{"name":"Logout","id":"a009cf2f-a70c-4081-9036-0c46179d87ee","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{base_url}}/api/auth/logout","description":"<p>Endpoint para cerrar sesión. Cuando usas este endpoint, el cookie correspondiente al token va a quedar vacío.</p>\n","urlObject":{"path":["api","auth","logout"],"host":["{{base_url}}"],"query":[],"variable":[]}},"response":[{"id":"3bfb4e45-ccad-4978-83e8-c77061e6e3b4","name":"Confirmación de cierre de sesión","originalRequest":{"method":"GET","header":[],"url":"{{base_url}}/api/auth/logout"},"status":"OK","code":200,"_postman_previewlanguage":"plain","header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Set-Cookie","value":"token=; Path=/; Expires=Thu, 01 Jan 1970 00:00:00 GMT"},{"key":"Content-Type","value":"text/plain; charset=utf-8"},{"key":"Content-Length","value":"2"},{"key":"ETag","value":"W/\"2-nOO9QiTIwXgNtWtBJezz8kv3SLc\""},{"key":"Date","value":"Tue, 09 Jul 2024 19:03:45 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"OK"}],"_postman_id":"a009cf2f-a70c-4081-9036-0c46179d87ee"},{"name":"Check session","id":"3f92acfd-daa7-4b12-8e47-f01bfb6a14e9","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{base_url}}/api/auth/user","description":"<p>Endpoint para verificar que tu sesión está activa.</p>\n<p>Si tu sesión está activa, el endpoint te mandará detalles sobre tus datos de usuario.</p>\n","urlObject":{"path":["api","auth","user"],"host":["{{base_url}}"],"query":[],"variable":[]}},"response":[{"id":"d2bb7585-6cc5-4f5a-9cff-9eb8268bc2f0","name":"Autenticación inválida","originalRequest":{"method":"GET","header":[],"url":"{{base_url}}/api/auth/user"},"status":"Unauthorized","code":401,"_postman_previewlanguage":"json","header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"69"},{"key":"ETag","value":"W/\"45-2k9QX2n6djmdfZowUS2ZutB5ay4\""},{"key":"Date","value":"Tue, 09 Jul 2024 19:04:13 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"error\",\n    \"message\": \"No se ha podido autenticar al usuario.\"\n}"}],"_postman_id":"3f92acfd-daa7-4b12-8e47-f01bfb6a14e9"},{"name":"Login Alexis","id":"e9b7d3db-d307-4685-ac25-e08b5efdb1e5","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"email\":\"alexismpaz@gmail.com\",\r\n    \"password\":\"Gato.456\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{base_url}}/api/auth/login","urlObject":{"path":["api","auth","login"],"host":["{{base_url}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"e9b7d3db-d307-4685-ac25-e08b5efdb1e5"}],"id":"41d60af6-06a9-4904-8206-7d0b737bf63f","description":"<p>Esta carpeta está dedicada a endpoints relacionados a sesiones, en la cual puedes iniciar sesión, cerrar sesión y verificar que tu sesión está activa.</p>\n","_postman_id":"41d60af6-06a9-4904-8206-7d0b737bf63f"},{"name":"Trade","item":[{"name":"Crear solicitud de trade","id":"967cd38b-8bc1-4e7e-9eb3-60a0cab501c2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"members\":{\r\n        \"memberOne\":{\r\n            \"id\":\"669ed106cf6be6f6d849628b\",\r\n            \"specialty\":\"669ed0fecf6be6f6d8496248\"\r\n        },\r\n            \"memberTwo\":{\r\n            \"id\":\"669ed106cf6be6f6d84962db\",\r\n            \"specialty\":\"669ed0fecf6be6f6d849624b\"\r\n        }\r\n    },\r\n        \"duration\":3\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:4000/api/trade","description":"<h3 id=\"crear-un-nuevo-trade\">Crear un nuevo trade</h3>\n<p>Este endpoint permite crear un nuevo Trade entre dos usuarios de Talent Trade. ¡Recuerda que debes iniciar sesión primero para poder proponer un trade a otra persona en Talent Trade!</p>\n<ul>\n<li><p><strong>Método HTTP:</strong> POST</p>\n</li>\n<li><p><strong>URL:</strong> /api/trade</p>\n</li>\n</ul>\n<h3 id=\"estructura-del-body\">Estructura del body</h3>\n<p>El body deberá contener los siguiente campos:</p>\n<ul>\n<li><p><strong>members:</strong> Un objeto que contiene a los dos individuos que van a intercambiar sus conocimientos, concordando con sus intereses y especialidades. A su vez, este objeto contiene los siguientes campos:</p>\n<ul>\n<li><p><strong>memberOne:</strong> Un objeto que contiene datos sobre el miembro que propone el trade. Este objeto contiene dos campos:</p>\n<ul>\n<li><p><strong>id:</strong> ID único del usuario que propone el trade.</p>\n</li>\n<li><p><strong>specialty:</strong> ID de la especialidad que ofrece el usuario proponente.</p>\n</li>\n</ul>\n</li>\n<li><p><strong>memberTwo:</strong> Un objeto que contiene datos sobre el miembro que <em>recibe</em> el trade. Este objeto contiene dos campos:</p>\n<ul>\n<li><p><strong>id:</strong> ID único del usuario que <em>recibe</em> el trade.</p>\n</li>\n<li><p><strong>specialty:</strong> ID de la especialidad del usuario que <em>recibe</em> el trade propuesto.</p>\n</li>\n</ul>\n</li>\n</ul>\n</li>\n<li><p><strong>duration:</strong> Es la duración del trade en <em><strong>días.</strong></em> Este tiempo comienza a contar a partir del momento en el que el trade es aceptado. Una vez finalizado este tiempo, ambos usuarios se podrán calificar mutuamente. Ten en cuenta que las únicas duraciones que puedes proponer son: 1 día, 3 días y 7 días.</p>\n</li>\n</ul>\n<p><strong>Importante:</strong> Debes prestar atención a las especialidades de ambos usuarios. Es decir:</p>\n<ol>\n<li><p>La especialidad del usuario que propone el trade debe <em><strong>concordar</strong></em> con al menos uno de los intereses del usuario que recibe el trade propuesto.</p>\n</li>\n<li><p>La especialidad del usuario que recibe el trade propuesto debe <strong>concordar</strong> con al menos uno de los intereses del usuario que propone el trade.</p>\n</li>\n</ol>\n","urlObject":{"protocol":"http","port":"4000","path":["api","trade"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"eb370b5a-2716-41db-ba7e-47c71a3dc223","name":"Creación de solicitud de trade exitosa","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"members\":{\r\n        \"memberOne\":{\r\n            \"id\":\"669ed106cf6be6f6d849628b\",\r\n            \"specialty\":\"669ed0fecf6be6f6d8496248\"\r\n        },\r\n            \"memberTwo\":{\r\n            \"id\":\"669ed106cf6be6f6d84962db\",\r\n            \"specialty\":\"669ed0fecf6be6f6d849624b\"\r\n        }\r\n    },\r\n        \"duration\":3\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:4000/api/trade"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"417"},{"key":"ETag","value":"W/\"1a1-TpUF5CDPj/b4g3UyIexeCzxZbcA\""},{"key":"Date","value":"Mon, 22 Jul 2024 21:44:13 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"success\",\n    \"payload\": {\n        \"members\": {\n            \"memberOne\": {\n                \"id\": \"669ed106cf6be6f6d849628b\",\n                \"specialty\": \"669ed0fecf6be6f6d8496248\",\n                \"hasRated\": false\n            },\n            \"memberTwo\": {\n                \"id\": \"669ed106cf6be6f6d84962db\",\n                \"specialty\": \"669ed0fecf6be6f6d849624b\",\n                \"hasRated\": false\n            },\n            \"_id\": \"669ed2adc176a499680f347e\"\n        },\n        \"duration\": 259200000,\n        \"expiresAt\": null,\n        \"status\": \"PENDING\",\n        \"chatRoom\": \"669ed2adc176a499680f347f\",\n        \"_id\": \"669ed2adc176a499680f347d\",\n        \"__v\": 0\n    }\n}"}],"_postman_id":"967cd38b-8bc1-4e7e-9eb3-60a0cab501c2"},{"name":"aceptar trade","id":"36a8444b-068a-4e6d-9ca7-e50cbf306f89","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\r\n    \"members\":{\r\n        \"memberOne\":{\r\n            \"id\":\"668c528ad5f4c971bcd760b3\",\r\n            \"specialty\":\"668d9e5534511024deace977\"\r\n        },\r\n                \"memberTwo\":{\r\n            \"id\":\"668c544fd5f4c971bcd760b9\",\r\n            \"specialty\":\"668d9e5534511024deace976\"\r\n        }\r\n    },\r\n        \"duration\":3\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:4000/api/trade/:tradeId","description":"<h2 id=\"aceptar-trade\">Aceptar trade</h2>\n<p>Para poder aceptar un trade que una persona te ha propuesto, solamente provees el id del trade como parámetro de ruta. Ejemplo:</p>\n<p><code>PUT http://localhost:4000/api/trade/669ed2adc176a499680f347d</code></p>\n<p>En este caso, <code>669ed2adc176a499680f347d</code> es el parámetro de ruta, el cual es el mismo ID del trade.</p>\n<h3 id=\"importante\">Importante</h3>\n<p>Recuerda que <em><strong>tú no puedes aceptar tu mismo trade.</strong></em> La otra persona que recibe el trade debe iniciar sesión y aceptar la solicitud que tú has hecho.</p>\n<h4 id=\"tenemos-unas-ayudas-para-ti\">Tenemos unas ayudas para ti</h4>\n<p>A tu disposición tienes un par de ejemplos de cómo se vería la respuesta en caso de que la aceptación del trade es exitosa o no permitida.</p>\n","urlObject":{"protocol":"http","port":"4000","path":["api","trade",":tradeId"],"host":["localhost"],"query":[],"variable":[{"type":"any","value":"669ed2adc176a499680f347d","key":"tradeId"}]}},"response":[{"id":"2c4fae16-165e-4a3e-b2e8-b79f7701a57f","name":"Intentar aceptar un trade que tú mismo creaste","originalRequest":{"method":"PUT","header":[],"url":{"raw":"http://localhost:4000/api/trade/:tradeId","protocol":"http","host":["localhost"],"port":"4000","path":["api","trade",":tradeId"],"variable":[{"key":"tradeId","value":"669ed2adc176a499680f347d"}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"78"},{"key":"ETag","value":"W/\"4e-KY0g/ioSR6Yl8BiB3I/fShdP8DQ\""},{"key":"Date","value":"Mon, 22 Jul 2024 21:49:00 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"error\",\n    \"payload\": \"No podes aceptar un trade que vos mismo creaste\"\n}"},{"id":"d30f14b6-2d36-4104-a1e8-aa90ba3afb36","name":"Aceptación de trade exitosa","originalRequest":{"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\r\n    \"members\":{\r\n        \"memberOne\":{\r\n            \"id\":\"668c528ad5f4c971bcd760b3\",\r\n            \"specialty\":\"668d9e5534511024deace977\"\r\n        },\r\n                \"memberTwo\":{\r\n            \"id\":\"668c544fd5f4c971bcd760b9\",\r\n            \"specialty\":\"668d9e5534511024deace976\"\r\n        }\r\n    },\r\n        \"duration\":3\r\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"http://localhost:4000/api/trade/:tradeId","protocol":"http","host":["localhost"],"port":"4000","path":["api","trade",":tradeId"],"variable":[{"key":"tradeId","value":"669ed2adc176a499680f347d"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"697"},{"key":"ETag","value":"W/\"2b9-kWGeLEKmQtA9WeLTwq+j80EiA1c\""},{"key":"Date","value":"Mon, 22 Jul 2024 21:54:38 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"success\",\n    \"payload\": {\n        \"_id\": \"669ed2adc176a499680f347d\",\n        \"members\": {\n            \"memberOne\": {\n                \"id\": {\n                    \"_id\": \"669ed106cf6be6f6d849628b\",\n                    \"name\": \"Lorenzo Dominguez\",\n                    \"email\": \"lorenzo.dominguez@gmail.com\",\n                    \"avatar\": \"/JavierMilei.jpg\"\n                },\n                \"specialty\": {\n                    \"_id\": \"669ed0fecf6be6f6d8496248\",\n                    \"name\": \"Fisioterapia\"\n                },\n                \"hasRated\": false\n            },\n            \"memberTwo\": {\n                \"id\": {\n                    \"_id\": \"669ed106cf6be6f6d84962db\",\n                    \"name\": \"Joaquín Reyes\",\n                    \"email\": \"joaquin.reyes@gmail.com\",\n                    \"avatar\": \"/JavierMilei.jpg\"\n                },\n                \"specialty\": {\n                    \"_id\": \"669ed0fecf6be6f6d849624b\",\n                    \"name\": \"Ciberseguridad\"\n                },\n                \"hasRated\": false\n            },\n            \"_id\": \"669ed2adc176a499680f347e\"\n        },\n        \"duration\": 259200000,\n        \"expiresAt\": \"2024-07-25T21:54:38.893Z\",\n        \"status\": \"ACCEPTED\",\n        \"chatRoom\": \"669ed51ec176a499680f3503\",\n        \"__v\": 0\n    }\n}"}],"_postman_id":"36a8444b-068a-4e6d-9ca7-e50cbf306f89"},{"name":"Eliminar un trade","id":"907e06ef-c7b7-43de-bb94-5545ac2ce805","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"body":{"mode":"raw","raw":"{\r\n    \"members\":{\r\n        \"memberOne\":{\r\n            \"id\":\"668c528ad5f4c971bcd760b3\",\r\n            \"specialty\":\"668d9e5534511024deace977\"\r\n        },\r\n                \"memberTwo\":{\r\n            \"id\":\"668c544fd5f4c971bcd760b9\",\r\n            \"specialty\":\"668d9e5534511024deace976\"\r\n        }\r\n    },\r\n        \"duration\":3\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:4000/api/trade/:tradeId","description":"<h3 id=\"eliminación-de-trade\">Eliminación de trade</h3>\n<p>Para poder eliminar un trade, debes incluir el ID del trade que quieres eliminar como un parámetro de ruta, así:</p>\n<p><code>DELETE http://localhost:4000/api/trade/669ad701632b85cee80d3cb0</code></p>\n<p>En este caso, <code>669ad701632b85cee80d3cb0</code> sería el parámetro de ruta.</p>\n<h3 id=\"importante\">Importante</h3>\n<p>Ten en cuenta que solamente se pueden eliminar trades que están <em><strong>pendientes</strong></em>, es decir, en estado PENDING.</p>\n<h4 id=\"para-ti\">Para ti</h4>\n<p>Recuerda que tienes a tu disposición algunos ejemplos de respuestas.</p>\n","urlObject":{"protocol":"http","port":"4000","path":["api","trade",":tradeId"],"host":["localhost"],"query":[],"variable":[{"type":"any","value":"669ed2adc176a499680f347d","key":"tradeId"}]}},"response":[{"id":"6c5a12c5-7640-46e6-b648-7d8c1716f4b5","name":"Intentando eliminar un trade que está activo","originalRequest":{"method":"DELETE","header":[],"body":{"mode":"raw","raw":"{\r\n    \"members\":{\r\n        \"memberOne\":{\r\n            \"id\":\"668c528ad5f4c971bcd760b3\",\r\n            \"specialty\":\"668d9e5534511024deace977\"\r\n        },\r\n                \"memberTwo\":{\r\n            \"id\":\"668c544fd5f4c971bcd760b9\",\r\n            \"specialty\":\"668d9e5534511024deace976\"\r\n        }\r\n    },\r\n        \"duration\":3\r\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"http://localhost:4000/api/trade/:tradeId","protocol":"http","host":["localhost"],"port":"4000","path":["api","trade",":tradeId"],"variable":[{"key":"tradeId","value":"669ed2adc176a499680f347d"}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"115"},{"key":"ETag","value":"W/\"73-GIvoWaXHjKsFfhB9YO/0TlUEkmQ\""},{"key":"Date","value":"Mon, 22 Jul 2024 22:07:35 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"Error\",\n    \"payload\": \"No se encontro ningun trade con el id 669ed2adc176a499680f347d en estado pendiendte.\"\n}"}],"_postman_id":"907e06ef-c7b7-43de-bb94-5545ac2ce805"},{"name":"Conseguir todos los trades","id":"cd4174e2-05f2-44bd-b83c-bd86605b96e9","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"body":{"mode":"raw","raw":"{\r\n    \"members\":{\r\n        \"memberOne\":{\r\n            \"id\":\"668c528ad5f4c971bcd760b3\",\r\n            \"specialty\":\"668d9e5534511024deace977\"\r\n        },\r\n                \"memberTwo\":{\r\n            \"id\":\"668c544fd5f4c971bcd760b9\",\r\n            \"specialty\":\"668d9e5534511024deace976\"\r\n        }\r\n    },\r\n        \"duration\":3\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:4000/api/trade/","description":"<h2 id=\"conseguir-todos-tus-trades\">Conseguir todos tus trades</h2>\n<p>Puedes usar este endpoint para tener una lista de todos tus trades en todos los estados: pendientes, activos y finalizados.</p>\n<p>La respuesta del body será un JSON con los siguientes campos:</p>\n<ul>\n<li><p><strong>status:</strong> El estado de la solicitud realizada. <em>string</em></p>\n</li>\n<li><p><strong>payload:</strong> Un array con todos los trades que tienes a tu disposición (es re grande el objeto, entonces me da pereza documentarlo jajajaja).</p>\n</li>\n</ul>\n","urlObject":{"protocol":"http","port":"4000","path":["api","trade",""],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"fccfeec0-531e-4887-912c-11368fd025ce","name":"Creación de solicitud de trade exitosa","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"members\":{\r\n        \"memberOne\":{\r\n            \"id\":\"668e99174f5631a335bdae5d\",\r\n            \"specialty\":\"668e98b44f5631a335bdae1e\"\r\n        },\r\n                \"memberTwo\":{\r\n            \"id\":\"668e99174f5631a335bdae5d\",\r\n            \"specialty\":\"668e98b44f5631a335bdae1f\"\r\n        }\r\n    },\r\n        \"duration\":3\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:4000/api/trade"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Powered-By","value":"Express"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"379"},{"key":"ETag","value":"W/\"17b-Hx6uohXG8onjy91Q69fowZfZNE0\""},{"key":"Date","value":"Wed, 10 Jul 2024 14:29:11 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"success\",\n    \"payload\": {\n        \"members\": {\n            \"memberOne\": {\n                \"id\": \"668e99174f5631a335bdae5d\",\n                \"specialty\": \"668e98b44f5631a335bdae1e\",\n                \"hasRated\": false\n            },\n            \"memberTwo\": {\n                \"id\": \"668e99174f5631a335bdae5d\",\n                \"specialty\": \"668e98b44f5631a335bdae1f\",\n                \"hasRated\": false\n            },\n            \"_id\": \"668e9ab78891d604b9e4d3d4\"\n        },\n        \"duration\": 259200000,\n        \"expiresAt\": null,\n        \"status\": \"PENDING\",\n        \"_id\": \"668e9ab78891d604b9e4d3d3\",\n        \"__v\": 0\n    }\n}"}],"_postman_id":"cd4174e2-05f2-44bd-b83c-bd86605b96e9"},{"name":"get find trade","id":"15554b5d-d7a5-4637-82a5-c8198fa9974d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"body":{"mode":"raw","raw":"{\r\n    \"members\":{\r\n        \"memberOne\":{\r\n            \"id\":\"668c528ad5f4c971bcd760b3\",\r\n            \"specialty\":\"668d9e5534511024deace977\"\r\n        },\r\n                \"memberTwo\":{\r\n            \"id\":\"668c544fd5f4c971bcd760b9\",\r\n            \"specialty\":\"668d9e5534511024deace976\"\r\n        }\r\n    },\r\n        \"duration\":3\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:4000/api/trade/:tradeId","urlObject":{"protocol":"http","port":"4000","path":["api","trade",":tradeId"],"host":["localhost"],"query":[],"variable":[{"type":"any","value":"669ed2adc176a499680f347d","key":"tradeId"}]}},"response":[],"_postman_id":"15554b5d-d7a5-4637-82a5-c8198fa9974d"}],"id":"501d0bfa-48eb-4068-a101-59be1d52e6ee","description":"<p>Aquí se contienen endpoints para la gestión de intercambios de conocimientos (trades).</p>\n<p>Puedes encontrar endpoints dedicados a la creación de un trade, aceptar un trade que alguien te propone, conseguir todos tus trades, y hallar un solo trade en específico.</p>\n<h3 id=\"¡importante\">¡IMPORTANTE!</h3>\n<p>Para acceder a estos endpoints, es totalmente necesario que inicies sesión, lo cual significa que debes tener una cuenta en Talent Trade.</p>\n<p>Si aún no has creado una cuenta en Talent Trade, puedes usar el endpoint <code>POST /api/user</code>. En esta misma documentación hallarás instrucciones para ese endpoint, brindando la información necesaria.</p>\n<p>Si ya tienes tu cuenta creada en Talent Trade, puedes usar el endpoint <code>POST /api/auth</code> e ingresas con tus datos.</p>\n","_postman_id":"501d0bfa-48eb-4068-a101-59be1d52e6ee"},{"name":"Endpoint de seed","item":[{"name":"Añadir categorías de muestra","id":"ebcc755b-0da5-45e8-b0af-9657bf734b20","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{base_url}}/seed","description":"<h2 id=\"creación-de-categorías-en-la-base-de-datos\">Creación de categorías en la base de datos</h2>\n<p>Puedes usar este endpoint para rellenar tu base de datos con diversas categorías tales como <em>salud y bienestar, artes y entretenimiento, y deportes y fitness.</em></p>\n<h4 id=\"¡importante\">¡Importante!</h4>\n<p>Recuerda usar este endpoint solamente una vez. Si lo usas más de una vez, tendrás categorías duplicadas.</p>\n","urlObject":{"path":["seed"],"host":["{{base_url}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"ebcc755b-0da5-45e8-b0af-9657bf734b20"},{"name":"Añadir especialidades de muestra","id":"36c58fd3-7870-4ee6-add9-ef85d6223a33","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{base_url}}/seed/specialties","description":"<h2 id=\"creación-de-especialidades-en-la-base-de-datos\">Creación de especialidades en la base de datos</h2>\n<p>Puedes usar este endpoint para rellenar tu base de datos con diversas especialidades tales como <em>fisioterapia (parte de categoría y bienestar), desarrollo web (parte de la categoría tecnología e informática), y música (parte de la categoría artes y entretenimiento).</em></p>\n<h4 id=\"antes-de-usar-este-endpoint\">Antes de usar este endpoint...</h4>\n<p>Antes de poder utilizar este endpoint, recuerda poblar tu base de datos con categorías, y esto lo puedes lograr con el endpoint <code>/seed</code>. Si aún no has poblado tu base de datos con categorías, por favor usa el endpoint anteriormente mencionado.</p>\n<h4 id=\"¡importante\">¡Importante!</h4>\n<p>Recuerda usar este endpoint solamente una vez. Si lo usas más de una vez, tendrás categorías duplicadas.</p>\n","urlObject":{"path":["seed","specialties"],"host":["{{base_url}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"36c58fd3-7870-4ee6-add9-ef85d6223a33"},{"name":"Añadir usuarios de muestra","id":"8b874dbd-1d52-4515-b27d-8f500aa34cb0","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{base_url}}/seed/users","description":"<h2 id=\"relleno-de-usuarios-en-la-base-de-datos\">Relleno de usuarios en la base de datos</h2>\n<p>Para poder sacarle el máximo partido a esta aplicación, es mucho mejor usarla con otros usuarios. Sin embargo, crear más usuarios implicaría crear muchos correos electrónicos válidos.</p>\n<p>Con este endpoint, puedes crear usuarios de muestra con emails ya validados (pero no necesariamente existentes).</p>\n<p><strong>| Todos los usuarios tienen como contraseña</strong> <em><strong>Javier.milei777</strong></em></p>\n<h4 id=\"antes-de-usar-este-endpoint\">Antes de usar este endpoint...</h4>\n<p>Antes de poder utilizar este endpoint, recuerda poblar tu base de datos con categorías, y esto lo puedes lograr con el endpoint <code>/seed</code>. Si aún no has poblado tu base de datos con categorías, por favor usa el endpoint anteriormente mencionado.</p>\n<h4 id=\"¡importante\">¡Importante!</h4>\n<p>Recuerda usar este endpoint solamente una vez. Si lo usas más de una vez, tendrás categorías duplicadas.</p>\n","urlObject":{"path":["seed","users"],"host":["{{base_url}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"8b874dbd-1d52-4515-b27d-8f500aa34cb0"}],"id":"3201f6db-e8f2-460d-aef7-0dfb8a7f15d0","_postman_id":"3201f6db-e8f2-460d-aef7-0dfb8a7f15d0","description":""},{"name":"Rating","item":[{"name":"Todos los Ratings","id":"2ed3081d-cec1-4e9d-9a31-507d0c7dfdc9","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{base_url}}/api/rating","urlObject":{"path":["api","rating"],"host":["{{base_url}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"2ed3081d-cec1-4e9d-9a31-507d0c7dfdc9"},{"name":"Rating por user Id","id":"f9511912-4af3-4f75-bafe-405469eb83e2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{base_url}}/api/rating/user/:userId","urlObject":{"path":["api","rating","user",":userId"],"host":["{{base_url}}"],"query":[],"variable":[{"type":"any","value":"668c0df10012cbbed00b3772","key":"userId"}]}},"response":[],"_postman_id":"f9511912-4af3-4f75-bafe-405469eb83e2"},{"name":"Rating por Id","id":"95cf42d2-867e-4e81-a24b-77de9defe97b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{base_url}}/api/rating","urlObject":{"path":["api","rating"],"host":["{{base_url}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"95cf42d2-867e-4e81-a24b-77de9defe97b"},{"name":"Ratings destacados","id":"974d41c4-f07d-4e08-b723-8c864b311fae","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{base_url}}/api/rating/featured","urlObject":{"path":["api","rating","featured"],"host":["{{base_url}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"974d41c4-f07d-4e08-b723-8c864b311fae"},{"name":"Enviar Rating (Requiere Login)","id":"6efa2d73-92c3-4f0e-a406-8a5d4018ddc8","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"comment\": \"Es una poronga la pagina, no se puede levantar minitas\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{base_url}}/api/rating","urlObject":{"path":["api","rating"],"host":["{{base_url}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"6efa2d73-92c3-4f0e-a406-8a5d4018ddc8"},{"name":"Cambiar Comentario {Requiere Login}","id":"409e75a7-1115-49dd-af4f-96e0a63bb0d1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\r\n    \"comment\": \"Este es un nuevo comentario\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{base_url}}/api/rating","urlObject":{"path":["api","rating"],"host":["{{base_url}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"409e75a7-1115-49dd-af4f-96e0a63bb0d1"},{"name":"Elegir 5 ratings destacados","id":"83889853-46ec-4210-a446-fd5eedd2b524","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[],"url":"{{base_url}}/api/rating","urlObject":{"path":["api","rating"],"host":["{{base_url}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"83889853-46ec-4210-a446-fd5eedd2b524"},{"name":"por user Id","id":"95a6d36e-b0ca-404a-8616-e78e0d9e0c46","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"url":"{{base_url}}/api/rating","urlObject":{"path":["api","rating"],"host":["{{base_url}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"95a6d36e-b0ca-404a-8616-e78e0d9e0c46"},{"name":"por  Id","id":"7734713e-4ba3-4e99-b72d-7a84132c5586","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"url":"{{base_url}}/api/rating/:ratingId","urlObject":{"path":["api","rating",":ratingId"],"host":["{{base_url}}"],"query":[],"variable":[{"type":"any","value":"66919cd5260ed80c7bc67152","key":"ratingId"}]}},"response":[],"_postman_id":"7734713e-4ba3-4e99-b72d-7a84132c5586"},{"name":"404","id":"d09f454d-8daa-4d70-8d96-6cadb04dba86","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"urlObject":{"query":[],"variable":[]},"url":""},"response":[],"_postman_id":"d09f454d-8daa-4d70-8d96-6cadb04dba86"}],"id":"d2f87faf-8c00-4208-a39c-010b3d475e97","_postman_id":"d2f87faf-8c00-4208-a39c-010b3d475e97","description":""},{"name":"Chat","item":[{"name":"Crear un mensaje nuevo","id":"f0ce2c20-85c6-49fb-baba-7ce8094cde75","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"senderId\":\"66981a5a3b3fb156d5f8bdef\",\r\n    \"receiverId\":\"66981a5a3b3fb156d5f8be04\",\r\n    \"message\":\"Hola felicidades!\",\r\n    \"chatRoomId\":\"669afb6fec424c99d490660b\"\r\n}\r\n","options":{"raw":{"language":"json"}}},"url":"{{base_url}}/api/chat/create-message","urlObject":{"path":["api","chat","create-message"],"host":["{{base_url}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"f0ce2c20-85c6-49fb-baba-7ce8094cde75"},{"name":"Conseguir mensajes de un chat","id":"3d35f1b0-2e12-4bfd-91cf-2300cbbdbef1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{base_url}}/api/chat/:chatRoomId","description":"<p>Para conseguir los mensajes de un chat en específico</p>\n","urlObject":{"path":["api","chat",":chatRoomId"],"host":["{{base_url}}"],"query":[],"variable":[{"type":"any","value":"669ed51ec176a499680f3503","key":"chatRoomId"}]}},"response":[],"_postman_id":"3d35f1b0-2e12-4bfd-91cf-2300cbbdbef1"}],"id":"f1568c08-f357-43a5-827d-996a9cd1277e","_postman_id":"f1568c08-f357-43a5-827d-996a9cd1277e","description":""},{"name":"Specialty","item":[{"name":"Get specialties","id":"abee3cb6-5edd-4234-b2f9-c8f0ba24763e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{base_url}}/api/specialties","urlObject":{"path":["api","specialties"],"host":["{{base_url}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"abee3cb6-5edd-4234-b2f9-c8f0ba24763e"}],"id":"41aa08c8-3293-4319-b309-0f1eda2e0cdc","_postman_id":"41aa08c8-3293-4319-b309-0f1eda2e0cdc","description":""}]}