Implement Groups API with complete CRUD operations
Implementation: - Group data models (wikijs/models/group.py) - Group, GroupCreate, GroupUpdate models - GroupPermission, GroupPageRule, GroupUser models - GroupAssignUser, GroupUnassignUser models - Field validation and normalization - Sync GroupsEndpoint (wikijs/endpoints/groups.py) - list() - List all groups with users - get(group_id) - Get single group - create(group_data) - Create new group - update(group_id, group_data) - Update existing group - delete(group_id) - Delete group - assign_user(group_id, user_id) - Add user to group - unassign_user(group_id, user_id) - Remove user from group - Async AsyncGroupsEndpoint (wikijs/aio/endpoints/groups.py) - Complete async implementation - Identical interface to sync version - All CRUD operations + user management - Integration with clients - WikiJSClient.groups - AsyncWikiJSClient.groups GraphQL operations for all group management features. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -27,7 +27,7 @@ from ..utils import (
|
||||
parse_wiki_response,
|
||||
)
|
||||
from ..version import __version__
|
||||
from .endpoints import AsyncPagesEndpoint, AsyncUsersEndpoint
|
||||
from .endpoints import AsyncGroupsEndpoint, AsyncPagesEndpoint, AsyncUsersEndpoint
|
||||
|
||||
|
||||
class AsyncWikiJSClient:
|
||||
@@ -104,8 +104,9 @@ class AsyncWikiJSClient:
|
||||
# Endpoint handlers (will be initialized when session is created)
|
||||
self.pages = AsyncPagesEndpoint(self)
|
||||
self.users = AsyncUsersEndpoint(self)
|
||||
self.groups = AsyncGroupsEndpoint(self)
|
||||
# Future endpoints:
|
||||
# self.groups = AsyncGroupsEndpoint(self)
|
||||
# self.assets = AsyncAssetsEndpoint(self)
|
||||
|
||||
def _get_session(self) -> aiohttp.ClientSession:
|
||||
"""Get or create aiohttp session.
|
||||
|
||||
Reference in New Issue
Block a user