api: added external_accounts to /me
This commit is contained in:
parent
6e18d8bed8
commit
2dc43c3c53
2 changed files with 14 additions and 1 deletions
|
@ -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
|
||||||
|
|
||||||
|
|
13
users/api.py
13
users/api.py
|
@ -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,
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue