from flask import request, jsonify from app.auth import auth from app import db from app.classes.auth import Auth_User @auth.route("/whoami", methods=["GET"]) def check_session(): """ Checks auth token to ensure user is authenticated """ api_key = request.headers.get('Authorization') if not api_key: return jsonify({"error": "True"}), 200 else: api_key = api_key.replace('bearer ', '', 1) api_key = api_key.replace('"', '') user_exists = db.session\ .query(Auth_User)\ .filter(Auth_User.api_key == api_key)\ .first() if not user_exists: return jsonify({"error": True}), 200 else: user = db.session\ .query(Auth_User)\ .filter(Auth_User.api_key == api_key)\ .first() return jsonify({ "ok": True, 'user': { 'user_name': user.display_name, 'user_email': user.email, 'user_admin': user.admin_role, 'token': user.api_key, 'confirmed': user.confirmed }, 'token': user.api_key }), 200