Skip to content

Commit

Permalink
solve challenge
Browse files Browse the repository at this point in the history
  • Loading branch information
Wesley-Moura committed Nov 1, 2022
1 parent b9e9859 commit 1f6507a
Showing 1 changed file with 52 additions and 4 deletions.
56 changes: 52 additions & 4 deletions src/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,19 +10,67 @@ app.use(cors());
const users = [];

function checksExistsUserAccount(request, response, next) {
// Complete aqui
const { username } = request.headers;

const user = users.find(user => user.username === username);

if (!user) {
return response.status(404).json({ error: "Username not found" });
}

request.user = user;

return next();
}

function checksCreateTodosUserAvailability(request, response, next) {
// Complete aqui
const { user } = request;

if (!user.pro && user.todos.length >= 10) {
return response.status(403).json({ error: "Todo limits reached" });
}

return next();
}

function checksTodoExists(request, response, next) {
// Complete aqui
const { username } = request.headers;
const { id } = request.params;

const user = users.find(user => user.username === username);

if (!user) {
return response.status(404).json({ error: "Username not found" });
}

if (!(validate(id))) {
return response.status(400).json({ error: "Invalid id format" });
}

const todo = user.todos.find(todo => todo.id === id);

if (!todo) {
return response.status(404).json({ error: "Todo does not belong to user" });
}

request.user = user;
request.todo = todo;

return next();
}

function findUserById(request, response, next) {
// Complete aqui
const { id } = request.params;

const user = users.find(user => user.id === id);

if (!user) {
return response.status(404).json({ error: "User not found" });
}

request.user = user;

return next();
}

app.post('/users', (request, response) => {
Expand Down

0 comments on commit 1f6507a

Please sign in to comment.