коммит произвёл
GitHub
родитель
a1547cfac5
Коммит
7bf6565ed2
@@ -63,8 +63,8 @@ func TestImportImportScheme(t *testing.T) {
|
||||
err := th.App.importScheme(&data, true)
|
||||
require.NotNil(t, err, "Should have failed to import.")
|
||||
|
||||
_, err = th.App.Srv().Store.Scheme().GetByName(*data.Name)
|
||||
require.NotNil(t, err, "Scheme should not have imported.")
|
||||
_, nErr := th.App.Srv().Store.Scheme().GetByName(*data.Name)
|
||||
require.NotNil(t, nErr, "Scheme should not have imported.")
|
||||
|
||||
// Try importing a valid scheme in dryRun mode.
|
||||
data.DisplayName = ptrStr("display name")
|
||||
@@ -72,8 +72,8 @@ func TestImportImportScheme(t *testing.T) {
|
||||
err = th.App.importScheme(&data, true)
|
||||
require.Nil(t, err, "Should have succeeded.")
|
||||
|
||||
_, err = th.App.Srv().Store.Scheme().GetByName(*data.Name)
|
||||
require.NotNil(t, err, "Scheme should not have imported.")
|
||||
_, nErr = th.App.Srv().Store.Scheme().GetByName(*data.Name)
|
||||
require.NotNil(t, nErr, "Scheme should not have imported.")
|
||||
|
||||
// Try importing an invalid scheme.
|
||||
data.DisplayName = nil
|
||||
@@ -81,8 +81,8 @@ func TestImportImportScheme(t *testing.T) {
|
||||
err = th.App.importScheme(&data, false)
|
||||
require.NotNil(t, err, "Should have failed to import.")
|
||||
|
||||
_, err = th.App.Srv().Store.Scheme().GetByName(*data.Name)
|
||||
require.NotNil(t, err, "Scheme should not have imported.")
|
||||
_, nErr = th.App.Srv().Store.Scheme().GetByName(*data.Name)
|
||||
require.NotNil(t, nErr, "Scheme should not have imported.")
|
||||
|
||||
// Try importing a valid scheme with all params set.
|
||||
data.DisplayName = ptrStr("display name")
|
||||
@@ -90,8 +90,8 @@ func TestImportImportScheme(t *testing.T) {
|
||||
err = th.App.importScheme(&data, false)
|
||||
require.Nil(t, err, "Should have succeeded.")
|
||||
|
||||
scheme, err := th.App.Srv().Store.Scheme().GetByName(*data.Name)
|
||||
require.Nil(t, err, "Failed to import scheme: %v", err)
|
||||
scheme, nErr := th.App.Srv().Store.Scheme().GetByName(*data.Name)
|
||||
require.Nil(t, nErr, "Failed to import scheme: %v", err)
|
||||
|
||||
assert.Equal(t, *data.Name, scheme.Name)
|
||||
assert.Equal(t, *data.DisplayName, scheme.DisplayName)
|
||||
@@ -147,8 +147,8 @@ func TestImportImportScheme(t *testing.T) {
|
||||
err = th.App.importScheme(&data, false)
|
||||
require.Nil(t, err, "Should have succeeded: %v", err)
|
||||
|
||||
scheme, err = th.App.Srv().Store.Scheme().GetByName(*data.Name)
|
||||
require.Nil(t, err, "Failed to import scheme: %v", err)
|
||||
scheme, nErr = th.App.Srv().Store.Scheme().GetByName(*data.Name)
|
||||
require.Nil(t, nErr, "Failed to import scheme: %v", err)
|
||||
|
||||
assert.Equal(t, *data.Name, scheme.Name)
|
||||
assert.Equal(t, *data.DisplayName, scheme.DisplayName)
|
||||
@@ -203,8 +203,8 @@ func TestImportImportScheme(t *testing.T) {
|
||||
err = th.App.importScheme(&data, false)
|
||||
require.NotNil(t, err, "Should have failed to import.")
|
||||
|
||||
scheme, err = th.App.Srv().Store.Scheme().GetByName(*data.Name)
|
||||
require.Nil(t, err, "Failed to import scheme: %v", err)
|
||||
scheme, nErr = th.App.Srv().Store.Scheme().GetByName(*data.Name)
|
||||
require.Nil(t, nErr, "Failed to import scheme: %v", err)
|
||||
|
||||
assert.Equal(t, *data.Name, scheme.Name)
|
||||
assert.Equal(t, *data.DisplayName, scheme.DisplayName)
|
||||
@@ -250,8 +250,8 @@ func TestImportImportSchemeWithoutGuestRoles(t *testing.T) {
|
||||
err := th.App.importScheme(&data, true)
|
||||
require.NotNil(t, err, "Should have failed to import.")
|
||||
|
||||
_, err = th.App.Srv().Store.Scheme().GetByName(*data.Name)
|
||||
require.NotNil(t, err, "Scheme should not have imported.")
|
||||
_, nErr := th.App.Srv().Store.Scheme().GetByName(*data.Name)
|
||||
require.NotNil(t, nErr, "Scheme should not have imported.")
|
||||
|
||||
// Try importing a valid scheme in dryRun mode.
|
||||
data.DisplayName = ptrStr("display name")
|
||||
@@ -259,8 +259,8 @@ func TestImportImportSchemeWithoutGuestRoles(t *testing.T) {
|
||||
err = th.App.importScheme(&data, true)
|
||||
require.Nil(t, err, "Should have succeeded.")
|
||||
|
||||
_, err = th.App.Srv().Store.Scheme().GetByName(*data.Name)
|
||||
require.NotNil(t, err, "Scheme should not have imported.")
|
||||
_, nErr = th.App.Srv().Store.Scheme().GetByName(*data.Name)
|
||||
require.NotNil(t, nErr, "Scheme should not have imported.")
|
||||
|
||||
// Try importing an invalid scheme.
|
||||
data.DisplayName = nil
|
||||
@@ -268,8 +268,8 @@ func TestImportImportSchemeWithoutGuestRoles(t *testing.T) {
|
||||
err = th.App.importScheme(&data, false)
|
||||
require.NotNil(t, err, "Should have failed to import.")
|
||||
|
||||
_, err = th.App.Srv().Store.Scheme().GetByName(*data.Name)
|
||||
require.NotNil(t, err, "Scheme should not have imported.")
|
||||
_, nErr = th.App.Srv().Store.Scheme().GetByName(*data.Name)
|
||||
require.NotNil(t, nErr, "Scheme should not have imported.")
|
||||
|
||||
// Try importing a valid scheme with all params set.
|
||||
data.DisplayName = ptrStr("display name")
|
||||
@@ -277,8 +277,8 @@ func TestImportImportSchemeWithoutGuestRoles(t *testing.T) {
|
||||
err = th.App.importScheme(&data, false)
|
||||
require.Nil(t, err, "Should have succeeded.")
|
||||
|
||||
scheme, err := th.App.Srv().Store.Scheme().GetByName(*data.Name)
|
||||
require.Nil(t, err, "Failed to import scheme: %v", err)
|
||||
scheme, nErr := th.App.Srv().Store.Scheme().GetByName(*data.Name)
|
||||
require.Nil(t, nErr, "Failed to import scheme: %v", err)
|
||||
|
||||
assert.Equal(t, *data.Name, scheme.Name)
|
||||
assert.Equal(t, *data.DisplayName, scheme.DisplayName)
|
||||
@@ -334,8 +334,8 @@ func TestImportImportSchemeWithoutGuestRoles(t *testing.T) {
|
||||
err = th.App.importScheme(&data, false)
|
||||
require.Nil(t, err, "Should have succeeded: %v", err)
|
||||
|
||||
scheme, err = th.App.Srv().Store.Scheme().GetByName(*data.Name)
|
||||
require.Nil(t, err, "Failed to import scheme: %v", err)
|
||||
scheme, nErr = th.App.Srv().Store.Scheme().GetByName(*data.Name)
|
||||
require.Nil(t, nErr, "Failed to import scheme: %v", err)
|
||||
|
||||
assert.Equal(t, *data.Name, scheme.Name)
|
||||
assert.Equal(t, *data.DisplayName, scheme.DisplayName)
|
||||
@@ -390,8 +390,8 @@ func TestImportImportSchemeWithoutGuestRoles(t *testing.T) {
|
||||
err = th.App.importScheme(&data, false)
|
||||
require.NotNil(t, err, "Should have failed to import.")
|
||||
|
||||
scheme, err = th.App.Srv().Store.Scheme().GetByName(*data.Name)
|
||||
require.Nil(t, err, "Failed to import scheme: %v", err)
|
||||
scheme, nErr = th.App.Srv().Store.Scheme().GetByName(*data.Name)
|
||||
require.Nil(t, nErr, "Failed to import scheme: %v", err)
|
||||
|
||||
assert.Equal(t, *data.Name, scheme.Name)
|
||||
assert.Equal(t, *data.DisplayName, scheme.DisplayName)
|
||||
@@ -1374,8 +1374,8 @@ func TestImportImportUser(t *testing.T) {
|
||||
err = th.App.importScheme(teamSchemeData, false)
|
||||
assert.Nil(t, err)
|
||||
|
||||
teamScheme, err := th.App.Srv().Store.Scheme().GetByName(*teamSchemeData.Name)
|
||||
require.Nil(t, err, "Failed to import scheme")
|
||||
teamScheme, nErr := th.App.Srv().Store.Scheme().GetByName(*teamSchemeData.Name)
|
||||
require.Nil(t, nErr, "Failed to import scheme")
|
||||
|
||||
teamData := &TeamImportData{
|
||||
Name: ptrStr(model.NewId()),
|
||||
|
||||
@@ -8,6 +8,7 @@ import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"io"
|
||||
"net/http"
|
||||
|
||||
"github.com/mattermost/mattermost-server/v5/model"
|
||||
"github.com/pkg/errors"
|
||||
@@ -44,7 +45,7 @@ func (a *App) ResetPermissionsSystem() *model.AppError {
|
||||
|
||||
// Purge all schemes from the database.
|
||||
if err := a.Srv().Store.Scheme().PermanentDeleteAll(); err != nil {
|
||||
return err
|
||||
return model.NewAppError("ResetPermissionsSystem", "app.scheme.permanent_delete_all.app_error", nil, err.Error(), http.StatusInternalServerError)
|
||||
}
|
||||
|
||||
// Purge all roles from the database.
|
||||
|
||||
@@ -4,17 +4,29 @@
|
||||
package app
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"net/http"
|
||||
|
||||
"github.com/mattermost/mattermost-server/v5/model"
|
||||
"github.com/mattermost/mattermost-server/v5/store"
|
||||
)
|
||||
|
||||
func (a *App) GetScheme(id string) (*model.Scheme, *model.AppError) {
|
||||
if err := a.IsPhase2MigrationCompleted(); err != nil {
|
||||
return nil, err
|
||||
if appErr := a.IsPhase2MigrationCompleted(); appErr != nil {
|
||||
return nil, appErr
|
||||
}
|
||||
|
||||
return a.Srv().Store.Scheme().Get(id)
|
||||
scheme, err := a.Srv().Store.Scheme().Get(id)
|
||||
if err != nil {
|
||||
var nfErr *store.ErrNotFound
|
||||
switch {
|
||||
case errors.As(err, &nfErr):
|
||||
return nil, model.NewAppError("GetScheme", "app.scheme.get.app_error", nil, err.Error(), http.StatusNotFound)
|
||||
default:
|
||||
return nil, model.NewAppError("GetScheme", "app.scheme.get.app_error", nil, err.Error(), http.StatusInternalServerError)
|
||||
}
|
||||
}
|
||||
return scheme, nil
|
||||
}
|
||||
|
||||
func (a *App) GetSchemeByName(name string) (*model.Scheme, *model.AppError) {
|
||||
@@ -22,7 +34,17 @@ func (a *App) GetSchemeByName(name string) (*model.Scheme, *model.AppError) {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return a.Srv().Store.Scheme().GetByName(name)
|
||||
scheme, err := a.Srv().Store.Scheme().GetByName(name)
|
||||
if err != nil {
|
||||
var nfErr *store.ErrNotFound
|
||||
switch {
|
||||
case errors.As(err, &nfErr):
|
||||
return nil, model.NewAppError("GetSchemeByName", "app.scheme.get.app_error", nil, err.Error(), http.StatusNotFound)
|
||||
default:
|
||||
return nil, model.NewAppError("GetSchemeByName", "app.scheme.get.app_error", nil, err.Error(), http.StatusInternalServerError)
|
||||
}
|
||||
}
|
||||
return scheme, nil
|
||||
}
|
||||
|
||||
func (a *App) GetSchemesPage(scope string, page int, perPage int) ([]*model.Scheme, *model.AppError) {
|
||||
@@ -38,7 +60,11 @@ func (s *Server) GetSchemes(scope string, offset int, limit int) ([]*model.Schem
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return s.Store.Scheme().GetAllPage(scope, offset, limit)
|
||||
scheme, err := s.Store.Scheme().GetAllPage(scope, offset, limit)
|
||||
if err != nil {
|
||||
return nil, model.NewAppError("GetSchemes", "app.scheme.get.app_error", nil, err.Error(), http.StatusInternalServerError)
|
||||
}
|
||||
return scheme, nil
|
||||
}
|
||||
|
||||
func (a *App) GetSchemes(scope string, offset int, limit int) ([]*model.Scheme, *model.AppError) {
|
||||
@@ -61,7 +87,20 @@ func (a *App) CreateScheme(scheme *model.Scheme) (*model.Scheme, *model.AppError
|
||||
scheme.UpdateAt = 0
|
||||
scheme.DeleteAt = 0
|
||||
|
||||
return a.Srv().Store.Scheme().Save(scheme)
|
||||
scheme, err := a.Srv().Store.Scheme().Save(scheme)
|
||||
if err != nil {
|
||||
var invErr *store.ErrInvalidInput
|
||||
var appErr *model.AppError
|
||||
switch {
|
||||
case errors.As(err, &appErr):
|
||||
return nil, appErr
|
||||
case errors.As(err, &invErr):
|
||||
return nil, model.NewAppError("CreateScheme", "app.scheme.save.invalid_scheme.app_error", nil, err.Error(), http.StatusBadRequest)
|
||||
default:
|
||||
return nil, model.NewAppError("CreateScheme", "app.scheme.save.app_error", nil, err.Error(), http.StatusInternalServerError)
|
||||
}
|
||||
}
|
||||
return scheme, nil
|
||||
}
|
||||
|
||||
func (a *App) PatchScheme(scheme *model.Scheme, patch *model.SchemePatch) (*model.Scheme, *model.AppError) {
|
||||
@@ -83,7 +122,20 @@ func (a *App) UpdateScheme(scheme *model.Scheme) (*model.Scheme, *model.AppError
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return a.Srv().Store.Scheme().Save(scheme)
|
||||
scheme, err := a.Srv().Store.Scheme().Save(scheme)
|
||||
if err != nil {
|
||||
var invErr *store.ErrInvalidInput
|
||||
var appErr *model.AppError
|
||||
switch {
|
||||
case errors.As(err, &appErr):
|
||||
return nil, appErr
|
||||
case errors.As(err, &invErr):
|
||||
return nil, model.NewAppError("UpdateScheme", "app.scheme.save.invalid_scheme.app_error", nil, err.Error(), http.StatusBadRequest)
|
||||
default:
|
||||
return nil, model.NewAppError("UpdateScheme", "app.scheme.save.app_error", nil, err.Error(), http.StatusInternalServerError)
|
||||
}
|
||||
}
|
||||
return scheme, nil
|
||||
}
|
||||
|
||||
func (a *App) DeleteScheme(schemeId string) (*model.Scheme, *model.AppError) {
|
||||
@@ -91,7 +143,17 @@ func (a *App) DeleteScheme(schemeId string) (*model.Scheme, *model.AppError) {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return a.Srv().Store.Scheme().Delete(schemeId)
|
||||
scheme, err := a.Srv().Store.Scheme().Delete(schemeId)
|
||||
if err != nil {
|
||||
var nfErr *store.ErrNotFound
|
||||
switch {
|
||||
case errors.As(err, &nfErr):
|
||||
return nil, model.NewAppError("DeleteScheme", "app.scheme.get.app_error", nil, err.Error(), http.StatusNotFound)
|
||||
default:
|
||||
return nil, model.NewAppError("DeleteScheme", "app.scheme.delete.app_error", nil, err.Error(), http.StatusInternalServerError)
|
||||
}
|
||||
}
|
||||
return scheme, nil
|
||||
}
|
||||
|
||||
func (a *App) GetTeamsForSchemePage(scheme *model.Scheme, page int, perPage int) ([]*model.Team, *model.AppError) {
|
||||
|
||||
Ссылка в новой задаче
Block a user