feat(files): SQL file backend via Client.FileStore/SQLFileStore + live MySQL integration (#55)
Release Please / Release Please (push) Skipped
Release / GoReleaser (push) Skipped
Tests / Secret scan (gitleaks) (push) Skipped
Tests / Test (Go 1.25) (push) Skipped
Tests / Test (Go stable) (push) Skipped
Tests / Secret scan (gitleaks) (pull_request) Successful in 4s
Tests / Test (Go stable) (pull_request) Successful in 24s
Tests / Test (Go 1.25) (pull_request) Successful in 26s

This commit is contained in:
2026-09-16 21:26:15 +00:00
parent 046882b8ef
commit a6bba30438
9 changed files with 269 additions and 34 deletions
+3 -3
View File
@@ -45,7 +45,7 @@ func (c *Client) newFileClient() *FileClient {
ProviderDAV: &davStore{c: c},
},
searchers: map[string]Searcher{},
readOrder: []string{ProviderPG, ProviderREST, ProviderDAV},
readOrder: []string{ProviderPG, ProviderMySQL, ProviderREST, ProviderDAV},
writeOrder: []string{ProviderREST, ProviderDAV},
searchOrder: []string{ProviderES},
}
@@ -88,8 +88,8 @@ func (f *FileClient) RegisterSearcher(name string, s Searcher) {
f.searchers[name] = s
}
// Read returns the preferred backend for reads: PostgreSQL when registered,
// then REST, then WebDAV.
// Read returns the preferred backend for reads: the SQL store (PostgreSQL or
// MySQL) when registered, then REST, then WebDAV.
func (f *FileClient) Read() FileStore { return f.firstStore(f.readOrder) }
// Write returns the preferred backend for writes: REST, then WebDAV.