diff --git a/frontend/src/API.js b/frontend/src/API.js
index ee62954a..8a0d3fcc 100644
--- a/frontend/src/API.js
+++ b/frontend/src/API.js
@@ -8,7 +8,7 @@ const tokenKey = "statping_auth";
class Api {
constructor() {
this.version = "0.90.66";
- this.commit = "eb9792d18480736630f4811caf56add31b78c3c2";
+ this.commit = "a3ce4124f654b13c7f2af88b8410f998bd57fcef";
}
async oauth() {
diff --git a/frontend/src/pages/Help.vue b/frontend/src/pages/Help.vue
index 14782d99..55639c5b 100755
--- a/frontend/src/pages/Help.vue
+++ b/frontend/src/pages/Help.vue
@@ -2275,7 +2275,7 @@ OluFxewsEO0QNDrfFb+0gnjYlnGqOFcZjUMXbDdY5oLSPtXohynuTK1qyQ==
-Automatically generated from Statping's Wiki on 2020-09-09 00:56:11.888825 +0000 UTC
+Automatically generated from Statping's Wiki on 2020-09-09 01:24:21.649582 +0000 UTC
diff --git a/handlers/api_test.go b/handlers/api_test.go
index c0e3c58f..d3745f84 100644
--- a/handlers/api_test.go
+++ b/handlers/api_test.go
@@ -9,12 +9,15 @@ import (
_ "github.com/statping/statping/notifiers"
"github.com/statping/statping/source"
"github.com/statping/statping/types"
+ "github.com/statping/statping/types/checkins"
"github.com/statping/statping/types/core"
"github.com/statping/statping/types/groups"
+ "github.com/statping/statping/types/messages"
"github.com/statping/statping/types/services"
"github.com/statping/statping/types/users"
"github.com/statping/statping/utils"
"github.com/stretchr/testify/assert"
+ "github.com/stretchr/testify/require"
"io/ioutil"
"net/http"
"net/http/httptest"
@@ -254,6 +257,26 @@ func TestMainApiRoutes(t *testing.T) {
Method: "GET",
ExpectedStatus: 200,
},
+ {
+ Name: "Export Settings",
+ URL: "/api/settings/export",
+ Method: "GET",
+ ExpectedStatus: 200,
+ BeforeTest: SetTestENV,
+ AfterTest: UnsetTestENV,
+ ResponseFunc: func(r *httptest.ResponseRecorder, t *testing.T, bytes []byte) error {
+ var data ExportData
+ err := json.Unmarshal(r.Body.Bytes(), &data)
+ require.Nil(t, err)
+ assert.Len(t, data.Services, len(services.All()))
+ assert.Len(t, data.Groups, len(groups.All()))
+ assert.Len(t, data.Notifiers, len(services.AllNotifiers()))
+ assert.Len(t, data.Users, len(users.All()))
+ assert.Len(t, data.Messages, len(messages.All()))
+ assert.Len(t, data.Checkins, len(checkins.All()))
+ return nil
+ },
+ },
}
for _, v := range tests {
diff --git a/handlers/dashboard.go b/handlers/dashboard.go
index 0058d5b9..79f3ea89 100644
--- a/handlers/dashboard.go
+++ b/handlers/dashboard.go
@@ -218,6 +218,7 @@ func settingsImportHandler(w http.ResponseWriter, r *http.Request) {
if exportData.Groups != nil {
for _, s := range exportData.Groups {
+ s.Id = 0
if err := s.Create(); err != nil {
sendErrorJson(err, w, r)
return
@@ -227,6 +228,7 @@ func settingsImportHandler(w http.ResponseWriter, r *http.Request) {
if exportData.Services != nil {
for _, s := range exportData.Services {
+ s.Id = 0
if err := s.Create(); err != nil {
sendErrorJson(err, w, r)
return
@@ -236,6 +238,7 @@ func settingsImportHandler(w http.ResponseWriter, r *http.Request) {
if exportData.Users != nil {
for _, s := range exportData.Users {
+ s.Id = 0
if err := s.Create(); err != nil {
sendErrorJson(err, w, r)
return