package projects import ( db "ttime/internal/database" "ttime/internal/types" "github.com/gofiber/fiber/v2" "github.com/golang-jwt/jwt/v5" ) // CreateProject is a simple handler that creates a new project func CreateProject(c *fiber.Ctx) error { user := c.Locals("user").(*jwt.Token) p := new(types.NewProject) if err := c.BodyParser(p); err != nil { return c.Status(400).SendString(err.Error()) } // Get the username from the token and set it as the owner of the project // This is ugly but claims := user.Claims.(jwt.MapClaims) owner := claims["name"].(string) if err := db.GetDb(c).AddProject(p.Name, p.Description, owner); err != nil { return c.Status(500).SendString(err.Error()) } return c.Status(200).SendString("Project added") }