You've already forked openaccounting-server
forked from cybercinch/openaccounting-server
feat-allow-uploads-document #6
@@ -3,6 +3,7 @@ package util
|
||||
import (
|
||||
"crypto/rand"
|
||||
"encoding/hex"
|
||||
"regexp"
|
||||
"time"
|
||||
)
|
||||
|
||||
@@ -44,3 +45,23 @@ func NewInviteId() (string, error) {
|
||||
|
||||
return hex.EncodeToString(byteArray), nil
|
||||
}
|
||||
|
||||
func NewUUID() string {
|
||||
guid, err := NewGuid()
|
||||
if err != nil {
|
||||
// Fallback to timestamp-based UUID if random generation fails
|
||||
return hex.EncodeToString([]byte(time.Now().Format("20060102150405")))
|
||||
}
|
||||
return guid
|
||||
}
|
||||
|
||||
func IsValidUUID(uuid string) bool {
|
||||
// Check if the string is a valid 32-character hex string (16 bytes * 2 hex chars)
|
||||
if len(uuid) != 32 {
|
||||
return false
|
||||
}
|
||||
|
||||
// Check if all characters are valid hex characters
|
||||
matched, _ := regexp.MatchString("^[0-9a-f]{32}$", uuid)
|
||||
return matched
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user