summaryrefslogtreecommitdiff
path: root/internal/processing/account
diff options
context:
space:
mode:
Diffstat (limited to 'internal/processing/account')
-rw-r--r--internal/processing/account/update.go46
1 files changed, 31 insertions, 15 deletions
diff --git a/internal/processing/account/update.go b/internal/processing/account/update.go
index f0e3b790b..99dd074a5 100644
--- a/internal/processing/account/update.go
+++ b/internal/processing/account/update.go
@@ -212,6 +212,37 @@ func (p *Processor) Update(ctx context.Context, account *gtsmodel.Account, form
}
}
+ if form.WebVisibility != nil {
+ switch apimodel.Visibility(*form.WebVisibility) {
+
+ // Show none.
+ case apimodel.VisibilityNone:
+ account.HidesToPublicFromUnauthedWeb = util.Ptr(true)
+ account.HidesCcPublicFromUnauthedWeb = util.Ptr(true)
+
+ // Show public only (GtS default).
+ case apimodel.VisibilityPublic:
+ account.HidesToPublicFromUnauthedWeb = util.Ptr(false)
+ account.HidesCcPublicFromUnauthedWeb = util.Ptr(true)
+
+ // Show public and unlisted (Masto default).
+ case apimodel.VisibilityUnlisted:
+ account.HidesToPublicFromUnauthedWeb = util.Ptr(false)
+ account.HidesCcPublicFromUnauthedWeb = util.Ptr(false)
+
+ default:
+ const text = "web_visibility must be one of public, unlisted, or none"
+ err := errors.New(text)
+ return nil, gtserror.NewErrorBadRequest(err, text)
+ }
+
+ acctColumns = append(
+ acctColumns,
+ "hides_to_public_from_unauthed_web",
+ "hides_cc_public_from_unauthed_web",
+ )
+ }
+
// Account settings flags.
if form.Source != nil {
@@ -287,21 +318,6 @@ func (p *Processor) Update(ctx context.Context, account *gtsmodel.Account, form
settingsColumns = append(settingsColumns, "hide_collections")
}
- if form.WebVisibility != nil {
- apiVis := apimodel.Visibility(*form.WebVisibility)
- webVisibility := typeutils.APIVisToVis(apiVis)
- if webVisibility != gtsmodel.VisibilityPublic &&
- webVisibility != gtsmodel.VisibilityUnlocked &&
- webVisibility != gtsmodel.VisibilityNone {
- const text = "web_visibility must be one of public, unlocked, or none"
- err := errors.New(text)
- return nil, gtserror.NewErrorBadRequest(err, text)
- }
-
- account.Settings.WebVisibility = webVisibility
- settingsColumns = append(settingsColumns, "web_visibility")
- }
-
if form.WebLayout != nil {
webLayout := gtsmodel.ParseWebLayout(*form.WebLayout)
if webLayout == gtsmodel.WebLayoutUnknown {