1
0
mirror of https://github.com/pocketbase/pocketbase.git synced 2025-11-24 15:14:30 +02:00

set allowHiddenFields to prevent infinite recursion

This commit is contained in:
Gani Georgiev
2025-11-01 14:54:22 +02:00
parent 482fe2bce0
commit 153ad12e64

View File

@@ -267,16 +267,14 @@ func (r *RecordFieldResolver) registerJoin(tableName string, tableAlias string,
} }
func (r *RecordFieldResolver) updateCollectionJoinWithListRuleSubquery(c *Collection, j *join) { func (r *RecordFieldResolver) updateCollectionJoinWithListRuleSubquery(c *Collection, j *join) {
if c == nil { if c == nil || r.allowHiddenFields {
return return
} }
// resolve to empty set for superusers only collections // resolve to empty set for superusers only collections
// (treat all collection fields as "hidden") // (treat all collection fields as "hidden")
if c.ListRule == nil { if c.ListRule == nil {
if !r.allowHiddenFields { j.on = dbx.NewExp("1=2")
j.on = dbx.NewExp("1=2")
}
return return
} }
@@ -295,6 +293,7 @@ func (r *RecordFieldResolver) updateCollectionJoinWithListRuleSubquery(c *Collec
cloneR := *r cloneR := *r
cloneR.joins = []*join{} cloneR.joins = []*join{}
cloneR.baseCollection = c cloneR.baseCollection = c
cloneR.allowHiddenFields = true
expr, err := search.FilterData(*c.ListRule).BuildExpr(&cloneR) expr, err := search.FilterData(*c.ListRule).BuildExpr(&cloneR)
if err != nil { if err != nil {