diff options
Diffstat (limited to 'internal/util')
-rw-r--r-- | internal/util/regexes.go | 1 | ||||
-rw-r--r-- | internal/util/validation.go | 5 |
2 files changed, 6 insertions, 0 deletions
diff --git a/internal/util/regexes.go b/internal/util/regexes.go index 88212fc43..d3a42d1fc 100644 --- a/internal/util/regexes.go +++ b/internal/util/regexes.go @@ -90,6 +90,7 @@ var ( followPathRegex = regexp.MustCompile(followPathRegexString) ulidRegexString = `[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}` + ulidRegex = regexp.MustCompile(fmt.Sprintf(`^%s$`, ulidRegexString)) likedPathRegexString = fmt.Sprintf(`^/?%s/(%s)/%s$`, UsersPath, usernameRegexString, LikedPath) // likedPathRegex parses a path that validates and captures the username part from eg /users/example_username/liked diff --git a/internal/util/validation.go b/internal/util/validation.go index 446f7a70e..aa25ccd16 100644 --- a/internal/util/validation.go +++ b/internal/util/validation.go @@ -171,3 +171,8 @@ func ValidateSiteTerms(t string) error { return nil } + +// ValidateULID returns true if the passed string is a valid ULID. +func ValidateULID(i string) bool { + return ulidRegex.MatchString(i) +} |