Files
eve-typesense-mirrorer/main.go

64 lines
1.3 KiB
Go

package main
import (
"context"
"flag"
"os"
logger "git.site.quack-lab.dev/dave/cylogger"
"eve-typesense-api/internal/database"
"eve-typesense-api/internal/mirror"
"eve-typesense-api/internal/typesense"
)
const (
TypesenseKey = "#L46&&8UeJGE675zRR3kqzd6K!k6an7w"
TypesenseURL = "https://eve-typesense.site.quack-lab.dev/"
)
func main() {
flag.Parse()
logger.InitFlag()
logger.Default = logger.Default.ToFile("eve-typesense-api.log")
logger.Info("Starting EVE Typesense API...")
// Initialize database
if err := database.Init(); err != nil {
logger.Error("Failed to initialize database: %v", err)
os.Exit(1)
}
logger.Info("Database initialized")
// Initialize Typesense client
if err := typesense.Init(); err != nil {
logger.Error("Failed to initialize Typesense: %v", err)
os.Exit(1)
}
logger.Info("Typesense initialized")
// Run mirroring
results := mirror.Mirror(context.Background())
// Report results
successCount := 0
errorCount := 0
totalDocs := int64(0)
for _, result := range results {
if result.Error != nil {
errorCount++
logger.Error("Error mirroring %s: %v", result.TableName, result.Error)
} else {
successCount++
totalDocs += result.Count
}
}
logger.Info("Mirroring complete: %d tables, %d documents, %d errors", successCount, totalDocs, errorCount)
if errorCount > 0 {
os.Exit(1)
}
}