completed 3.5

This commit is contained in:
counterweight 2025-06-01 18:39:07 +02:00
parent 7e9ee48730
commit fa954019fb
Signed by: counterweight
GPG key ID: 883EDBAA726BD96C
3 changed files with 41 additions and 2 deletions

View file

@ -2,6 +2,6 @@ Exercises:
* [X] 3.1
* [X] 3.2
* [X] 3.3
* [ ] 3.4
* [ ] 3.5
* [X] 3.4
* [X] 3.5
* [ ] 3.6

View file

@ -48,6 +48,38 @@ app.get("/api/persons/:id", (request, response) => {
}
});
app.post("/api/persons/", (request, response) => {
if (!request.body.name || !request.body.number) {
return response.status(400).json({
success: false,
message: "Malformed body.",
});
}
const nameIsInPhonebook = persons.find(
(person) => person.name == request.body.name
);
if (nameIsInPhonebook) {
return response.status(409).json({
success: false,
message: "Name already in phonebook.",
});
}
const newId = Math.floor(Math.random() * 100_000_000 * 21);
const personData = {
id: newId,
name: request.body.name,
number: request.body.number,
};
persons.push(personData);
return response.status(201).json(personData);
});
app.delete("/api/persons/:id", (request, response) => {
const idToDelete = request.params.id;

View file

@ -0,0 +1,7 @@
POST http://localhost:3001/api/persons/
Content-Type: application/json
{
"name": "MMMonica",
"number": "123-456"
}