oo dav ensure-path PATH [--under FOLDER_ID] — resolve-or-create вложенных папок Documents, идемпотентно (повторный вызов возвращает тот же id), печатает итоговый folder id. Корень по умолчанию — My documents (разрешается из @root, rootFolderType=5; fallback по заголовку).
oo dav upload DEST_FOLDER_ID LOCAL_FILE... [--replace] — загрузка локальных файлов (multipart) в папку. --replace (default true) = upsert по stem|ext через UploadToFolderReplacing; --replace=false = fail по конфликту через AssertNoFileConflict.\n\nНовых HTTP-путей нет — только обёртки над существующим клиентом (FileStore + UploadToFolderReplacing/UploadToFolder). Поведение существующих dav-команд не изменено.
Использование
oo dav ensure-path "Banks/Caixa"# → id
oo dav ensure-path "Banks/Caixa"# → тот же id
oo dav upload <id> ./f.xlsx # upsert
oo dav upload <id> ./f.xlsx --replace=false# fail при конфликте
Тесты
Unit (fake store): cmd/oo/dav_test.go — ensure-path создаёт/переиспользует папки, идемпотентность, отказ на пустой/..; upload replace/no-replace; регистрация команд и флагов.
Integration (gated, //go:build integration): cmd/oo/dav_integration_test.go — live ensure-path дважды, upload, replace, no-replace конфликт; скипается без ONLYOFFICE_*.
go test -race ./..., go vet ./... — зелёно. gofmt -l по изменённым файлам чисто (pre-existing unformatted cmd/office/* не трогал).
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Что
oo dav ensure-path PATH [--under FOLDER_ID]— resolve-or-create вложенных папок Documents, идемпотентно (повторный вызов возвращает тот же id), печатает итоговый folder id. Корень по умолчанию — My documents (разрешается из@root,rootFolderType=5; fallback по заголовку).oo dav upload DEST_FOLDER_ID LOCAL_FILE... [--replace]— загрузка локальных файлов (multipart) в папку.--replace(default true) = upsert по stem|ext черезUploadToFolderReplacing;--replace=false= fail по конфликту черезAssertNoFileConflict.\n\nНовых HTTP-путей нет — только обёртки над существующим клиентом (FileStore+UploadToFolderReplacing/UploadToFolder). Поведение существующих dav-команд не изменено.Использование
Тесты
cmd/oo/dav_test.go— ensure-path создаёт/переиспользует папки, идемпотентность, отказ на пустой/..; upload replace/no-replace; регистрация команд и флагов.//go:build integration):cmd/oo/dav_integration_test.go— live ensure-path дважды, upload, replace, no-replace конфликт; скипается безONLYOFFICE_*.go test -race ./...,go vet ./...— зелёно.gofmt -lпо изменённым файлам чисто (pre-existing unformattedcmd/office/*не трогал).Closes #80