diff --git a/CHANGELOG.md b/CHANGELOG.md index 05273b70..6810bc00 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,2 +1,10 @@ +# 0.90.13 +- Added new function `utils.RenameDirectory` to rename directory +- Added new function `(*DbConfig) BackupAssets` to backup a customized theme and place into a directory named `assets_backup`. Only for migration 0.80 to 0.90+, entirely new frontend. +- Updated JS function `convertToChartData` to return an empty chart data if API response was empty. +- Updated `banner.png` to make a bit smaller, (680px) +- Fixed method that returns `no such table: services` on startup, check table first. +- Fixed version from not being added into Core table. [Issue #436](https://github.com/statping/statping/issues/436) + # 0.90.12 - Fixed MySQL timestamp formatting. (issue #432) \ No newline at end of file diff --git a/cmd/main.go b/cmd/main.go index ff3696aa..6d83e91c 100644 --- a/cmd/main.go +++ b/cmd/main.go @@ -19,6 +19,7 @@ import ( "flag" "fmt" "github.com/getsentry/sentry-go" + "github.com/statping/statping/types/core" "os" "os/signal" "syscall" @@ -48,10 +49,6 @@ var ( confgs *configs.DbConfig ) -func init() { - -} - // parseFlags will parse the application flags // -ip = 0.0.0.0 IP address for outgoing HTTP server // -port = 8080 Port number for outgoing HTTP server @@ -75,6 +72,11 @@ func exit(err error) { os.Exit(2) } +func init() { + core.App = new(core.Core) + core.App.Version = VERSION +} + // main will run the Statping application func main() { var err error @@ -129,12 +131,14 @@ func main() { exit(err) } - exists := confgs.Db.HasTable("core") - if !exists { + if !confgs.Db.HasTable("core") { var srvs int64 - confgs.Db.Model(&services.Service{}).Count(&srvs) - if srvs > 0 { - exit(errors.Wrap(err, "there are already services setup.")) + if confgs.Db.HasTable(&services.Service{}) { + confgs.Db.Model(&services.Service{}).Count(&srvs) + if srvs > 0 { + exit(errors.Wrap(err, "there are already services setup.")) + return + } } if err := confgs.DropDatabase(); err != nil { diff --git a/database/database.go b/database/database.go index f05ce1e9..3e8405ed 100644 --- a/database/database.go +++ b/database/database.go @@ -155,12 +155,6 @@ func (it *Db) MultipleSelects(args ...string) Database { return it.Select(joined) } -func OrderStatus(status []string) func(db *gorm.DB) *gorm.DB { - return func(db *gorm.DB) *gorm.DB { - return db.Scopes(AmountGreaterThan1000).Where("status IN (?)", status) - } -} - type Db struct { Database *gorm.DB Type string @@ -180,7 +174,21 @@ func Openw(dialect string, args ...interface{}) (db Database, err error) { } func OpenTester() (Database, error) { - newDb, err := Openw("sqlite3", fmt.Sprintf("file:%s?mode=memory&cache=shared", utils.RandomString(12))) + testDB := utils.Getenv("TEST_DB", "sqlite3").(string) + var dbParamsstring string + switch testDB { + case "mysql": + dbParamsstring = fmt.Sprintf("root:password123@tcp(localhost:3306)/statping?charset=utf8&parseTime=True&loc=UTC&time_zone=%%27UTC%%27") + case "postgres": + dbParamsstring = fmt.Sprintf("host=localhost port=5432 user=root dbname=statping password=password123 timezone=UTC") + default: + dbParamsstring = fmt.Sprintf("file:%s?mode=memory&cache=shared", utils.RandomString(12)) + } + fmt.Println(testDB, dbParamsstring) + newDb, err := Openw(testDB, dbParamsstring) + if err != nil { + return nil, err + } newDb.DB().SetMaxOpenConns(1) return newDb, err } diff --git a/frontend/public/banner.png b/frontend/public/banner.png index 5aa272e1..0378161b 100644 Binary files a/frontend/public/banner.png and b/frontend/public/banner.png differ diff --git a/frontend/src/forms/Setup.vue b/frontend/src/forms/Setup.vue index b244010d..7b246533 100644 --- a/frontend/src/forms/Setup.vue +++ b/frontend/src/forms/Setup.vue @@ -1,7 +1,7 @@