Implement API to delete faults
This commit is contained in:
1 parent
62fca64268
commit
96286b9d10
1 file changed
+25
@@ -60,6 +60,7 @@ QUERY_REGEX = /^\/([a-zA-Z0-9_]+s)\/?$/
|
|||||||
DELETE_DEVICE_REGEX = /^\/devices\/([a-zA-Z0-9\-\_\%]+)\/?$/
|
DELETE_DEVICE_REGEX = /^\/devices\/([a-zA-Z0-9\-\_\%]+)\/?$/
|
||||||
PROVISIONS_REGEX = /^\/provisions\/([a-zA-Z0-9\-\_\%]+)\/?$/
|
PROVISIONS_REGEX = /^\/provisions\/([a-zA-Z0-9\-\_\%]+)\/?$/
|
||||||
VIRTUAL_PARAMETERS_REGEX = /^\/virtual_parameters\/([a-zA-Z0-9\-\_\%]+)\/?$/
|
VIRTUAL_PARAMETERS_REGEX = /^\/virtual_parameters\/([a-zA-Z0-9\-\_\%]+)\/?$/
|
||||||
|
FAULTS_REGEX = /^\/faults\/([a-zA-Z0-9\-\_\%\:]+)\/?$/
|
||||||
|
|
||||||
|
|
||||||
errorToString = (err) ->
|
errorToString = (err) ->
|
||||||
@@ -250,6 +251,25 @@ listener = (request, response) ->
|
|||||||
else
|
else
|
||||||
response.writeHead 405, {'Allow': 'POST, DELETE'}
|
response.writeHead 405, {'Allow': 'POST, DELETE'}
|
||||||
response.end('405 Method Not Allowed')
|
response.end('405 Method Not Allowed')
|
||||||
|
else if FAULTS_REGEX.test(urlParts.pathname)
|
||||||
|
if request.method == 'DELETE'
|
||||||
|
faultId = querystring.unescape(FAULTS_REGEX.exec(urlParts.pathname)[1])
|
||||||
|
deviceId = faultId.split(':', 1)
|
||||||
|
channel = faultId.slice(deviceId + 1)
|
||||||
|
db.redisClient.del("#{deviceId}_faults", (err) ->
|
||||||
|
db.faultsCollection.remove({_id : faultId}, (err) ->
|
||||||
|
throw err if err
|
||||||
|
if channel.startsWith('_task_')
|
||||||
|
return db.tasksCollection.remove({_id : mongodb.ObjectID(channel.slice(6))}, (err) ->
|
||||||
|
throw err if err
|
||||||
|
)
|
||||||
|
response.writeHead(200)
|
||||||
|
response.end()
|
||||||
|
)
|
||||||
|
)
|
||||||
|
else
|
||||||
|
response.writeHead 405, {'Allow': 'DELETE'}
|
||||||
|
response.end('405 Method Not Allowed')
|
||||||
else if DEVICE_TASKS_REGEX.test(urlParts.pathname)
|
else if DEVICE_TASKS_REGEX.test(urlParts.pathname)
|
||||||
if request.method == 'POST'
|
if request.method == 'POST'
|
||||||
deviceId = querystring.unescape(DEVICE_TASKS_REGEX.exec(urlParts.pathname)[1])
|
deviceId = querystring.unescape(DEVICE_TASKS_REGEX.exec(urlParts.pathname)[1])
|
||||||
@@ -453,6 +473,11 @@ listener = (request, response) ->
|
|||||||
timestamp: ((v) -> return new Date(v))
|
timestamp: ((v) -> return new Date(v))
|
||||||
retries: Number
|
retries: Number
|
||||||
})
|
})
|
||||||
|
when 'faults'
|
||||||
|
q = query.sanitizeQueryTypes(q, {
|
||||||
|
timestamp: ((v) -> return new Date(v))
|
||||||
|
retries: Number
|
||||||
|
})
|
||||||
|
|
||||||
if urlParts.query.projection?
|
if urlParts.query.projection?
|
||||||
projection = {}
|
projection = {}
|
||||||
|
|||||||
Reference in new issue
Block a user