mirror of
				https://github.com/superseriousbusiness/gotosocial
				synced 2025-06-05 21:59:39 +02:00 
			
		
		
		
	[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:
		@@ -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.
 | 
			
		||||
 
 | 
			
		||||
@@ -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.
 | 
			
		||||
 
 | 
			
		||||
@@ -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.
 | 
			
		||||
 
 | 
			
		||||
@@ -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
 | 
			
		||||
)
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user