aboutsummaryrefslogtreecommitdiff
path: root/controllers
diff options
context:
space:
mode:
authorBobby <[email protected]>2026-02-24 15:02:38 +0530
committerBobby <[email protected]>2026-02-24 15:02:38 +0530
commitc6ff27b989047cf0af8d6cf2aa86c8e80547cf10 (patch)
tree55206173780ba073611d72fca135fedfd0322cb4 /controllers
parent17b77153a862ad1eb3babe1e34e748363ac9916c (diff)
downloadmetachan-c6ff27b989047cf0af8d6cf2aa86c8e80547cf10.tar.xz
metachan-c6ff27b989047cf0af8d6cf2aa86c8e80547cf10.zip
Add GetAnimeEpisodes endpoint and implement episode retrieval logic
Diffstat (limited to 'controllers')
-rw-r--r--controllers/anime.go18
1 files changed, 18 insertions, 0 deletions
diff --git a/controllers/anime.go b/controllers/anime.go
index 3f5f692..85b1d72 100644
--- a/controllers/anime.go
+++ b/controllers/anime.go
@@ -27,6 +27,24 @@ func GetAnime(c *fiber.Ctx) error {
return c.JSON(anime)
}
+func GetAnimeEpisodes(c *fiber.Ctx) error {
+ id := meta.Request(c).MustHave().Param("id")
+ provider := meta.Request(c).Default("mal").Query("provider")
+
+ switch provider {
+ case "mal", "anilist":
+ default:
+ return BadRequest(c, errors.New("invalid provider"))
+ }
+
+ episodes, err := repositories.GetAnimeEpisodes(enums.MappingType(provider), id)
+ if err != nil {
+ return NotFound(c, err)
+ }
+
+ return c.JSON(episodes)
+}
+
// -- Old Code Below --
// import (