示例#1
0
def api():
    provider = Provider()
    apiman = provider.api()

    apikeys = apiman.get(current_user.id)

    return render_template('config/account/api.html', apikeys=apikeys)
示例#2
0
def api(user_id):
    if current_user.id != user_id:
        flash('Access denied', 'error')
        return redirect(url_for('home.index'))

    provider = Provider()
    apiman = provider.api()

    apikeys = apiman.get(user_id)

    return render_template('account/api.html', apikeys=apikeys)
示例#3
0
文件: api.py 项目: ziqi521/SnitchDNS
def __delete_apikey(id):
    provider = Provider()
    api = provider.api()

    if not api.can_access(id, current_user.id):
        flash('Access Denied', 'error')
        return redirect(url_for('config.api'))

    if not api.delete(id):
        flash('Could not delete key', 'error')
        return redirect(url_for('config.api'))

    flash('API Key deleted', 'success')
    return redirect(url_for('config.api'))
示例#4
0
def api_add():
    name = request.form['name'].strip()
    if len(name) == 0:
        flash('Please select a key name', 'error')
        return redirect(url_for('config.api'))

    provider = Provider()
    apiman = provider.api()

    if not apiman.create_key(current_user.id, name):
        flash('Could not create key', 'error')
        return redirect(url_for('config.api'))

    flash('Key created', 'success')
    return redirect(url_for('config.api'))
示例#5
0
文件: api.py 项目: ziqi521/SnitchDNS
def __create_apikey():
    provider = Provider()
    api = provider.api()

    name = request.form['name'].strip()
    if len(name) == 0:
        flash('Please enter your key description', 'error')
        return redirect(url_for('config.api'))

    if not api.add(current_user.id, name):
        flash('Could not create API key', 'error')
        return redirect(url_for('config.api'))

    flash('API Key created', 'success')
    return redirect(url_for('config.api'))
示例#6
0
def api_set_status(key_id):
    provider = Provider()
    apiman = provider.api()

    if not apiman.can_access(current_user, key_id):
        flash('Access denied', 'error')
        return redirect(url_for('home.index'))

    action = request.form['action'].strip()
    value = True if action == 'enable' else False

    if not apiman.set_key_status(key_id, value):
        flash('Could not set key status', 'error')
        return redirect(url_for('config.api'))

    flash('Status updated', 'success')
    return redirect(url_for('config.api'))
示例#7
0
文件: api.py 项目: ziqi521/SnitchDNS
def __toggle_apikey(id):
    provider = Provider()
    api = provider.api()

    if not api.can_access(id, current_user.id):
        flash('Access Denied', 'error')
        return redirect(url_for('config.api'))

    key = api.get(id)
    if not key:
        flash('Could not retrieve key', 'error')
        return redirect(url_for('config.api'))

    key.enabled = not key.enabled
    key.save()

    flash('API Key status updated', 'success')
    return redirect(url_for('config.api'))
示例#8
0
def api_add(user_id):
    if current_user.id != user_id:
        flash('Access denied', 'error')
        return redirect(url_for('home.index'))

    name = request.form['name'].strip()
    if len(name) == 0:
        flash('Please select a key name', 'error')
        return redirect(url_for('account.api', user_id=user_id))

    provider = Provider()
    apiman = provider.api()

    if not apiman.create_key(user_id, name):
        flash('Could not create key', 'error')
        return redirect(url_for('account.api', user_id=user_id))

    flash('Key created', 'success')
    return redirect(url_for('account.api', user_id=user_id))
示例#9
0
    def __auth(self, apikey):
        if len(apikey) == 0:
            return False

        provider = Provider()
        api = provider.api()
        users = provider.users()

        key = api.find(apikey)
        if not key:
            return False
        elif not key.enabled:
            return False

        user = users.get_user(key.user_id)
        if not user:
            return False
        elif not user.active:
            return False

        return user
示例#10
0
文件: api.py 项目: ziqi521/SnitchDNS
def api():
    provider = Provider()
    api = provider.api()

    return render_template('config/account/api.html',
                           keys=api.all(current_user.id))