Library (files.go):
- Types: FileEntry, FolderEntry, ProjectFilesResponse.
- GetProjectFiles, GetTaskFiles, GetFile, UploadProjectFile (POST .../upload),
AttachFilesToTask (POST form files=), UploadTaskFile (upload+attach),
DetachTaskFile (DELETE ?fileid=), RenameFile, DeleteFiles, DownloadFile.
- Helpers: FileEntryNumericID, FileEntryTitle, SafeLocalFileName, projectIDFromTaskMap.
http.go: putJSON for JSON PUT bodies.
CLI: oo projects files {list,upload,download,rename,delete}, oo tasks files
{list,upload,detach}; projects_files.go + tasks_files.go.
Tests: files_integration_test.go (live), files_test.go + testdata (decode).
Docs: CHANGELOG 0.6.0, README, AGENTS.md, cmd/oo/main.go tree.
Made-with: Cursor
35 lines
1.1 KiB
Go
35 lines
1.1 KiB
Go
// Command oo is a thin CLI over the github.com/eslider/go-onlyoffice library.
|
|
//
|
|
// Command tree is subject-based (mirrors the library split and the `tea` CLI):
|
|
//
|
|
// oo calendar list | events | add | delete
|
|
// oo projects list | get | milestones | create | update | delete | files (list|upload|download|rename|delete)
|
|
// oo tasks list | get | create | update | delete | subtask add | files (list|upload|detach)
|
|
// oo users list | self (alias: oo whoami)
|
|
// oo contacts list | get | delete | info-add
|
|
// oo persons list | create | delete
|
|
// oo companies list | create | delete
|
|
// oo opportunities list | get | create | delete | stages | member-add
|
|
// oo cases list | create | delete | member-add
|
|
// oo crm-tasks list | create | delete | categories
|
|
// oo applications sync
|
|
//
|
|
// Every list supports `--output/-o json|table` (table is the default).
|
|
//
|
|
// Build & install:
|
|
//
|
|
// go install github.com/eslider/go-onlyoffice/cmd/oo@latest
|
|
package main
|
|
|
|
import (
|
|
"fmt"
|
|
"os"
|
|
)
|
|
|
|
func main() {
|
|
if err := execute(); err != nil {
|
|
fmt.Fprintln(os.Stderr, err)
|
|
os.Exit(1)
|
|
}
|
|
}
|