package book // Book is a model for storing chapters, author, title, and total pages type Book struct { Title string `json:"title"` Chapters []Chapter `json:"chapters"` TotalPages int `json:"total_pages"` } // Chapter is a model that holds chaper number and pages within that chapter type Chapter struct { Index int `json:"index"` // Chapter number Pages []Page `json:"pages"` } // Page is model that stores page number and paragraphs type Page struct { Index int `json:"index"` Paragraphs []Paragraph `json:"paragraphs"` } // Paragraph is a model that stores paragraph number and lines type Paragraph struct { Index int `json:"index"` Lines []Line `json:"lines"` } // Line is an interface for storing the content of a line type Line struct { Index int `json:"index"` Content any `json:"content"` } // Dialogue is a model that stores the speaker, and text type Dialogue struct { Speaker *string `json:"speaker,omitempty"` Content string `json:"content"` } // Narration is a model that stores text that isnt dialogue type Narration struct { Content string `json:"content"`