Skip to content

Commit

Permalink
Create API routes
Browse files Browse the repository at this point in the history
  • Loading branch information
arroiz committed Apr 25, 2020
1 parent ba45545 commit 9ea923a
Showing 1 changed file with 60 additions and 6 deletions.
66 changes: 60 additions & 6 deletions src/app.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
const express = require("express");
const cors = require("cors");

// const { uuid } = require("uuidv4");
const { uuid } = require("uuidv4");

const app = express();

Expand All @@ -11,23 +11,77 @@ app.use(cors());
const repositories = [];

app.get("/repositories", (request, response) => {
// TODO
return response.json(repositories);
});

app.post("/repositories", (request, response) => {
// TODO
const { title, url, techs } = request.body;

const newRepository = {
id: uuid(),
title,
url,
techs,
likes: 0
};

repositories.push(newRepository);

response.json(newRepository);
});

app.put("/repositories/:id", (request, response) => {
// TODO
const { id } = request.params;
const { title, url, techs } = request.body;

const repositoryIndex = repositories.findIndex(
repository => repository.id === id
);

if (repositoryIndex < 0) {
return response.status(400).json({ error: "repository not found" });
}

repositories[repositoryIndex] = {
...repositories[repositoryIndex],
title,
url,
techs
};

return response.json(repositories[repositoryIndex]);
});

app.delete("/repositories/:id", (request, response) => {
// TODO
const { id } = request.params;

const repositoryIndex = repositories.findIndex(
repository => repository.id === id
);

if (repositoryIndex < 0) {
return response.status(400).json({ error: "repository not found" });
}

repositories.splice(repositoryIndex, 1);

return response.status(204).send();
});

app.post("/repositories/:id/like", (request, response) => {
// TODO
const { id } = request.params;

const repositoryIndex = repositories.findIndex(
repository => repository.id === id
);

if (repositoryIndex < 0) {
return response.status(400).json({ error: "repository not found" });
}

repositories[repositoryIndex].likes += 1;

return response.json(repositories[repositoryIndex]);
});

module.exports = app;

0 comments on commit 9ea923a

Please sign in to comment.