diff options
author | Gabe Kangas <gabek@real-ity.com> | 2022-01-03 22:41:32 -0800 |
---|---|---|
committer | Gabe Kangas <gabek@real-ity.com> | 2022-01-06 23:02:48 -0800 |
commit | d41828d23bd1d92130c25cd8aa718e00b30c0b69 (patch) | |
tree | e1037bbd06659dad112e4c34de8f7e4bdde98d1e | |
parent | 60e1970a99a69a9c6b9434a83b34f925b7426dfc (diff) |
Set default go live message in migration. Closes #1642
-rw-r--r-- | core/data/data.go | 4 | ||||
-rw-r--r-- | core/data/defaults.go | 10 | ||||
-rw-r--r-- | core/data/migrations.go | 9 | ||||
-rw-r--r-- | core/data/persistence.go | 6 |
4 files changed, 26 insertions, 3 deletions
diff --git a/core/data/data.go b/core/data/data.go index bb5a3d71d..c28e7dccf 100644 --- a/core/data/data.go +++ b/core/data/data.go @@ -17,7 +17,7 @@ import ( ) const ( - schemaVersion = 2 + schemaVersion = 3 ) var ( @@ -125,6 +125,8 @@ func migrateDatabase(db *sql.DB, from, to int) error { migrateToSchema1(db) case 1: migrateToSchema2(db) + case 2: + migrateToSchema3(db) default: log.Fatalln("missing database migration step") } diff --git a/core/data/defaults.go b/core/data/defaults.go index 47524c291..7ecf868ad 100644 --- a/core/data/defaults.go +++ b/core/data/defaults.go @@ -14,6 +14,14 @@ func HasPopulatedDefaults() bool { return hasPopulated } +func hasPopulatedFederationDefaults() bool { + hasPopulated, err := _datastore.GetBool("HAS_POPULATED_FEDERATION_DEFAULTS") + if err != nil { + return false + } + return hasPopulated +} + // PopulateDefaults will set default values in the database. func PopulateDefaults() { defaults := config.GetDefaults() @@ -32,7 +40,7 @@ func PopulateDefaults() { _ = SetServerName("Owncast") _ = SetStreamKey(defaults.StreamKey) _ = SetExtraPageBodyContent("This is your page's content that can be edited in the admin.") - _ = SetFederationGoLiveMessage("I've gone live!") + _ = SetFederationGoLiveMessage(defaults.FederationGoLiveMessage) _ = SetSocialHandles([]models.SocialHandle{ { Platform: "github", diff --git a/core/data/migrations.go b/core/data/migrations.go index a2cbb99f3..faa4ed0ff 100644 --- a/core/data/migrations.go +++ b/core/data/migrations.go @@ -4,11 +4,19 @@ import ( "database/sql" "time" + "github.com/owncast/owncast/config" "github.com/owncast/owncast/utils" log "github.com/sirupsen/logrus" "github.com/teris-io/shortid" ) +func migrateToSchema3(_ *sql.DB) { + // Set default values for Federation settings when migrating to 0.0.11 + if err := SetFederationGoLiveMessage(config.GetDefaults().FederationGoLiveMessage); err != nil { + log.Errorln("error setting default to live message", err) + } +} + func migrateToSchema2(db *sql.DB) { // Since it's just a backlog of chat messages let's wipe the old messages // and recreate the table. @@ -119,7 +127,6 @@ func insertAPIToken(db *sql.DB, token string, name string, color int, scopes str return err } stmt, err := tx.Prepare("INSERT INTO users(id, access_token, display_name, display_color, scopes, type) values(?, ?, ?, ?, ?, ?)") - if err != nil { return err } diff --git a/core/data/persistence.go b/core/data/persistence.go index 606089496..9ed11ff58 100644 --- a/core/data/persistence.go +++ b/core/data/persistence.go @@ -9,6 +9,7 @@ import ( // sqlite requires a blank import. _ "github.com/mattn/go-sqlite3" + "github.com/owncast/owncast/config" "github.com/owncast/owncast/db" log "github.com/sirupsen/logrus" ) @@ -133,6 +134,11 @@ func (ds *Datastore) Setup() { PopulateDefaults() } + if !hasPopulatedFederationDefaults() { + SetFederationGoLiveMessage(config.GetDefaults().FederationGoLiveMessage) + _ = _datastore.SetBool("HAS_POPULATED_FEDERATION_DEFAULTS", true) + } + // Set the server initialization date if needed. if hasSetInitDate, _ := GetServerInitTime(); hasSetInitDate == nil || !hasSetInitDate.Valid { _ = SetServerInitTime(time.Now()) |