Fix matching
This commit is contained in:
@@ -148,7 +148,11 @@ func filterItemsByTag(items []*Item, filter string) ([]*Item, error) {
|
|||||||
}
|
}
|
||||||
for _, t := range tags {
|
for _, t := range tags {
|
||||||
if re != nil {
|
if re != nil {
|
||||||
if match, err := re.MatchString(t); match && err != nil {
|
match, err := re.MatchString(t)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
if match {
|
||||||
filteredItems = append(filteredItems, i)
|
filteredItems = append(filteredItems, i)
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
@@ -173,7 +177,11 @@ func filterItemsByQuery(items []*Item, filter string) ([]*Item, error) {
|
|||||||
for _, i := range items {
|
for _, i := range items {
|
||||||
name := i.Name
|
name := i.Name
|
||||||
if re != nil {
|
if re != nil {
|
||||||
if match, err := re.MatchString(name); match && err != nil {
|
match, err := re.MatchString(name)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
if match {
|
||||||
filteredItems = append(filteredItems, i)
|
filteredItems = append(filteredItems, i)
|
||||||
}
|
}
|
||||||
} else if name == filter {
|
} else if name == filter {
|
||||||
@@ -212,7 +220,11 @@ func filterAppsByQuery(items []Application, filter string) ([]Application, error
|
|||||||
for _, i := range items {
|
for _, i := range items {
|
||||||
name := i.Name
|
name := i.Name
|
||||||
if re != nil {
|
if re != nil {
|
||||||
if match, err := re.MatchString(name); match && err != nil {
|
match, err := re.MatchString(name)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
if match {
|
||||||
filteredItems = append(filteredItems, i)
|
filteredItems = append(filteredItems, i)
|
||||||
}
|
}
|
||||||
} else if name == filter {
|
} else if name == filter {
|
||||||
@@ -251,7 +263,11 @@ func filterHostsByQuery(items []Host, filter string) ([]Host, error) {
|
|||||||
for _, i := range items {
|
for _, i := range items {
|
||||||
name := i.Name
|
name := i.Name
|
||||||
if re != nil {
|
if re != nil {
|
||||||
if match, err := re.MatchString(name); match && err != nil {
|
match, err := re.MatchString(name)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
if match {
|
||||||
filteredItems = append(filteredItems, i)
|
filteredItems = append(filteredItems, i)
|
||||||
}
|
}
|
||||||
} else if name == filter {
|
} else if name == filter {
|
||||||
@@ -282,7 +298,11 @@ func filterGroupsByQuery(items []Group, filter string) ([]Group, error) {
|
|||||||
for _, i := range items {
|
for _, i := range items {
|
||||||
name := i.Name
|
name := i.Name
|
||||||
if re != nil {
|
if re != nil {
|
||||||
if match, err := re.MatchString(name); match && err != nil {
|
match, err := re.MatchString(name)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
if match {
|
||||||
filteredItems = append(filteredItems, i)
|
filteredItems = append(filteredItems, i)
|
||||||
}
|
}
|
||||||
} else if name == filter {
|
} else if name == filter {
|
||||||
|
|||||||
@@ -67,8 +67,8 @@ func splitKeyParams(paramStr string) []string {
|
|||||||
|
|
||||||
func parseFilter(filter string) (*regexp2.Regexp, error) {
|
func parseFilter(filter string) (*regexp2.Regexp, error) {
|
||||||
vaildREModifiers := "imncsxrde"
|
vaildREModifiers := "imncsxrde"
|
||||||
regex := regexp.MustCompile(`^/(.+)/(\w*)$`)
|
regex := regexp.MustCompile(`^/(.+)/([imncsxrde]*)$`)
|
||||||
flagRE := regexp.MustCompile("[" + vaildREModifiers + "]+")
|
flagRE := regexp.MustCompile(fmt.Sprintf("[%s]+", vaildREModifiers))
|
||||||
|
|
||||||
matches := regex.FindStringSubmatch(filter)
|
matches := regex.FindStringSubmatch(filter)
|
||||||
if len(matches) <= 1 {
|
if len(matches) <= 1 {
|
||||||
|
|||||||
Reference in New Issue
Block a user