feat: scaffold files service
This commit is contained in:
34
README.md
Normal file
34
README.md
Normal file
@@ -0,0 +1,34 @@
|
||||
# Files Service
|
||||
|
||||
Единый сервис файлов Portal: папки, документы Office, Google-ссылки, PDF/медиа, доступы и временные ссылки.
|
||||
|
||||
## Что уже заложено
|
||||
|
||||
- `files_nodes` — дерево папок и файлов.
|
||||
- `files_access` — прямой доступ `view/edit`, наследуется от родительских папок.
|
||||
- `files_public_links` — временные ссылки на просмотр/скачивание.
|
||||
- MinIO-хранилище для бинарных файлов.
|
||||
- InternalAuth через Portal (`X-Internal-Key`, `X-User-Id`).
|
||||
|
||||
## Основные API
|
||||
|
||||
- `GET /api/nodes?scope=my|shared&parent_id=<uuid>`
|
||||
- `POST /api/folders`
|
||||
- `POST /api/files` multipart: `file`, `parent_id`, `title`
|
||||
- `GET /api/nodes/{id}`
|
||||
- `PATCH /api/nodes/{id}`
|
||||
- `DELETE /api/nodes/{id}`
|
||||
- `GET /api/nodes/{id}/download`
|
||||
- `GET /api/nodes/{id}/access`
|
||||
- `PUT /api/nodes/{id}/access`
|
||||
- `POST /api/nodes/{id}/public-links`
|
||||
- `GET /public/{token}`
|
||||
- `GET /public/{token}/download`
|
||||
|
||||
## Миграционный путь
|
||||
|
||||
1. Подключить proxy Portal `/api/files-service/*` к этому сервису.
|
||||
2. Сделать новый UI `Файлы`: `Мои файлы` и `Доступные мне`.
|
||||
3. Перенести старые `office_documents` и `google_sheets` в `files_nodes`.
|
||||
4. После проверки выключить старые `/api/office` и `/api/sheets`.
|
||||
|
||||
Reference in New Issue
Block a user