diff options
| author | Priyansh <[email protected]> | 2025-08-25 11:40:19 +0530 |
|---|---|---|
| committer | Priyansh <[email protected]> | 2025-08-25 11:40:19 +0530 |
| commit | a4d2b4c3d7b043b496ee2ecb51967dbd9785a1ef (patch) | |
| tree | 157b54d7a1bfb613a34e1e3403c87270a7d8e515 /controllers | |
| parent | c336a3bab91186be1b998bba67e57d0797bd87ba (diff) | |
| download | metachan-a4d2b4c3d7b043b496ee2ecb51967dbd9785a1ef.tar.xz metachan-a4d2b4c3d7b043b496ee2ecb51967dbd9785a1ef.zip | |
updated routes, added episode ids to each episode
Diffstat (limited to 'controllers')
| -rw-r--r-- | controllers/anime.go | 25 |
1 files changed, 23 insertions, 2 deletions
diff --git a/controllers/anime.go b/controllers/anime.go index baaf6f9..11da647 100644 --- a/controllers/anime.go +++ b/controllers/anime.go @@ -22,7 +22,7 @@ func getAnimeService() *animeService.Service { } // GetAnimeByMALID fetches anime details by MAL ID -func GetAnimeByMALID(c *fiber.Ctx) error { +func GetAnime(c *fiber.Ctx) error { mapping, err := getAnimeMapping(c) if err != nil { return err @@ -44,7 +44,7 @@ func GetAnimeByMALID(c *fiber.Ctx) error { } // GetAnimeEpisodesByMALID fetches anime episodes by MAL ID -func GetAnimeEpisodesByMALID(c *fiber.Ctx) error { +func GetAnimeEpisodes(c *fiber.Ctx) error { mapping, err := getAnimeMapping(c) if err != nil { return err @@ -66,6 +66,27 @@ func GetAnimeEpisodesByMALID(c *fiber.Ctx) error { return c.JSON(anime.Episodes) } +func GetAnimeCharacters(c *fiber.Ctx) error { + mapping, err := getAnimeMapping(c) + if err != nil { + return err + } + + service := getAnimeService() + anime, err := service.GetAnimeDetails(mapping) + if err != nil { + logger.Log("Failed to fetch anime characters: "+err.Error(), logger.LogOptions{ + Level: logger.Error, + Prefix: "AnimeAPI", + }) + return c.Status(fiber.StatusInternalServerError).JSON(fiber.Map{ + "error": "Failed to fetch anime characters", + }) + } + + return c.JSON(anime.Characters) +} + func getAnimeMapping(c *fiber.Ctx) (*entities.AnimeMapping, error) { isAnilist := c.Query("provider") == "anilist" malID := c.Params("id") |
