Skip to content

Add Group Folders app support (#109) - #118

Merged
a-schild merged 2 commits into
mainfrom
feature/109-group-folders
Jul 24, 2026
Merged

Add Group Folders app support (#109)#118
a-schild merged 2 commits into
mainfrom
feature/109-group-folders

Conversation

@a-schild

Copy link
Copy Markdown
Owner

Implements #109: support for the Group Folders app.

What is added

  • New org.aarboard.nextcloud.api.groupfolders package with a GroupFolders connector: create / rename / delete / list group folders, grant / revoke group access, set group permissions, and set the folder quota (sync + async variants).
  • NextcloudConnector facade methods for the common operations.
  • EmptyAnswerParser util for the no-body endpoints.

Notes

  • Reimplemented against the current Jakarta-based codebase, based on the implementation in Denis Verkhovsky's fork (credited in the changelog).
  • getQuota() returns raw bytes (and preserves the -3 unlimited sentinel) rather than the fork's GB division, which lost that value.
  • The list endpoint uses a small custom deserializer so both the object-keyed and array response shapes (and empty results) are handled.

Testing

  • The test container now installs the groupfolders app via occ.
  • TestGroupFolders exercises the full lifecycle (create -> list -> rename -> grant -> permissions -> quota -> revoke -> delete).
  • Validated by this PR's CI run.

Closes #109

🤖 Generated with Claude Code

a-schild and others added 2 commits July 24, 2026 12:16
New groupfolders package with a GroupFolders connector (create/rename/delete/
list folders, grant/revoke group access, set group permissions, set quota),
wired into NextcloudConnector. Reimplemented against the current Jakarta-based
code, based on the implementation in Denis Verkhovsky's fork.

The test container now installs the groupfolders app, and TestGroupFolders
exercises the full lifecycle.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The create response returns the full folder object (not just the id), and
the list response is an id-keyed object. Reuse the lenient GroupFolderInfo
for the create answer and let Jackson map the list natively (the empty-array
handling on the shared mapper makes the custom deserializer unnecessary).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@a-schild
a-schild merged commit 71e6fa5 into main Jul 24, 2026
1 check passed
@a-schild
a-schild deleted the feature/109-group-folders branch July 24, 2026 12:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add Group Folders app API support

1 participant