summaryrefslogtreecommitdiff
path: root/internal/validate
diff options
context:
space:
mode:
Diffstat (limited to 'internal/validate')
-rw-r--r--internal/validate/account_test.go1
-rw-r--r--internal/validate/formvalidation.go14
2 files changed, 14 insertions, 1 deletions
diff --git a/internal/validate/account_test.go b/internal/validate/account_test.go
index a023b2bcb..e0dda8e16 100644
--- a/internal/validate/account_test.go
+++ b/internal/validate/account_test.go
@@ -62,6 +62,7 @@ func happyAccount() *gtsmodel.Account {
Privacy: gtsmodel.VisibilityPublic,
Sensitive: false,
Language: "en",
+ StatusFormat: "plain",
URI: "http://localhost:8080/users/the_mighty_zork",
URL: "http://localhost:8080/@the_mighty_zork",
LastWebfingeredAt: time.Time{},
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