BREAKING:
- Binary renamed oo-cli → oo; install path is now
github.com/eslider/go-onlyoffice/cmd/oo.
- Former internal/cli tree removed; cobra commands live in cmd/oo/ as
package main, split by domain (calendar.go, crm.go, tasks.go, apps.go,
common.go, main.go).
- internal/applications moved to cmd/oo/applications/ (CV-specific workflow;
not a library feature).
- examples/applications removed (it depended on an internal package).
Library split (mechanical, zero API surface change):
- client.go — Client, Credentials, Defaults, env helpers, NewClient.
- request.go — Request, Query, Time, Token, MetaResponse, Permissions.
- auth.go — Authenticate/AuthenticateContext/InvalidateToken.
- http.go — transport + ResponseArray/ResponseObject/postFormObject/
putFormObject/deleteObject/unmarshalResponseObject (renamed
from httpx.go).
- projects.go, tasks.go, users.go, calendar.go, crm.go, files.go — typed
/ untyped domain methods. tasks_extra.go merged into tasks.go.
- onlyoffice.go deleted (content redistributed).
AGENTS.md, CHANGELOG.md, README.md updated accordingly.
Made-with: Cursor
25 lines
672 B
Go
25 lines
672 B
Go
// Command oo is a thin CLI over the github.com/eslider/go-onlyoffice library.
|
|
// It exposes calendar, CRM, tasks, subtasks, and application-sync commands.
|
|
//
|
|
// Build & install:
|
|
//
|
|
// go install github.com/eslider/go-onlyoffice/cmd/oo@latest
|
|
//
|
|
// Rationale: previous versions shipped as `oo-cli` with the cobra tree living
|
|
// in `internal/cli`. Since the CLI is a consumer of the library — not a part
|
|
// of its public surface — cobra lives right here in package main, split by
|
|
// domain (calendar.go, crm.go, tasks.go, apps.go).
|
|
package main
|
|
|
|
import (
|
|
"fmt"
|
|
"os"
|
|
)
|
|
|
|
func main() {
|
|
if err := execute(); err != nil {
|
|
fmt.Fprintln(os.Stderr, err)
|
|
os.Exit(1)
|
|
}
|
|
}
|