summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGabe Kangas <gabek@real-ity.com>2022-01-03 22:41:32 -0800
committerGabe Kangas <gabek@real-ity.com>2022-01-06 23:02:48 -0800
commitd41828d23bd1d92130c25cd8aa718e00b30c0b69 (patch)
treee1037bbd06659dad112e4c34de8f7e4bdde98d1e
parent60e1970a99a69a9c6b9434a83b34f925b7426dfc (diff)
Set default go live message in migration. Closes #1642
-rw-r--r--core/data/data.go4
-rw-r--r--core/data/defaults.go10
-rw-r--r--core/data/migrations.go9
-rw-r--r--core/data/persistence.go6
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())