Skip to content

Commit e6e1bac

Browse files
authored
chore: Change query package to use new schema v2 accessor methods (#2659)
1 parent e55404b commit e6e1bac

File tree

3 files changed

+25
-16
lines changed

3 files changed

+25
-16
lines changed

pkg/query/build_tree.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ func (b *iteratorBuilder) buildIteratorFromSchemaInternal(definitionName string,
7575
// Track the position in the sentinels list before building
7676
sentinelsLenBefore := len(b.recursiveSentinels)
7777

78-
def, ok := b.schema.Definitions()[definitionName]
78+
def, ok := b.schema.GetTypeDefinition(definitionName)
7979
if !ok {
8080
// Remove before returning error
8181
delete(b.building, id)
@@ -84,9 +84,9 @@ func (b *iteratorBuilder) buildIteratorFromSchemaInternal(definitionName string,
8484

8585
var result Iterator
8686
var err error
87-
if p, ok := def.Permissions()[relationName]; ok {
87+
if p, ok := def.GetPermission(relationName); ok {
8888
result, err = b.buildIteratorFromPermission(p)
89-
} else if r, ok := def.Relations()[relationName]; ok {
89+
} else if r, ok := def.GetRelation(relationName); ok {
9090
result, err = b.buildIteratorFromRelation(r, withSubRelations)
9191
} else {
9292
err = fmt.Errorf("BuildIteratorFromSchema: couldn't find a relation or permission named `%s` in definition `%s`", relationName, definitionName)
@@ -160,7 +160,7 @@ func (b *iteratorBuilder) buildIteratorFromPermission(p *schema.Permission) (Ite
160160
func (b *iteratorBuilder) buildIteratorFromOperation(p *schema.Permission, op schema.Operation) (Iterator, error) {
161161
switch perm := op.(type) {
162162
case *schema.ArrowReference:
163-
rel, ok := p.Parent().Relations()[perm.Left()]
163+
rel, ok := p.Parent().GetRelation(perm.Left())
164164
if !ok {
165165
return nil, fmt.Errorf("BuildIteratorFromSchema: couldn't find left-hand relation for arrow `%s->%s` for permission `%s` in definition `%s`", perm.Left(), perm.Right(), p.Name(), p.Parent().Name())
166166
}
@@ -208,7 +208,7 @@ func (b *iteratorBuilder) buildIteratorFromOperation(p *schema.Permission, op sc
208208
return NewExclusion(mainIt, excludedIt), nil
209209

210210
case *schema.FunctionedArrowReference:
211-
rel, ok := p.Parent().Relations()[perm.Left()]
211+
rel, ok := p.Parent().GetRelation(perm.Left())
212212
if !ok {
213213
return nil, fmt.Errorf("BuildIteratorFromSchema: couldn't find arrow relation `%s` for functioned arrow `%s.%s(%s)` for permission `%s` in definition `%s`", perm.Left(), perm.Left(), functionTypeString(perm.Function()), perm.Right(), p.Name(), p.Parent().Name())
214214
}

pkg/query/build_tree_test.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -189,10 +189,10 @@ func TestBuildTreeArrowOperation(t *testing.T) {
189189
require.NotNil(dsSchema)
190190

191191
// Verify that the schema contains definitions with arrow-like operations
192-
docDef, ok := dsSchema.Definitions()["document"]
192+
docDef, ok := dsSchema.GetTypeDefinition("document")
193193
require.True(ok, "should find document definition")
194194

195-
viewPerm, ok := docDef.Permissions()["view"]
195+
viewPerm, ok := docDef.GetPermission("view")
196196
require.True(ok, "should find view permission that contains arrow operations")
197197
require.NotNil(viewPerm.Operation, "view permission should have operation defined")
198198
}
@@ -781,10 +781,10 @@ func TestBuildTreeWildcardIterator(t *testing.T) {
781781
require.NoError(err)
782782

783783
// Verify the schema has the wildcard BaseRelation
784-
documentDef := dsSchema.Definitions()["document"]
785-
require.NotNil(documentDef)
786-
viewerRelation := documentDef.Relations()["viewer"]
787-
require.NotNil(viewerRelation)
784+
documentDef, ok := dsSchema.GetTypeDefinition("document")
785+
require.True(ok)
786+
viewerRelation, ok := documentDef.GetRelation("viewer")
787+
require.True(ok)
788788
require.Len(viewerRelation.BaseRelations(), 1)
789789
baseRel := viewerRelation.BaseRelations()[0]
790790
require.True(baseRel.Wildcard(), "BaseRelation should have Wildcard: true")

pkg/query/quick_e2e_test.go

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,11 @@ func TestCheck(t *testing.T) {
3030
// by iterating through the relationships in the schema and then walking them.
3131
//
3232
// In this case, it's a little contrived.
33-
vande := NewRelationIterator(dsSchema.Definitions()["document"].Relations()["viewer_and_editor"].BaseRelations()[0])
34-
edit := NewRelationIterator(dsSchema.Definitions()["document"].Relations()["editor"].BaseRelations()[0])
33+
docDef, _ := dsSchema.GetTypeDefinition("document")
34+
vandeRel, _ := docDef.GetRelation("viewer_and_editor")
35+
vande := NewRelationIterator(vandeRel.BaseRelations()[0])
36+
editRel, _ := docDef.GetRelation("editor")
37+
edit := NewRelationIterator(editRel.BaseRelations()[0])
3538
it := NewIntersection()
3639
it.addSubIterator(vande)
3740
it.addSubIterator(edit)
@@ -63,7 +66,9 @@ func TestBaseIterSubjects(t *testing.T) {
6366
dsSchema, err := schema.BuildSchemaFromDefinitions(objectDefs, nil)
6467
require.NoError(err)
6568

66-
vande := NewRelationIterator(dsSchema.Definitions()["document"].Relations()["viewer_and_editor"].BaseRelations()[0])
69+
docDef, _ := dsSchema.GetTypeDefinition("document")
70+
vandeRel, _ := docDef.GetRelation("viewer_and_editor")
71+
vande := NewRelationIterator(vandeRel.BaseRelations()[0])
6772

6873
ctx := &Context{
6974
Context: t.Context(),
@@ -93,8 +98,12 @@ func TestCheckArrow(t *testing.T) {
9398
require.NoError(err)
9499

95100
// This is effectively `permission foo = parent_folder->viewer`
96-
folders := NewRelationIterator(dsSchema.Definitions()["document"].Relations()["parent"].BaseRelations()[0])
97-
view := NewRelationIterator(dsSchema.Definitions()["folder"].Relations()["viewer"].BaseRelations()[0])
101+
docDef, _ := dsSchema.GetTypeDefinition("document")
102+
parentRel, _ := docDef.GetRelation("parent")
103+
folders := NewRelationIterator(parentRel.BaseRelations()[0])
104+
folderDef, _ := dsSchema.GetTypeDefinition("folder")
105+
viewRel, _ := folderDef.GetRelation("viewer")
106+
view := NewRelationIterator(viewRel.BaseRelations()[0])
98107
it := NewArrow(folders, view)
99108

100109
ctx := &Context{

0 commit comments

Comments
 (0)