Skip to content

Commit e98fd5e

Browse files
committed
feat: Add support for EditDocumentsByFunction and ContainsFilter in ExperimentalFeatures
1 parent 01716ae commit e98fd5e

File tree

4 files changed

+332
-116
lines changed

4 files changed

+332
-116
lines changed

features.go

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,16 @@ func (ef *ExperimentalFeatures) SetMetrics(metrics bool) *ExperimentalFeatures {
3030
return ef
3131
}
3232

33+
func (ef *ExperimentalFeatures) SetEditDocumentsByFunction(editDocumentsByFunction bool) *ExperimentalFeatures {
34+
ef.EditDocumentsByFunction = &editDocumentsByFunction
35+
return ef
36+
}
37+
38+
func (ef *ExperimentalFeatures) SetContainsFilter(containsFilter bool) *ExperimentalFeatures {
39+
ef.ContainsFilter = &containsFilter
40+
return ef
41+
}
42+
3343
func (ef *ExperimentalFeatures) Get() (*ExperimentalFeaturesResult, error) {
3444
return ef.GetWithContext(context.Background())
3545
}
@@ -59,9 +69,11 @@ func (ef *ExperimentalFeatures) Update() (*ExperimentalFeaturesResult, error) {
5969

6070
func (ef *ExperimentalFeatures) UpdateWithContext(ctx context.Context) (*ExperimentalFeaturesResult, error) {
6171
request := ExperimentalFeaturesBase{
62-
VectorStore: ef.VectorStore,
63-
LogsRoute: ef.LogsRoute,
64-
Metrics: ef.Metrics,
72+
VectorStore: ef.VectorStore,
73+
LogsRoute: ef.LogsRoute,
74+
Metrics: ef.Metrics,
75+
EditDocumentsByFunction: ef.EditDocumentsByFunction,
76+
ContainsFilter: ef.ContainsFilter,
6577
}
6678
resp := new(ExperimentalFeaturesResult)
6779
req := &internalRequest{

features_test.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,11 +63,15 @@ func TestUpdate_ExperimentalFeatures(t *testing.T) {
6363
ef.SetVectorStore(true)
6464
ef.SetLogsRoute(true)
6565
ef.SetMetrics(true)
66+
ef.SetEditDocumentsByFunction(true)
67+
ef.SetContainsFilter(true)
6668
gotResp, err := ef.Update()
6769
require.NoError(t, err)
6870
require.Equal(t, true, gotResp.VectorStore, "ExperimentalFeatures.Update() should return vectorStore as true")
6971
require.Equal(t, true, gotResp.LogsRoute, "ExperimentalFeatures.Update() should return logsRoute as true")
7072
require.Equal(t, true, gotResp.Metrics, "ExperimentalFeatures.Update() should return metrics as true")
73+
require.Equal(t, true, gotResp.EditDocumentsByFunction, "ExperimentalFeatures.Update() should return editDocumentsByFunction as true")
74+
require.Equal(t, true, gotResp.ContainsFilter, "ExperimentalFeatures.Update() should return containsFilter as true")
7175
})
7276
}
7377
}

types.go

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -542,15 +542,19 @@ type DocumentsResult struct {
542542

543543
// ExperimentalFeaturesResult represents the experimental features result from the API.
544544
type ExperimentalFeaturesBase struct {
545-
VectorStore *bool `json:"vectorStore,omitempty"`
546-
LogsRoute *bool `json:"logsRoute,omitempty"`
547-
Metrics *bool `json:"metrics,omitempty"`
545+
VectorStore *bool `json:"vectorStore,omitempty"`
546+
LogsRoute *bool `json:"logsRoute,omitempty"`
547+
Metrics *bool `json:"metrics,omitempty"`
548+
EditDocumentsByFunction *bool `json:"editDocumentsByFunction,omitempty"`
549+
ContainsFilter *bool `json:"containsFilter,omitempty"`
548550
}
549551

550552
type ExperimentalFeaturesResult struct {
551-
VectorStore bool `json:"vectorStore"`
552-
LogsRoute bool `json:"logsRoute"`
553-
Metrics bool `json:"metrics"`
553+
VectorStore bool `json:"vectorStore"`
554+
LogsRoute bool `json:"logsRoute"`
555+
Metrics bool `json:"metrics"`
556+
EditDocumentsByFunction bool `json:"editDocumentsByFunction"`
557+
ContainsFilter bool `json:"containsFilter"`
554558
}
555559

556560
type SwapIndexesParams struct {

0 commit comments

Comments
 (0)