Files
hspguard/cmd/hspguard/main.go
2025-05-24 17:45:37 +02:00

53 lines
1002 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/storage"
"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)
fStorage := storage.New()
user.EnsureAdminUser(ctx, repo)
host := os.Getenv("HOST")
if host == "" {
host = "127.0.0.1"
}
port := os.Getenv("PORT")
if port == "" {
port = "3000"
}
server := api.NewAPIServer(fmt.Sprintf("%s:%s", host, port), repo, fStorage)
if err := server.Run(); err != nil {
log.Fatalln("ERR: Failed to start server:", err)
}
}