package main import ( "context" "e621_to_neo4j/api" "e621_to_neo4j/database" neo4j "e621_to_neo4j/database/neo4j" "e621_to_neo4j/e621" "e621_to_neo4j/utils" log "github.com/sirupsen/logrus" "net/http" "os" "strings" ) func init() { // Log as JSON instead of the default ASCII formatter. //log.SetFormatter(&log.JSONFormatter{}) // Output to stdout instead of the default stderr // Can be any io.Writer, see below for File example log.SetOutput(os.Stdout) // Only log the warning severity or above. log.SetLevel(log.DebugLevel) // Logging Method Name //log.SetReportCaller(true) } func main() { var graphConnection database.GraphConnection ctx := context.Background() // Loads Config config, err := utils.LoadConfig() if err != nil { log.Println(err) } switch strings.ToLower(config.DBType) { case "neo4j": log.Println("Setup Neo4J Connection") graphConnection = neo4j.NewNeo4JConnection() err = graphConnection.Connect(ctx, config.DBEndpoint, config.DBUsername, config.DBPassword) if err != nil { panic(err) } log.Println("Connection successful") default: panic("No Database was selected!") } // Initialize the e621API e621Client := e621.NewClient(config.E621APIKey, config.E621Username) log.Printf("Im ready!") // Register the UserHandler with the "/user" route http.HandleFunc("/user", api.UserHandler(ctx, graphConnection, e621Client)) // Start the HTTP server err = http.ListenAndServe(":8080", nil) if err != nil { return } }