2 Commits

Author SHA1 Message Date
Claude
c7e53b652b Fix all Pydantic v2 deprecation warnings (17 model classes)
Convert deprecated class Config pattern to modern ConfigDict pattern
across all data models:

- models/asset.py: Updated 6 classes (AssetFolder, Asset, AssetUpload,
  AssetRename, AssetMove, FolderCreate)
- models/group.py: Updated 8 classes (GroupPermission, GroupPageRule,
  GroupUser, Group, GroupCreate, GroupUpdate, GroupAssignUser,
  GroupUnassignUser)
- models/user.py: Updated 3 classes (User, UserCreate, UserUpdate)

Changes:
- Added ConfigDict import from pydantic
- Replaced 'class Config:' with 'model_config = ConfigDict(...)'
- Preserved all config options (populate_by_name, str_strip_whitespace)

Impact:
- Eliminated 19 Pydantic deprecation warnings
- All 423 tests still passing
- No breaking changes to functionality
- Future-proofed for Pydantic v3

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-23 01:59:15 +00:00
Claude
fc96472d55 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>
2025-10-22 20:27:22 +00:00