You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
constexpress=require("express");constcors=require("cors");const{v4: uuid,validate: isUuid}=require("uuid");constapp=express();app.use(express.json());app.use(cors());constrepositories=[];functionvalidateRepositorieId(request,response,next){const{ id }=request.params;if(!isUuid(id)){returnresponse.status(400).json({error: "Invalid repositorie ID"});}returnnext();}functionvalidateLikes(request,response,next){const{ id }=request.params;if(!isUuid(id)){returnresponse.status(400).json({error: "Invalid repositorie ID"});}returnnext();}app.use("/repositories/:id",validateRepositorieId);app.use("/repositories/:id/likes",validateLikes);// GET: Fetch backend informationapp.get("/repositories",(request,response)=>{returnresponse.json(repositories);});// POST: Create information on the backendapp.post("/repositories",(request,response)=>{const{ title, url, techs }=request.body;constrepositorie={id: uuid(), title, url, techs,likes: 0};repositories.push(repositorie);returnresponse.json(repositorie);});// PUT: Change information on the backendapp.put("/repositories/:id",(request,response)=>{const{ id }=request.params;const{ title, url, techs }=request.body;constrepositorieIndex=repositories.findIndex((repositorie)=>repositorie.id===id);if(repositorieIndex<0){returnresponse.status(400).json({error: "Repositorie not found"});// setando o erro caso não encontre o repositorie}constrepositorie={
id,
title,
url,
techs,likes: repositories[repositorieIndex].likes,};repositories[repositorieIndex]=repositorie;returnresponse.json(repositorie);});// DELETE: Delete information on the backendapp.delete("/repositories/:id",(request,response)=>{const{ id }=request.params;constrepositorieIndex=repositories.findIndex((repositorie)=>repositorie.id===id);if(repositorieIndex<0){returnresponse.status(400).json({error: "Repositorie not found"});}repositories.splice(repositorieIndex,1);returnresponse.status(204).send();});app.post("/repositories/:id/like",(request,response)=>{const{ id }=request.params;constrepositorie=repositories.find((repositorie)=>repositorie.id===id);repositorie.likes+=1;returnresponse.json(repositorie);});module.exports=app;
The text was updated successfully, but these errors were encountered:
gabrieldejesus
changed the title
My solution to challenge 2
✅ My challenge resolution: nodejs concepts
Oct 30, 2020
Spoiler alert
The text was updated successfully, but these errors were encountered: