aboutsummaryrefslogtreecommitdiff
path: root/controllers/anime.go
blob: be740ce0bfe5cac8fca8b7b38496e8bef5c747cf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
package controllers

import (
	"errors"
	"metachan/utils/mal"
	"metachan/utils/meta"
	"strconv"

	"github.com/gofiber/fiber/v2"
)

func GetAnime(c *fiber.Ctx) error {
	idString := meta.Request(c).MustHave().Param("id")

	malID, parseErr := strconv.Atoi(idString)
	if parseErr != nil {
		return BadRequest(c, errors.New("invalid MAL ID"))
	}

	anime, fetchErr := mal.GetAnimeByMALID(malID)
	if fetchErr != nil {
		return NotFound(c, fetchErr)
	}

	return c.JSON(anime)
}