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/validate/formvalidation.go | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'internal/validate/formvalidation.go') diff --git a/internal/validate/formvalidation.go b/internal/validate/formvalidation.go index e0c27628b..5ce80ae31 100644 --- a/internal/validate/formvalidation.go +++ b/internal/validate/formvalidation.go @@ -144,7 +144,19 @@ func Privacy(privacy string) error { case apimodel.VisibilityDirect, apimodel.VisibilityMutualsOnly, apimodel.VisibilityPrivate, apimodel.VisibilityPublic, apimodel.VisibilityUnlisted: return nil } - return fmt.Errorf("privacy %s was not recognized", privacy) + 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 == "" { + return fmt.Errorf("empty string for status format not allowed") + } + switch apimodel.StatusFormat(statusFormat) { + case apimodel.StatusFormatPlain, apimodel.StatusFormatMarkdown: + return nil + } + return fmt.Errorf("status format '%s' was not recognized, valid options are 'plain', 'markdown'", statusFormat) } // EmojiShortcode just runs the given shortcode through the regular expression -- cgit v1.2.3