51 lines
1.6 KiB
Go
51 lines
1.6 KiB
Go
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)
|
|
}
|
|
}
|