chore: move business tooling out of the public library; tidy filestore naming
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 1m19s
Tests / Test (Go 1.25) (pull_request) Successful in 1m24s
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 1m19s
Tests / Test (Go 1.25) (pull_request) Successful in 1m24s
Keep the public tree project-generic. Business/one-off tools, deployment and business docs move to the private oo-workspace repo. Moved to oo-workspace: - cmd/ooscan, cmd/pdfamount, cmd/kontoblatt, cmd/kontolink - internal/xlspipe (cutover-portugal workbook) -> oow workbook build (drops the --template/--title flags from oo docs put-xlsx) - deploy/docker-compose.rclone-webdav.yml + docs/rclone-webdav.md - docs/crm-associations.md Removed GitHub-era leftovers: - .github/workflows/release-please.yml, release-please-config.json, .release-please-manifest.json (tags are created on Gitea per SemVer) Naming: the FileStore subsystem is now filestore_*.go (was file_*.go) to match files_*.go (project Documents). Docs/AGENTS/README updated.
This commit is contained in:
@@ -3,8 +3,8 @@ type: reference
|
||||
status: current
|
||||
related:
|
||||
- README.md
|
||||
- file_core.go
|
||||
- file_facade.go
|
||||
- filestore_core.go
|
||||
- filestore_facade.go
|
||||
- docs/elasticsearch.md
|
||||
- docs/community-server-db.md
|
||||
---
|
||||
@@ -14,7 +14,7 @@ related:
|
||||
## Что это
|
||||
|
||||
Один файловый клиент на все бэкенды (эпик #34). Модель и интерфейсы —
|
||||
`file_core.go`. Фасад `FileClient` — `file_facade.go`. Бэкенды:
|
||||
`filestore_core.go`. Фасад `FileClient` — `filestore_facade.go`. Бэкенды:
|
||||
REST, WebDAV, SQL (PostgreSQL/MySQL), Elasticsearch. Правило одно:
|
||||
код зовёт `c.Files()` и не знает про транспорт.
|
||||
|
||||
@@ -56,18 +56,18 @@ type Searcher interface {
|
||||
}
|
||||
```
|
||||
|
||||
`TextIndex` (`file_es_text.go`) — свой индекс: `Put`, `Delete`, `Search`,
|
||||
`TextIndex` (`filestore_es_text.go`) — свой индекс: `Put`, `Delete`, `Search`,
|
||||
`Name`. `ESTextIndex` реализует и `Searcher`, и `TextIndex`.
|
||||
|
||||
## Бэкенды
|
||||
|
||||
| бэкенд | провайдер | файл | что умеет |
|
||||
|--------|-----------|------|-----------|
|
||||
| REST | `rest` | `file_rest.go` | read + write, Documents API |
|
||||
| WebDAV | `dav` | `file_dav.go` | read + write, Documents fileops |
|
||||
| SQL | `postgres` / `mysql` | `file_pg.go` | **read-only** |
|
||||
| OnlyOffice ES | `elasticsearch` | `file_es.go` | поиск (имя + контент Office) |
|
||||
| свой ES-индекс | `es-text` | `file_es_text.go` | поиск + запись (PDF/сканы) |
|
||||
| REST | `rest` | `filestore_rest.go` | read + write, Documents API |
|
||||
| WebDAV | `dav` | `filestore_dav.go` | read + write, Documents fileops |
|
||||
| SQL | `postgres` / `mysql` | `filestore_pg.go` | **read-only** |
|
||||
| OnlyOffice ES | `elasticsearch` | `filestore_es.go` | поиск (имя + контент Office) |
|
||||
| свой ES-индекс | `es-text` | `filestore_es_text.go` | поиск + запись (PDF/сканы) |
|
||||
|
||||
- REST: `Stat` знает только файлы; папки — через `List`.
|
||||
- WebDAV: `Move`/`Copy`/`Delete` сперва `Stat`-ят id (папка/файл), потом зовут
|
||||
@@ -202,4 +202,3 @@ go test ./ -run 'FileStore|Facade|ESText|PG'
|
||||
- [README.md](README.md) — индекс справочников.
|
||||
- [elasticsearch.md](elasticsearch.md) — индекс OnlyOffice и свой `oo_docs_text`.
|
||||
- [community-server-db.md](community-server-db.md) — SQL-стор и схема БД.
|
||||
- [rclone-webdav.md](rclone-webdav.md) — монтирование Documents как ФС.
|
||||
|
||||
Reference in New Issue
Block a user