Added frontend
This commit is contained in:
@@ -0,0 +1,70 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"database/sql"
|
||||
"log"
|
||||
"path/filepath"
|
||||
"quay/app/routes"
|
||||
"quay/internal/config"
|
||||
"quay/internal/database"
|
||||
"quay/internal/envconfig"
|
||||
"quay/internal/fiberconfig"
|
||||
|
||||
"github.com/gofiber/fiber/v3"
|
||||
"github.com/joho/godotenv"
|
||||
)
|
||||
|
||||
// @title Quay API
|
||||
// @version 1.0
|
||||
// @description Self-hosted static site deployment service
|
||||
// @host localhost:4321
|
||||
// @BasePath /api/v1
|
||||
|
||||
// @tag.name Sites
|
||||
// @tag.description Manage sites
|
||||
|
||||
// @tag.name Forward-Rules
|
||||
// @tag.description Manage redirect rules for a site
|
||||
|
||||
// @tag.name Custom-Headers
|
||||
// @tag.description Manage custom header groups for a site
|
||||
|
||||
// @tag.name Headers
|
||||
// @tag.description Manage individual headers within a custom header group
|
||||
|
||||
func main() {
|
||||
_ = godotenv.Load()
|
||||
|
||||
envCfg := envconfig.Load()
|
||||
|
||||
configFilePath := filepath.Join(envCfg.ConfigDir, "config.yaml")
|
||||
cfg, err := config.Load(configFilePath)
|
||||
if err != nil {
|
||||
panic("Failed to load config: " + err.Error())
|
||||
}
|
||||
|
||||
dbPath := filepath.Join(envCfg.ConfigDir, "db.sqlite")
|
||||
db, err := database.ConnectSQLite(dbPath)
|
||||
if err != nil {
|
||||
log.Fatal("Failed to connect to database:", err)
|
||||
}
|
||||
log.Println("Connected to database")
|
||||
defer func(db *sql.DB) {
|
||||
err := db.Close()
|
||||
if err != nil {
|
||||
log.Println("Failed to close database:", err)
|
||||
}
|
||||
}(db)
|
||||
|
||||
err = database.InitializeSQLite(db)
|
||||
if err != nil {
|
||||
log.Fatal("Failed to initialize database:", err)
|
||||
}
|
||||
|
||||
app := fiber.New()
|
||||
|
||||
fiberconfig.Setup(app)
|
||||
routes.Register(app, cfg, &envCfg, db)
|
||||
|
||||
log.Fatal(app.Listen(":" + envCfg.Port))
|
||||
}
|
||||
Reference in New Issue
Block a user