diff options
author | 2023-06-13 12:21:26 +0200 | |
---|---|---|
committer | 2023-06-13 12:21:26 +0200 | |
commit | 8fb5a7e7f8d4201590e709989e8f0627e800c147 (patch) | |
tree | 2fb888f081584f33e198eadfcf218714c3824002 /internal | |
parent | [docs] Made Advanced its own section (#1883) (diff) | |
download | gotosocial-8fb5a7e7f8d4201590e709989e8f0627e800c147.tar.xz |
[Frontend] Settings for profile fields (#1885)
* get max emoji size from instance settings
* expose (hardcoded) max amount of profile fields in instance api
* basic profile field setting
* fix profile field hook structure for updates
* *twirls mustache* fix ze tests
---------
Co-authored-by: tsmethurst <tobi.smethurst@protonmail.com>
Diffstat (limited to 'internal')
-rw-r--r-- | internal/api/client/instance/instancepatch_test.go | 18 | ||||
-rw-r--r-- | internal/api/model/instance.go | 3 | ||||
-rw-r--r-- | internal/typeutils/internaltofrontend.go | 3 | ||||
-rw-r--r-- | internal/typeutils/internaltofrontend_test.go | 6 |
4 files changed, 22 insertions, 8 deletions
diff --git a/internal/api/client/instance/instancepatch_test.go b/internal/api/client/instance/instancepatch_test.go index 60c29c0f2..11382f83a 100644 --- a/internal/api/client/instance/instancepatch_test.go +++ b/internal/api/client/instance/instancepatch_test.go @@ -118,7 +118,8 @@ func (suite *InstancePatchTestSuite) TestInstancePatch1() { }, "accounts": { "allow_custom_css": true, - "max_featured_tags": 10 + "max_featured_tags": 10, + "max_profile_fields": 6 }, "emojis": { "emoji_size_limit": 51200 @@ -221,7 +222,8 @@ func (suite *InstancePatchTestSuite) TestInstancePatch2() { }, "accounts": { "allow_custom_css": true, - "max_featured_tags": 10 + "max_featured_tags": 10, + "max_profile_fields": 6 }, "emojis": { "emoji_size_limit": 51200 @@ -324,7 +326,8 @@ func (suite *InstancePatchTestSuite) TestInstancePatch3() { }, "accounts": { "allow_custom_css": true, - "max_featured_tags": 10 + "max_featured_tags": 10, + "max_profile_fields": 6 }, "emojis": { "emoji_size_limit": 51200 @@ -478,7 +481,8 @@ func (suite *InstancePatchTestSuite) TestInstancePatch6() { }, "accounts": { "allow_custom_css": true, - "max_featured_tags": 10 + "max_featured_tags": 10, + "max_profile_fields": 6 }, "emojis": { "emoji_size_limit": 51200 @@ -603,7 +607,8 @@ func (suite *InstancePatchTestSuite) TestInstancePatch8() { }, "accounts": { "allow_custom_css": true, - "max_featured_tags": 10 + "max_featured_tags": 10, + "max_profile_fields": 6 }, "emojis": { "emoji_size_limit": 51200 @@ -743,7 +748,8 @@ func (suite *InstancePatchTestSuite) TestInstancePatch9() { }, "accounts": { "allow_custom_css": true, - "max_featured_tags": 10 + "max_featured_tags": 10, + "max_profile_fields": 6 }, "emojis": { "emoji_size_limit": 51200 diff --git a/internal/api/model/instance.go b/internal/api/model/instance.go index edd9fe7bb..5232e8d66 100644 --- a/internal/api/model/instance.go +++ b/internal/api/model/instance.go @@ -54,6 +54,9 @@ type InstanceConfigurationAccounts struct { // The maximum number of featured tags allowed for each account. // Currently not implemented, so this is hardcoded to 10. MaxFeaturedTags int `json:"max_featured_tags"` + // The maximum number of profile fields allowed for each account. + // Currently not configurable, so this is hardcoded to 6. (https://github.com/superseriousbusiness/gotosocial/issues/1876) + MaxProfileFields int `json:"max_profile_fields"` } // InstanceConfigurationStatuses models instance status config parameters. diff --git a/internal/typeutils/internaltofrontend.go b/internal/typeutils/internaltofrontend.go index 7d2056a4c..d6da9493f 100644 --- a/internal/typeutils/internaltofrontend.go +++ b/internal/typeutils/internaltofrontend.go @@ -43,6 +43,7 @@ const ( instancePollsMinExpiration = 300 // seconds instancePollsMaxExpiration = 2629746 // seconds instanceAccountsMaxFeaturedTags = 10 + instanceAccountsMaxProfileFields = 6 // FIXME: https://github.com/superseriousbusiness/gotosocial/issues/1876 instanceSourceURL = "https://github.com/superseriousbusiness/gotosocial" ) @@ -756,6 +757,7 @@ func (c *converter) InstanceToAPIV1Instance(ctx context.Context, i *gtsmodel.Ins instance.Configuration.Polls.MaxExpiration = instancePollsMaxExpiration instance.Configuration.Accounts.AllowCustomCSS = config.GetAccountsAllowCustomCSS() instance.Configuration.Accounts.MaxFeaturedTags = instanceAccountsMaxFeaturedTags + instance.Configuration.Accounts.MaxProfileFields = instanceAccountsMaxProfileFields instance.Configuration.Emojis.EmojiSizeLimit = int(config.GetMediaEmojiLocalMaxSize()) // URLs @@ -882,6 +884,7 @@ func (c *converter) InstanceToAPIV2Instance(ctx context.Context, i *gtsmodel.Ins instance.Configuration.Polls.MaxExpiration = instancePollsMaxExpiration instance.Configuration.Accounts.AllowCustomCSS = config.GetAccountsAllowCustomCSS() instance.Configuration.Accounts.MaxFeaturedTags = instanceAccountsMaxFeaturedTags + instance.Configuration.Accounts.MaxProfileFields = instanceAccountsMaxProfileFields instance.Configuration.Emojis.EmojiSizeLimit = int(config.GetMediaEmojiLocalMaxSize()) // registrations diff --git a/internal/typeutils/internaltofrontend_test.go b/internal/typeutils/internaltofrontend_test.go index 5a98303e8..d99a31e25 100644 --- a/internal/typeutils/internaltofrontend_test.go +++ b/internal/typeutils/internaltofrontend_test.go @@ -647,7 +647,8 @@ func (suite *InternalToFrontendTestSuite) TestInstanceV1ToFrontend() { }, "accounts": { "allow_custom_css": true, - "max_featured_tags": 10 + "max_featured_tags": 10, + "max_profile_fields": 6 }, "emojis": { "emoji_size_limit": 51200 @@ -730,7 +731,8 @@ func (suite *InternalToFrontendTestSuite) TestInstanceV2ToFrontend() { }, "accounts": { "allow_custom_css": true, - "max_featured_tags": 10 + "max_featured_tags": 10, + "max_profile_fields": 6 }, "statuses": { "max_characters": 5000, |