28 lines
750 B
Python
28 lines
750 B
Python
from aiohttp.web import json_response, View
|
|
from aiohttp.web import HTTPNotFound, HTTPUnprocessableEntity
|
|
|
|
from phi.logging import get_logger
|
|
from phi.api.utils import serialize
|
|
from phi.async_ldap.model import Hackers
|
|
|
|
log = get_logger(__name__)
|
|
|
|
|
|
class UserView(View):
|
|
async def get(self):
|
|
uid = self.request.match_info.get("uid", None)
|
|
|
|
if uid is None:
|
|
return HTTPUnprocessableEntity()
|
|
|
|
user = await self.request.app["users"].get_by_uid(uid)
|
|
self.request.app["alog"].info("Found user %s", user)
|
|
|
|
if not user:
|
|
return HTTPNotFound()
|
|
|
|
result = await user.describe()
|
|
self.request.app["alog"].debug("Returning result %s", result)
|
|
|
|
return json_response(result)
|