package handlers import "bookhoard/internal/database" // MediaDetail embeds database.MediaItems for complete book metadata // No field duplication - template gets direct access to all database fields type MediaDetail struct { database.MediaItems // Embedded - ALL book fields available // User-specific data Rating *database.MediaRatings `json:"rating,omitempty"` Collections []database.Collections `json:"collections"` ReadingProgress *database.ReadingProgress `json:"reading_progress,omitempty"` // Conflict data (if exists) ActiveConflict *ConflictDetailResponse `json:"active_conflict,omitempty"` // Computed counts NotesCount int `json:"notes_count"` HighlightsCount int `json:"highlights_count"` }