diff options
author | 2024-09-09 18:07:25 +0200 | |
---|---|---|
committer | 2024-09-09 18:07:25 +0200 | |
commit | 5543fd53400037dc8ae22d4919b7085c46177ce1 (patch) | |
tree | 9f4b9df4a65165e32888ac038a7c5f6f0724233d /internal/api/model | |
parent | [chore]: Bump golang.org/x/crypto from 0.26.0 to 0.27.0 (#3283) (diff) | |
download | gotosocial-5543fd53400037dc8ae22d4919b7085c46177ce1.tar.xz |
[feature/frontend] Add options to include Unlisted posts or hide all posts (#3272)
* [feature/frontend] Add options to include Unlisted posts or hide all posts
* finish up
* swagger
* move invalidate call into bundb package, avoid invalidating if not necessary
* rename show_web_statuses => web_visibility
* don't use ptr for webvisibility
* last bits
Diffstat (limited to 'internal/api/model')
-rw-r--r-- | internal/api/model/account.go | 3 | ||||
-rw-r--r-- | internal/api/model/source.go | 5 | ||||
-rw-r--r-- | internal/api/model/status.go | 2 |
3 files changed, 10 insertions, 0 deletions
diff --git a/internal/api/model/account.go b/internal/api/model/account.go index 0eaf52734..d34d7d519 100644 --- a/internal/api/model/account.go +++ b/internal/api/model/account.go @@ -227,6 +227,9 @@ type UpdateCredentialsRequest struct { EnableRSS *bool `form:"enable_rss" json:"enable_rss"` // Hide this account's following/followers collections. HideCollections *bool `form:"hide_collections" json:"hide_collections"` + // Visibility of statuses to show via the web view. + // "none", "public" (default), or "unlisted" (which includes public as well). + WebVisibility *string `form:"web_visibility" json:"web_visibility"` } // UpdateSource is to be used specifically in an UpdateCredentialsRequest. diff --git a/internal/api/model/source.go b/internal/api/model/source.go index 3b57f8565..cc3eb78ee 100644 --- a/internal/api/model/source.go +++ b/internal/api/model/source.go @@ -26,6 +26,11 @@ type Source struct { // private = Followers-only post // direct = Direct post Privacy Visibility `json:"privacy"` + // Visibility level(s) of posts to show for this account via the web api. + // "public" = default, show only Public visibility posts on the web. + // "unlisted" = show Public *and* Unlisted visibility posts on the web. + // "none" = show no posts on the web, not even Public ones. + WebVisibility Visibility `json:"web_visibility"` // Whether new statuses should be marked sensitive by default. Sensitive bool `json:"sensitive"` // The default posting language for new statuses. diff --git a/internal/api/model/status.go b/internal/api/model/status.go index d0acafae8..9b83fa582 100644 --- a/internal/api/model/status.go +++ b/internal/api/model/status.go @@ -232,6 +232,8 @@ type StatusCreateRequest struct { type Visibility string const ( + // VisibilityNone is visible to nobody. This is only used for the visibility of web statuses. + VisibilityNone Visibility = "none" // VisibilityPublic is visible to everyone, and will be available via the web even for nonauthenticated users. VisibilityPublic Visibility = "public" // VisibilityUnlisted is visible to everyone, but only on home timelines, lists, etc. |