package models // import ( // "strconv" // "time" // ) // type Popularity struct { // ShowID string `json:"show_id"` // TimesViewed int `json:"times_viewed"` // } // type TvShow struct { // ShowID string `json:"show_id"` // Title string `json:"title"` // Runtime int `json:"runtime"` // Votes int `json:"votes"` // AvgRating float64 `json:"avg_rating"` // MedianRating float64 `json:"median_rating"` // Seasons []Season `json:"seasons"` // } // type Season struct { // Number int `json:"number"` // AvgRating float64 `json:"avg_rating"` // MedianRating float64 `json:"median_rating"` // Votes int `json:"votes"` // Episodes []Episode `json:"episodes"` // } // type Episode struct { // Number int `json:"number"` // EpisodeID string `json:"episode_id"` // Title string `json:"title"` // Aired time.Time `json:"aired"` // AvgRating float64 `json:"avg_rating"` // Votes int `json:"votes"` // } // func (tvShow *TvShow) TvShowBuilder(tvShowDTO TvShowDTO) { // tvShow.ShowID = tvShowDTO.ShowID // tvShow.Title = tvShowDTO.Title // tvShow.Runtime, _ = strconv.Atoi(tvShowDTO.Runtime) // lastSeasonNumber := tvShowDTO.Episodes[len(tvShowDTO.Episodes)-1].SeasonID // if lastSeasonNumber == -1 { // lastSeasonNumber = tvShowDTO.Episodes[len(tvShowDTO.Episodes)-2].SeasonID // } // seasons := make([]Season, lastSeasonNumber) // for currentSeason := 1; currentSeason <= lastSeasonNumber; currentSeason++ { // for _, episode := range tvShowDTO.Episodes { // if episode.SeasonID == currentSeason { // seasons[currentSeason-1].Number = currentSeason // seasons[currentSeason-1].Episodes = append(seasons[currentSeason-1].Episodes, Episode{ // Number: episode.Number, // EpisodeID: episode.EpisodeID, // Title: episode.Title, // Aired: episode.Aired.Time, // AvgRating: episode.AvgRating, // Votes: episode.Votes, // }) // } // } // } // tvShow.Seasons = seasons // }