diff options
Diffstat (limited to 'internal/server/api/helpers.go')
| -rw-r--r-- | internal/server/api/helpers.go | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/internal/server/api/helpers.go b/internal/server/api/helpers.go new file mode 100644 index 0000000..967f308 --- /dev/null +++ b/internal/server/api/helpers.go @@ -0,0 +1,23 @@ +package api + +import "strings" + +const hex = "0123456789abcdefABCDEF" + +func isValidHexColor(color string) (bool, string) { + if len(color) != 7 { + return false, "color must be hex with length of 7" + } + + if color[0] != '#' { + return false, "color must start with '#'" + } + + for _, c := range color { + if !strings.ContainsRune(hex, c) { + return false, "color must start with '#' and contain exactly 6 digits 0-9, a-f, A-F" + } + } + + return true, "" +} |
