Add validation to dependent device provisioning

This commit is contained in:
Pablo Carranza Velez 2016-10-06 15:05:20 +00:00
parent e1cd0de0d9
commit ceb5016fc3
2 changed files with 12 additions and 1 deletions

View File

@ -1,3 +1,5 @@
* Add validation to dependent device provisioning [Pablo]
# v2.5.2
* Removed obsolete resolv.conf bind-mount [petrosagg]

View File

@ -48,6 +48,10 @@ router.get '/v1/devices', (req, res) ->
res.status(503).send(err?.message or err or 'Unknown error')
router.post '/v1/devices', (req, res) ->
appId = req.body.appId
if !appId? or _.isNaN(parseInt(appId)) or parseInt(appId) <= 0
res.status(400).send('appId must be a positive integer')
return
Promise.join(
utils.getConfig('apiKey')
utils.getConfig('userId')
@ -70,9 +74,14 @@ router.post '/v1/devices', (req, res) ->
customOptions:
apikey: apiKey
.then (dev) ->
# If the response has id: null then something was wrong in the request
# but we don't know precisely what.
if !dev.id?
res.status(400).send('Provisioning failed, invalid appId or credentials')
return
deviceForDB = {
uuid: uuid
appId: d.application
appId: appId
device_type: d.device_type
deviceId: dev.id
name: dev.name