Files

53 lines
1.4 KiB
Go

package main
import (
"context"
"log"
"net/http"
"time"
. "git.gorlug.de/code/ersteller"
erstellerEnt "git.gorlug.de/code/ersteller/schema/ent"
"git.gorlug.de/code/ersteller/starter/ent"
"git.gorlug.de/code/ersteller/starter/env"
"git.gorlug.de/code/ersteller/starter/example"
"git.gorlug.de/code/ersteller/starter/routes"
)
func main() {
GlobalI18n = GlobalI18nImplementation{}
environment := env.LoadEnvironment()
client, err := ent.Open("sqlite3", environment.DatabaseUrl,
ent.Log(log.Println))
if err != nil {
log.Fatalf("failed opening connection to sqlite: %v", err)
}
defer client.Close()
entClient, err := erstellerEnt.Open("sqlite3", environment.DatabaseUrl)
if err != nil {
log.Fatalf("failed opening connection to sqlite: %v", err)
}
defer entClient.Close()
ctx, cancel := context.WithTimeout(context.Background(), time.Minute*5)
defer cancel()
err = entClient.Schema.Create(ctx)
if err != nil {
log.Fatalf("failed creating schema resources: %v", err)
}
exampleWorkflow := example.CreateExampleWorkflow(entClient)
Debug("example workflow created:", exampleWorkflow)
if err := client.Schema.Create(ctx); err != nil {
log.Fatalf("failed creating schema resources: %v", err)
}
Debug("starting white label app on port 8090")
handler := routes.CreateApi(environment, client, entClient, exampleWorkflow)
log.Fatal(http.ListenAndServe(":8090", handler))
}