diff options
author | 2023-07-21 19:49:13 +0200 | |
---|---|---|
committer | 2023-07-21 18:49:13 +0100 | |
commit | f8f03120427d9d10e1b730a7626880809e983076 (patch) | |
tree | a9cc796162f8e40acc0c6712affb1dbef58668d8 /internal/typeutils/internaltofrontend.go | |
parent | [chore]: Bump modernc.org/sqlite from 1.23.1 to 1.24.0 (#1993) (diff) | |
download | gotosocial-f8f03120427d9d10e1b730a7626880809e983076.tar.xz |
[feature] Report Masto version in /api/v1/instance (#1977)
Diffstat (limited to 'internal/typeutils/internaltofrontend.go')
-rw-r--r-- | internal/typeutils/internaltofrontend.go | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/internal/typeutils/internaltofrontend.go b/internal/typeutils/internaltofrontend.go index d6da9493f..17b8047e9 100644 --- a/internal/typeutils/internaltofrontend.go +++ b/internal/typeutils/internaltofrontend.go @@ -45,6 +45,7 @@ const ( instanceAccountsMaxFeaturedTags = 10 instanceAccountsMaxProfileFields = 6 // FIXME: https://github.com/superseriousbusiness/gotosocial/issues/1876 instanceSourceURL = "https://github.com/superseriousbusiness/gotosocial" + instanceMastodonVersion = "3.5.3" ) var instanceStatusesSupportedMimeTypes = []string{ @@ -52,6 +53,10 @@ var instanceStatusesSupportedMimeTypes = []string{ string(apimodel.StatusContentTypeMarkdown), } +func toMastodonVersion(in string) string { + return instanceMastodonVersion + "+" + strings.ReplaceAll(in, " ", "-") +} + func (c *converter) AccountToAPIAccountSensitive(ctx context.Context, a *gtsmodel.Account) (*apimodel.Account, error) { // we can build this sensitive account easily by first getting the public account.... apiAccount, err := c.AccountToAPIAccountPublic(ctx, a) @@ -740,6 +745,10 @@ func (c *converter) InstanceToAPIV1Instance(ctx context.Context, i *gtsmodel.Ins MaxTootChars: uint(config.GetStatusesMaxChars()), } + if config.GetInstanceInjectMastodonVersion() { + instance.Version = toMastodonVersion(instance.Version) + } + // configuration instance.Configuration.Statuses.MaxCharacters = config.GetStatusesMaxChars() instance.Configuration.Statuses.MaxMediaAttachments = config.GetStatusesMediaMaxFiles() @@ -839,6 +848,10 @@ func (c *converter) InstanceToAPIV2Instance(ctx context.Context, i *gtsmodel.Ins Rules: []interface{}{}, // todo: not implemented } + if config.GetInstanceInjectMastodonVersion() { + instance.Version = toMastodonVersion(instance.Version) + } + // thumbnail thumbnail := apimodel.InstanceV2Thumbnail{} |