package main import ( "git.stuve.uni-ulm.de/stuve-it/stuve-it-backend/analyticsApi" "git.stuve.uni-ulm.de/stuve-it/stuve-it-backend/emailApi" "git.stuve.uni-ulm.de/stuve-it/stuve-it-backend/eventEntriesNotifier" "git.stuve.uni-ulm.de/stuve-it/stuve-it-backend/ldapApi" "git.stuve.uni-ulm.de/stuve-it/stuve-it-backend/ldapSync" "git.stuve.uni-ulm.de/stuve-it/stuve-it-backend/logger" "git.stuve.uni-ulm.de/stuve-it/stuve-it-backend/qrApi" "github.com/joho/godotenv" "github.com/pocketbase/pocketbase" "github.com/pocketbase/pocketbase/core" "log" ) func main() { // load env err := godotenv.Load(".env.local") if err != nil { logger.LogInfoF("The file '.env.local' could not be loaded: %v", err) } // create app app := pocketbase.New() // setup ldap sync app.OnBeforeServe().Add(func(e *core.ServeEvent) error { return ldapSync.InitLdapSync(app) }) // setup ldap login app.OnBeforeServe().Add(func(e *core.ServeEvent) error { return ldapApi.InitLdapApi(app, e) }) // setup analytics api app.OnBeforeServe().Add(func(e *core.ServeEvent) error { return analyticsApi.InitAnalyticsApi(app, e) }) // setup qr api app.OnBeforeServe().Add(func(e *core.ServeEvent) error { return qrApi.InitQRApi(app, e) }) // setup eventEntriesNotifier email notifications app.OnBeforeServe().Add(func(e *core.ServeEvent) error { return eventEntriesNotifier.InitEventEntriesNotifier(app, e) }) // setup email api app.OnBeforeServe().Add(func(e *core.ServeEvent) error { return emailApi.InitEmailApi(app, e) }) // start app if err := app.Start(); err != nil { log.Fatal(err) } }