aboutsummaryrefslogtreecommitdiff
path: root/mastodon
diff options
context:
space:
mode:
authorr <r@freesoftwareextremist.com>2020-02-26 11:27:42 +0000
committerr <r@freesoftwareextremist.com>2020-02-26 11:27:42 +0000
commitd5230852cf4da238a0d3acb219f9049e9d669969 (patch)
tree86b1a01e87b1cc4ca6c386fa93c26dd21bd5ba13 /mastodon
parentc41f9272f919644f66148cafb179a4df0e7eae17 (diff)
downloadbloat-d5230852cf4da238a0d3acb219f9049e9d669969.tar.gz
bloat-d5230852cf4da238a0d3acb219f9049e9d669969.zip
Gracefully handle the elephant
Diffstat (limited to 'mastodon')
-rw-r--r--mastodon/accounts.go49
1 files changed, 29 insertions, 20 deletions
diff --git a/mastodon/accounts.go b/mastodon/accounts.go
index 86581ec..c02f0bd 100644
--- a/mastodon/accounts.go
+++ b/mastodon/accounts.go
@@ -15,26 +15,26 @@ type AccountPleroma struct {
// Account hold information for mastodon account.
type Account struct {
- ID string `json:"id"`
- Username string `json:"username"`
- Acct string `json:"acct"`
- DisplayName string `json:"display_name"`
- Locked bool `json:"locked"`
- CreatedAt time.Time `json:"created_at"`
- FollowersCount int64 `json:"followers_count"`
- FollowingCount int64 `json:"following_count"`
- StatusesCount int64 `json:"statuses_count"`
- Note string `json:"note"`
- URL string `json:"url"`
- Avatar string `json:"avatar"`
- AvatarStatic string `json:"avatar_static"`
- Header string `json:"header"`
- HeaderStatic string `json:"header_static"`
- Emojis []Emoji `json:"emojis"`
- Moved *Account `json:"moved"`
- Fields []Field `json:"fields"`
- Bot bool `json:"bot"`
- Pleroma AccountPleroma `json:"pleroma"`
+ ID string `json:"id"`
+ Username string `json:"username"`
+ Acct string `json:"acct"`
+ DisplayName string `json:"display_name"`
+ Locked bool `json:"locked"`
+ CreatedAt time.Time `json:"created_at"`
+ FollowersCount int64 `json:"followers_count"`
+ FollowingCount int64 `json:"following_count"`
+ StatusesCount int64 `json:"statuses_count"`
+ Note string `json:"note"`
+ URL string `json:"url"`
+ Avatar string `json:"avatar"`
+ AvatarStatic string `json:"avatar_static"`
+ Header string `json:"header"`
+ HeaderStatic string `json:"header_static"`
+ Emojis []Emoji `json:"emojis"`
+ Moved *Account `json:"moved"`
+ Fields []Field `json:"fields"`
+ Bot bool `json:"bot"`
+ Pleroma *AccountPleroma `json:"pleroma"`
}
// Field is a Mastodon account profile field.
@@ -60,6 +60,15 @@ func (c *Client) GetAccount(ctx context.Context, id string) (*Account, error) {
if err != nil {
return nil, err
}
+ if account.Pleroma == nil {
+ rs, err := c.GetAccountRelationships(ctx, []string{id})
+ if err != nil {
+ return nil, err
+ }
+ if len(rs) > 0 {
+ account.Pleroma = &AccountPleroma{*rs[0]}
+ }
+ }
return &account, nil
}