Skip to content
Snippets Groups Projects
restore_user_permissions.py 1.16 KiB
Newer Older
import sys
import json
from grafana_backup.api_checks import main as api_checks
from grafana_backup.dashboardApi import set_user_role


def main(args, settings):
    users_file = args.get('<users_filename>', None)
    print("got users_file {0}".format(users_file))

    (status, json_resp, uid_support, paging_support) = api_checks(settings)

    # Do not continue if API is unavailable or token is not valid
    if not status == 200:
        sys.exit(1)

    debug = settings.get('DEBUG')
    verify_ssl = settings.get('VERIFY_SSL')
    client_cert = settings.get('CLIENT_CERT')
    grafana_url = settings.get('GRAFANA_URL')
    http_post_headers = settings.get('HTTP_POST_HEADERS')

    with open(users_file, 'r') as f:
        data = f.read()

    users = json.loads(data)
    print(users)

    for user in users:
        if user['role'] == 'Editor':
            (status, content) = set_user_role(user['userId'], 'Editor', grafana_url, http_post_headers, verify_ssl, client_cert, debug)
            print("changed user {0} to Editor".format(user['login']))

            if status != 200:
                print("changing role of user {0} failed with {1}".format(user['login'], status))