aboutsummaryrefslogtreecommitdiff
path: root/controllers
diff options
context:
space:
mode:
authorPriyansh <[email protected]>2025-08-25 11:40:19 +0530
committerPriyansh <[email protected]>2025-08-25 11:40:19 +0530
commita4d2b4c3d7b043b496ee2ecb51967dbd9785a1ef (patch)
tree157b54d7a1bfb613a34e1e3403c87270a7d8e515 /controllers
parentc336a3bab91186be1b998bba67e57d0797bd87ba (diff)
downloadmetachan-a4d2b4c3d7b043b496ee2ecb51967dbd9785a1ef.tar.xz
metachan-a4d2b4c3d7b043b496ee2ecb51967dbd9785a1ef.zip
updated routes, added episode ids to each episode
Diffstat (limited to 'controllers')
-rw-r--r--controllers/anime.go25
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")