summaryrefslogtreecommitdiff
path: root/internal/typeutils
diff options
context:
space:
mode:
Diffstat (limited to 'internal/typeutils')
-rw-r--r--internal/typeutils/internaltofrontend.go15
-rw-r--r--internal/typeutils/internaltofrontend_test.go14
2 files changed, 22 insertions, 7 deletions
diff --git a/internal/typeutils/internaltofrontend.go b/internal/typeutils/internaltofrontend.go
index ebea023cf..aa9352272 100644
--- a/internal/typeutils/internaltofrontend.go
+++ b/internal/typeutils/internaltofrontend.go
@@ -46,6 +46,11 @@ const (
instanceSourceURL = "https://github.com/superseriousbusiness/gotosocial"
)
+var instanceStatusesSupportedMimeTypes = []string{
+ string(apimodel.StatusContentTypePlain),
+ string(apimodel.StatusContentTypeMarkdown),
+}
+
func (c *converter) AccountToAPIAccountSensitive(ctx context.Context, a *gtsmodel.Account) (*apimodel.Account, error) {
// we can build this sensitive account easily by first getting the public account....
apiAccount, err := c.AccountToAPIAccountPublic(ctx, a)
@@ -67,16 +72,16 @@ func (c *converter) AccountToAPIAccountSensitive(ctx context.Context, a *gtsmode
frc = len(frs)
}
- statusFormat := string(apimodel.StatusFormatDefault)
- if a.StatusFormat != "" {
- statusFormat = a.StatusFormat
+ statusContentType := string(apimodel.StatusContentTypeDefault)
+ if a.StatusContentType != "" {
+ statusContentType = a.StatusContentType
}
apiAccount.Source = &apimodel.Source{
Privacy: c.VisToAPIVis(ctx, a.Privacy),
Sensitive: *a.Sensitive,
Language: a.Language,
- StatusFormat: statusFormat,
+ StatusContentType: statusContentType,
Note: a.NoteRaw,
Fields: apiAccount.Fields,
FollowRequestsCount: frc,
@@ -695,6 +700,7 @@ func (c *converter) InstanceToAPIV1Instance(ctx context.Context, i *gtsmodel.Ins
instance.Configuration.Statuses.MaxCharacters = config.GetStatusesMaxChars()
instance.Configuration.Statuses.MaxMediaAttachments = config.GetStatusesMediaMaxFiles()
instance.Configuration.Statuses.CharactersReservedPerURL = instanceStatusesCharactersReservedPerURL
+ instance.Configuration.Statuses.SupportedMimeTypes = instanceStatusesSupportedMimeTypes
instance.Configuration.MediaAttachments.SupportedMimeTypes = media.SupportedMIMETypes
instance.Configuration.MediaAttachments.ImageSizeLimit = int(config.GetMediaImageMaxSize())
instance.Configuration.MediaAttachments.ImageMatrixLimit = instanceMediaAttachmentsImageMatrixLimit
@@ -820,6 +826,7 @@ func (c *converter) InstanceToAPIV2Instance(ctx context.Context, i *gtsmodel.Ins
instance.Configuration.Statuses.MaxCharacters = config.GetStatusesMaxChars()
instance.Configuration.Statuses.MaxMediaAttachments = config.GetStatusesMediaMaxFiles()
instance.Configuration.Statuses.CharactersReservedPerURL = instanceStatusesCharactersReservedPerURL
+ instance.Configuration.Statuses.SupportedMimeTypes = instanceStatusesSupportedMimeTypes
instance.Configuration.MediaAttachments.SupportedMimeTypes = media.SupportedMIMETypes
instance.Configuration.MediaAttachments.ImageSizeLimit = int(config.GetMediaImageMaxSize())
instance.Configuration.MediaAttachments.ImageMatrixLimit = instanceMediaAttachmentsImageMatrixLimit
diff --git a/internal/typeutils/internaltofrontend_test.go b/internal/typeutils/internaltofrontend_test.go
index f82fd8cb5..30241892e 100644
--- a/internal/typeutils/internaltofrontend_test.go
+++ b/internal/typeutils/internaltofrontend_test.go
@@ -198,7 +198,7 @@ func (suite *InternalToFrontendTestSuite) TestAccountToFrontendSensitive() {
"privacy": "public",
"sensitive": false,
"language": "en",
- "status_format": "plain",
+ "status_content_type": "text/plain",
"note": "hey yo this is my profile!",
"fields": [],
"follow_requests_count": 0
@@ -504,7 +504,11 @@ func (suite *InternalToFrontendTestSuite) TestInstanceV1ToFrontend() {
"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": [
@@ -616,7 +620,11 @@ func (suite *InternalToFrontendTestSuite) TestInstanceV2ToFrontend() {
"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": [