summaryrefslogtreecommitdiff
path: root/internal
diff options
context:
space:
mode:
authorLibravatar f0x52 <f0x@cthu.lu>2023-06-13 12:21:26 +0200
committerLibravatar GitHub <noreply@github.com>2023-06-13 12:21:26 +0200
commit8fb5a7e7f8d4201590e709989e8f0627e800c147 (patch)
tree2fb888f081584f33e198eadfcf218714c3824002 /internal
parent[docs] Made Advanced its own section (#1883) (diff)
downloadgotosocial-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.go18
-rw-r--r--internal/api/model/instance.go3
-rw-r--r--internal/typeutils/internaltofrontend.go3
-rw-r--r--internal/typeutils/internaltofrontend_test.go6
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,