[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>
This commit is contained in:
Vyr Cossont
2023-03-02 03:06:40 -08:00
committed by GitHub
parent baf933cb9f
commit e6cde25466
23 changed files with 244 additions and 96 deletions

View File

@ -150,16 +150,16 @@ func Privacy(privacy string) error {
return fmt.Errorf("privacy '%s' was not recognized, valid options are 'direct', 'mutuals_only', 'private', 'public', 'unlisted'", privacy)
}
// StatusFormat checks that the desired status format setting is valid.
func StatusFormat(statusFormat string) error {
if statusFormat == "" {
// StatusContentType checks that the desired status format setting is valid.
func StatusContentType(statusContentType string) error {
if statusContentType == "" {
return fmt.Errorf("empty string for status format not allowed")
}
switch apimodel.StatusFormat(statusFormat) {
case apimodel.StatusFormatPlain, apimodel.StatusFormatMarkdown:
switch apimodel.StatusContentType(statusContentType) {
case apimodel.StatusContentTypePlain, apimodel.StatusContentTypeMarkdown:
return nil
}
return fmt.Errorf("status format '%s' was not recognized, valid options are 'plain', 'markdown'", statusFormat)
return fmt.Errorf("status content type '%s' was not recognized, valid options are 'text/plain', 'text/markdown'", statusContentType)
}
func CustomCSS(customCSS string) error {