api: render is_authorized in user-info api
This commit is contained in:
parent
5658228ce2
commit
9b97500516
2 changed files with 5 additions and 9 deletions
|
|
@ -52,14 +52,13 @@ app.add_exception_handler(exceptions.HttpProblemException, exceptions.problem_ex
|
||||||
@app.get("/api/user-info/", name="get-user-info", tags=["auth"], responses={status.HTTP_401_UNAUTHORIZED: {"model": models.HttpProblemDetail}})
|
@app.get("/api/user-info/", name="get-user-info", tags=["auth"], responses={status.HTTP_401_UNAUTHORIZED: {"model": models.HttpProblemDetail}})
|
||||||
async def get_user_info(req: Request, current_user: deps.CurrentUser) -> models.UserStatus:
|
async def get_user_info(req: Request, current_user: deps.CurrentUser) -> models.UserStatus:
|
||||||
if current_user is None:
|
if current_user is None:
|
||||||
return models.UserStatus(is_logged_in=False, user_info=None, guaranteed_session_until=None)
|
return models.UserStatus(is_logged_in=False, is_authorized=False, username=None, guaranteed_session_until=None)
|
||||||
else:
|
else:
|
||||||
return models.UserStatus(
|
return models.UserStatus(
|
||||||
is_logged_in=True,
|
is_logged_in=True,
|
||||||
|
is_authorized=True,
|
||||||
guaranteed_session_until=datetime.fromtimestamp(current_user.id_token.exp, UTC),
|
guaranteed_session_until=datetime.fromtimestamp(current_user.id_token.exp, UTC),
|
||||||
user_info=models.UserInfo(
|
username=current_user.id_token.preferred_username,
|
||||||
username=current_user.id_token.preferred_username,
|
|
||||||
)
|
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -38,14 +38,11 @@ class CurrentUser(BaseModel):
|
||||||
id_token: IdToken
|
id_token: IdToken
|
||||||
|
|
||||||
|
|
||||||
class UserInfo(BaseModel):
|
|
||||||
username: str
|
|
||||||
|
|
||||||
|
|
||||||
class UserStatus(BaseModel):
|
class UserStatus(BaseModel):
|
||||||
is_logged_in: bool
|
is_logged_in: bool
|
||||||
|
is_authorized: bool
|
||||||
guaranteed_session_until: Optional[datetime]
|
guaranteed_session_until: Optional[datetime]
|
||||||
user_info: Optional[UserInfo]
|
username: Optional[str]
|
||||||
|
|
||||||
|
|
||||||
class LockStatus(BaseModel):
|
class LockStatus(BaseModel):
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue