diff options
author | r <r@freesoftwareextremist.com> | 2020-02-26 11:27:42 +0000 |
---|---|---|
committer | r <r@freesoftwareextremist.com> | 2020-02-26 11:27:42 +0000 |
commit | d5230852cf4da238a0d3acb219f9049e9d669969 (patch) | |
tree | 86b1a01e87b1cc4ca6c386fa93c26dd21bd5ba13 /mastodon | |
parent | c41f9272f919644f66148cafb179a4df0e7eae17 (diff) | |
download | bloat-d5230852cf4da238a0d3acb219f9049e9d669969.tar.gz bloat-d5230852cf4da238a0d3acb219f9049e9d669969.zip |
Gracefully handle the elephant
Diffstat (limited to 'mastodon')
-rw-r--r-- | mastodon/accounts.go | 49 |
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 } |