mirror of
https://github.com/pocketbase/pocketbase.git
synced 2026-10-18 20:18:15 +02:00
added basic fields wildcard support
This commit is contained in:
1 parent
ff6904f1f8
commit
cdbe6d78d3
3 files changed
+91
No files matched your search
@@ -5,6 +5,7 @@ import (
|
||||
"strings"
|
||||
|
||||
"github.com/labstack/echo/v5"
|
||||
"github.com/pocketbase/pocketbase/tools/list"
|
||||
"github.com/pocketbase/pocketbase/tools/search"
|
||||
)
|
||||
|
||||
@@ -94,6 +95,24 @@ func pickMapFields(data map[string]any, fields []string) {
|
||||
return // nothing to pick
|
||||
}
|
||||
|
||||
if list.ExistInSlice("*", fields) {
|
||||
// append all missing root level data keys
|
||||
for k := range data {
|
||||
var exists bool
|
||||
|
||||
for _, f := range fields {
|
||||
if strings.HasPrefix(f+".", k+".") {
|
||||
exists = true
|
||||
break
|
||||
}
|
||||
}
|
||||
|
||||
if !exists {
|
||||
fields = append(fields, k)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
DataLoop:
|
||||
for k := range data {
|
||||
matchingFields := make([]string, 0, len(fields))
|
||||
|
||||
Reference in new issue
Block a user