hw3 first half done

This commit is contained in:
Arti Zirk 2017-06-11 00:24:59 +03:00
parent 851743eb7e
commit ea542fd1ea

View File

@ -16,6 +16,7 @@ app.get('/api/contacts', getContacts);
app.get('/api/contacts/:id', getContact); app.get('/api/contacts/:id', getContact);
app.post('/api/contacts', addContact); app.post('/api/contacts', addContact);
app.put('/api/contacts/:id', changeContact); app.put('/api/contacts/:id', changeContact);
app.post('/api/contacts/delete', deleteMultibleContact);
app.delete('/api/contacts/:id', deleteContact); app.delete('/api/contacts/:id', deleteContact);
var contacts = [ var contacts = [
@ -64,14 +65,15 @@ function getContact(req, resp) {
function addContact(req, resp) { function addContact(req, resp) {
var contact = req.body; var contact = req.body;
var sanitizedContact = {
contacts.push({
"_id": ++lastContactId, "_id": ++lastContactId,
"name": contact.name, "name": contact.name,
"phone": contact.phone "phone": contact.phone
}) }
resp.status(201).end("Created"); contacts.push(sanitizedContact)
resp.status(200).json(sanitizedContact);
} }
function changeContact(req, resp) { function changeContact(req, resp) {
@ -101,3 +103,35 @@ function deleteContact(req, resp) {
} }
resp.status(404).end("Contact Not Found"); resp.status(404).end("Contact Not Found");
} }
function deleteMultibleContact(req, resp) {
var contactIds = req.body;
var invalidIds = [];
while (true){
let id = contactIds.pop()
if (!id){
break;
}
for (let i=0; i < contacts.length; i++){
var contact = contacts[i];
if (contact._id == id){
contacts.splice(i, 1);
id = null;
}
}
if (id){
invalidIds.push(id);
}
}
if(invalidIds.length == 0){
resp.status(200).end("Deleted");
} else {
resp.status(404);
resp.json(invalidIds);
}
}