summaryrefslogtreecommitdiff
path: root/internal/typeutils
diff options
context:
space:
mode:
Diffstat (limited to 'internal/typeutils')
-rw-r--r--internal/typeutils/internaltofrontend.go6
-rw-r--r--internal/typeutils/internaltofrontend_test.go9
2 files changed, 13 insertions, 2 deletions
diff --git a/internal/typeutils/internaltofrontend.go b/internal/typeutils/internaltofrontend.go
index ecf817c66..b6cb2bb37 100644
--- a/internal/typeutils/internaltofrontend.go
+++ b/internal/typeutils/internaltofrontend.go
@@ -1889,8 +1889,12 @@ func (c *Converter) InstanceToAPIV2Instance(ctx context.Context, i *gtsmodel.Ins
instance.Thumbnail = thumbnail
+ termsOfService := config.GetProtocol() + "://" + i.Domain + "/about#rules"
+
// configuration
instance.Configuration.URLs.Streaming = "wss://" + i.Domain
+ instance.Configuration.URLs.About = config.GetProtocol() + "://" + i.Domain + "/about"
+ instance.Configuration.URLs.TermsOfService = &termsOfService
instance.Configuration.Statuses.MaxCharacters = config.GetStatusesMaxChars()
instance.Configuration.Statuses.MaxMediaAttachments = config.GetStatusesMediaMaxFiles()
instance.Configuration.Statuses.CharactersReservedPerURL = instanceStatusesCharactersReservedPerURL
@@ -1936,6 +1940,8 @@ func (c *Converter) InstanceToAPIV2Instance(ctx context.Context, i *gtsmodel.Ins
instance.Registrations.Enabled = config.GetAccountsRegistrationOpen()
instance.Registrations.ApprovalRequired = true // always required
instance.Registrations.Message = nil // todo: not implemented
+ instance.Registrations.MinAge = nil // not implemented
+ instance.Registrations.ReasonRequired = config.GetAccountsReasonRequired()
// contact
instance.Contact.Email = i.ContactEmail
diff --git a/internal/typeutils/internaltofrontend_test.go b/internal/typeutils/internaltofrontend_test.go
index d19bd6a2f..03d812556 100644
--- a/internal/typeutils/internaltofrontend_test.go
+++ b/internal/typeutils/internaltofrontend_test.go
@@ -2521,7 +2521,10 @@ func (suite *InternalToFrontendTestSuite) TestInstanceV2ToFrontend() {
],
"configuration": {
"urls": {
- "streaming": "wss://localhost:8080"
+ "streaming": "wss://localhost:8080",
+ "about": "http://localhost:8080/about",
+ "privacy_policy": null,
+ "terms_of_service": "http://localhost:8080/about#rules"
},
"accounts": {
"allow_custom_css": true,
@@ -2587,7 +2590,9 @@ func (suite *InternalToFrontendTestSuite) TestInstanceV2ToFrontend() {
"registrations": {
"enabled": true,
"approval_required": true,
- "message": null
+ "message": null,
+ "min_age": null,
+ "reason_required": true
},
"contact": {
"email": "admin@example.org",