Files
EdgeAdmin/internal/web/actions/default/dns/domains/domainutils/utils.go

49 lines
1.0 KiB
Go
Raw Normal View History

2020-11-12 14:41:34 +08:00
package domainutils
import (
2020-11-16 13:03:45 +08:00
"github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb"
"github.com/iwind/TeaGo/lists"
"github.com/iwind/TeaGo/maps"
2020-11-12 14:41:34 +08:00
"regexp"
"strings"
)
// 校验域名格式
func ValidateDomainFormat(domain string) bool {
pieces := strings.Split(domain, ".")
for _, piece := range pieces {
if !regexp.MustCompile(`^[a-z0-9-]+$`).MatchString(piece) {
return false
}
}
return true
}
2020-11-16 13:03:45 +08:00
// 转换线路列表
func ConvertRoutesToMaps(routes []*pb.DNSRoute) []maps.Map {
result := []maps.Map{}
for _, route := range routes {
result = append(result, maps.Map{
"name": route.Name,
"code": route.Code,
})
}
return result
}
// 筛选线路
func FilterRoutes(routes []*pb.DNSRoute, allRoutes []*pb.DNSRoute) []*pb.DNSRoute {
routeCodes := []string{}
for _, route := range allRoutes {
routeCodes = append(routeCodes, route.Code)
}
result := []*pb.DNSRoute{}
for _, route := range routes {
if lists.ContainsString(routeCodes, route.Code) {
result = append(result, route)
}
}
return result
}