From 54f33437ff5eb02ce16b9db2d671f7320802a888 Mon Sep 17 00:00:00 2001 From: Florian Schade Date: Mon, 19 Oct 2026 15:18:57 +0200 Subject: [PATCH] fix(frontend): report content search only when full-text search is enabled --- services/frontend/pkg/revaconfig/config.go | 2 +- .../frontend/pkg/revaconfig/config_test.go | 35 +++++++++++++++++++ 2 files changed, 36 insertions(+), 1 deletion(-) create mode 100644 services/frontend/pkg/revaconfig/config_test.go diff --git a/services/frontend/pkg/revaconfig/config.go b/services/frontend/pkg/revaconfig/config.go index afa7018f8b..bc3eb5f1b2 100644 --- a/services/frontend/pkg/revaconfig/config.go +++ b/services/frontend/pkg/revaconfig/config.go @@ -328,7 +328,7 @@ func FrontendConfigFromStruct(cfg *config.Config, logger log.Logger) (map[string "enabled": true, }, "content": map[string]any{ - "enabled": true, + "enabled": cfg.FullTextSearch, }, "scope": map[string]any{ "enabled": true, diff --git a/services/frontend/pkg/revaconfig/config_test.go b/services/frontend/pkg/revaconfig/config_test.go new file mode 100644 index 0000000000..fbaf731150 --- /dev/null +++ b/services/frontend/pkg/revaconfig/config_test.go @@ -0,0 +1,35 @@ +package revaconfig + +import ( + "testing" + + "github.com/stretchr/testify/require" + + "github.com/opencloud-eu/opencloud/pkg/log" + "github.com/opencloud-eu/opencloud/pkg/shared" + "github.com/opencloud-eu/opencloud/services/frontend/pkg/config/defaults" +) + +func TestContentSearchCapabilityFollowsFullTextSearch(t *testing.T) { + for _, enabled := range []bool{true, false} { + cfg := defaults.FullDefaultConfig() + cfg.Commons = &shared.Commons{} + cfg.FullTextSearch = enabled + + rcfg, err := FrontendConfigFromStruct(cfg, log.NopLogger()) + require.NoError(t, err) + + got := dig(t, rcfg, "http", "services", "ocs", "capabilities", "capabilities", "search", "property", "content")["enabled"] + require.Equal(t, enabled, got) + } +} + +func dig(t *testing.T, m map[string]any, keys ...string) map[string]any { + t.Helper() + for _, k := range keys { + next, ok := m[k].(map[string]any) + require.True(t, ok, "no map at %q", k) + m = next + } + return m +}