Implements comprehensive batch metadata operations to make metadata management easier for developers who previously could only edit metadata one file at a time. New API Endpoints: 1. POST /api/v1/document/batch_set_meta - Update metadata for multiple documents at once - Supports partial success (some docs succeed, others fail) - Returns detailed per-document results 2. POST /api/v1/document/get_meta - Retrieve metadata for a single document - Returns doc ID, name, and metadata fields 3. POST /api/v1/document/batch_get_meta - Retrieve metadata for multiple documents - Returns metadata for all accessible documents - Handles authorization and errors per document 4. POST /api/v1/document/list_metadata_fields - List all unique metadata field names in a knowledge base - Shows field types, example values, and usage count - Helps discover existing metadata schema Features: - Batch operations reduce API calls and improve UX - Proper authorization checks for each document - Type validation (str, int, float only) - Partial success handling (continues on errors) - Metadata field discovery for KB-wide analysis - Comprehensive error handling and reporting Test Coverage: ✅ 10/10 unit tests passing - Request validation - Type checking - Response structure validation - Authorization logic - Partial success handling - JSON parsing - Field type tracking Benefits: - Batch update 100s of documents in one API call - Discover metadata schema across entire KB - Better error handling with per-document results - Maintains backward compatibility with existing /set_meta Fixes #11564 |
||
|---|---|---|
| .. | ||
| api | ||
| common | ||
| services | ||
| utils | ||