Files
py-wikijs/wikijs/models/__init__.py
Claude d2003a0005 Implement Assets API with file/asset management operations
Implementation:
- Asset data models (wikijs/models/asset.py)
  - Asset, AssetFolder models
  - AssetUpload, AssetRename, AssetMove models
  - FolderCreate model
  - File size helpers (size_mb, size_kb)
  - Field validation and normalization

- Sync AssetsEndpoint (wikijs/endpoints/assets.py)
  - list(folder_id, kind) - List assets with filtering
  - get(asset_id) - Get single asset
  - rename(asset_id, new_filename) - Rename asset
  - move(asset_id, folder_id) - Move asset between folders
  - delete(asset_id) - Delete asset
  - list_folders() - List all folders
  - create_folder(slug, name) - Create new folder
  - delete_folder(folder_id) - Delete folder
  - Note: upload/download require multipart support (future enhancement)

- Async AsyncAssetsEndpoint (wikijs/aio/endpoints/assets.py)
  - Complete async implementation
  - Identical interface to sync version
  - All asset and folder management operations

- Integration with clients
  - WikiJSClient.assets
  - AsyncWikiJSClient.assets

GraphQL operations for asset and folder management.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-22 20:34:50 +00:00

49 lines
872 B
Python

"""Data models for wikijs-python-sdk."""
from .asset import (
Asset,
AssetFolder,
AssetMove,
AssetRename,
AssetUpload,
FolderCreate,
)
from .base import BaseModel
from .group import (
Group,
GroupAssignUser,
GroupCreate,
GroupPageRule,
GroupPermission,
GroupUnassignUser,
GroupUpdate,
GroupUser,
)
from .page import Page, PageCreate, PageUpdate
from .user import User, UserCreate, UserGroup, UserUpdate
__all__ = [
"Asset",
"AssetFolder",
"AssetMove",
"AssetRename",
"AssetUpload",
"BaseModel",
"FolderCreate",
"Group",
"GroupAssignUser",
"GroupCreate",
"GroupPageRule",
"GroupPermission",
"GroupUnassignUser",
"GroupUpdate",
"GroupUser",
"Page",
"PageCreate",
"PageUpdate",
"User",
"UserCreate",
"UserUpdate",
"UserGroup",
]