api: added external_accounts to /me

This commit is contained in:
Your Name 2025-01-20 15:34:49 -05:00 committed by Henri Dickson
parent 6e18d8bed8
commit 2dc43c3c53
2 changed files with 14 additions and 1 deletions

View file

@ -15,6 +15,8 @@ _code_ttl = 60 * 15
class EmailAccount(SocialAccount): class EmailAccount(SocialAccount):
url = None
def sync(self, skip_graph=False, sleep_hours=0) -> bool: def sync(self, skip_graph=False, sleep_hours=0) -> bool:
return True return True

View file

@ -1,11 +1,20 @@
from ninja import Schema from ninja import Schema
from ninja.schema import Field
from common.api import * from common.api import *
from mastodon.models.common import SocialAccount
class ExternalAccountSchema(Schema):
platform: str
handle: str
url: str | None
class UserSchema(Schema): class UserSchema(Schema):
url: str url: str
external_acct: str | None external_acct: str | None = Field(deprecated=True)
external_accounts: list[ExternalAccountSchema]
display_name: str display_name: str
avatar: str avatar: str
username: str username: str
@ -18,12 +27,14 @@ class UserSchema(Schema):
tags=["user"], tags=["user"],
) )
def me(request): def me(request):
accts = SocialAccount.objects.filter(user=request.user)
return 200, { return 200, {
"username": request.user.username, "username": request.user.username,
"url": settings.SITE_INFO["site_url"] + request.user.url, "url": settings.SITE_INFO["site_url"] + request.user.url,
"external_acct": ( "external_acct": (
request.user.mastodon.handle if request.user.mastodon else None request.user.mastodon.handle if request.user.mastodon else None
), ),
"external_accounts": accts,
"display_name": request.user.display_name, "display_name": request.user.display_name,
"avatar": request.user.avatar, "avatar": request.user.avatar,
} }