def set_cache(self): cache_db.dict_set(self.get_cache_key(), 'data', self.data or '') cache_db.dict_set(self.get_cache_key(), 'mime_type', self.mime_type or '') cache_db.dict_set(self.get_cache_key(), 'last_modified', self.last_modified) cache_db.dict_set(self.get_cache_key(), 'etag', self.etag or '')
def user_key_link_get(org_id, user_id): org = Organization.get_org(id=org_id) key_id = uuid.uuid4().hex view_id = None for i in xrange(2048): temp_view_id = ''.join(random.sample(SHORT_URL_CHARS, SHORT_URL_LEN)) if not cache_db.exists(_get_view_key(temp_view_id)): view_id = temp_view_id break if not view_id: raise KeyLinkError('Failed to generate random view id') cache_db.expire(_get_key_key(key_id), KEY_LINK_TIMEOUT) cache_db.dict_set(_get_key_key(key_id), 'org_id', org_id) cache_db.dict_set(_get_key_key(key_id), 'user_id', user_id) cache_db.dict_set(_get_key_key(key_id), 'view_id', view_id) conf_urls = [] if app_server.inline_certs: for server in org.iter_servers(): conf_id = uuid.uuid4().hex cache_db.expire(_get_conf_key(conf_id), KEY_LINK_TIMEOUT) cache_db.dict_set(_get_conf_key(conf_id), 'org_id', org_id) cache_db.dict_set(_get_conf_key(conf_id), 'user_id', user_id) cache_db.dict_set(_get_conf_key(conf_id), 'server_id', server.id) conf_urls.append({ 'id': conf_id, 'server_name': server.name, 'url': '/key/%s.ovpn' % conf_id, }) cache_db.expire(_get_view_key(view_id), KEY_LINK_TIMEOUT) cache_db.dict_set(_get_view_key(view_id), 'org_id', org_id) cache_db.dict_set(_get_view_key(view_id), 'user_id', user_id) cache_db.dict_set(_get_view_key(view_id), 'key_id', key_id) cache_db.dict_set(_get_view_key(view_id), 'conf_urls', json.dumps(conf_urls)) return utils.jsonify({ 'id': key_id, 'key_url': '/key/%s.tar' % key_id, 'view_url': '/k/%s' % view_id, })