response 404 when device not found or task not found or object not found, when update or delete

This commit is contained in:
Shweelan L. Samson committed 2015-09-07 14:11:20 +03:00
1 parent cda98e3145
commit 6ae4728ded
1 file changed
+39 -3
+39 -3
View File
@@ -112,6 +112,12 @@ listener = (request, response) ->
response.writeHead(500) response.writeHead(500)
response.end(errorToString(err)) response.end(errorToString(err))
return return
if removedCount == 0
response.writeHead(404)
response.end()
return
response.writeHead(200) response.writeHead(200)
response.end() response.end()
) )
@@ -144,6 +150,12 @@ listener = (request, response) ->
response.writeHead(500) response.writeHead(500)
response.end(errorToString(err)) response.end(errorToString(err))
return return
if removedCount == 0
response.writeHead(404)
response.end()
return
response.writeHead(200) response.writeHead(200)
response.end() response.end()
) )
@@ -155,7 +167,7 @@ listener = (request, response) ->
deviceId = querystring.unescape(r[1]) deviceId = querystring.unescape(r[1])
tag = querystring.unescape(r[2]) tag = querystring.unescape(r[2])
if request.method == 'POST' if request.method == 'POST'
db.devicesCollection.update({'_id' : deviceId}, {'$addToSet' : {'_tags' : tag}}, {safe: true}, (err) -> db.devicesCollection.update({'_id' : deviceId}, {'$addToSet' : {'_tags' : tag}}, {safe: true}, (err, updatedCount) ->
db.redisClient.del("#{deviceId}_presets_hash", (err) -> db.redisClient.del("#{deviceId}_presets_hash", (err) ->
throw err if err throw err if err
) )
@@ -163,11 +175,17 @@ listener = (request, response) ->
response.writeHead(500) response.writeHead(500)
response.end(errorToString(err)) response.end(errorToString(err))
return return
if updatedCount == 0
response.writeHead(404)
response.end()
return
response.writeHead(200) response.writeHead(200)
response.end() response.end()
) )
else if request.method == 'DELETE' else if request.method == 'DELETE'
db.devicesCollection.update({'_id' : deviceId}, {'$pull' : {'_tags' : tag}}, {safe: true}, (err) -> db.devicesCollection.update({'_id' : deviceId}, {'$pull' : {'_tags' : tag}}, {safe: true}, (err, updatedCount) ->
db.redisClient.del("#{deviceId}_presets_hash", (err) -> db.redisClient.del("#{deviceId}_presets_hash", (err) ->
throw err if err throw err if err
) )
@@ -175,6 +193,12 @@ listener = (request, response) ->
response.writeHead(500) response.writeHead(500)
response.end(errorToString(err)) response.end(errorToString(err))
return return
if updatedCount == 0
response.writeHead(404)
response.end()
return
response.writeHead(200) response.writeHead(200)
response.end() response.end()
) )
@@ -271,6 +295,12 @@ listener = (request, response) ->
response.writeHead(500) response.writeHead(500)
response.end(errorToString(err)) response.end(errorToString(err))
return return
if removedCount == 0
response.writeHead(404)
response.end()
return
response.writeHead(200) response.writeHead(200)
response.end() response.end()
) )
@@ -279,8 +309,14 @@ listener = (request, response) ->
response.end('405 Method Not Allowed') response.end('405 Method Not Allowed')
else if action is '/retry' else if action is '/retry'
if request.method == 'POST' if request.method == 'POST'
db.tasksCollection.update({_id : taskId}, {$unset : {fault : 1}, $set : {timestamp : new Date()}}, (err, count) -> db.tasksCollection.update({_id : taskId}, {$unset : {fault : 1}, $set : {timestamp : new Date()}}, (err, updatedCount) ->
# TODO need to invalidate presets hash for the device # TODO need to invalidate presets hash for the device
throw err if err
if updatedCount == 0
response.writeHead(404)
response.end()
return
response.writeHead(200) response.writeHead(200)
response.end() response.end()
) )