From a4d2b4c3d7b043b496ee2ecb51967dbd9785a1ef Mon Sep 17 00:00:00 2001 From: Priyansh Date: Mon, 25 Aug 2025 11:40:19 +0530 Subject: updated routes, added episode ids to each episode --- services/anime/helpers.go | 30 +++++++++++++++++++++++------- 1 file changed, 23 insertions(+), 7 deletions(-) (limited to 'services') diff --git a/services/anime/helpers.go b/services/anime/helpers.go index 3231676..932dbc2 100644 --- a/services/anime/helpers.go +++ b/services/anime/helpers.go @@ -1,6 +1,7 @@ package anime import ( + "crypto/md5" "crypto/tls" "fmt" "metachan/types" @@ -15,17 +16,33 @@ import ( "time" ) -// generateBasicEpisodes creates a basic list of episode data from Jikan episodes +func generateEpisodeID(titles types.EpisodeTitles) string { + var title string + if titles.English != "" { + title = titles.English + } else if titles.Romaji != "" { + title = titles.Romaji + } else { + title = titles.Japanese + } + + hash := md5.Sum([]byte(title)) + return fmt.Sprintf("%x", hash) +} + func generateBasicEpisodes(episodes []jikan.JikanAnimeEpisode) []types.AnimeSingleEpisode { var animeEpisodes []types.AnimeSingleEpisode for _, episode := range episodes { + titles := types.EpisodeTitles{ + English: episode.Title, + Japanese: episode.TitleJapanese, + Romaji: episode.TitleRomaji, + } + animeEpisodes = append(animeEpisodes, types.AnimeSingleEpisode{ - Titles: types.EpisodeTitles{ - English: episode.Title, - Japanese: episode.TitleJapanese, - Romaji: episode.TitleRomaji, - }, + ID: generateEpisodeID(titles), + Titles: titles, Aired: episode.Aired, Score: episode.Score, Filler: episode.Filler, @@ -34,7 +51,6 @@ func generateBasicEpisodes(episodes []jikan.JikanAnimeEpisode) []types.AnimeSing URL: episode.URL, Description: "No description available", ThumbnailURL: "", - // Stream field removed }) } return animeEpisodes -- cgit v1.2.3