From 01e376526863a17d1f5bae72fd7693afa215291a Mon Sep 17 00:00:00 2001 From: nicole mikołajczyk Date: Mon, 9 Jun 2025 12:32:14 +0200 Subject: [feature] Add fields introduced in Mastodon 4.4.0 to `/api/v2/instance` response (#4240) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit # Description ## Checklist - [x] I/we have read the [GoToSocial contribution guidelines](https://codeberg.org/superseriousbusiness/gotosocial/src/branch/main/CONTRIBUTING.md). - [ ] I/we have discussed the proposed changes already, either in an issue on the repository, or in the Matrix chat. - [x] I/we have not leveraged AI to create the proposed changes. - [x] I/we have performed a self-review of added code. - [x] I/we have written code that is legible and maintainable by others. - [ ] I/we have commented the added code, particularly in hard-to-understand areas. - [x] I/we have made any necessary changes to documentation. - [ ] I/we have added tests that cover new code. - [ ] I/we have run tests and they pass locally with the changes. - [x] I/we have run `go fmt ./...` and `golangci-lint run`. Reviewed-on: https://codeberg.org/superseriousbusiness/gotosocial/pulls/4240 Co-authored-by: nicole mikołajczyk Co-committed-by: nicole mikołajczyk --- internal/api/model/instancev2.go | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'internal/api/model/instancev2.go') diff --git a/internal/api/model/instancev2.go b/internal/api/model/instancev2.go index 5aad6f015..ba8edac47 100644 --- a/internal/api/model/instancev2.go +++ b/internal/api/model/instancev2.go @@ -150,6 +150,15 @@ type InstanceV2URLs struct { // Websockets address for status and notification streaming. // example: wss://example.org Streaming string `json:"streaming"` + // Address of the server about page. + // example: https://example.org/about + About string `json:"about"` + // Address of the server privacy policy, if any. + // example: https://example.org/about#rules + PrivacyPolicy *string `json:"privacy_policy"` + // Address of the server current terms of service, if any. + // example: https://example.org/about#privacy_policy + TermsOfService *string `json:"terms_of_service"` } // Hints related to translation. @@ -199,6 +208,13 @@ type InstanceV2Registrations struct { // Value will be null if no message is set. // example:

Registrations are currently closed on example.org because of spam bots!

Message *string `json:"message"` + // A minimum age required to register, if configured. + // Currently not implemented: will always be null. + MinAge *int `json:"min_age"` + // Whether registrations require the user to provide a reason for joining. + // Only applicable when ApprovalRequired is true. + // example: true + ReasonRequired bool `json:"reason_required"` } // Hints related to contacting a representative of the instance. -- cgit v1.2.3