Added writable attribute in parameter tree
This commit is contained in:
1 parent
52967d018c
commit
0b73240024
3 files changed
+37
-11
No files matched your search
+28
-5
@@ -26,11 +26,34 @@ db.open( (err, db) ->
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
updateDevice = (deviceId, actions) ->
|
updateDevice = (deviceId, actions, callback) ->
|
||||||
return if not actions?
|
if not actions?
|
||||||
|
callback() if callback?
|
||||||
|
return
|
||||||
|
|
||||||
|
updates = {}
|
||||||
if actions.parameterValues?
|
if actions.parameterValues?
|
||||||
params = common.arrayToHash(actions.parameterValues)
|
for p in actions.parameterValues
|
||||||
devicesCollection.update({'_id' : deviceId}, {'$set' : params}, {upsert: true})
|
if common.endsWith(p[0], '.')
|
||||||
|
updates["#{p[0]}_value"] = p[1]
|
||||||
|
else
|
||||||
|
updates["#{p[0]}._value"] = p[1]
|
||||||
|
|
||||||
|
if actions.parameterNames?
|
||||||
|
for p in actions.parameterNames
|
||||||
|
if common.endsWith(p[0], '.')
|
||||||
|
updates["#{p[0]}_writable"] = p[1]
|
||||||
|
updates["#{p[0]}_object"] = true
|
||||||
|
else
|
||||||
|
updates["#{p[0]}._writable"] = p[1]
|
||||||
|
|
||||||
|
if Object.keys(updates).length > 0
|
||||||
|
devicesCollection.update({'_id' : deviceId}, {'$set' : updates}, {upsert: true, safe: true}, (err) ->
|
||||||
|
callback(err) if callback?
|
||||||
|
)
|
||||||
|
else
|
||||||
|
callback() if callback?
|
||||||
|
|
||||||
|
|
||||||
runTask = (sessionId, deviceId, task, reqParams, response) ->
|
runTask = (sessionId, deviceId, task, reqParams, response) ->
|
||||||
resParams = {}
|
resParams = {}
|
||||||
@@ -115,7 +138,7 @@ else
|
|||||||
util.log("#{deviceId}: Added init task #{task._id}")
|
util.log("#{deviceId}: Added init task #{task._id}")
|
||||||
)
|
)
|
||||||
|
|
||||||
devicesCollection.update({'_id' : deviceId}, {'$set' : common.arrayToHash(reqParams.informParameterValues)}, {upsert: true, safe:true}, (err, modified) ->
|
updateDevice(deviceId, {'parameterValues' : reqParams.informParameterValues}, (err) ->
|
||||||
tr069.response(reqParams.sessionId, response, resParams, cookies)
|
tr069.response(reqParams.sessionId, response, resParams, cookies)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -16,3 +16,7 @@ exports.getDeviceId = (deviceIdStruct) ->
|
|||||||
|
|
||||||
return "#{escape(deviceIdStruct['OUI'])}-#{escape(deviceIdStruct['SerialNumber'])}"
|
return "#{escape(deviceIdStruct['OUI'])}-#{escape(deviceIdStruct['SerialNumber'])}"
|
||||||
|
|
||||||
|
exports.extend = (obj, mixin) ->
|
||||||
|
obj[name] = method for name, method of mixin
|
||||||
|
obj
|
||||||
|
|
||||||
+5
-6
@@ -2,24 +2,23 @@ common = require './common'
|
|||||||
BATCH_SIZE = 16
|
BATCH_SIZE = 16
|
||||||
|
|
||||||
this.init = (task, request, response) ->
|
this.init = (task, request, response) ->
|
||||||
|
ret = {}
|
||||||
if not task.subtask?
|
if not task.subtask?
|
||||||
task.subtask = {'name' : 'getParameterNames', 'parameterPath' : '', 'nextLevel' : false}
|
task.subtask = {'name' : 'getParameterNames', 'parameterPath' : '', 'nextLevel' : false}
|
||||||
|
|
||||||
if task.subtask.name == 'getParameterNames'
|
if task.subtask.name == 'getParameterNames'
|
||||||
ret = this.getParameterNames(task.subtask, request, response)
|
common.extend(ret, this.getParameterNames(task.subtask, request, response))
|
||||||
if ret? and ret.parameterNames? # task finished
|
if ret.parameterNames? # task finished
|
||||||
parameterNames = []
|
parameterNames = []
|
||||||
for p in ret.parameterNames
|
for p in ret.parameterNames
|
||||||
if not common.endsWith(p[0], '.')
|
if not common.endsWith(p[0], '.')
|
||||||
parameterNames.push(p[0])
|
parameterNames.push(p[0])
|
||||||
task.subtask = {'name' : 'getParameterValues', 'parameterNames' : parameterNames}
|
task.subtask = {'name' : 'getParameterValues', 'parameterNames' : parameterNames}
|
||||||
else
|
|
||||||
return
|
|
||||||
|
|
||||||
if task.subtask.name == 'getParameterValues'
|
if task.subtask.name == 'getParameterValues'
|
||||||
return this.getParameterValues(task.subtask, request, response)
|
common.extend(ret, this.getParameterValues(task.subtask, request, response))
|
||||||
|
|
||||||
throw 'Unspecified error'
|
ret
|
||||||
|
|
||||||
this.getParameterNames = (task, request, response) ->
|
this.getParameterNames = (task, request, response) ->
|
||||||
if request.getParameterNamesResponse?
|
if request.getParameterNamesResponse?
|
||||||
|
|||||||
Reference in new issue
Block a user