41 lines
823 B
Go
41 lines
823 B
Go
package api
|
|
|
|
import (
|
|
"backend/database"
|
|
"backend/model"
|
|
"fmt"
|
|
|
|
"github.com/gofiber/fiber/v2"
|
|
"github.com/golang-jwt/jwt/v5"
|
|
)
|
|
|
|
func CreateCategory(c *fiber.Ctx) error {
|
|
user := c.Locals("user").(*jwt.Token)
|
|
claims := user.Claims.(jwt.MapClaims)
|
|
userid := claims["id"].(string)
|
|
requestdata := new(model.Category)
|
|
fmt.Println(string(c.Body()))
|
|
if err := c.BodyParser(requestdata); err != nil {
|
|
return c.Status(
|
|
fiber.StatusBadRequest,
|
|
).JSON(
|
|
fiber.Map{
|
|
"error": "Cannot parse request body",
|
|
},
|
|
)
|
|
}
|
|
fmt.Println(requestdata)
|
|
requestdata.UserID = userid
|
|
err := database.CreateCategory(requestdata)
|
|
if err != nil {
|
|
return c.Status(
|
|
fiber.StatusInternalServerError,
|
|
).JSON(
|
|
fiber.Map{
|
|
"error": err,
|
|
},
|
|
)
|
|
}
|
|
return c.Status(fiber.StatusOK).JSON(fiber.Map{"status": "ok"})
|
|
}
|