Add initial provisioning API

This commit is contained in:
Tulir Asokan
2020-02-09 20:32:14 +02:00
parent 39e46833b4
commit 16dc3c8699
7 changed files with 370 additions and 3 deletions

10
main.go
View File

@ -102,6 +102,7 @@ type Bridge struct {
DB *database.Database
Log log.Logger
StateStore *database.SQLStateStore
Provisioning *ProvisioningAPI
Bot *appservice.IntentAPI
Formatter *Formatter
Relaybot *User
@ -208,6 +209,11 @@ func (bridge *Bridge) Init() {
bridge.DB.SetMaxOpenConns(bridge.Config.AppService.Database.MaxOpenConns)
bridge.DB.SetMaxIdleConns(bridge.Config.AppService.Database.MaxIdleConns)
ss := bridge.Config.AppService.Provisioning.SharedSecret
if len(ss) > 0 && ss != "disable" {
bridge.Provisioning = &ProvisioningAPI{bridge: bridge}
}
bridge.Log.Debugln("Initializing Matrix event processor")
bridge.EventProcessor = appservice.NewEventProcessor(bridge.AS)
bridge.Log.Debugln("Initializing Matrix event handler")
@ -221,6 +227,10 @@ func (bridge *Bridge) Start() {
bridge.Log.Fatalln("Failed to initialize database:", err)
os.Exit(15)
}
if bridge.Provisioning != nil {
bridge.Log.Debugln("Initializing provisioning API")
bridge.Provisioning.Init()
}
bridge.LoadRelaybot()
bridge.Log.Debugln("Checking connection to homeserver")
bridge.ensureConnection()