From 312549ac158b459b5f52e3efe69b11bb71d397fd Mon Sep 17 00:00:00 2001 From: Simon Pirkelmann Date: Tue, 6 Apr 2021 17:53:14 +0200 Subject: [PATCH] added route for token backup --- imaginaerraum_door_admin/webapp.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/imaginaerraum_door_admin/webapp.py b/imaginaerraum_door_admin/webapp.py index c980b80..cbaf43a 100644 --- a/imaginaerraum_door_admin/webapp.py +++ b/imaginaerraum_door_admin/webapp.py @@ -529,6 +529,19 @@ def create_application(config): flash(f"Error during store_tokens. Exception: {e}") return redirect('/tokens') + @app.route('/backup_tokens') + @auth_required() + def backup_tokens(): + # get list of defined admin users for backup + tokens = door.get_tokens() + try: + with tempfile.TemporaryDirectory() as tmpdir: + file = Path(tmpdir, 'token_data.txt') + file.write_text(json.dumps(tokens)) + return send_file(file, as_attachment=True, cache_timeout=-1) + except Exception as e: + return str(e) + @app.route('/open') @auth_required() def open_door():