{"info":{"_postman_id":"3441e9f5-28ca-4a78-8f32-4fdd44bf5570","name":"LoveCook","description":"<html><head></head><body><p>O LoveCook é um aplicativo web desenvolvido para permitir que os usuários criem, visualizem e comentem em receitas. A aplicação conta com funcionalidades de autenticação, gerenciamento de receitas e comentários, além de permitir que os usuários adicionem receitas aos seus favoritos.</p>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[],"owner":"38577887","collectionId":"3441e9f5-28ca-4a78-8f32-4fdd44bf5570","publishedId":"2sAXqwYzcF","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"},"publishDate":"2024-09-25T12:32:56.000Z"},"item":[{"name":"Signup","id":"d7e41b3e-ee3e-4da4-985a-32c76b1dcea6","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"name\": \"Carlos\",\r\n    \"email\": \"carlos@email.com\",\r\n    \"password\": \"Senha123*\"\r\n}\r\n","options":{"raw":{"language":"json"}}},"url":"http://localhost:3003/users/signup","description":"<p>O endpoint permite que um novo usuário se registre na aplicação. Ao enviar as informações necessárias, o usuário receberá um token de autenticação, permitindo o acesso a áreas restritas da aplicação.</p>\n<ul>\n<li><p><strong>Método HTTP</strong>: <code>POST</code></p>\n</li>\n<li><p><strong>Parâmetros da Solicitação</strong>:</p>\n<ul>\n<li><p><strong>Corpo da solicitação (JSON)</strong>:</p>\n<ul>\n<li><p><code>name (string)</code>: O nome de usuário escolhido pelo novo usuário.</p>\n</li>\n<li><p><code>email (string)</code>: O endereço de e-mail do novo usuário.</p>\n</li>\n<li><p><code>password (string)</code>: A senha escolhida pelo novo usuário.</p>\n</li>\n</ul>\n</li>\n</ul>\n</li>\n<li><p><strong>Respostas</strong>:</p>\n<ul>\n<li><p><strong>Sucesso</strong>: O sistema retornará um token de autenticação válido que deve ser incluído no cabeçalho de todas as solicitações subsequentes para autenticar o usuário recém-registrado.</p>\n</li>\n<li><p><strong>Erro de Conflito</strong> (Código de status HTTP: <code>409 Conflict</code>): Se o endereço de e-mail fornecido já estiver registrado no sistema.</p>\n</li>\n</ul>\n</li>\n</ul>\n","urlObject":{"protocol":"http","port":"3003","path":["users","signup"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"3f9d937e-282c-4969-86c0-21f4107da2eb","name":"Signup","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"name\": \"Ana\",\r\n    \"email\": \"ana@email.com\",\r\n    \"password\": \"Senha123*\"\r\n}\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":"277"},{"key":"ETag","value":"W/\"115-ahHXAG9XqySghQgl8+MSbiKrP3o\""},{"key":"Date","value":"Wed, 25 Sep 2024 05:08:06 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Usuário criado com sucesso\",\n    \"token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImMwZjVhNGJhLTRlMTctNDk2Mi04NzA0LWVhNjhmZGJhZWU4OCIsIm5hbWUiOiJBbmEiLCJyb2xlIjoiTk9STUFMIiwiaWF0IjoxNzI3MjQwODg2LCJleHAiOjE3Mjc4NDU2ODZ9.gdkbMnEUJc7_qiTraN9Ybz-nLPKgeTw5LrwanX69byo\"\n}"}],"_postman_id":"d7e41b3e-ee3e-4da4-985a-32c76b1dcea6"},{"name":"Login","id":"64f6f82c-d826-4d5b-896d-348361911042","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"email\": \"ana@email.com\",\r\n    \"password\": \"Senha123*\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:3003/users/login","description":"<p>O endpoint permite que um usuário existente faça login na aplicação. Após a validação das credenciais, o usuário receberá um token de autenticação.</p>\n<ul>\n<li><p><strong>Método HTTP</strong>: <code>POST</code></p>\n</li>\n<li><p><strong>Parâmetros da Solicitação</strong>:</p>\n<ul>\n<li><p><strong>Corpo da solicitação (JSON)</strong>:</p>\n<ul>\n<li><p><code>email (string)</code>: O endereço de e-mail do usuário.</p>\n</li>\n<li><p><code>password (string)</code>: A senha do usuário.</p>\n</li>\n</ul>\n</li>\n</ul>\n</li>\n<li><p><strong>Respostas</strong>:</p>\n<ul>\n<li><p><strong>Sucesso</strong> (Código de status HTTP: <code>200 OK</code>): O sistema retornará uma mensagem de sucesso e um token de autenticação.</p>\n</li>\n<li><p><strong>Erro Não Encontrado</strong> (Código de status HTTP: <code>404 Not Found</code>): Se o e-mail fornecido não estiver cadastrado no sistema.</p>\n</li>\n<li><p><strong>Erro de Autenticação</strong> (Código de status HTTP: <code>401 Unauthorized</code>): Se a senha fornecida estiver incorreta.</p>\n</li>\n</ul>\n</li>\n</ul>\n","urlObject":{"protocol":"http","port":"3003","path":["users","login"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"ec888141-783c-4634-a376-ae7f9cc859ad","name":"Login","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"email\": \"ana@email.com\",\r\n    \"password\": \"Senha123*\"\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":"265"},{"key":"ETag","value":"W/\"109-oMb9dJ/NT8iaHCUYp5xSE0oaElY\""},{"key":"Date","value":"Wed, 25 Sep 2024 05:09:43 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Login efetuado!\",\n    \"token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImMwZjVhNGJhLTRlMTctNDk2Mi04NzA0LWVhNjhmZGJhZWU4OCIsIm5hbWUiOiJBbmEiLCJyb2xlIjoiTk9STUFMIiwiaWF0IjoxNzI3MjQwOTgzLCJleHAiOjE3Mjc4NDU3ODN9.HUCYFZ5TC1Kv2cmTZh3Y_qWt75cS--XrSInWAYNXrXM\"\n}"}],"_postman_id":"64f6f82c-d826-4d5b-896d-348361911042"},{"name":"AddRecipe","id":"29062e02-0183-492d-948a-440345d9fed0","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImQ2NTU5YzQ3LTBhYjAtNGZjMi1hMTM0LTU2NzQyNjlkNGI2NiIsIm5hbWUiOiJDYXJsb3MiLCJyb2xlIjoiTk9STUFMIiwiaWF0IjoxNzI3NDM4NTg4LCJleHAiOjE3MjgwNDMzODh9.OvNUN_ZWdc2YqBEqTD0cdMxJbHW7WpYiWURSB0P4IJc","type":"text"}],"body":{"mode":"formdata","formdata":[{"key":"title","value":"Salada caeser","type":"text"},{"key":"image","type":"file","src":"postman-cloud:///1ef7c12b-813b-46d0-936d-a836f9448044"},{"key":"category","value":"Saladas","type":"text"},{"key":"ingredients","value":"[\"Alface romana\",\"Croutons\",\"Queijo parmesão\",\"Molho Caesar\",\"Peito de frango grelhado\"]","type":"text"},{"key":"method","value":"misture a alface com o molho Caesar, adicione o peito de frango grelhado em fatias, os croutons e finalize com o queijo parmesão ralado.","type":"text"},{"key":"additional_instructions","value":"Sirva imediatamente após preparar para manter a crocância dos croutons.","type":"text"}]},"url":"https://lovecook-back.onrender.com/recipes/new-recipe","description":"<p>O endpoint <code>/recipes/new-recipe</code> permite que um usuário adicione uma nova receita à aplicação. O usuário deve estar autenticado.</p>\n<ul>\n<li><p><strong>Método HTTP</strong>: <code>POST</code></p>\n</li>\n<li><p><strong>Parâmetros da Solicitação</strong>:</p>\n<ul>\n<li><p><strong>Corpo da solicitação (JSON)</strong>:</p>\n<ul>\n<li><p><code>title (string)</code>: O título da receita.</p>\n</li>\n<li><p><code>image (string)</code>: O nome do arquivo da imagem da receita.</p>\n</li>\n<li><p><code>ingredients (array)</code>: Lista de ingredientes necessários.</p>\n</li>\n<li><p><code>method (string)</code>: Instruções sobre como preparar a receita.</p>\n</li>\n<li><p><code>additional_instructions (string)</code>: Instruções adicionais, se houver.</p>\n</li>\n<li><p><code>category (string)</code>: Categoria da receita (ex: \"sobremesa\", \"prato principal\").</p>\n</li>\n<li><p><code>token (string)</code>: Token de autenticação do usuário.</p>\n</li>\n</ul>\n</li>\n</ul>\n</li>\n<li><p><strong>Respostas</strong>:</p>\n<ul>\n<li><p><strong>Sucesso</strong> (Código de status HTTP: <code>201 Created</code>): A receita é criada com sucesso.</p>\n</li>\n<li><p><strong>Erro de Autorização</strong> (Código de status HTTP: <code>401 Unauthorized</code>): Se o token não for fornecido ou for inválido.</p>\n</li>\n</ul>\n</li>\n</ul>\n","urlObject":{"protocol":"https","path":["recipes","new-recipe"],"host":["lovecook-back","onrender","com"],"query":[],"variable":[]}},"response":[{"id":"42d3af64-63c0-4b82-be73-3e64256392c7","name":"AddRecipe","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjhkNmVmOGEyLWZhNzItNDFhOS05MzA2LWEzMWMwZjQzMjhjYSIsIm5hbWUiOiJBbmEiLCJyb2xlIjoiTk9STUFMIiwiaWF0IjoxNzI3MzU3ODY4LCJleHAiOjE3Mjc5NjI2Njh9.2lbtaq9IOCB-3vUJ9F5-hvOmZvmcAEC8zCDwOje-lsE","type":"text"}],"body":{"mode":"formdata","formdata":[{"key":"title","value":"brigadeiro","type":"text"},{"key":"image","type":"file","src":"postman-cloud:///1ef7b4da-0f58-4d40-91e7-a22b42236bd8"},{"key":"category","value":"Massas","type":"text"},{"key":"ingredients","value":"[\"leite condensado\", \"creme de leite\", \"cacau em pó\",\"granulado\"]","type":"text"},{"key":"method","value":"Misture tudo e leve ao fogo até adquirir consistencia. Coloque na geladeira para resfriar.","type":"text"},{"key":"additional_instructions","value":"enrole e passe no granulado.","type":"text"}]},"url":"http://localhost:3003/recipes/new-recipe"},"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":"41"},{"key":"ETag","value":"W/\"29-/wH2FnM9ZL0AKUWlxkjXPNBzRXQ\""},{"key":"Date","value":"Wed, 25 Sep 2024 11:42:28 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Receita criada com sucesso!\"\n}"}],"_postman_id":"29062e02-0183-492d-948a-440345d9fed0"},{"name":"getAllRecipes","id":"4ea09acf-80bb-453f-b509-97bf12fa29b0","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"http://localhost:3003/recipes/all-recipes","description":"<p>O endpoint <code>/recipes/all-recipes</code> permite que um usuário visualize todas as receitas disponíveis na aplicação.</p>\n<ul>\n<li><p><strong>Método HTTP</strong>: <code>GET</code></p>\n</li>\n<li><p><strong>Parâmetros da Solicitação</strong>: Nenhum</p>\n</li>\n<li><p><strong>Respostas</strong>:</p>\n<ul>\n<li><strong>Sucesso</strong> (Código de status HTTP: <code>200 OK</code>): Retorna uma lista de todas as receitas cadastradas.</li>\n</ul>\n</li>\n</ul>\n","urlObject":{"protocol":"http","port":"3003","path":["recipes","all-recipes"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"4ea09acf-80bb-453f-b509-97bf12fa29b0"},{"name":"getRecipeById","id":"0bbdbcd5-8ff1-4c73-bd85-3f1f44b5b770","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"http://localhost:3003/recipes/:id","description":"<p>O endpoint <code>/recipes/:id</code> permite que um usuário visualize os detalhes de uma receita específica.</p>\n<ul>\n<li><p><strong>Método HTTP</strong>: <code>GET</code></p>\n</li>\n<li><p><strong>Parâmetros da Solicitação</strong>:</p>\n<ul>\n<li><code>id (string)</code>: O ID da receita a ser recuperada.</li>\n</ul>\n</li>\n<li><p><strong>Respostas</strong>:</p>\n<ul>\n<li><p><strong>Sucesso</strong> (Código de status HTTP: <code>200 OK</code>): Retorna os detalhes da receita solicitada.</p>\n</li>\n<li><p><strong>Erro Não Encontrado</strong> (Código de status HTTP: <code>404 Not Found</code>): Se a receita com o ID fornecido não existir.</p>\n</li>\n</ul>\n</li>\n</ul>\n","urlObject":{"protocol":"http","port":"3003","path":["recipes",":id"],"host":["localhost"],"query":[],"variable":[{"type":"any","value":"f0334e60-0980-42e8-8401-a7ec140d5d0f","key":"id"}]}},"response":[{"id":"ad1d7c4c-4c07-400e-9c9a-10ff002ac71f","name":"getRecipeById","originalRequest":{"method":"GET","header":[],"url":{"raw":"http://localhost:3003/recipes/:id","protocol":"http","host":["localhost"],"port":"3003","path":["recipes",":id"],"variable":[{"key":"id","value":"85c6f308-302c-4fa9-bd37-8e8b8aab0ea0"}]}},"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":"456"},{"key":"ETag","value":"W/\"1c8-OeHVl/x/sZtuG5JDf9zxjt7K3/A\""},{"key":"Date","value":"Wed, 25 Sep 2024 12:03:12 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"id\": \"85c6f308-302c-4fa9-bd37-8e8b8aab0ea0\",\n    \"creator_id\": \"c0f5a4ba-4e17-4962-8704-ea68fdbaee88\",\n    \"title\": \"Lasanha de carne \",\n    \"creator\": \"Ana\",\n    \"image\": \"/uploads/1727264547968.png\",\n    \"category\": \"Massas\",\n    \"ingredients\": \"[\\\"Massa para lasanha\\\",\\\"carne moida\\\",\\\"queijo\\\",\\\"cebola\\\",\\\"molho de tomate\\\",\\\"creme de leite\\\"]\",\n    \"method\": \"Coisa demais\",\n    \"additional_instructions\": \"Muita coisa\",\n    \"total_rating\": 0,\n    \"average_rating\": 0,\n    \"created_at\": \"2024-09-25T11:42:27.976Z\"\n}"}],"_postman_id":"0bbdbcd5-8ff1-4c73-bd85-3f1f44b5b770"},{"name":"AddFavorites","id":"21baa67b-9e90-46fa-b62f-80196a5bfe42","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImMwZjVhNGJhLTRlMTctNDk2Mi04NzA0LWVhNjhmZGJhZWU4OCIsIm5hbWUiOiJBbmEiLCJyb2xlIjoiTk9STUFMIiwiaWF0IjoxNzI3MjY1MDcyLCJleHAiOjE3Mjc4Njk4NzJ9.xzgxOxgosy8y8msb_rEb0PUppud2gYx_kJg7zJ_02eo","type":"text"}],"url":"http://localhost:3003/recipes/favorites/:id","description":"<p>O endpoint permite que um usuário adicione uma receita à sua lista de favoritos. O usuário deve estar autenticado.</p>\n<ul>\n<li><p><strong>Método HTTP</strong>: <code>POST</code></p>\n</li>\n<li><p><strong>Parâmetros da Solicitação</strong>:</p>\n<ul>\n<li><p><strong>Corpo da solicitação (JSON)</strong>:</p>\n<ul>\n<li><p><code>recipeId (string)</code>: O ID da receita que o usuário deseja adicionar aos favoritos.</p>\n</li>\n<li><p><code>token (string)</code>: Token de autenticação do usuário.</p>\n</li>\n</ul>\n</li>\n</ul>\n</li>\n<li><p><strong>Respostas</strong>:</p>\n<ul>\n<li><p><strong>Sucesso</strong> (Código de status HTTP: <code>201 Created</code>): A receita é adicionada aos favoritos com sucesso.</p>\n</li>\n<li><p><strong>Erro de Autorização</strong> (Código de status HTTP: <code>401 Unauthorized</code>): Se o token não for fornecido ou for inválido.</p>\n</li>\n</ul>\n</li>\n</ul>\n","urlObject":{"protocol":"http","port":"3003","path":["recipes","favorites",":id"],"host":["localhost"],"query":[],"variable":[{"type":"any","value":"","key":"id"}]}},"response":[{"id":"f397a9af-ca2b-4cfe-a195-7be9ab78b692","name":"AddFavorites","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImMwZjVhNGJhLTRlMTctNDk2Mi04NzA0LWVhNjhmZGJhZWU4OCIsIm5hbWUiOiJBbmEiLCJyb2xlIjoiTk9STUFMIiwiaWF0IjoxNzI3MjY1MDcyLCJleHAiOjE3Mjc4Njk4NzJ9.xzgxOxgosy8y8msb_rEb0PUppud2gYx_kJg7zJ_02eo","type":"text"}],"url":{"raw":"http://localhost:3003/recipes/favorites/:id","protocol":"http","host":["localhost"],"port":"3003","path":["recipes","favorites",":id"],"variable":[{"key":"id","value":"3e5a2003-94ed-4d30-8057-af95daf61d69"}]}},"status":"OK","code":200,"_postman_previewlanguage":"plain","header":[{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Date","value":"Wed, 25 Sep 2024 11:57: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":"21baa67b-9e90-46fa-b62f-80196a5bfe42"},{"name":"deleteFavorites","id":"e8e4df44-832f-40d0-9f01-817f5980d1ce","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Authorization","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjhkNmVmOGEyLWZhNzItNDFhOS05MzA2LWEzMWMwZjQzMjhjYSIsIm5hbWUiOiJBbmEiLCJyb2xlIjoiTk9STUFMIiwiaWF0IjoxNzI3MzU5MTM0LCJleHAiOjE3Mjc5NjM5MzR9.3HPw-wRTTMxOaiE9MXmBKC5fqGyVwYoeFTsM5MoDZ5o","type":"text"}],"url":"http://localhost:3003/recipes//delete-favorites/:id","description":"<p>StartFragment</p>\n<p>O endpoint <code>/favorites/:id</code> permite que um usuário remova uma receita da sua lista de favoritos. O usuário deve estar autenticado.</p>\n<ul>\n<li><p><strong>Método HTTP</strong>: <code>DELETE</code></p>\n</li>\n<li><p><strong>Parâmetros da Solicitação</strong>:</p>\n<ul>\n<li><p><code>recipeId (string)</code>: O ID da receita que o usuário deseja remover dos favoritos.</p>\n</li>\n<li><p><code>token (string)</code>: Token de autenticação do usuário.</p>\n</li>\n</ul>\n</li>\n<li><p><strong>Respostas</strong>:</p>\n<ul>\n<li><p><strong>Sucesso</strong> (Código de status HTTP: <code>204 No Content</code>): A receita é removida dos favoritos com sucesso.</p>\n</li>\n<li><p><strong>Erro de Autorização</strong> (Código de status HTTP: <code>401 Unauthorized</code>): Se o token não for fornecido ou for inválido.</p>\n</li>\n</ul>\n</li>\n</ul>\n<p>EndFragment</p>\n","urlObject":{"protocol":"http","port":"3003","path":["recipes","","delete-favorites",":id"],"host":["localhost"],"query":[],"variable":[{"type":"any","value":"f0334e60-0980-42e8-8401-a7ec140d5d0f","key":"id"}]}},"response":[{"id":"04c94cb8-937b-4dbb-9366-81f2960750b2","name":"deleteFavorites","originalRequest":{"method":"DELETE","header":[{"key":"Authorization","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImMwZjVhNGJhLTRlMTctNDk2Mi04NzA0LWVhNjhmZGJhZWU4OCIsIm5hbWUiOiJBbmEiLCJyb2xlIjoiTk9STUFMIiwiaWF0IjoxNzI3MjY1MDcyLCJleHAiOjE3Mjc4Njk4NzJ9.xzgxOxgosy8y8msb_rEb0PUppud2gYx_kJg7zJ_02eo","type":"text"}],"url":{"raw":"http://localhost:3003/recipes//delete-favorites/:id","protocol":"http","host":["localhost"],"port":"3003","path":["recipes","","delete-favorites",":id"],"variable":[{"key":"id","value":"3e5a2003-94ed-4d30-8057-af95daf61d69"}]}},"status":"OK","code":200,"_postman_previewlanguage":"plain","header":[{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Date","value":"Wed, 25 Sep 2024 11:57:01 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"},{"key":"Content-Length","value":"0"}],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"e8e4df44-832f-40d0-9f01-817f5980d1ce"},{"name":"getFavoritesByUserId","id":"175361a4-9776-4fa6-b02c-e5cb2effce17","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjhkNmVmOGEyLWZhNzItNDFhOS05MzA2LWEzMWMwZjQzMjhjYSIsIm5hbWUiOiJBbmEiLCJyb2xlIjoiTk9STUFMIiwiaWF0IjoxNzI3MzU5NTgzLCJleHAiOjE3Mjc5NjQzODN9.r2oOf6FgxUhbbatzI1QlGXKZ0rhjbKETtyEegJ9X8ak","type":"text"}],"url":"http://localhost:3003/recipes/favorites","description":"<p>O endpoint permite que um usuário visualize suas receitas favoritas. O usuário deve estar autenticado.</p>\n<ul>\n<li><p><strong>Método HTTP</strong>: <code>GET</code></p>\n</li>\n<li><p><strong>Parâmetros da Solicitação</strong>:</p>\n<ul>\n<li><code>token (string)</code>: Token de autenticação do usuário.</li>\n</ul>\n</li>\n<li><p><strong>Respostas</strong>:</p>\n<ul>\n<li><p><strong>Sucesso</strong> (Código de status HTTP: <code>200 OK</code>): Retorna a lista de receitas favoritas do usuário.</p>\n</li>\n<li><p><strong>Erro de Autorização</strong> (Código de status HTTP: <code>401 Unauthorized</code>): Se o token não for fornecido ou for inválido.</p>\n</li>\n</ul>\n</li>\n</ul>\n","urlObject":{"protocol":"http","port":"3003","path":["recipes","favorites"],"host":["localhost"],"query":[{"disabled":true,"key":null,"value":""}],"variable":[]}},"response":[{"id":"cfc3ae92-d95d-4427-bd34-1b7ca5885710","name":"getFavoritesByUserId","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImMwZjVhNGJhLTRlMTctNDk2Mi04NzA0LWVhNjhmZGJhZWU4OCIsIm5hbWUiOiJBbmEiLCJyb2xlIjoiTk9STUFMIiwiaWF0IjoxNzI3MjQwODg2LCJleHAiOjE3Mjc4NDU2ODZ9.gdkbMnEUJc7_qiTraN9Ybz-nLPKgeTw5LrwanX69byo","type":"text"}],"url":{"raw":"http://localhost:3003/recipes/favorites","protocol":"http","host":["localhost"],"port":"3003","path":["recipes","favorites"],"query":[{"key":null,"value":"","type":"text","disabled":true}]}},"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":"458"},{"key":"ETag","value":"W/\"1ca-VPeLIDezjN5aGb+1+nPQTaeAVYk\""},{"key":"Date","value":"Wed, 25 Sep 2024 12:02:10 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"id\": \"85c6f308-302c-4fa9-bd37-8e8b8aab0ea0\",\n        \"creator_id\": \"c0f5a4ba-4e17-4962-8704-ea68fdbaee88\",\n        \"title\": \"Lasanha de carne \",\n        \"creator\": \"Ana\",\n        \"image\": \"/uploads/1727264547968.png\",\n        \"category\": \"Massas\",\n        \"ingredients\": \"[\\\"Massa para lasanha\\\",\\\"carne moida\\\",\\\"queijo\\\",\\\"cebola\\\",\\\"molho de tomate\\\",\\\"creme de leite\\\"]\",\n        \"method\": \"Coisa demais\",\n        \"additional_instructions\": \"Muita coisa\",\n        \"total_rating\": 0,\n        \"average_rating\": 0,\n        \"created_at\": \"2024-09-25T11:42:27.976Z\"\n    }\n]"}],"_postman_id":"175361a4-9776-4fa6-b02c-e5cb2effce17"},{"name":"createComment","id":"ecaa53ff-68dc-480c-914e-371a2d591990","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjhkNmVmOGEyLWZhNzItNDFhOS05MzA2LWEzMWMwZjQzMjhjYSIsIm5hbWUiOiJBbmEiLCJyb2xlIjoiTk9STUFMIiwiaWF0IjoxNzI3MzU5NTgzLCJleHAiOjE3Mjc5NjQzODN9.r2oOf6FgxUhbbatzI1QlGXKZ0rhjbKETtyEegJ9X8ak","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"comment\":\"Receita ótima\",\r\n    \"rating\": 5\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:3003/comments//:id/new-comment","description":"<p>O endpoint <code>/comments</code> permite que um usuário adicione um novo comentário a uma receita. O usuário deve estar autenticado.</p>\n<ul>\n<li><p><strong>Método HTTP</strong>: <code>POST</code></p>\n</li>\n<li><p><strong>Parâmetros da Solicitação</strong>:</p>\n<ul>\n<li><p><strong>Corpo da solicitação (JSON)</strong>:</p>\n<ul>\n<li><p><code>recipe_id (string)</code>: O ID da receita à qual o comentário será associado.</p>\n</li>\n<li><p><code>token (string)</code>: Token de autenticação do usuário.</p>\n</li>\n<li><p><code>comment (string)</code>: O texto do comentário.</p>\n</li>\n<li><p><code>rating (number)</code>: A avaliação dada pelo usuário (de 0 a 5).</p>\n</li>\n</ul>\n</li>\n</ul>\n</li>\n<li><p><strong>Respostas</strong>:</p>\n<ul>\n<li><p><strong>Sucesso</strong> (Código de status HTTP: <code>201 Created</code>): O comentário é criado com sucesso.</p>\n</li>\n<li><p><strong>Erro de Autorização</strong> (Código de status HTTP: <code>401 Unauthorized</code>): Se o token não for fornecido ou for inválido.</p>\n</li>\n</ul>\n</li>\n</ul>\n","urlObject":{"protocol":"http","port":"3003","path":["comments","",":id","new-comment"],"host":["localhost"],"query":[],"variable":[{"type":"any","value":"f0334e60-0980-42e8-8401-a7ec140d5d0f","key":"id"}]}},"response":[{"id":"513083d8-8afd-4000-90aa-3db7829adbf1","name":"createComment","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImMwZjVhNGJhLTRlMTctNDk2Mi04NzA0LWVhNjhmZGJhZWU4OCIsIm5hbWUiOiJBbmEiLCJyb2xlIjoiTk9STUFMIiwiaWF0IjoxNzI3MjQwODg2LCJleHAiOjE3Mjc4NDU2ODZ9.gdkbMnEUJc7_qiTraN9Ybz-nLPKgeTw5LrwanX69byo","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"comment\":\"Receita ótima\",\r\n    \"rating\": 5\r\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"http://localhost:3003/comments/:id/new-comment","protocol":"http","host":["localhost"],"port":"3003","path":["comments",":id","new-comment"],"variable":[{"key":"id","value":"85c6f308-302c-4fa9-bd37-8e8b8aab0ea0"}]}},"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":"33"},{"key":"ETag","value":"W/\"21-anM1tXtNMkv+6sJuoXKWoXLiDtU\""},{"key":"Date","value":"Wed, 25 Sep 2024 12:08:18 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Comentário criado!\"\n}"}],"_postman_id":"ecaa53ff-68dc-480c-914e-371a2d591990"},{"name":"getCommentsByRecipeId","id":"a124c5b8-54a3-4e7e-b51d-a0104d94940e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"http://localhost:3003/comments/:id","description":"<p>O endpoint <code>/comments/:recipeId</code> permite que um usuário visualize todos os comentários associados a uma receita específica.</p>\n<ul>\n<li><p><strong>Método HTTP</strong>: <code>GET</code></p>\n</li>\n<li><p><strong>Parâmetros da Solicitação</strong>:</p>\n<ul>\n<li><code>recipeId (string)</code>: O ID da receita cujos comentários serão recuperados.</li>\n</ul>\n</li>\n<li><p><strong>Respostas</strong>:</p>\n<ul>\n<li><p><strong>Sucesso</strong> (Código de status HTTP: <code>200 OK</code>): Retorna a lista de comentários da receita solicitada.</p>\n</li>\n<li><p><strong>Erro Não Encontrado</strong> (Código de status HTTP: <code>404 Not Found</code>): Se não houver comentários para a receita especificada.</p>\n</li>\n</ul>\n</li>\n</ul>\n","urlObject":{"protocol":"http","port":"3003","path":["comments",":id"],"host":["localhost"],"query":[],"variable":[{"type":"any","value":"f0334e60-0980-42e8-8401-a7ec140d5d0f","key":"id"}]}},"response":[{"id":"fb663b2b-69f2-4dbf-9d86-849d97df160e","name":"getCommentsByRecipeId","originalRequest":{"method":"GET","header":[],"url":{"raw":"http://localhost:3003/comments/:id","protocol":"http","host":["localhost"],"port":"3003","path":["comments",":id"],"variable":[{"key":"id","value":"85c6f308-302c-4fa9-bd37-8e8b8aab0ea0"}]}},"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-TDZhlQDLSXnWDsAtYH08sj9E9wM\""},{"key":"Date","value":"Wed, 25 Sep 2024 12:11:09 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"id\": \"4417a61d-f5f1-4a39-9dcf-ee2824f956d0\",\n        \"author\": \"Ana\",\n        \"recipe_id\": \"85c6f308-302c-4fa9-bd37-8e8b8aab0ea0\",\n        \"user_id\": \"c0f5a4ba-4e17-4962-8704-ea68fdbaee88\",\n        \"rating\": 5,\n        \"comment\": \"Receita ótima\",\n        \"created_at\": \"2024-09-25T12:08:18.249Z\"\n    }\n]"}],"_postman_id":"a124c5b8-54a3-4e7e-b51d-a0104d94940e"}]}