summaryrefslogtreecommitdiff
path: root/internal/api
diff options
context:
space:
mode:
Diffstat (limited to 'internal/api')
-rw-r--r--internal/api/client/accounts/accountupdate.go10
-rw-r--r--internal/api/client/accounts/accountupdate_test.go14
-rw-r--r--internal/api/client/instance/instancepatch_test.go36
-rw-r--r--internal/api/client/statuses/statuscreate_test.go4
-rw-r--r--internal/api/model/account.go4
-rw-r--r--internal/api/model/instance.go4
-rw-r--r--internal/api/model/source.go4
-rw-r--r--internal/api/model/status.go20
8 files changed, 62 insertions, 34 deletions
diff --git a/internal/api/client/accounts/accountupdate.go b/internal/api/client/accounts/accountupdate.go
index 3983fe8e1..b5d0dd5f9 100644
--- a/internal/api/client/accounts/accountupdate.go
+++ b/internal/api/client/accounts/accountupdate.go
@@ -99,9 +99,9 @@ import (
// description: Default language to use for authored statuses (ISO 6391).
// type: string
// -
-// name: source[status_format]
+// name: source[status_content_type]
// in: formData
-// description: Default format to use for authored statuses (plain or markdown).
+// description: Default content type to use for authored statuses (text/plain or text/markdown).
// type: string
// -
// name: custom_css
@@ -190,8 +190,8 @@ func parseUpdateAccountForm(c *gin.Context) (*apimodel.UpdateCredentialsRequest,
form.Source.Language = &language
}
- if statusFormat, ok := sourceMap["status_format"]; ok {
- form.Source.StatusFormat = &statusFormat
+ if statusContentType, ok := sourceMap["status_content_type"]; ok {
+ form.Source.StatusContentType = &statusContentType
}
if form == nil ||
@@ -205,7 +205,7 @@ func parseUpdateAccountForm(c *gin.Context) (*apimodel.UpdateCredentialsRequest,
form.Source.Privacy == nil &&
form.Source.Sensitive == nil &&
form.Source.Language == nil &&
- form.Source.StatusFormat == nil &&
+ form.Source.StatusContentType == nil &&
form.FieldsAttributes == nil &&
form.CustomCSS == nil &&
form.EnableRSS == nil) {
diff --git a/internal/api/client/accounts/accountupdate_test.go b/internal/api/client/accounts/accountupdate_test.go
index 95387f3d7..f898e64da 100644
--- a/internal/api/client/accounts/accountupdate_test.go
+++ b/internal/api/client/accounts/accountupdate_test.go
@@ -414,13 +414,13 @@ func (suite *AccountUpdateTestSuite) TestAccountUpdateCredentialsPATCHHandlerUpd
suite.True(apimodelAccount.Locked)
}
-func (suite *AccountUpdateTestSuite) TestAccountUpdateCredentialsPATCHHandlerUpdateStatusFormatOK() {
+func (suite *AccountUpdateTestSuite) TestAccountUpdateCredentialsPATCHHandlerUpdateStatusContentTypeOK() {
// set up the request
// we're updating the language of zork
requestBody, w, err := testrig.CreateMultipartFormData(
"", "",
map[string]string{
- "source[status_format]": "markdown",
+ "source[status_content_type]": "text/markdown",
})
if err != nil {
panic(err)
@@ -450,22 +450,22 @@ func (suite *AccountUpdateTestSuite) TestAccountUpdateCredentialsPATCHHandlerUpd
// check the returned api model account
// fields should be updated
- suite.Equal("markdown", apimodelAccount.Source.StatusFormat)
+ suite.Equal("text/markdown", apimodelAccount.Source.StatusContentType)
dbAccount, err := suite.db.GetAccountByID(context.Background(), suite.testAccounts["local_account_1"].ID)
if err != nil {
suite.FailNow(err.Error())
}
- suite.Equal(dbAccount.StatusFormat, "markdown")
+ suite.Equal(dbAccount.StatusContentType, "text/markdown")
}
-func (suite *AccountUpdateTestSuite) TestAccountUpdateCredentialsPATCHHandlerUpdateStatusFormatBad() {
+func (suite *AccountUpdateTestSuite) TestAccountUpdateCredentialsPATCHHandlerUpdateStatusContentTypeBad() {
// set up the request
// we're updating the language of zork
requestBody, w, err := testrig.CreateMultipartFormData(
"", "",
map[string]string{
- "source[status_format]": "peepeepoopoo",
+ "source[status_content_type]": "peepeepoopoo",
})
if err != nil {
panic(err)
@@ -486,7 +486,7 @@ func (suite *AccountUpdateTestSuite) TestAccountUpdateCredentialsPATCHHandlerUpd
b, err := ioutil.ReadAll(result.Body)
suite.NoError(err)
- suite.Equal(`{"error":"Bad Request: status format 'peepeepoopoo' was not recognized, valid options are 'plain', 'markdown'"}`, string(b))
+ suite.Equal(`{"error":"Bad Request: status content type 'peepeepoopoo' was not recognized, valid options are 'text/plain', 'text/markdown'"}`, string(b))
}
func TestAccountUpdateTestSuite(t *testing.T) {
diff --git a/internal/api/client/instance/instancepatch_test.go b/internal/api/client/instance/instancepatch_test.go
index 0a508083c..6fb9b0d03 100644
--- a/internal/api/client/instance/instancepatch_test.go
+++ b/internal/api/client/instance/instancepatch_test.go
@@ -90,7 +90,11 @@ func (suite *InstancePatchTestSuite) TestInstancePatch1() {
"statuses": {
"max_characters": 5000,
"max_media_attachments": 6,
- "characters_reserved_per_url": 25
+ "characters_reserved_per_url": 25,
+ "supported_mime_types": [
+ "text/plain",
+ "text/markdown"
+ ]
},
"media_attachments": {
"supported_mime_types": [
@@ -188,7 +192,11 @@ func (suite *InstancePatchTestSuite) TestInstancePatch2() {
"statuses": {
"max_characters": 5000,
"max_media_attachments": 6,
- "characters_reserved_per_url": 25
+ "characters_reserved_per_url": 25,
+ "supported_mime_types": [
+ "text/plain",
+ "text/markdown"
+ ]
},
"media_attachments": {
"supported_mime_types": [
@@ -286,7 +294,11 @@ func (suite *InstancePatchTestSuite) TestInstancePatch3() {
"statuses": {
"max_characters": 5000,
"max_media_attachments": 6,
- "characters_reserved_per_url": 25
+ "characters_reserved_per_url": 25,
+ "supported_mime_types": [
+ "text/plain",
+ "text/markdown"
+ ]
},
"media_attachments": {
"supported_mime_types": [
@@ -435,7 +447,11 @@ func (suite *InstancePatchTestSuite) TestInstancePatch6() {
"statuses": {
"max_characters": 5000,
"max_media_attachments": 6,
- "characters_reserved_per_url": 25
+ "characters_reserved_per_url": 25,
+ "supported_mime_types": [
+ "text/plain",
+ "text/markdown"
+ ]
},
"media_attachments": {
"supported_mime_types": [
@@ -554,7 +570,11 @@ func (suite *InstancePatchTestSuite) TestInstancePatch8() {
"statuses": {
"max_characters": 5000,
"max_media_attachments": 6,
- "characters_reserved_per_url": 25
+ "characters_reserved_per_url": 25,
+ "supported_mime_types": [
+ "text/plain",
+ "text/markdown"
+ ]
},
"media_attachments": {
"supported_mime_types": [
@@ -689,7 +709,11 @@ func (suite *InstancePatchTestSuite) TestInstancePatch9() {
"statuses": {
"max_characters": 5000,
"max_media_attachments": 6,
- "characters_reserved_per_url": 25
+ "characters_reserved_per_url": 25,
+ "supported_mime_types": [
+ "text/plain",
+ "text/markdown"
+ ]
},
"media_attachments": {
"supported_mime_types": [
diff --git a/internal/api/client/statuses/statuscreate_test.go b/internal/api/client/statuses/statuscreate_test.go
index 6802558ec..3c2120105 100644
--- a/internal/api/client/statuses/statuscreate_test.go
+++ b/internal/api/client/statuses/statuscreate_test.go
@@ -105,14 +105,14 @@ func (suite *StatusCreateTestSuite) TestPostNewStatus() {
func (suite *StatusCreateTestSuite) TestPostNewStatusMarkdown() {
// set default post language of account 1 to markdown
testAccount := suite.testAccounts["local_account_1"]
- testAccount.StatusFormat = "markdown"
+ testAccount.StatusContentType = "text/markdown"
a := testAccount
err := suite.db.UpdateAccount(context.Background(), a)
if err != nil {
suite.FailNow(err.Error())
}
- suite.Equal(a.StatusFormat, "markdown")
+ suite.Equal(a.StatusContentType, "text/markdown")
t := suite.testTokens["local_account_1"]
oauthToken := oauth.DBTokenToToken(t)
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
)