diff options
author | 2023-03-02 03:06:40 -0800 | |
---|---|---|
committer | 2023-03-02 12:06:40 +0100 | |
commit | e6cde25466e03ec864cd9defed96957e741b5e7c (patch) | |
tree | 2fe1db6383efc9b788de8bb3f9926627874ccd7c /internal/api/model | |
parent | [chore] move client/federator workerpools to Workers{} (#1575) (diff) | |
download | gotosocial-e6cde25466e03ec864cd9defed96957e741b5e7c.tar.xz |
[feature] Advertise rich text formats, support content_type field (#1370)
* Advertise rich text formats, support content_type field
* Update JSON in instance patch tests
* Replace format with content_type everywhere
* update migration to work with both pg and sqlite
* regenerate swagger docs
* update instance serialization + tests
* fix up
* learn to code tobi please, i'm begging you
---------
Co-authored-by: tsmethurst <tobi.smethurst@protonmail.com>
Diffstat (limited to 'internal/api/model')
-rw-r--r-- | internal/api/model/account.go | 4 | ||||
-rw-r--r-- | internal/api/model/instance.go | 4 | ||||
-rw-r--r-- | internal/api/model/source.go | 4 | ||||
-rw-r--r-- | internal/api/model/status.go | 20 |
4 files changed, 18 insertions, 14 deletions
diff --git a/internal/api/model/account.go b/internal/api/model/account.go index 238def59d..c275c8155 100644 --- a/internal/api/model/account.go +++ b/internal/api/model/account.go @@ -174,8 +174,8 @@ type UpdateSource struct { Sensitive *bool `form:"sensitive" json:"sensitive" xml:"sensitive"` // Default language to use for authored statuses. (ISO 6391) Language *string `form:"language" json:"language" xml:"language"` - // Default format for authored statuses (plain or markdown). - StatusFormat *string `form:"status_format" json:"status_format" xml:"status_format"` + // Default format for authored statuses (text/plain or text/markdown). + StatusContentType *string `form:"status_content_type" json:"status_content_type" xml:"status_content_type"` } // UpdateField is to be used specifically in an UpdateCredentialsRequest. diff --git a/internal/api/model/instance.go b/internal/api/model/instance.go index c1eec1d54..84e4bab8f 100644 --- a/internal/api/model/instance.go +++ b/internal/api/model/instance.go @@ -73,6 +73,10 @@ type InstanceConfigurationStatuses struct { // // example: 25 CharactersReservedPerURL int `json:"characters_reserved_per_url"` + // List of mime types that it's possible to use for statuses on this instance. + // + // example: ["text/plain","text/markdown"] + SupportedMimeTypes []string `json:"supported_mime_types,omitempty"` } // InstanceConfigurationMediaAttachments models instance media attachment config parameters. diff --git a/internal/api/model/source.go b/internal/api/model/source.go index 9e2eafa0a..4f32399cc 100644 --- a/internal/api/model/source.go +++ b/internal/api/model/source.go @@ -31,8 +31,8 @@ type Source struct { Sensitive bool `json:"sensitive"` // The default posting language for new statuses. Language string `json:"language"` - // The default posting format for new statuses. - StatusFormat string `json:"status_format"` + // The default posting content type for new statuses. + StatusContentType string `json:"status_content_type"` // Profile bio. Note string `json:"note"` // Metadata about the account. diff --git a/internal/api/model/status.go b/internal/api/model/status.go index 92741edfe..57f5f6c63 100644 --- a/internal/api/model/status.go +++ b/internal/api/model/status.go @@ -179,9 +179,9 @@ type StatusCreateRequest struct { // ISO 639 language code for this status. // in: formData Language string `form:"language" json:"language" xml:"language"` - // Format to use when parsing this status. + // Content type to use when parsing this status. // in: formData - Format StatusFormat `form:"format" json:"format" xml:"format"` + ContentType StatusContentType `form:"content_type" json:"content_type" xml:"content_type"` } // Visibility models the visibility of a status. @@ -227,16 +227,16 @@ type AdvancedVisibilityFlagsForm struct { Likeable *bool `form:"likeable" json:"likeable" xml:"likeable"` } -// StatusFormat is the format in which to parse the submitted status. -// Can be either plain or markdown. Empty will default to plain. +// StatusContentType is the content type with which to parse the submitted status. +// Can be either text/plain or text/markdown. Empty will default to text/plain. // -// swagger:enum statusFormat +// swagger:enum statusContentType // swagger:type string -type StatusFormat string +type StatusContentType string -// Format to use when parsing submitted status into an html-formatted status +// Content type to use when parsing submitted status into an html-formatted status const ( - StatusFormatPlain StatusFormat = "plain" - StatusFormatMarkdown StatusFormat = "markdown" - StatusFormatDefault StatusFormat = StatusFormatPlain + StatusContentTypePlain StatusContentType = "text/plain" + StatusContentTypeMarkdown StatusContentType = "text/markdown" + StatusContentTypeDefault = StatusContentTypePlain ) |