diff --git a/internal/api/model/instancev1.go b/internal/api/model/instancev1.go index 3b3d215b0..2e5fef123 100644 --- a/internal/api/model/instancev1.go +++ b/internal/api/model/instancev1.go @@ -90,6 +90,8 @@ type InstanceV1 struct { MaxTootChars uint `json:"max_toot_chars"` // An itemized list of rules for this instance. Rules []InstanceRule `json:"rules"` + // Terms and conditions for accounts on this instance. + Terms string `json:"terms,omitempty"` } // InstanceV1URLs models instance-relevant URLs for client application consumption. diff --git a/internal/api/model/instancev2.go b/internal/api/model/instancev2.go index 3099b36c4..6af657813 100644 --- a/internal/api/model/instancev2.go +++ b/internal/api/model/instancev2.go @@ -64,6 +64,8 @@ type InstanceV2 struct { Contact InstanceV2Contact `json:"contact"` // An itemized list of rules for this instance. Rules []InstanceRule `json:"rules"` + // Terms and conditions for accounts on this instance. + Terms string `json:"terms,omitempty"` } // Usage data for this instance. diff --git a/internal/typeutils/internaltofrontend.go b/internal/typeutils/internaltofrontend.go index 155863e34..d663a1237 100644 --- a/internal/typeutils/internaltofrontend.go +++ b/internal/typeutils/internaltofrontend.go @@ -805,6 +805,7 @@ func (c *Converter) InstanceToAPIV1Instance(ctx context.Context, i *gtsmodel.Ins InvitesEnabled: false, // todo: not supported yet MaxTootChars: uint(config.GetStatusesMaxChars()), Rules: c.InstanceRulesToAPIRules(i.Rules), + Terms: i.Terms, } if config.GetInstanceInjectMastodonVersion() { @@ -909,6 +910,7 @@ func (c *Converter) InstanceToAPIV2Instance(ctx context.Context, i *gtsmodel.Ins Usage: apimodel.InstanceV2Usage{}, // todo: not implemented Languages: []string{}, // todo: not implemented Rules: c.InstanceRulesToAPIRules(i.Rules), + Terms: i.Terms, } if config.GetInstanceInjectMastodonVersion() {