def _add(self, _group_uuid, _user_uuid): _redis = self.application.redis _key = OrgGroupUserData.__tablename__ + ".group_uuid." + _group_uuid if _redis.sismember(_key, _user_uuid) == True: logging.info("user: %s already in group:%s" % (_user_uuid, _group_uuid)) return # if the user has been in another group _key = OrgGroupUserData.__tablename__ + ".user_uuid." + _user_uuid _old_uuid = _redis.get(_key) if _old_uuid != None: _key = OrgGroupUserData.__tablename__ + ".group_uuid." + _old_uuid + ".user_uuid." + _user_uuid _data_uuid = _redis.get(_key) if _data_uuid != None: _row = OrgGroupUserData(uuid=_data_uuid) _row.delete_redis_keys(_redis) _row.async_delete(_redis) _row = OrgGroupUserData(uuid=str(uuid.uuid1()), group_uuid=_group_uuid, user_uuid=_user_uuid) _row.async_add(_redis) _row.create_redis_keys(_redis) return
def _remove(self, _group_uuid, _user_uuid): _redis = self.application.redis _key = OrgGroupUserData.__tablename__ + ".group_uuid." + _group_uuid if _redis.sismember(_key, _user_uuid) == False: self.setErrorCode(API_ERR.NOT_GROUP_USER) logging.error("user: %s not in group:%s" % (_user_uuid, _group_uuid)) return False _key = OrgGroupUserData.__tablename__ + ".group_uuid." + _group_uuid + \ ".user_uuid." + _user_uuid _data_uuid = _redis.get(_key) if _data_uuid == None: self.setErrorCode(API_ERR.NOT_GROUP_USER) logging.error("user: %s group:%s not bind." % (_user_uuid, _group_uuid)) return False _row = OrgGroupUserData(uuid=_data_uuid) _row.async_delete(_redis) _row.delete_redis_keys(_redis) return True