Better implementation for generating device id

This commit is contained in:
Zaid Abdulla committed 2012-10-21 11:24:47 +03:00
1 parent 88060dd288
commit 52967d018c
2 files changed
+12 -2

No files matched your search

+2 -2
View File
@@ -105,14 +105,14 @@ else
if reqParams.inform
resParams.inform = true
cookies.ID = sessionId = reqParams.sessionId
cookies.DeviceId = deviceId = reqParams.deviceId.SerialNumber
cookies.DeviceId = deviceId = common.getDeviceId(reqParams.deviceId)
util.log("#{deviceId}: inform (#{reqParams.eventCodes}); retry count #{reqParams.retryCount}")
devicesCollection.count({'_id' : deviceId}, (err, count) ->
if not count
util.log("#{deviceId}: new device detected")
task = {device : deviceId, name : 'init', timestamp : mongo.Timestamp(), status: 0}
tasksCollection.save(task, (err) ->
util.log("#{deviceId}: Added init task for #{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) ->
+10
View File
@@ -1,8 +1,18 @@
exports.endsWith = (str, suffix) ->
str.indexOf(suffix, str.length - suffix.length) isnt -1
exports.arrayToHash = (arr) ->
hash = {}
for i in arr
hash[i[0]] = i[1]
return hash
exports.getDeviceId = (deviceIdStruct) ->
# Guaranteeing globally unique id as defined in TR-069
if deviceIdStruct['ProductClass']
return "#{escape(deviceIdStruct['OUI'])}-#{escape(deviceIdStruct['ProductClass'])}-#{escape(deviceIdStruct['SerialNumber'])}"
return "#{escape(deviceIdStruct['OUI'])}-#{escape(deviceIdStruct['SerialNumber'])}"