{"info":{"_postman_id":"d5a9a3cf-817c-4d01-8c87-cc2ce82acdfd","name":"Labook","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[],"description":"<html><head></head><body></body></html>","owner":"27682612","collectionId":"d5a9a3cf-817c-4d01-8c87-cc2ce82acdfd","publishedId":"2s9Xy3trjx","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"},"publishDate":"2023-08-11T14:16:52.000Z"},"item":[{"name":"getUsers","id":"62f9a63d-17a8-41fb-8ef1-8e5f5841ca9e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6InUwMDEiLCJuYW1lIjoiTHVjYXMiLCJyb2xlIjoiQURNSU4iLCJpYXQiOjE2OTE3NTg4MzIsImV4cCI6MTY5MjM2MzYzMn0.9P7UdtzN4O7-oIn6_Hp43v6H-r2-wdGHMs-6osA6H9c","type":"text"}],"url":"http://localhost:3003/users","description":"<p>A requisição getUsers tem a funcionalidade de mostrar a lista de usuários cadastrados no banco de dados, no entanto, apenas \"ADMINS\" tem acesso a essa funcionalidade, passando um token de autorização compátivel.</p>\n","urlObject":{"protocol":"http","port":"3003","path":["users"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"67427cf8-2f9f-4ae1-a1b1-89abf129d0ff","name":"getUsers","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6InUwMDEiLCJuYW1lIjoiTHVjYXMiLCJyb2xlIjoiQURNSU4iLCJpYXQiOjE2OTE3NTg4MzIsImV4cCI6MTY5MjM2MzYzMn0.9P7UdtzN4O7-oIn6_Hp43v6H-r2-wdGHMs-6osA6H9c","type":"text"}],"url":"http://localhost:3003/users"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"387"},{"key":"ETag","value":"W/\"183-N20PPy7wJDv7zbZRr+cHhRRVYWM\""},{"key":"Date","value":"Fri, 11 Aug 2023 13:00:45 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"id\": \"u001\",\n        \"name\": \"Lucas\",\n        \"email\": \"lucas@email.com\",\n        \"role\": \"ADMIN\",\n        \"createdAt\": \"2023-08-10 18:02:46\"\n    },\n    {\n        \"id\": \"e11e5e05-e59a-43ce-bbb4-0d9c4a6efc1e\",\n        \"name\": \"Marli\",\n        \"email\": \"marli@email.com\",\n        \"role\": \"NORMAL\",\n        \"createdAt\": \"2023-08-10T18:18:49.445Z\"\n    },\n    {\n        \"id\": \"91239aaa-8e7b-4a90-9329-3d574582aa3e\",\n        \"name\": \"Luiz\",\n        \"email\": \"luiz@email.com\",\n        \"role\": \"NORMAL\",\n        \"createdAt\": \"2023-08-11T12:59:21.620Z\"\n    }\n]"}],"_postman_id":"62f9a63d-17a8-41fb-8ef1-8e5f5841ca9e"},{"name":"signUp","id":"3dc2228a-63d5-43a9-8f06-2c98f2a607f9","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"name\": \"Luiz\",\r\n    \"email\": \"luiz@email.com\",\r\n    \"password\": \"Luizito08*\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:3003/users/signup","description":"<p>A requisição signUp tem a funcionalidade de cadastrar uma nova conta, porém alguns dados precisam ser inseridos no corpo da requisição, são esses:</p>\n<p>\"name\",</p>\n<p>\"email\",</p>\n<p>\"password\".</p>\n<p>Contudo, foram implementadas as seguintes restrições:</p>\n<p>Caso o \"email\" já tenha sido cadastrado por outro usuário, não será possível concluir o cadastro;</p>\n<p>Caso o \"email\" não esteja com a formatação correta (@email.com), não será possível concluir o cadastro;</p>\n<p>Caso a senha não atenda a um padrão mínimo pré-estabelecido, não será possível concluir o cadastro, no caso do Labook, é obrigatório que \"password\" tenha entre 8 e 12 caracteres, com letras maiúsculas e minúsculas, e no mínimo um caractere especial.</p>\n<p>Todos os usuários cadastrados vem com a \"role\" como \"NORMAL\" impedindo seu acesso a recursos que são reservados à administradores.</p>\n<p>Como resposta da requisição, o usuário recebe um token de autorização, lembre-se de guardá-lo pois será necessário para acessar as outras funcionalidades do sistema.</p>\n","urlObject":{"protocol":"http","port":"3003","path":["users","signup"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"23b12465-f8d0-41a8-b655-3d54be2000f8","name":"signUp","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"name\": \"Luiz\",\r\n    \"email\": \"luiz@email.com\",\r\n    \"password\": \"Luizito08*\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:3003/users/signup"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"239"},{"key":"ETag","value":"W/\"ef-g1OkvZLHyZtg1Rc1MyGIDG+URc8\""},{"key":"Date","value":"Fri, 11 Aug 2023 12:59:21 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjkxMjM5YWFhLThlN2ItNGE5MC05MzI5LTNkNTc0NTgyYWEzZSIsIm5hbWUiOiJMdWl6Iiwicm9sZSI6Ik5PUk1BTCIsImlhdCI6MTY5MTc1ODc2MSwiZXhwIjoxNjkyMzYzNTYxfQ.-xURO_4xVq7qk3rTA9lsY_Zn3HskIihwRcNfU-f4boM\"\n}"}],"_postman_id":"3dc2228a-63d5-43a9-8f06-2c98f2a607f9"},{"name":"login","id":"b7c60eb7-1bd7-4d0f-a66d-f1c2953fc4fc","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"","value":"","type":"text"}],"body":{"mode":"raw","raw":"{\r\n   \"email\": \"luiz@email.com\",\r\n   \"password\": \"Luizito08*\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:3003/users/login","description":"<p>A requisição login tem a funcionalidade de entrar na sua respectiva conta, porém alguns dados precisam ser inseridos no corpo da requisição, são esses:</p>\n<p>\"email\",</p>\n<p>\"password\".</p>\n<p>Contudo, foram implementadas as seguintes restrições:</p>\n<p>Caso o \"email\" e o \"password\" não correspondam com os utilizados no endpoint \"signup\", não será possível acessar a conta.</p>\n<p>Como resposta da requisição, o usuário recebe um token de autorização, lembre-se de guardá-lo pois será necessário para acessar as outras funcionalidades do sistema.</p>\n","urlObject":{"protocol":"http","port":"3003","path":["users","login"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"58a5b8dc-6172-444f-a7af-c6fff0261bbb","name":"login","originalRequest":{"method":"POST","header":[{"key":"","value":"","type":"text"}],"body":{"mode":"raw","raw":"{\r\n   \"email\": \"marli@email.com\",\r\n   \"password\": \"Marli08*\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:3003/users/login"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"240"},{"key":"ETag","value":"W/\"f0-7J1tt33R1iAxzc/VQro1YDO95Ow\""},{"key":"Date","value":"Fri, 11 Aug 2023 13:00:10 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImUxMWU1ZTA1LWU1OWEtNDNjZS1iYmI0LTBkOWM0YTZlZmMxZSIsIm5hbWUiOiJNYXJsaSIsInJvbGUiOiJOT1JNQUwiLCJpYXQiOjE2OTE3NTg4MTAsImV4cCI6MTY5MjM2MzYxMH0.uj4x8vighNqcZPiTjgpepdR95iKso6deQF_N7utbxsc\"\n}"}],"_postman_id":"b7c60eb7-1bd7-4d0f-a66d-f1c2953fc4fc"},{"name":"editUser","id":"55367f48-5f79-4834-9be3-50a0c6d8e4bc","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[{"key":"Authorization","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImUxMWU1ZTA1LWU1OWEtNDNjZS1iYmI0LTBkOWM0YTZlZmMxZSIsIm5hbWUiOiJNYXJsaSIsInJvbGUiOiJOT1JNQUwiLCJpYXQiOjE2OTE3NTg5MTMsImV4cCI6MTY5MjM2MzcxM30.Nmu9aNeQwRwxrK5FzXp_dUTHzOHiLJaxMdMUb58w8qU","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"name\": \"lameu\",\r\n    \"email\": \"lameu@email.com\",\r\n    \"password\": \"Lameu08*\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:3003/users/:id","description":"<p>A requisição editUser permite ao usuário editar suas informações pessoais como \"name\", \"email\" e \"password\", no entanto, algumas restrições foram implementadas para o uso dessa funcionalidade, são essas:</p>\n<p>Apenas o dono da conta pode editar suas informações;</p>\n<p>Será necessário passar o token gerado no login para comprovar que a pessoa é realmente quem ela diz ser;</p>\n<p>Será necessário abrir uma solicitação para que um administrador informe ao usuário qual é seu \"id\" que foi gerado no momento em que fez o cadastro no sistema, pois o mesmo não tem acesso a essa informação por questão de segurança.</p>\n<p>Com o id em mãos, basta inseri-lo no campo \"Path Variables\" na aba \"Params\" junto ao token no campo \"Authorization\" na aba \"Headers\", e torna-se possível editar as informações de cadastro citadas acima.</p>\n","urlObject":{"protocol":"http","port":"3003","path":["users",":id"],"host":["localhost"],"query":[],"variable":[{"type":"any","value":"e11e5e05-e59a-43ce-bbb4-0d9c4a6efc1e","key":"id"}]}},"response":[{"id":"eb273ad7-f6f6-4ef3-865f-2720b68b79d6","name":"editUser","originalRequest":{"method":"PUT","header":[{"key":"Authorization","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImUxMWU1ZTA1LWU1OWEtNDNjZS1iYmI0LTBkOWM0YTZlZmMxZSIsIm5hbWUiOiJNYXJsaSIsInJvbGUiOiJOT1JNQUwiLCJpYXQiOjE2OTE3NTg5MTMsImV4cCI6MTY5MjM2MzcxM30.Nmu9aNeQwRwxrK5FzXp_dUTHzOHiLJaxMdMUb58w8qU","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"name\": \"Lameu\",\r\n    \"email\": \"lameu@email.com\",\r\n    \"password\": \"Lameu08*\"\r\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"http://localhost:3003/users/:id","protocol":"http","host":["localhost"],"port":"3003","path":["users",":id"],"variable":[{"key":"id","value":"e11e5e05-e59a-43ce-bbb4-0d9c4a6efc1e"}]}},"status":"OK","code":200,"_postman_previewlanguage":"plain","header":[{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Date","value":"Fri, 11 Aug 2023 13:03:31 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"},{"key":"Content-Length","value":"0"}],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"55367f48-5f79-4834-9be3-50a0c6d8e4bc"},{"name":"deleteUser","id":"7a1c8c05-b64c-4f0d-b789-d7da1160d5c1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Authorization","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImUxMWU1ZTA1LWU1OWEtNDNjZS1iYmI0LTBkOWM0YTZlZmMxZSIsIm5hbWUiOiJNYXJsaSIsInJvbGUiOiJOT1JNQUwiLCJpYXQiOjE2OTE3NTg5MTMsImV4cCI6MTY5MjM2MzcxM30.Nmu9aNeQwRwxrK5FzXp_dUTHzOHiLJaxMdMUb58w8qU","type":"text"}],"url":"http://localhost:3003/users/:id","description":"<p>A requisição deleteUser permite ao usuário excluir sua conta, no entanto, algumas restrições foram implementadas para o uso dessa funcionalidade, são essas:</p>\n<p>Apenas o dono da conta ou um administrador podem apagar um usuário;</p>\n<p>Será necessário passar o token gerado no login para comprovar que a pessoa é realmente quem ela diz ser;</p>\n<p>Caso o usuário queira apagar sua própria conta, será necessário abrir uma solicitação para que um administrador informe a pessoa qual é seu \"id\" que foi gerado no momento em que fez o cadastro no sistema, pois o mesmo não tem acesso a essa informação por questão de segurança.</p>\n<p>Com o id em mãos, basta inseri-lo no campo \"Path Variables\" na aba \"Params\" junto ao token no campo \"Authorization\" na aba \"Headers\", e torna-se possível apagar o cadastro do usuário.</p>\n","urlObject":{"protocol":"http","port":"3003","path":["users",":id"],"host":["localhost"],"query":[],"variable":[{"type":"any","value":"e11e5e05-e59a-43ce-bbb4-0d9c4a6efc1e","key":"id"}]}},"response":[{"id":"61ab2d1e-b025-427a-99e3-a20ca994c843","name":"deleteUser","originalRequest":{"method":"DELETE","header":[{"key":"Authorization","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImUxMWU1ZTA1LWU1OWEtNDNjZS1iYmI0LTBkOWM0YTZlZmMxZSIsIm5hbWUiOiJNYXJsaSIsInJvbGUiOiJOT1JNQUwiLCJpYXQiOjE2OTE3NTg5MTMsImV4cCI6MTY5MjM2MzcxM30.Nmu9aNeQwRwxrK5FzXp_dUTHzOHiLJaxMdMUb58w8qU","type":"text"}],"url":{"raw":"http://localhost:3003/users/:id","protocol":"http","host":["localhost"],"port":"3003","path":["users",":id"],"variable":[{"key":"id","value":"e11e5e05-e59a-43ce-bbb4-0d9c4a6efc1e"}]}},"status":"OK","code":200,"_postman_previewlanguage":"plain","header":[{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Date","value":"Fri, 11 Aug 2023 13:04:36 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"},{"key":"Content-Length","value":"0"}],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"7a1c8c05-b64c-4f0d-b789-d7da1160d5c1"},{"name":"getPosts","id":"8fda169e-b5a2-4618-b181-69455e1f79b8","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjkxMjM5YWFhLThlN2ItNGE5MC05MzI5LTNkNTc0NTgyYWEzZSIsIm5hbWUiOiJMdWl6Iiwicm9sZSI6Ik5PUk1BTCIsImlhdCI6MTY5MTc1OTEyMiwiZXhwIjoxNjkyMzYzOTIyfQ.FqMwmzSUW2f6UDiDjNWXUm0lQDjIivL_vRsjW3Tz2-A","type":"text"}],"url":"http://localhost:3003/posts","description":"<p>A requisição getPosts possui duas funcionalides diferentes:</p>\n<p>Caso nada seja escrito após \"/posts\" será retornada a lista completa de posts, como podemos ver no exemplo \"getPostsF1\";</p>\n<p>Caso um post não cadastrado seja enviado como paramêtro, por exemplo, \"/posts?q=qualquer-coisa-aqui\", será retornada uma lista vazia que é referenciada por [ ];</p>\n<p>Caso não seja inserido um \"id\" completo representado pelo paramêtro \"q\", seram retornados todos os posts que contenham os paramêtros inseridos;</p>\n<p>Caso um post cadastrado seja enviado como paramêtro, apenas ele será retornado, como podemos ver no exemplo \"getPostsF2\".</p>\n<p>No entanto para ter acesso aos posts será necessário informar um token válido no campo \"Authorization\" na aba \"Headers\"</p>\n","urlObject":{"protocol":"http","port":"3003","path":["posts"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"c544c13e-b86d-4574-8ae2-00df0af621a6","name":"getPostsF1","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjkxMjM5YWFhLThlN2ItNGE5MC05MzI5LTNkNTc0NTgyYWEzZSIsIm5hbWUiOiJMdWl6Iiwicm9sZSI6Ik5PUk1BTCIsImlhdCI6MTY5MTc1OTEyMiwiZXhwIjoxNjkyMzYzOTIyfQ.FqMwmzSUW2f6UDiDjNWXUm0lQDjIivL_vRsjW3Tz2-A","type":"text"},{"key":"","value":"","type":"text","disabled":true}],"url":"http://localhost:3003/posts"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"455"},{"key":"ETag","value":"W/\"1c7-BxJwLfmmJOu+l1ALH4p176T1C38\""},{"key":"Date","value":"Fri, 11 Aug 2023 13:07:16 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"id\": \"27daf4ce-5ef0-410e-bddc-13166a023596\",\n        \"content\": \"Primeiro post\",\n        \"likes\": 0,\n        \"dislikes\": 0,\n        \"createdAt\": \"2023-08-11T13:06:07.046Z\",\n        \"updatedAt\": \"2023-08-11T13:06:07.046Z\",\n        \"creator\": {\n            \"id\": \"91239aaa-8e7b-4a90-9329-3d574582aa3e\",\n            \"name\": \"Luiz\"\n        }\n    },\n    {\n        \"id\": \"51276862-72fb-4277-9a69-b4f7bf2c4ce1\",\n        \"content\": \"Segundo post\",\n        \"likes\": 0,\n        \"dislikes\": 0,\n        \"createdAt\": \"2023-08-11T13:07:13.754Z\",\n        \"updatedAt\": \"2023-08-11T13:07:13.754Z\",\n        \"creator\": {\n            \"id\": \"u001\",\n            \"name\": \"Lucas\"\n        }\n    }\n]"},{"id":"f390d999-e9d9-4a1f-955a-7948577b748d","name":"getPostsF2","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjkxMjM5YWFhLThlN2ItNGE5MC05MzI5LTNkNTc0NTgyYWEzZSIsIm5hbWUiOiJMdWl6Iiwicm9sZSI6Ik5PUk1BTCIsImlhdCI6MTY5MTc1OTEyMiwiZXhwIjoxNjkyMzYzOTIyfQ.FqMwmzSUW2f6UDiDjNWXUm0lQDjIivL_vRsjW3Tz2-A","type":"text"},{"key":"","value":"","type":"text","disabled":true}],"url":{"raw":"http://localhost:3003/posts?q=3","protocol":"http","host":["localhost"],"port":"3003","path":["posts"],"query":[{"key":"q","value":"3"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"212"},{"key":"ETag","value":"W/\"d4-643vxCYUaCIhMm/cTsbPs5hPJzU\""},{"key":"Date","value":"Fri, 11 Aug 2023 13:17:23 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"id\": \"3c429991-23e7-4ec0-b157-4a125aeaca10\",\n        \"content\": \"Segundo post\",\n        \"likes\": 0,\n        \"dislikes\": 0,\n        \"createdAt\": \"2023-08-11T13:16:47.145Z\",\n        \"updatedAt\": \"2023-08-11T13:16:47.145Z\",\n        \"creator\": {\n            \"id\": \"u001\",\n            \"name\": \"Lucas\"\n        }\n    }\n]"}],"_postman_id":"8fda169e-b5a2-4618-b181-69455e1f79b8"},{"name":"createPost","id":"60d82dda-e7ae-4d44-a403-5087280ab4a5","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6InUwMDEiLCJuYW1lIjoiTHVjYXMiLCJyb2xlIjoiQURNSU4iLCJpYXQiOjE2OTE3NTkyMDUsImV4cCI6MTY5MjM2NDAwNX0.w2kJCxukuAzq0CgY_G9a0QJoI3iSPxXcn5hYtrpMPs0","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"content\": \"Segundo post\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:3003/posts","description":"<p>A requisição createPost permite ao usuário criar uma nova postagem, informando apenas o conteúdo \"content\" da mesma no corpo da requisição.</p>\n<p>Entretanto é necessário também informar um token válido no campo \"Authorization\" na aba \"Headers\".</p>\n","urlObject":{"protocol":"http","port":"3003","path":["posts"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"6da13d54-8e65-44dc-8d38-31b0398e42f2","name":"createPost","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjkxMjM5YWFhLThlN2ItNGE5MC05MzI5LTNkNTc0NTgyYWEzZSIsIm5hbWUiOiJMdWl6Iiwicm9sZSI6Ik5PUk1BTCIsImlhdCI6MTY5MTc1OTEyMiwiZXhwIjoxNjkyMzYzOTIyfQ.FqMwmzSUW2f6UDiDjNWXUm0lQDjIivL_vRsjW3Tz2-A","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"content\": \"Primeiro post\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:3003/posts"},"status":"Created","code":201,"_postman_previewlanguage":"plain","header":[{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Date","value":"Fri, 11 Aug 2023 13:06:07 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"},{"key":"Content-Length","value":"0"}],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"60d82dda-e7ae-4d44-a403-5087280ab4a5"},{"name":"editPost","id":"8f222ead-a01f-4d40-abc5-db50a03cc2c9","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[{"key":"Authorization","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6InUwMDEiLCJuYW1lIjoiTHVjYXMiLCJyb2xlIjoiQURNSU4iLCJpYXQiOjE2OTE3NTkyMDUsImV4cCI6MTY5MjM2NDAwNX0.w2kJCxukuAzq0CgY_G9a0QJoI3iSPxXcn5hYtrpMPs0","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"content\": \"Agora esse será o primeiro post\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:3003/posts/:id","description":"<p>A requisição editPost permite ao usuário editar o conteúdo \"content\" da sua publicação, no entanto, algumas restrições foram implementadas para o uso dessa funcionalidade, são essas:</p>\n<p>Apenas o dono do post pode edita-lo;</p>\n<p>Será necessário passar o token gerado no login para comprovar que a pessoa é realmente quem ela diz ser;</p>\n<p>Também é requerido o \"id\" específico da postagem, para ser inserido no campo \"Path Variables\" na aba \"Params\" junto ao token no campo \"Authorization\" na aba \"Headers\", e torna-se possível editar a sua publicação.</p>\n","urlObject":{"protocol":"http","port":"3003","path":["posts",":id"],"host":["localhost"],"query":[],"variable":[{"type":"any","value":"51276862-72fb-4277-9a69-b4f7bf2c4ce1","key":"id"}]}},"response":[{"id":"2a524edf-c9d5-4462-bd11-fe4a8249232a","name":"editPost","originalRequest":{"method":"PUT","header":[{"key":"Authorization","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6InUwMDEiLCJuYW1lIjoiTHVjYXMiLCJyb2xlIjoiQURNSU4iLCJpYXQiOjE2OTE3NTkyMDUsImV4cCI6MTY5MjM2NDAwNX0.w2kJCxukuAzq0CgY_G9a0QJoI3iSPxXcn5hYtrpMPs0","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"content\": \"Agora esse será o primeiro post\"\r\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"http://localhost:3003/posts/:id","protocol":"http","host":["localhost"],"port":"3003","path":["posts",":id"],"variable":[{"key":"id","value":"51276862-72fb-4277-9a69-b4f7bf2c4ce1"}]}},"status":"OK","code":200,"_postman_previewlanguage":"plain","header":[{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Date","value":"Fri, 11 Aug 2023 13:08:48 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"},{"key":"Content-Length","value":"0"}],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"8f222ead-a01f-4d40-abc5-db50a03cc2c9"},{"name":"likeOrDislikePost","id":"abcf8822-c648-44df-901d-cbed6482d1e4","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[{"key":"Authorization","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6InUwMDEiLCJuYW1lIjoiTHVjYXMiLCJyb2xlIjoiQURNSU4iLCJpYXQiOjE2OTE3NTkyMDUsImV4cCI6MTY5MjM2NDAwNX0.w2kJCxukuAzq0CgY_G9a0QJoI3iSPxXcn5hYtrpMPs0","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"like\": true\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:3003/posts/:id/like","description":"<p>A requisição likeOrDislikePost tem duas funcionalidades que, permitem ao usuário manifestar se gostou ou não gostou do conteúdo publicado por outra pessoa, no entanto, algumas restrições foram implementadas para o uso dessa funcionalidade, são essas:</p>\n<p>Quem criou o post não pode dar like ou dislike no mesmo;<br />Caso dê um like em um post que já tenha dado like, o like é desfeito;<br />Caso dê um dislike em um post que já tenha dado dislike, o dislike é desfeito;<br />Caso dê um like em um post que tenha dado dislike, o like sobrescreve o dislike;<br />Caso dê um dislike em um post que tenha dado like, o dislike sobrescreve o like;</p>\n<p>Será necessário passar o token gerado no login para comprovar que a pessoa é realmente quem ela diz ser;</p>\n<p>Também é requerido o \"id\" específico da postagem, para ser inserido no campo \"Path Variables\" na aba \"Params\" junto ao token no campo \"Authorization\" na aba \"Headers\", e torna-se possível editar a sua publicação.</p>\n<p>Caso queira dar like num post, basta informar \"like\": true, no corpo da requisição \"likePostF1\";</p>\n<p>Caso queira dar dislike num post, basta informar \"like\": false, no corpo da requisição \"dislikePostF2\".</p>\n","urlObject":{"protocol":"http","port":"3003","path":["posts",":id","like"],"host":["localhost"],"query":[],"variable":[{"type":"any","value":"27daf4ce-5ef0-410e-bddc-13166a023596","key":"id"}]}},"response":[{"id":"b9b5d8a2-b962-4b2e-8257-09d17bc81825","name":"likePostF1","originalRequest":{"method":"PUT","header":[{"key":"Authorization","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6InUwMDEiLCJuYW1lIjoiTHVjYXMiLCJyb2xlIjoiQURNSU4iLCJpYXQiOjE2OTE3NTkyMDUsImV4cCI6MTY5MjM2NDAwNX0.w2kJCxukuAzq0CgY_G9a0QJoI3iSPxXcn5hYtrpMPs0","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"like\": true\r\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"http://localhost:3003/posts/:id/like","protocol":"http","host":["localhost"],"port":"3003","path":["posts",":id","like"],"variable":[{"key":"id","value":"27daf4ce-5ef0-410e-bddc-13166a023596"}]}},"status":"OK","code":200,"_postman_previewlanguage":"plain","header":[{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Date","value":"Fri, 11 Aug 2023 13:13:36 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"},{"key":"Content-Length","value":"0"}],"cookie":[],"responseTime":null,"body":null},{"id":"b32675a2-7326-4171-906d-d35815924bd4","name":"dislikePostF2","originalRequest":{"method":"PUT","header":[{"key":"Authorization","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6InUwMDEiLCJuYW1lIjoiTHVjYXMiLCJyb2xlIjoiQURNSU4iLCJpYXQiOjE2OTE3NTkyMDUsImV4cCI6MTY5MjM2NDAwNX0.w2kJCxukuAzq0CgY_G9a0QJoI3iSPxXcn5hYtrpMPs0","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"like\": false\r\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"http://localhost:3003/posts/:id/like","protocol":"http","host":["localhost"],"port":"3003","path":["posts",":id","like"],"variable":[{"key":"id","value":"27daf4ce-5ef0-410e-bddc-13166a023596"}]}},"status":"OK","code":200,"_postman_previewlanguage":"plain","header":[{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Date","value":"Fri, 11 Aug 2023 13:11:23 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"},{"key":"Content-Length","value":"0"}],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"abcf8822-c648-44df-901d-cbed6482d1e4"},{"name":"deletePost","id":"d7078be5-023a-4a88-a782-e516c310a86a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Authorization","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6InUwMDEiLCJuYW1lIjoiTHVjYXMiLCJyb2xlIjoiQURNSU4iLCJpYXQiOjE2OTE3NTkyMDUsImV4cCI6MTY5MjM2NDAwNX0.w2kJCxukuAzq0CgY_G9a0QJoI3iSPxXcn5hYtrpMPs0","type":"text"}],"url":"http://localhost:3003/posts/:id","description":"<p>A requisição deletePost permite ao usuário excluir seu post, no entanto, algumas restrições foram implementadas para o uso dessa funcionalidade, são essas:</p>\n<p>Apenas o dono da publicação ou um administrador podem apagar um post;</p>\n<p>Será necessário passar o token gerado no login para comprovar que a pessoa é realmente quem ela diz ser;</p>\n<p>Também é requerido o \"id\" específico da postagem, para ser inserido no campo \"Path Variables\" na aba \"Params\" junto ao token no campo \"Authorization\" na aba \"Headers\", e torna-se possível deletar a sua publicação.</p>\n","urlObject":{"protocol":"http","port":"3003","path":["posts",":id"],"host":["localhost"],"query":[],"variable":[{"type":"any","value":"27daf4ce-5ef0-410e-bddc-13166a023596","key":"id"}]}},"response":[{"id":"3939502c-1c06-4ff1-a4eb-266c83a818a4","name":"deletePost","originalRequest":{"method":"DELETE","header":[{"key":"Authorization","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6InUwMDEiLCJuYW1lIjoiTHVjYXMiLCJyb2xlIjoiQURNSU4iLCJpYXQiOjE2OTE3NTkyMDUsImV4cCI6MTY5MjM2NDAwNX0.w2kJCxukuAzq0CgY_G9a0QJoI3iSPxXcn5hYtrpMPs0","type":"text"}],"url":{"raw":"http://localhost:3003/posts/:id","protocol":"http","host":["localhost"],"port":"3003","path":["posts",":id"],"variable":[{"key":"id","value":"27daf4ce-5ef0-410e-bddc-13166a023596"}]}},"status":"OK","code":200,"_postman_previewlanguage":"plain","header":[{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Date","value":"Fri, 11 Aug 2023 13:15:07 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"},{"key":"Content-Length","value":"0"}],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"d7078be5-023a-4a88-a782-e516c310a86a"}]}