def post(self,deviceId): if self.userLoginCheck() != error.ERR_CODE_OK_: return #sensor的权限,需要先判断其所属的device是否拥有权限 if self.privilegeCheck(master='user',masterId=self.current_user,\ object='device',objectId=deviceId,operation='upd') != error.ERR_CODE_OK_: return #device是否存在 rows,isEof = database.db_select_device(num=1,id=deviceId) if len(rows)<=0: self.send_error_msg(self.__ERRCODE__['notfound']) return requestApi = copy.deepcopy(restDef.RESTFUL_API[restDef.HTTP_RES['sensor']]['@POST']['REQUEST']) responseApi = copy.deepcopy(restDef.RESTFUL_API[restDef.HTTP_RES['sensor']]['@POST']['RESP']) self._getAllArguments(requestApi) if requestApi['name'] != '': id = database.db_insert_sensor(requestApi['name'], requestApi['description'], deviceId, requestApi['userDefArea']) responseApi['id'] = id else: responseApi['id'] = None if responseApi['id'] is not None: #add privilege to this sennor privilegeM.priv_add(master='user',masterId=self.current_user, object='sensor',objectId=responseApi['id'], masterRole='administrator') #print responseApi self.write(escape.json_encode(responseApi))
def post(self): if self.privilegeCheck(master='user',masterId=None,\ object='user',objectId=None,operation='add') != error.ERR_CODE_OK_: return requestApi = copy.deepcopy(restDef.RESTFUL_API[restDef.HTTP_RES['user']]['@POST']['REQUEST']) responseApi = copy.deepcopy(restDef.RESTFUL_API[restDef.HTTP_RES['user']]['@POST']['RESP']) self._getAllArguments(requestApi) #print requestApi id = None if requestApi['name'] != '': id = database.db_insert_user(requestApi['name'], requestApi['pwd'], requestApi['userDefArea']) responseApi['id'] = id if id is not None: #该user对自己拥有管理员权限 privilegeM.priv_add(masterRole='administrator',masterId=id,object='user',objectId=id) else: log.logInfo("name is null") responseApi = {} if id is None: responseApi = {} self.send_error_msg(self.__ERRCODE__['userexist'],escape.json_encode(responseApi)) return self.write(escape.json_encode(responseApi))
def post(self): if self.userLoginCheck() != error.ERR_CODE_OK_: return requestApi = copy.deepcopy(restDef.RESTFUL_API[restDef.HTTP_RES['deviceAuth']]['@POST']['REQUEST']) responseApi = copy.deepcopy(restDef.RESTFUL_API[restDef.HTTP_RES['deviceAuth']]['@POST']['RESP']) self._getAllArguments(requestApi) if self.privilegeCheck(master='user',masterId=self.current_user,\ object='device',objectId=requestApi['deviceId'],\ operation='privilege_add') != error.ERR_CODE_OK_: return database.db_insert_deviceauth(requestApi['userId'], requestApi['deviceId']) privilegeM.priv_add(masterRole=requestApi['role'],masterId=requestApi['userId'], object='device',objectId=requestApi['deviceId'],operList=requestApi['privilege']) self.write(escape.json_encode(responseApi))
def post(self): if self.userLoginCheck() != error.ERR_CODE_OK_: return if self.privilegeCheck(master='user',masterId=self.current_user,\ object='device',objectId=None,operation='add') != error.ERR_CODE_OK_: return key = self.request.headers.get('accessKey') if (key is None) or (key is ''): self.send_error_msg(self.__ERRCODE__['keyinvalid']) return error.ERR_CODE_ERR_ requestApi = copy.deepcopy(restDef.RESTFUL_API[restDef.HTTP_RES['device']]['@POST']['REQUEST']) responseApi = copy.deepcopy(restDef.RESTFUL_API[restDef.HTTP_RES['device']]['@POST']['RESP']) self._getAllArguments(requestApi) if requestApi['name'] != '': id = database.db_insert_device(requestApi['name'], requestApi['description'], requestApi['local'], requestApi['latitude'], requestApi['longitude'], requestApi['userDefArea'],key) if id is not None: #device access ret = authManager.deviceAccess(id,key) if ret == error.ERR_CODE_OK_: #将device和user关联,并且添加user对该device的管理员权限 privilegeM.priv_add(masterRole='administrator',master='user',masterId=self.current_user, object='device',objectId=id) database.db_insert_deviceauth(self.current_user,id) responseApi['id'] = id self.write(escape.json_encode(responseApi)) return elif ret == error.ERR_CODE_ACCESS_MAX: errcode = 'accessmax' elif ret == error.ERR_CODE_PARAINVALID: errcode = 'keyinvalid' else: errcode = 'innererr' #delete the device database.db_delete_device(id) else: errcode = 'innererr' else: errcode = 'parainvalid' #error branch responseApi['id'] = 0 self.send_error_msg(self.__ERRCODE__[errcode],body=responseApi) return