package database import ( "fmt" "net" "strings" "github.com/google/uuid" ) func generateUUID() uuid.UUID { return uuid.New() } // detectIPVersion determines if a prefix is IPv4 (returns 4) or IPv6 (returns 6) func detectIPVersion(prefix string) int { if strings.Contains(prefix, ":") { return ipVersionV6 } return ipVersionV4 } // prefixMaskLength returns the mask length of a prefix such as 192.0.2.0/24. func prefixMaskLength(prefix string) (int, error) { _, network, err := net.ParseCIDR(prefix) if err != nil { return 0, fmt.Errorf("invalid prefix %s: %w", prefix, err) } maskLength, _ := network.Mask.Size() return maskLength, nil }