aboutsummaryrefslogtreecommitdiff
path: root/setup/config/config_syncapi.go
diff options
context:
space:
mode:
Diffstat (limited to 'setup/config/config_syncapi.go')
-rw-r--r--setup/config/config_syncapi.go26
1 files changed, 26 insertions, 0 deletions
diff --git a/setup/config/config_syncapi.go b/setup/config/config_syncapi.go
index 4e302ae0..196afb82 100644
--- a/setup/config/config_syncapi.go
+++ b/setup/config/config_syncapi.go
@@ -9,6 +9,8 @@ type SyncAPI struct {
Database DatabaseOptions `yaml:"database,omitempty"`
RealIPHeader string `yaml:"real_ip_header"`
+
+ Fulltext Fulltext `yaml:"fulltext"`
}
func (c *SyncAPI) Defaults(opts DefaultOpts) {
@@ -18,6 +20,7 @@ func (c *SyncAPI) Defaults(opts DefaultOpts) {
c.ExternalAPI.Listen = "http://localhost:8073"
c.Database.Defaults(20)
}
+ c.Fulltext.Defaults(opts)
if opts.Generate {
if !opts.Monolithic {
c.Database.ConnectionString = "file:syncapi.db"
@@ -26,6 +29,7 @@ func (c *SyncAPI) Defaults(opts DefaultOpts) {
}
func (c *SyncAPI) Verify(configErrs *ConfigErrors, isMonolith bool) {
+ c.Fulltext.Verify(configErrs, isMonolith)
if isMonolith { // polylith required configs below
return
}
@@ -36,3 +40,25 @@ func (c *SyncAPI) Verify(configErrs *ConfigErrors, isMonolith bool) {
checkURL(configErrs, "sync_api.internal_api.connect", string(c.InternalAPI.Connect))
checkURL(configErrs, "sync_api.external_api.listen", string(c.ExternalAPI.Listen))
}
+
+type Fulltext struct {
+ Enabled bool `yaml:"enabled"`
+ IndexPath Path `yaml:"index_path"`
+ InMemory bool `yaml:"in_memory"` // only useful in tests
+ Language string `yaml:"language"` // the language to use when analysing content
+}
+
+func (f *Fulltext) Defaults(opts DefaultOpts) {
+ f.Enabled = false
+ f.IndexPath = "./fulltextindex"
+ f.Language = "en"
+ if opts.Generate {
+ f.Enabled = true
+ f.InMemory = true
+ }
+}
+
+func (f *Fulltext) Verify(configErrs *ConfigErrors, isMonolith bool) {
+ checkNotEmpty(configErrs, "syncapi.fulltext.index_path", string(f.IndexPath))
+ checkNotEmpty(configErrs, "syncapi.fulltext.language", f.Language)
+}