From f5689a9e5fa5dbcae6c56fa9f393c2fc4686ac19 Mon Sep 17 00:00:00 2001 From: tobi <31960611+tsmethurst@users.noreply.github.com> Date: Sat, 6 Aug 2022 12:09:21 +0200 Subject: [feature] Let accounts set default status format, and use this when processing new statuses (#739) * add post_format to acct & use it when making post * update swagger docs * add status_format updating to frontend * fix up tests * post_format => status_format * add status_format to account validation --- internal/api/model/account.go | 2 ++ internal/api/model/source.go | 2 ++ internal/api/model/status.go | 16 +++++++--------- 3 files changed, 11 insertions(+), 9 deletions(-) (limited to 'internal/api/model') diff --git a/internal/api/model/account.go b/internal/api/model/account.go index 4ff229589..dc6fa24b8 100644 --- a/internal/api/model/account.go +++ b/internal/api/model/account.go @@ -163,6 +163,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"` } // UpdateField is to be used specifically in an UpdateCredentialsRequest. diff --git a/internal/api/model/source.go b/internal/api/model/source.go index 0ca8f2a6b..14f4ba7a9 100644 --- a/internal/api/model/source.go +++ b/internal/api/model/source.go @@ -31,6 +31,8 @@ type Source struct { Sensitive bool `json:"sensitive,omitempty"` // The default posting language for new statuses. Language string `json:"language,omitempty"` + // The default posting format for new statuses. + StatusFormat string `json:"status_format"` // 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 62efaf434..d3c7a0e4f 100644 --- a/internal/api/model/status.go +++ b/internal/api/model/status.go @@ -181,8 +181,8 @@ type StatusCreateRequest struct { Language string `form:"language" json:"language" xml:"language"` // Format to use when parsing this status. // enum: - // - markdown // - plain + // - markdown // in: formData Format StatusFormat `form:"format" json:"format" xml:"format"` } @@ -245,11 +245,9 @@ type AdvancedVisibilityFlagsForm struct { // example: plain type StatusFormat string -// StatusFormatPlain expects a plaintext status which will then be formatted into html. -const StatusFormatPlain StatusFormat = "plain" - -// StatusFormatMarkdown expects a markdown formatted status, which will then be formatted into html. -const StatusFormatMarkdown StatusFormat = "markdown" - -// StatusFormatDefault is the format that should be used when nothing else is specified. -const StatusFormatDefault StatusFormat = StatusFormatPlain +// Format to use when parsing submitted status into an html-formatted status +const ( + StatusFormatPlain StatusFormat = "plain" + StatusFormatMarkdown StatusFormat = "markdown" + StatusFormatDefault StatusFormat = StatusFormatPlain +) -- cgit v1.2.3