Jade/main.go

56 lines
1.4 KiB
Go

package main
import (
"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")
// Main routes
app.Get("/", ChatPageHandler)
app.Get("/loadChat", LoadChatHandler)
// Chat routes
app.Post("/requestMultipleMessages", RequestMultipleMessages)
app.Post("/deleteMessage", DeleteMessageHandler)
app.Get("/generateMultipleMessages", GenerateMultipleMessages)
app.Get("/messageContent", GetMessageContentHandler)
// Popovers
app.Get("/loadModelSelection", LoadModelSelectionHandler)
app.Get("/loadUsageKPI", LoadUsageKPIHandler)
// Authentication
app.Get("/signin", handleUiSignIn)
app.Get("/signout", handleSignOut)
app.Get("/callback", handleCallback)
app.Get("/callbackSignup", handleCallbackSignup)
// Start server
app.Listen(":8080")
}