Files
hspguard/cmd/hspguard/main.go
2025-05-21 19:26:14 +02:00

50 lines
916 B
Go

package main
import (
"context"
"fmt"
"log"
"os"
"gitea.local/admin/hspguard/cmd/hspguard/api"
"gitea.local/admin/hspguard/internal/repository"
"gitea.local/admin/hspguard/internal/user"
"github.com/jackc/pgx/v5"
"github.com/joho/godotenv"
)
func main() {
err := godotenv.Load()
if err != nil {
log.Fatalln("ERR: Failed to load environment variables:", err)
return
}
ctx := context.Background()
conn, err := pgx.Connect(ctx, os.Getenv("DATABASE_URL"))
if err != nil {
log.Fatalln("ERR: Failed to connect to db:", err)
return
}
repo := repository.New(conn)
user.EnsureAdminUser(ctx, repo)
host := os.Getenv("HOST")
if host == "" {
host = "0.0.0.0"
}
port := os.Getenv("PORT")
if port == "" {
port = "3000"
}
server := api.NewAPIServer(fmt.Sprintf("127.0.0.1:%s", port), repo)
if err := server.Run(); err != nil {
log.Fatalln("ERR: Failed to start server:", err)
}
}