feat(oo): native conversion, deep links, sheet export (re-land) #75

Merged
eSlider merged 9 commits from feat/oo-conversion-links into main 2026-09-22 22:42:07 +01:00
Owner

Re-lands the commits from the closed PR #73 that never reached main (only the first commit, project team CRUD, was merged).

Includes (8 feature commits + cleanup):

  • oo docs pdf | presigned — native DocumentServer conversion (JWT, presigneduri), incl. --stream/--pipe.
  • lib: PresignedURI / SignJWT / ConvertDocument / DownloadURLTo.
  • oo link + lib FileEditorURL / FolderURL (DocEditor deep links).
  • oo docs csv | json — sheet-aware worksheet export (excelize) with --sheet/--delimiter.
  • oo users check + lib AuthenticateAs (login probe).
  • oo projects files update | replace-in, milestone-delete, deep-link/user lifecycle docs.
  • README + .env.example updates.
  • Showroom cleanup of these files (no internal hosts, personal names or client file ids).

Verification: go build/vet/test green; gitleaks main..HEAD: no leaks.

Re-lands the commits from the closed PR #73 that never reached main (only the first commit, project team CRUD, was merged). Includes (8 feature commits + cleanup): - oo docs pdf | presigned — native DocumentServer conversion (JWT, presigneduri), incl. --stream/--pipe. - lib: PresignedURI / SignJWT / ConvertDocument / DownloadURLTo. - oo link + lib FileEditorURL / FolderURL (DocEditor deep links). - oo docs csv | json — sheet-aware worksheet export (excelize) with --sheet/--delimiter. - oo users check + lib AuthenticateAs (login probe). - oo projects files update | replace-in, milestone-delete, deep-link/user lifecycle docs. - README + .env.example updates. - Showroom cleanup of these files (no internal hosts, personal names or client file ids). Verification: go build/vet/test green; gitleaks main..HEAD: no leaks.
eSlider added 9 commits 2026-09-22 22:42:02 +01:00
- link: print Products/Files/DocEditor.aspx?fileid=… deep links (title+url)
- lib: FileEditorURL/FolderURL helpers (+tests)
- users check: verify credentials (userName vs email) via authentication.json
- projects files replace-in FOLDER_ID FILE...: hard delete same stem|ext in a
  folder + fresh upload → single clean version (no version history)
- link.go/links.go: third-party doc packs (fileid links), id-stability caveat
- auth.go AuthenticateAs / users check: email-vs-userName login finding
- projects files replace-in: version-history rationale
- lib: PresignedURI, SignJWT (HS256, stdlib), ConvertDocument (DocumentServer
  /converter; legacy /ConvertService.ashx), DownloadURLTo
- oo docs pdf FILE_ID|PATH...: OO file ids or local files (temp upload to
  --folder, convert, download, cleanup) -> PDF/other
- oo docs presigned FILE_ID
- docs base from $ONLYOFFICE_DOCS_URL else $ONLYOFFICE_URL/ds-vpath; JWT secret
  from $ONLYOFFICE_DS_SECRET (DocumentServer CoAuthoring secret)
- test: SignJWT
- lib: WorkbookSheetNames/CSV/JSON (excelize) — sheet selection + JSON rows
- oo docs csv  SRC... [--sheet N] [--delimiter ,|;|||tab] [--out]
- oo docs json SRC... [--sheet N] [--out]
- SRC = OO file id or local path; --sheet is 1-based (default first)
- DS csv output is first-sheet-only (verified) -> local reader for selection/JSON
- test: TestWorkbookSheetExport
chore: keep the re-landed feature files showroom-safe
Release Please / Release Please (push) Skipped
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 1m21s
Tests / Test (Go 1.25) (pull_request) Successful in 1m27s
ff46aad615
The conversion / link / sheet commits predate the tree cleanup, so their
comments and README/test examples still carried internal refs. Re-apply
the genericization (no internal hosts, personal names or client file ids).
eSlider merged commit 8848ee00f1 into main 2026-09-22 22:42:07 +01:00
eSlider deleted branch feat/oo-conversion-links 2026-09-22 22:42:07 +01:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: eSlider/go-onlyoffice#75