Jade/main.go
2024-05-05 21:43:54 +02:00

57 lines
1.8 KiB
Go

package main
import (
"fmt"
"github.com/flosch/pongo2"
"github.com/gofiber/fiber/v2"
"github.com/gofiber/fiber/v2/middleware/logger"
"github.com/gofiber/template/django/v3"
)
var userTmpl *pongo2.Template
var botTmpl *pongo2.Template
func main() {
botTmpl = pongo2.Must(pongo2.FromFile("views/partials/message-bot.html"))
userTmpl = pongo2.Must(pongo2.FromFile("views/partials/message-user.html"))
// Import HTML using django engine/template
engine := django.New("./views", ".html")
// Create new Fiber instance. Can use any framework. I use fiber for speed and simplicity
app := fiber.New(fiber.Config{
Views: engine,
AppName: "JADE 2.0",
EnablePrintRoutes: true,
})
// Add default logger
app.Use(logger.New())
// Add static files
app.Static("/", "./static")
// Add routes
app.Get("/", ChatPageHandler) // Complete chat page
app.Post("/requestMultipleMessages", RequestMultipleMessages) // Request multiple messages
app.Get("/loadChat", LoadChatHandler) // Load chat
app.Post("/deleteMessage", DeleteMessageHandler) // Delete message
app.Get("/loadModelSelection", LoadModelSelectionHandler) // Load model selection
app.Get("/loadUsageKPI", LoadUsageKPIHandler) // Load usage KPI
app.Get("/generateMultipleMessages", GenerateMultipleMessages) // Generate multiple messages
app.Get("/messageContent", GetMessageContentHandler)
app.Get("/auth/ui/signin", handleUiSignIn)
app.Get("/auth/ui/signup", handleUiSignUp)
app.Get("/auth/callback", handleCallback)
app.Get("/auth/callbackSignup", handleCallbackSignup)
app.Get("test", func(c *fiber.Ctx) error {
fmt.Println("test")
return c.SendString("")
})
// Start server
app.Listen(":8080")
}