Skip to content

Commit 3742175

Browse files
committed
feat: support query for equals only claims
1 parent abe50b1 commit 3742175

File tree

3 files changed

+21
-0
lines changed

3 files changed

+21
-0
lines changed

pkg/service/service.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,7 @@ var targetClaims = map[types.QueryType][]multicodec.Code{
9393
types.QueryTypeStandardCompressed: {metadata.EqualsClaimID, metadata.IndexClaimID, metadata.LocationCommitmentID},
9494
types.QueryTypeLocation: {metadata.LocationCommitmentID},
9595
types.QueryTypeIndexOrLocation: {metadata.IndexClaimID, metadata.LocationCommitmentID},
96+
types.QueryTypeEquals: {metadata.EqualsClaimID},
9697
}
9798

9899
type queryResult struct {

pkg/service/service_test.go

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -307,6 +307,23 @@ func TestQuery(t *testing.T) {
307307
_, err := service.Query(t.Context(), query)
308308
require.NoError(t, err)
309309
})
310+
311+
t.Run("equals query: equals only", func(t *testing.T) {
312+
query := types.Query{
313+
Type: types.QueryTypeEquals,
314+
Hashes: []mh.Multihash{contentHash},
315+
}
316+
317+
expectedQueryKey := providerindex.QueryKey{
318+
Hash: contentHash,
319+
TargetClaims: []multicodec.Code{metadata.EqualsClaimID},
320+
}
321+
322+
mockProviderIndex.EXPECT().Find(extmocks.AnyContext, expectedQueryKey).Return([]model.ProviderResult{}, nil)
323+
324+
_, err := service.Query(t.Context(), query)
325+
require.NoError(t, err)
326+
})
310327
})
311328

312329
t.Run("returns error when ProviderIndex service errors", func(t *testing.T) {

pkg/types/types.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,7 @@ const (
114114
QueryTypeLocation
115115
QueryTypeIndexOrLocation
116116
QueryTypeStandardCompressed
117+
QueryTypeEquals
117118
)
118119

119120
func (qt QueryType) String() string {
@@ -126,6 +127,8 @@ func (qt QueryType) String() string {
126127
return "index_or_location"
127128
case QueryTypeStandardCompressed:
128129
return "standard_compressed"
130+
case QueryTypeEquals:
131+
return "equals"
129132
default:
130133
return "invalid"
131134
}

0 commit comments

Comments
 (0)