MoosicBox Admin HTMX
Basic HTMX API endpoints for administration functionality in MoosicBox.
Overview
The MoosicBox Admin HTMX package provides:
- API Endpoints: Basic REST endpoints for administrative operations
- Service Integration: Interfaces with Qobuz and Tidal streaming services
- Scan Management: Library scan control and status endpoints
- Info Retrieval: System information and status endpoints
Current Implementation
Available API Modules
- Scan API: Control music library scanning operations
- Info API: Retrieve system and server information
- Qobuz API: Qobuz streaming service integration endpoints
- Tidal API: Tidal streaming service integration endpoints
- Utilities: Common API utilities and helpers
Features
- Library Scanning: Trigger and monitor library scans
- Service Status: Check status of integrated streaming services
- System Info: Basic system information retrieval
- Error Handling: Structured error responses
- HTMX Integration: Designed to work with HTMX frontend requests
Installation
From Source
# Clone and build
Usage
API Endpoints
The package provides REST API endpoints that can be integrated into a web server:
use api;
// Example integration (actual web server setup depends on your framework)
// GET /admin/scan/status - Get scan status
// POST /admin/scan/start - Start library scan
// GET /admin/info - Get system info
// GET /admin/qobuz/status - Check Qobuz service status
// GET /admin/tidal/status - Check Tidal service status
Scan Operations
# Check scan status
# Start a library scan
# Get scan progress
Service Status
# Check Qobuz service status
# Check Tidal service status
# Get system information
Development
Building
# Build the library
# Build with API feature
API Development
The package provides modular API endpoints:
use ;
// Endpoints are organized by functionality:
// - scan: Library scanning operations
// - info: System information
// - qobuz: Qobuz service integration
// - tidal: Tidal service integration
// - util: Common utilities
Implementation Notes
- Currently provides API endpoints only (no web interface)
- Designed for HTMX frontend integration
- Modular structure allows selective feature usage
- Error handling follows standard HTTP response patterns
- Built with async/await support for non-blocking operations
Future Development
The package is structured to support future expansion into:
- Full web administration interface
- User management functionality
- Configuration management
- Real-time status monitoring
- Dashboard implementation
Contributing
To contribute to this package:
- Focus on the API modules in
src/api/ - Follow the existing pattern for new endpoints
- Ensure proper error handling and response formatting
- Add tests for new functionality
- Update documentation for new endpoints