Implemented API for deleting a device.
This commit is contained in:
1 parent
76b67d9f54
commit
faf1e49eb9
2 files changed
+29
No files matched your search
@@ -230,8 +230,21 @@ insertTasks = (tasks, aliases, callback) ->
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
deleteDevice = (deviceId, callback) ->
|
||||||
|
db.tasksCollection.remove({'device' : deviceId}, (err, removed) ->
|
||||||
|
return callback(err) if err
|
||||||
|
db.devicesCollection.remove({'_id' : deviceId}, (err, removed) ->
|
||||||
|
return callback(err) if err
|
||||||
|
db.redisClient.del("#{deviceId}_presets_hash", "#{deviceId}_inform_hash", (err) ->
|
||||||
|
callback(err)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
exports.addAliases = addAliases
|
exports.addAliases = addAliases
|
||||||
exports.sanitizeTask = sanitizeTask
|
exports.sanitizeTask = sanitizeTask
|
||||||
exports.connectionRequest = connectionRequest
|
exports.connectionRequest = connectionRequest
|
||||||
exports.watchTask = watchTask
|
exports.watchTask = watchTask
|
||||||
exports.insertTasks = insertTasks
|
exports.insertTasks = insertTasks
|
||||||
|
exports.deleteDevice = deleteDevice
|
||||||
@@ -58,6 +58,7 @@ FILES_REGEX = /^\/files\/([a-zA-Z0-9\%\!\*\'\(\)\;\:\@\&\=\+\$\,\?\#\[\]\-\_\.\~
|
|||||||
PING_REGEX = /^\/ping\/([a-zA-Z0-9\-\_\.]+)\/?$/
|
PING_REGEX = /^\/ping\/([a-zA-Z0-9\-\_\.]+)\/?$/
|
||||||
QUERY_REGEX = /^\/([a-zA-Z0-9_]+s)\/?$/
|
QUERY_REGEX = /^\/([a-zA-Z0-9_]+s)\/?$/
|
||||||
DEVICE_PRESET_REGEX = /^\/devices\/([a-zA-Z0-9\-\_\%]+)\/preset\/?$/
|
DEVICE_PRESET_REGEX = /^\/devices\/([a-zA-Z0-9\-\_\%]+)\/preset\/?$/
|
||||||
|
DELETE_DEVICE_REGEX = /^\/devices\/([a-zA-Z0-9\-\_\%]+)\/?$/
|
||||||
|
|
||||||
|
|
||||||
listener = (request, response) ->
|
listener = (request, response) ->
|
||||||
@@ -309,6 +310,21 @@ listener = (request, response) ->
|
|||||||
response.writeHead(200, {'Content-Type' : 'text/plain', 'Cache-Control' : 'no-cache'})
|
response.writeHead(200, {'Content-Type' : 'text/plain', 'Cache-Control' : 'no-cache'})
|
||||||
response.end(stdout)
|
response.end(stdout)
|
||||||
)
|
)
|
||||||
|
else if DELETE_DEVICE_REGEX.test(urlParts.pathname)
|
||||||
|
if request.method isnt 'DELETE'
|
||||||
|
response.writeHead(405, {'Allow' : 'DELETE'})
|
||||||
|
response.end('405 Method Not Allowed')
|
||||||
|
return
|
||||||
|
|
||||||
|
deviceId = DELETE_DEVICE_REGEX.exec(urlParts.pathname)[1]
|
||||||
|
apiFunctions.deleteDevice(deviceId, (err) ->
|
||||||
|
if err
|
||||||
|
response.writeHead(500)
|
||||||
|
response.end(err.message)
|
||||||
|
return
|
||||||
|
response.writeHead(200)
|
||||||
|
response.end()
|
||||||
|
)
|
||||||
else if QUERY_REGEX.test(urlParts.pathname)
|
else if QUERY_REGEX.test(urlParts.pathname)
|
||||||
collectionName = QUERY_REGEX.exec(urlParts.pathname)[1]
|
collectionName = QUERY_REGEX.exec(urlParts.pathname)[1]
|
||||||
if request.method not in ['GET', 'HEAD']
|
if request.method not in ['GET', 'HEAD']
|
||||||
|
|||||||
Reference in new issue
Block a user