Recovers 7 model classes (UserStorageQuota, AutomatedTask, ExternalKBService,
KnowledgeDocumentChunk, MCPServer, OSSStorageConfig, TaskExecutionLog) and the
gen_uuid helper that were lost in the mass file-deletion (5d7f32d). These are
required by the restored admin modules (storage_admin/asset_admin/etc). Verified
at runtime: /health=200 and all restored admin routers serve 200.
Backend:
- Add OSSStorageConfig model (models.py)
- Create storage_admin.py API (9 endpoints): stats, CRUD, toggle, set-default, test connection
- Register route /app/api/admin/storage in main.py
- Create oss_storage_configs table in MySQL
Frontend:
- Add Storage.tsx admin page (713 lines) with stats, table, create/edit modal
- Register /admin/storage route in App.tsx
- Add nav item and icon in AdminLayout.tsx
- Add 9 API methods in api/index.ts