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