Source code for fasjson.web.resources.me
from flask import url_for
from flask_restx import fields, Resource
from fasjson.web.utils.ipa import ldap_client
from .base import Namespace
api_v1 = Namespace("me", description="Information about the connected user")
MeModel = api_v1.model(
"Me",
{
"dn": fields.String,
"username": fields.String,
"service": fields.String,
"uri": fields.String,
},
)
[docs]
@api_v1.route("/")
class Me(Resource):
[docs]
@api_v1.doc("whoami")
@api_v1.marshal_with(MeModel)
def get(self):
"""Fetch the connected user"""
client = ldap_client()
result = client.whoami()
if "username" in result:
result["uri"] = url_for("v1.users_user", username=result["username"], _external=True)
return result