44 lines
831 B
Go
Raw Normal View History

2024-11-07 19:07:41 +00:00
package app
import (
"github.com/gofiber/fiber/v2"
"github.com/gofiber/fiber/v2/middleware/cors"
"github.com/joho/godotenv"
2024-11-16 02:34:07 +07:00
"rul.sh/vaulterm/server/app/auth"
"rul.sh/vaulterm/server/db"
"rul.sh/vaulterm/server/middleware"
"rul.sh/vaulterm/server/utils"
2024-11-07 19:07:41 +00:00
)
func NewApp() *fiber.App {
// Load deps
2024-11-16 02:34:07 +07:00
utils.CheckAndCreateEnvFile()
2024-11-07 19:07:41 +00:00
godotenv.Load()
db.Init()
// Create fiber app
app := fiber.New(fiber.Config{ErrorHandler: ErrorHandler})
app.Use(cors.New())
// Server info
app.Get("/server", func(c *fiber.Ctx) error {
return c.JSON(&fiber.Map{
"name": "Vaulterm",
"version": "0.0.1",
})
})
2024-11-07 19:07:41 +00:00
// Health check
app.Get("/health-check", func(c *fiber.Ctx) error {
return c.SendString("OK")
})
app.Use(middleware.Auth)
auth.Router(app)
app.Use(middleware.Protected())
InitRouter(app)
2024-11-07 19:07:41 +00:00
return app
}