diff --git a/users/apis.py b/users/apis.py index da23ab8a..64a7d898 100644 --- a/users/apis.py +++ b/users/apis.py @@ -25,6 +25,13 @@ class UserSchema(Schema): roles: list[Literal["admin", "staff"]] +class PreferenceSchema(Schema): + default_crosspost: bool = Field(alias="mastodon_default_repost") + default_visibility: int + hidden_categories: list[str] + language: str = Field(alias="user.language") + + @api.get( "/me", response={200: UserSchema, 401: Result}, @@ -46,6 +53,16 @@ def me(request): } +@api.get( + "/me/preference", + response={200: PreferenceSchema, 401: Result}, + summary="Get current user's preference", + tags=["user"], +) +def preference(request): + return 200, request.user.preference + + @api.get( "/user/{handle}", response={200: UserSchema, 401: Result, 403: Result, 404: Result},