38 lines
673 B
Go

package app
import (
"github.com/gofiber/fiber/v2"
"github.com/gofiber/fiber/v2/middleware/cors"
"github.com/joho/godotenv"
"rul.sh/vaulterm/app/auth"
"rul.sh/vaulterm/app/hosts"
"rul.sh/vaulterm/app/keychains"
"rul.sh/vaulterm/app/ws"
"rul.sh/vaulterm/db"
)
func NewApp() *fiber.App {
// Load deps
godotenv.Load()
db.Init()
// Create fiber app
app := fiber.New(fiber.Config{ErrorHandler: ErrorHandler})
// Middlewares
app.Use(cors.New())
// Init app routes
auth.Router(app)
hosts.Router(app)
keychains.Router(app)
ws.Router(app)
// Health check
app.Get("/health-check", func(c *fiber.Ctx) error {
return c.SendString("OK")
})
return app
}