Skip to content

feat: add Teams (Circles) async API [TEST PR]#403

Draft
bigcat88 wants to merge 2 commits intomainfrom
feat/teams-circles-api
Draft

feat: add Teams (Circles) async API [TEST PR]#403
bigcat88 wants to merge 2 commits intomainfrom
feat/teams-circles-api

Conversation

@bigcat88
Copy link
Contributor

Summary

Closes #343

  • Adds async-only _AsyncTeamsAPI module (nc_py_api/teams.py) for managing Nextcloud Teams (Circles)
  • Full CRUD: create, get_list, get_details, destroy, edit_name, edit_description, edit_config
  • Member management: add_member, add_members, remove_member, set_member_level, confirm_member, join, leave
  • Data classes: Circle, Member with typed properties
  • Enums: MemberType, MemberLevel, CircleConfig (IntFlag)
  • Registered on _AsyncNextcloudBasic — available on both AsyncNextcloud and AsyncNextcloudApp

Following the async-only policy for new features — no sync variant.

Test plan

  • 17 async tests in tests/actual_tests/teams_test.py
  • test_teams_available and test_teams_create_destroy run in both client and AppAPI modes (anc fixture)
  • Circle CRUD: create, get_list, get_details, destroy, edit_name, edit_description, edit_config
  • Member lifecycle: add_member, add_members (multi), remove_member, set_member_level
  • Join/leave open circle flow
  • Personal and local circle creation
  • Error handling: destroy nonexistent circle raises NextcloudException
  • Full suite: 613 passed, 6 skipped, 0 failures

bigcat88 and others added 2 commits February 19, 2026 14:37
Implements issue #343 — adds async-only Teams/Circles API to nc_py_api.

New module `nc_py_api/teams.py` provides:
- Data classes: Circle, Member
- Enums: MemberType, MemberLevel, CircleConfig
- _AsyncTeamsAPI with methods: available, get_list, create, get_details,
  destroy, edit_name, edit_description, edit_config, get_members,
  add_member, add_members, remove_member, set_member_level,
  confirm_member, join, leave

Registered on _AsyncNextcloudBasic (AsyncNextcloud + AsyncNextcloudApp).
17 tests covering both client and AppAPI modes.
@bigcat88 bigcat88 changed the title feat: add Teams (Circles) async API feat: add Teams (Circles) async API [TEST PR] Feb 19, 2026
@oleksandr-nc oleksandr-nc added this to the 1.0.0 milestone Feb 19, 2026
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.

Teams management (formerly known as circles)

2 participants