goshorly/routes/id.go

38 lines
659 B
Go

package routes
import (
"log"
"git.hackmi.ch/Phil/goshorly/db"
"git.hackmi.ch/Phil/goshorly/utils"
"github.com/gofiber/fiber/v2"
)
func ID(c *fiber.Ctx) error {
val, err := db.Get(c.Params("id"))
if err != nil {
if c.Get("CLI") == "1" {
return c.Status(404).JSON(&fiber.Map{
"error": true,
"url": "URL not found",
})
} else {
return c.Render("views/404", fiber.Map{
"BASEURL": utils.URL,
})
}
}
_, err = db.StatsIncreaseViewsLinks()
if err != nil {
log.Fatal(err.Error())
}
if c.Get("CLI") == "1" {
return c.Status(301).JSON(&fiber.Map{
"error": false,
"url": val,
})
}
return c.Redirect(val)
}