fix: update internal models for GoToSocial v0.15.0 #7

Manually merged
dananglin merged 1 commit from gts-0.15 into main 2024-05-19 15:28:13 +01:00
3 changed files with 67 additions and 53 deletions

View file

@ -8,32 +8,34 @@ import (
)
type Account struct {
Acct string `json:"acct"`
Avatar string `json:"avatar"`
AvatarStatic string `json:"avatar_static"`
CustomCSS string `json:"custom_css"`
Header string `json:"header"`
HeaderStatic string `json:"header_static"`
ID string `json:"id"`
LastStatusAt string `json:"last_status_at"`
DisplayName string `json:"display_name"`
Emojis []Emoji `json:"emojis"`
EnableRSS bool `json:"enable_rss"`
Bot bool `json:"bot"`
Locked bool `json:"locked"`
Suspended bool `json:"suspended"`
Discoverable bool `json:"discoverable"`
Fields []Field `json:"fields"`
FollowersCount int `json:"followers_count"`
FollowingCount int `json:"following_count"`
CreatedAt time.Time `json:"created_at"`
MuteExpiresAt time.Time `json:"mute_expires_at"`
Note string `json:"note"`
Role AccountRole `json:"role"`
Source Source `json:"source"`
StatusCount int `json:"statuses_count"`
URL string `json:"url"`
Username string `json:"username"`
Acct string `json:"acct"`
Avatar string `json:"avatar"`
AvatarStatic string `json:"avatar_static"`
CustomCSS string `json:"custom_css"`
Header string `json:"header"`
HeaderStatic string `json:"header_static"`
ID string `json:"id"`
LastStatusAt string `json:"last_status_at"`
DisplayName string `json:"display_name"`
Emojis []Emoji `json:"emojis"`
EnableRSS bool `json:"enable_rss"`
Bot bool `json:"bot"`
Locked bool `json:"locked"`
Suspended bool `json:"suspended"`
Discoverable bool `json:"discoverable"`
HideCollections bool `json:"hide_collections"`
Fields []Field `json:"fields"`
FollowersCount int `json:"followers_count"`
FollowingCount int `json:"following_count"`
CreatedAt time.Time `json:"created_at"`
MuteExpiresAt time.Time `json:"mute_expires_at"`
Note string `json:"note"`
Role AccountRole `json:"role"`
Source Source `json:"source"`
StatusCount int `json:"statuses_count"`
Theme string `json:"theme"`
URL string `json:"url"`
Username string `json:"username"`
}
type AccountRole struct {
@ -41,13 +43,14 @@ type AccountRole struct {
}
type Source struct {
Fields []Field `json:"fields"`
FollowRequestCount int `json:"follow_requests_count"`
Language string `json:"language"`
Note string `json:"note"`
Privacy string `json:"string"`
Sensitive bool `json:"sensitive"`
StatusContentType string `json:"status_content_type"`
Fields []Field `json:"fields"`
FollowRequestCount int `json:"follow_requests_count"`
Language string `json:"language"`
Note string `json:"note"`
Privacy string `json:"string"`
Sensitive bool `json:"sensitive"`
StatusContentType string `json:"status_content_type"`
AlsoKnownAsURIs []string `json:"also_known_as_uris"`
}
type Field struct {

View file

@ -7,20 +7,22 @@ import (
)
type InstanceV2 struct {
AccountDomain string `json:"account_domain"`
Configuration InstanceConfiguration `json:"configuration"`
Contact InstanceV2Contact `json:"contact"`
Description string `json:"description"`
Domain string `json:"domain"`
Languages []string `json:"languages"`
Registrations InstanceV2Registrations `json:"registrations"`
Rules []InstanceRule `json:"rules"`
SourceURL string `json:"source_url"`
Terms string `json:"terms"`
Thumbnail InstanceV2Thumbnail `json:"thumbnail"`
Title string `json:"title"`
Usage InstanceV2Usage `json:"usage"`
Version string `json:"version"`
AccountDomain string `json:"account_domain"`
Configuration InstanceConfiguration `json:"configuration"`
Contact InstanceV2Contact `json:"contact"`
Description string `json:"description"`
DescriptionText string `json:"description_text"`
Domain string `json:"domain"`
Languages []string `json:"languages"`
Registrations InstanceV2Registrations `json:"registrations"`
Rules []InstanceRule `json:"rules"`
SourceURL string `json:"source_url"`
Terms string `json:"terms"`
TermsText string `json:"terms_text"`
Thumbnail InstanceV2Thumbnail `json:"thumbnail"`
Title string `json:"title"`
Usage InstanceV2Usage `json:"usage"`
Version string `json:"version"`
}
type InstanceConfiguration struct {
@ -95,7 +97,7 @@ type InstanceV2Thumbnail struct {
ThumbnailDescription string `json:"thumbnail_description"`
ThumbnailType string `json:"thumbnail_type"`
URL string `json:"url"`
Version InstanceV2ThumbnailVersions `json:"versions"`
Versions InstanceV2ThumbnailVersions `json:"versions"`
}
type InstanceV2ThumbnailVersions struct {
@ -114,7 +116,13 @@ type InstanceV2Users struct {
func (i InstanceV2) String() string {
format := `
%s
%s - %s
%s
%s
%s
%s
%s
%s
%s
@ -130,11 +138,14 @@ func (i InstanceV2) String() string {
return fmt.Sprintf(
format,
utilities.HeaderFormat("INSTANCE:"),
utilities.HeaderFormat("INSTANCE TITLE:"),
i.Title,
i.Description,
utilities.HeaderFormat("INSTANCE DESCRIPTION:"),
utilities.WrapLines(i.DescriptionText, "\n ", 80),
utilities.HeaderFormat("DOMAIN:"),
i.Domain,
utilities.HeaderFormat("TERMS AND CONDITIONS:"),
utilities.WrapLines(i.TermsText, "\n ", 80),
utilities.HeaderFormat("VERSION:"),
i.Version,
utilities.HeaderFormat("CONTACT:"),

View file

@ -28,7 +28,7 @@ type Status struct {
Poll Poll `json:"poll"`
Reblog StatusReblogged `json:"reblog"`
Reblogged bool `json:"reblogged"`
RebloggsCount int `json:"reblogs_count"`
ReblogsCount int `json:"reblogs_count"`
RepliesCount int `json:"replies_count"`
Sensitive bool `json:"sensitive"`
SpolierText string `json:"spoiler_text"`
@ -188,7 +188,7 @@ func (s Status) String() string {
utilities.HeaderFormat("CREATED AT:"),
utilities.FormatTime(s.CreatedAt),
utilities.HeaderFormat("STATS:"),
s.RebloggsCount,
s.ReblogsCount,
s.FavouritesCount,
s.RepliesCount,
utilities.HeaderFormat("VISIBILITY:"),