Migration of SchemeStore to return plain errors (#14836)

Automatic Merge
Этот коммит содержится в:
Rodrigo Villablanca
2020-06-23 00:56:35 -04:00
коммит произвёл GitHub
родитель a1547cfac5
Коммит 7bf6565ed2
13 изменённых файлов: 258 добавлений и 237 удалений

Просмотреть файл

@@ -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) {

Просмотреть файл

@@ -3942,6 +3942,26 @@
"id": "app.save_config.app_error",
"translation": "An error occurred saving the configuration."
},
{
"id": "app.scheme.delete.app_error",
"translation": "Unable to delete this scheme."
},
{
"id": "app.scheme.get.app_error",
"translation": "Unable to get the scheme."
},
{
"id": "app.scheme.permanent_delete_all.app_error",
"translation": "We could not permanently delete the schemes."
},
{
"id": "app.scheme.save.app_error",
"translation": "Unable to create the scheme."
},
{
"id": "app.scheme.save.invalid_scheme.app_error",
"translation": "The provided scheme is invalid."
},
{
"id": "app.schemes.is_phase_2_migration_completed.not_completed.app_error",
"translation": "This API endpoint is not accessible as required migrations have not yet completed."
@@ -6986,54 +7006,6 @@
"id": "store.sql_role.save_role.commit_transaction.app_error",
"translation": "Failed to commit the transaction to save the role."
},
{
"id": "store.sql_scheme.delete.role_update.app_error",
"translation": "Unable to delete the roles belonging to this scheme."
},
{
"id": "store.sql_scheme.delete.update.app_error",
"translation": "Unable to delete the scheme."
},
{
"id": "store.sql_scheme.get.app_error",
"translation": "Unable to get the scheme."
},
{
"id": "store.sql_scheme.permanent_delete_all.app_error",
"translation": "We could not permanently delete the schemes."
},
{
"id": "store.sql_scheme.reset_channels.app_error",
"translation": "Unable to reset all channels using this scheme to the default scheme."
},
{
"id": "store.sql_scheme.reset_teams.app_error",
"translation": "Unable to reset all teams using this scheme to the default scheme."
},
{
"id": "store.sql_scheme.save.insert.app_error",
"translation": "Unable to create the scheme."
},
{
"id": "store.sql_scheme.save.invalid_scheme.app_error",
"translation": "The provided scheme is invalid."
},
{
"id": "store.sql_scheme.save.open_transaction.app_error",
"translation": "Failed to open the transaction to save the scheme."
},
{
"id": "store.sql_scheme.save.retrieve_default_scheme_roles.app_error",
"translation": "Unable to retrieve the default scheme roles."
},
{
"id": "store.sql_scheme.save.update.app_error",
"translation": "Unable to update the scheme."
},
{
"id": "store.sql_scheme.save_scheme.commit_transaction.app_error",
"translation": "Failed to commit the transaction to save the scheme."
},
{
"id": "store.sql_session.analytics_session_count.app_error",
"translation": "Unable to count the sessions."

Просмотреть файл

@@ -21,14 +21,14 @@ func (s *LocalCacheSchemeStore) handleClusterInvalidateScheme(msg *model.Cluster
}
}
func (s LocalCacheSchemeStore) Save(scheme *model.Scheme) (*model.Scheme, *model.AppError) {
func (s LocalCacheSchemeStore) Save(scheme *model.Scheme) (*model.Scheme, error) {
if len(scheme.Id) != 0 {
defer s.rootStore.doInvalidateCacheCluster(s.rootStore.schemeCache, scheme.Id)
}
return s.SchemeStore.Save(scheme)
}
func (s LocalCacheSchemeStore) Get(schemeId string) (*model.Scheme, *model.AppError) {
func (s LocalCacheSchemeStore) Get(schemeId string) (*model.Scheme, error) {
if scheme := s.rootStore.doStandardReadCache(s.rootStore.schemeCache, schemeId); scheme != nil {
return scheme.(*model.Scheme), nil
}
@@ -43,14 +43,14 @@ func (s LocalCacheSchemeStore) Get(schemeId string) (*model.Scheme, *model.AppEr
return scheme, nil
}
func (s LocalCacheSchemeStore) Delete(schemeId string) (*model.Scheme, *model.AppError) {
func (s LocalCacheSchemeStore) Delete(schemeId string) (*model.Scheme, error) {
defer s.rootStore.doInvalidateCacheCluster(s.rootStore.schemeCache, schemeId)
defer s.rootStore.doClearCacheCluster(s.rootStore.roleCache)
defer s.rootStore.doClearCacheCluster(s.rootStore.rolePermissionsCache)
return s.SchemeStore.Delete(schemeId)
}
func (s LocalCacheSchemeStore) PermanentDeleteAll() *model.AppError {
func (s LocalCacheSchemeStore) PermanentDeleteAll() error {
defer s.rootStore.doClearCacheCluster(s.rootStore.schemeCache)
defer s.rootStore.doClearCacheCluster(s.rootStore.roleCache)
defer s.rootStore.doClearCacheCluster(s.rootStore.rolePermissionsCache)

Просмотреть файл

@@ -5562,7 +5562,7 @@ func (s *OpenTracingLayerRoleStore) Save(role *model.Role) (*model.Role, *model.
return resultVar0, resultVar1
}
func (s *OpenTracingLayerSchemeStore) CountByScope(scope string) (int64, *model.AppError) {
func (s *OpenTracingLayerSchemeStore) CountByScope(scope string) (int64, error) {
origCtx := s.Root.Store.Context()
span, newCtx := tracing.StartSpanWithParentByContext(s.Root.Store.Context(), "SchemeStore.CountByScope")
s.Root.Store.SetContext(newCtx)
@@ -5580,7 +5580,7 @@ func (s *OpenTracingLayerSchemeStore) CountByScope(scope string) (int64, *model.
return resultVar0, resultVar1
}
func (s *OpenTracingLayerSchemeStore) CountWithoutPermission(scope string, permissionID string, roleScope model.RoleScope, roleType model.RoleType) (int64, *model.AppError) {
func (s *OpenTracingLayerSchemeStore) CountWithoutPermission(scope string, permissionID string, roleScope model.RoleScope, roleType model.RoleType) (int64, error) {
origCtx := s.Root.Store.Context()
span, newCtx := tracing.StartSpanWithParentByContext(s.Root.Store.Context(), "SchemeStore.CountWithoutPermission")
s.Root.Store.SetContext(newCtx)
@@ -5598,7 +5598,7 @@ func (s *OpenTracingLayerSchemeStore) CountWithoutPermission(scope string, permi
return resultVar0, resultVar1
}
func (s *OpenTracingLayerSchemeStore) Delete(schemeId string) (*model.Scheme, *model.AppError) {
func (s *OpenTracingLayerSchemeStore) Delete(schemeId string) (*model.Scheme, error) {
origCtx := s.Root.Store.Context()
span, newCtx := tracing.StartSpanWithParentByContext(s.Root.Store.Context(), "SchemeStore.Delete")
s.Root.Store.SetContext(newCtx)
@@ -5616,7 +5616,7 @@ func (s *OpenTracingLayerSchemeStore) Delete(schemeId string) (*model.Scheme, *m
return resultVar0, resultVar1
}
func (s *OpenTracingLayerSchemeStore) Get(schemeId string) (*model.Scheme, *model.AppError) {
func (s *OpenTracingLayerSchemeStore) Get(schemeId string) (*model.Scheme, error) {
origCtx := s.Root.Store.Context()
span, newCtx := tracing.StartSpanWithParentByContext(s.Root.Store.Context(), "SchemeStore.Get")
s.Root.Store.SetContext(newCtx)
@@ -5634,7 +5634,7 @@ func (s *OpenTracingLayerSchemeStore) Get(schemeId string) (*model.Scheme, *mode
return resultVar0, resultVar1
}
func (s *OpenTracingLayerSchemeStore) GetAllPage(scope string, offset int, limit int) ([]*model.Scheme, *model.AppError) {
func (s *OpenTracingLayerSchemeStore) GetAllPage(scope string, offset int, limit int) ([]*model.Scheme, error) {
origCtx := s.Root.Store.Context()
span, newCtx := tracing.StartSpanWithParentByContext(s.Root.Store.Context(), "SchemeStore.GetAllPage")
s.Root.Store.SetContext(newCtx)
@@ -5652,7 +5652,7 @@ func (s *OpenTracingLayerSchemeStore) GetAllPage(scope string, offset int, limit
return resultVar0, resultVar1
}
func (s *OpenTracingLayerSchemeStore) GetByName(schemeName string) (*model.Scheme, *model.AppError) {
func (s *OpenTracingLayerSchemeStore) GetByName(schemeName string) (*model.Scheme, error) {
origCtx := s.Root.Store.Context()
span, newCtx := tracing.StartSpanWithParentByContext(s.Root.Store.Context(), "SchemeStore.GetByName")
s.Root.Store.SetContext(newCtx)
@@ -5670,7 +5670,7 @@ func (s *OpenTracingLayerSchemeStore) GetByName(schemeName string) (*model.Schem
return resultVar0, resultVar1
}
func (s *OpenTracingLayerSchemeStore) PermanentDeleteAll() *model.AppError {
func (s *OpenTracingLayerSchemeStore) PermanentDeleteAll() error {
origCtx := s.Root.Store.Context()
span, newCtx := tracing.StartSpanWithParentByContext(s.Root.Store.Context(), "SchemeStore.PermanentDeleteAll")
s.Root.Store.SetContext(newCtx)
@@ -5688,7 +5688,7 @@ func (s *OpenTracingLayerSchemeStore) PermanentDeleteAll() *model.AppError {
return resultVar0
}
func (s *OpenTracingLayerSchemeStore) Save(scheme *model.Scheme) (*model.Scheme, *model.AppError) {
func (s *OpenTracingLayerSchemeStore) Save(scheme *model.Scheme) (*model.Scheme, error) {
origCtx := s.Root.Store.Context()
span, newCtx := tracing.StartSpanWithParentByContext(s.Root.Store.Context(), "SchemeStore.Save")
s.Root.Store.SetContext(newCtx)

Просмотреть файл

@@ -10,6 +10,8 @@ import (
"strings"
sq "github.com/Masterminds/squirrel"
"github.com/pkg/errors"
"github.com/mattermost/gorp"
"github.com/mattermost/mattermost-server/v5/model"
"github.com/mattermost/mattermost-server/v5/store"
@@ -107,10 +109,10 @@ func (s *SqlRoleStore) Save(role *model.Role) (*model.Role, *model.AppError) {
return nil, model.NewAppError("SqlRoleStore.RoleSave", "store.sql_role.save.open_transaction.app_error", nil, err.Error(), http.StatusInternalServerError)
}
defer finalizeTransaction(transaction)
createdRole, appErr := s.createRole(role, transaction)
if appErr != nil {
createdRole, err := s.createRole(role, transaction)
if err != nil {
transaction.Rollback()
return nil, appErr
return nil, model.NewAppError("SqlRoleStore.RoleSave", "store.sql_role.save.insert.app_error", nil, err.Error(), http.StatusInternalServerError)
} else if err := transaction.Commit(); err != nil {
return nil, model.NewAppError("SqlRoleStore.RoleSave", "store.sql_role.save_role.commit_transaction.app_error", nil, err.Error(), http.StatusInternalServerError)
}
@@ -128,10 +130,10 @@ func (s *SqlRoleStore) Save(role *model.Role) (*model.Role, *model.AppError) {
return dbRole.ToModel(), nil
}
func (s *SqlRoleStore) createRole(role *model.Role, transaction *gorp.Transaction) (*model.Role, *model.AppError) {
func (s *SqlRoleStore) createRole(role *model.Role, transaction *gorp.Transaction) (*model.Role, error) {
// Check the role is valid before proceeding.
if !role.IsValidWithoutId() {
return nil, model.NewAppError("SqlRoleStore.Save", "store.sql_role.save.invalid_role.app_error", nil, "", http.StatusBadRequest)
return nil, store.NewErrInvalidInput("Role", "<any>", fmt.Sprintf("%v", role))
}
dbRole := NewRoleFromModel(role)
@@ -141,7 +143,7 @@ func (s *SqlRoleStore) createRole(role *model.Role, transaction *gorp.Transactio
dbRole.UpdateAt = dbRole.CreateAt
if err := transaction.Insert(dbRole); err != nil {
return nil, model.NewAppError("SqlRoleStore.Save", "store.sql_role.save.insert.app_error", nil, err.Error(), http.StatusInternalServerError)
return nil, errors.Wrap(err, "failed to save Role")
}
return dbRole.ToModel(), nil

Просмотреть файл

@@ -6,13 +6,13 @@ package sqlstore
import (
"database/sql"
"fmt"
"net/http"
"strings"
"github.com/mattermost/gorp"
"github.com/mattermost/mattermost-server/v5/model"
"github.com/mattermost/mattermost-server/v5/store"
"github.com/pkg/errors"
)
type SqlSchemeStore struct {
@@ -46,48 +46,48 @@ func (s SqlSchemeStore) createIndexesIfNotExists() {
s.CreateIndexIfNotExists("idx_schemes_channel_admin_role", "Schemes", "DefaultChannelAdminRole")
}
func (s *SqlSchemeStore) Save(scheme *model.Scheme) (*model.Scheme, *model.AppError) {
func (s *SqlSchemeStore) Save(scheme *model.Scheme) (*model.Scheme, error) {
if len(scheme.Id) == 0 {
transaction, err := s.GetMaster().Begin()
if err != nil {
return nil, model.NewAppError("SqlSchemeStore.SaveScheme", "store.sql_scheme.save.open_transaction.app_error", nil, err.Error(), http.StatusInternalServerError)
return nil, errors.Wrap(err, "begin_transaction")
}
defer finalizeTransaction(transaction)
newScheme, appErr := s.createScheme(scheme, transaction)
if appErr != nil {
return nil, appErr
newScheme, err := s.createScheme(scheme, transaction)
if err != nil {
return nil, err
}
if err := transaction.Commit(); err != nil {
return nil, model.NewAppError("SqlSchemeStore.SchemeSave", "store.sql_scheme.save_scheme.commit_transaction.app_error", nil, err.Error(), http.StatusInternalServerError)
return nil, errors.Wrap(err, "commit_transaction")
}
return newScheme, nil
}
if !scheme.IsValid() {
return nil, model.NewAppError("SqlSchemeStore.Save", "store.sql_scheme.save.invalid_scheme.app_error", nil, "schemeId="+scheme.Id, http.StatusBadRequest)
return nil, store.NewErrInvalidInput("Scheme", "<any>", fmt.Sprintf("%v", scheme))
}
scheme.UpdateAt = model.GetMillis()
rowsChanged, err := s.GetMaster().Update(scheme)
if err != nil {
return nil, model.NewAppError("SqlSchemeStore.Save", "store.sql_scheme.save.update.app_error", nil, err.Error(), http.StatusInternalServerError)
return nil, errors.Wrap(err, "failed to update Scheme")
}
if rowsChanged != 1 {
return nil, model.NewAppError("SqlSchemeStore.Save", "store.sql_scheme.save.update.app_error", nil, "no record to update", http.StatusInternalServerError)
return nil, errors.New("no record to update")
}
return scheme, nil
}
func (s *SqlSchemeStore) createScheme(scheme *model.Scheme, transaction *gorp.Transaction) (*model.Scheme, *model.AppError) {
func (s *SqlSchemeStore) createScheme(scheme *model.Scheme, transaction *gorp.Transaction) (*model.Scheme, error) {
// Fetch the default system scheme roles to populate default permissions.
defaultRoleNames := []string{model.TEAM_ADMIN_ROLE_ID, model.TEAM_USER_ROLE_ID, model.TEAM_GUEST_ROLE_ID, model.CHANNEL_ADMIN_ROLE_ID, model.CHANNEL_USER_ROLE_ID, model.CHANNEL_GUEST_ROLE_ID}
defaultRoles := make(map[string]*model.Role)
roles, err := s.SqlStore.Role().GetByNames(defaultRoleNames)
if err != nil {
return nil, err
roles, appErr := s.SqlStore.Role().GetByNames(defaultRoleNames)
if appErr != nil {
return nil, appErr
}
for _, role := range roles {
@@ -108,7 +108,7 @@ func (s *SqlSchemeStore) createScheme(scheme *model.Scheme, transaction *gorp.Tr
}
if len(defaultRoles) != 6 {
return nil, model.NewAppError("SqlSchemeStore.SaveScheme", "store.sql_scheme.save.retrieve_default_scheme_roles.app_error", nil, "", http.StatusInternalServerError)
return nil, errors.New("createScheme: unable to retrieve default scheme roles")
}
// Create the appropriate default roles for the scheme.
@@ -221,11 +221,11 @@ func (s *SqlSchemeStore) createScheme(scheme *model.Scheme, transaction *gorp.Tr
// Validate the scheme
if !scheme.IsValidForCreate() {
return nil, model.NewAppError("SqlSchemeStore.Save", "store.sql_scheme.save.invalid_scheme.app_error", nil, "", http.StatusBadRequest)
return nil, store.NewErrInvalidInput("Scheme", "<any>", fmt.Sprintf("%v", scheme))
}
if err := transaction.Insert(scheme); err != nil {
return nil, model.NewAppError("SqlSchemeStore.Save", "store.sql_scheme.save.insert.app_error", nil, err.Error(), http.StatusInternalServerError)
return nil, errors.Wrap(err, "failed to save Scheme")
}
return scheme, nil
@@ -241,51 +241,51 @@ func filterModerated(permissions []string) []string {
return filteredPermissions
}
func (s *SqlSchemeStore) Get(schemeId string) (*model.Scheme, *model.AppError) {
func (s *SqlSchemeStore) Get(schemeId string) (*model.Scheme, error) {
var scheme model.Scheme
if err := s.GetReplica().SelectOne(&scheme, "SELECT * from Schemes WHERE Id = :Id", map[string]interface{}{"Id": schemeId}); err != nil {
if err == sql.ErrNoRows {
return nil, model.NewAppError("SqlSchemeStore.Get", "store.sql_scheme.get.app_error", nil, "Id="+schemeId+", "+err.Error(), http.StatusNotFound)
return nil, store.NewErrNotFound("Scheme", fmt.Sprintf("schemeId=%s", schemeId))
}
return nil, model.NewAppError("SqlSchemeStore.Get", "store.sql_scheme.get.app_error", nil, err.Error(), http.StatusInternalServerError)
return nil, errors.Wrapf(err, "failed to get Scheme with schemeId=%s", schemeId)
}
return &scheme, nil
}
func (s *SqlSchemeStore) GetByName(schemeName string) (*model.Scheme, *model.AppError) {
func (s *SqlSchemeStore) GetByName(schemeName string) (*model.Scheme, error) {
var scheme model.Scheme
if err := s.GetReplica().SelectOne(&scheme, "SELECT * from Schemes WHERE Name = :Name", map[string]interface{}{"Name": schemeName}); err != nil {
if err == sql.ErrNoRows {
return nil, model.NewAppError("SqlSchemeStore.GetByName", "store.sql_scheme.get.app_error", nil, "Name="+schemeName+", "+err.Error(), http.StatusNotFound)
return nil, store.NewErrNotFound("Scheme", fmt.Sprintf("schemeName=%s", schemeName))
}
return nil, model.NewAppError("SqlSchemeStore.GetByName", "store.sql_scheme.get.app_error", nil, err.Error(), http.StatusInternalServerError)
return nil, errors.Wrapf(err, "failed to get Scheme with schemeName=%s", schemeName)
}
return &scheme, nil
}
func (s *SqlSchemeStore) Delete(schemeId string) (*model.Scheme, *model.AppError) {
func (s *SqlSchemeStore) Delete(schemeId string) (*model.Scheme, error) {
// Get the scheme
var scheme model.Scheme
if err := s.GetReplica().SelectOne(&scheme, "SELECT * from Schemes WHERE Id = :Id", map[string]interface{}{"Id": schemeId}); err != nil {
if err == sql.ErrNoRows {
return nil, model.NewAppError("SqlSchemeStore.Delete", "store.sql_scheme.get.app_error", nil, "Id="+schemeId+", "+err.Error(), http.StatusNotFound)
return nil, store.NewErrNotFound("Scheme", fmt.Sprintf("schemeId=%s", schemeId))
}
return nil, model.NewAppError("SqlSchemeStore.Delete", "store.sql_scheme.get.app_error", nil, "Id="+schemeId+", "+err.Error(), http.StatusInternalServerError)
return nil, errors.Wrapf(err, "failed to get Scheme with schemeId=%s", schemeId)
}
// Update any teams or channels using this scheme to the default scheme.
if scheme.Scope == model.SCHEME_SCOPE_TEAM {
if _, err := s.GetMaster().Exec("UPDATE Teams SET SchemeId = '' WHERE SchemeId = :SchemeId", map[string]interface{}{"SchemeId": schemeId}); err != nil {
return nil, model.NewAppError("SqlSchemeStore.Delete", "store.sql_scheme.reset_teams.app_error", nil, "Id="+schemeId+", "+err.Error(), http.StatusInternalServerError)
return nil, errors.Wrapf(err, "failed to update Teams with schemeId=%s", schemeId)
}
s.Team().ClearCaches()
} else if scheme.Scope == model.SCHEME_SCOPE_CHANNEL {
if _, err := s.GetMaster().Exec("UPDATE Channels SET SchemeId = '' WHERE SchemeId = :SchemeId", map[string]interface{}{"SchemeId": schemeId}); err != nil {
return nil, model.NewAppError("SqlSchemeStore.Delete", "store.sql_scheme.reset_channels.app_error", nil, "Id="+schemeId+", "+err.Error(), http.StatusInternalServerError)
return nil, errors.Wrapf(err, "failed to update Channels with schemeId=%s", schemeId)
}
// Blow away the channel caches.
@@ -311,7 +311,7 @@ func (s *SqlSchemeStore) Delete(schemeId string) (*model.Scheme, *model.AppError
queryArgs["DeleteAt"] = time
if _, err := s.GetMaster().Exec("UPDATE Roles SET UpdateAt = :UpdateAt, DeleteAt = :DeleteAt WHERE Name IN ("+inQuery+")", queryArgs); err != nil {
return nil, model.NewAppError("SqlSchemeStore.Delete", "store.sql_scheme.delete.role_update.app_error", nil, "Id="+schemeId+", "+err.Error(), http.StatusInternalServerError)
return nil, errors.Wrapf(err, "failed to update Roles with name in (%s)", inQuery)
}
// Delete the scheme itself.
@@ -320,15 +320,15 @@ func (s *SqlSchemeStore) Delete(schemeId string) (*model.Scheme, *model.AppError
rowsChanged, err := s.GetMaster().Update(&scheme)
if err != nil {
return nil, model.NewAppError("SqlSchemeStore.Delete", "store.sql_scheme.delete.update.app_error", nil, "Id="+schemeId+", "+err.Error(), http.StatusInternalServerError)
return nil, errors.Wrapf(err, "failed to update Scheme with schemeId=%s", schemeId)
}
if rowsChanged != 1 {
return nil, model.NewAppError("SqlSchemeStore.Delete", "store.sql_scheme.delete.update.app_error", nil, "no record to update", http.StatusInternalServerError)
return nil, errors.New("no record to update")
}
return &scheme, nil
}
func (s *SqlSchemeStore) GetAllPage(scope string, offset int, limit int) ([]*model.Scheme, *model.AppError) {
func (s *SqlSchemeStore) GetAllPage(scope string, offset int, limit int) ([]*model.Scheme, error) {
var schemes []*model.Scheme
scopeClause := ""
@@ -337,29 +337,29 @@ func (s *SqlSchemeStore) GetAllPage(scope string, offset int, limit int) ([]*mod
}
if _, err := s.GetReplica().Select(&schemes, "SELECT * from Schemes WHERE DeleteAt = 0 "+scopeClause+" ORDER BY CreateAt DESC LIMIT :Limit OFFSET :Offset", map[string]interface{}{"Limit": limit, "Offset": offset, "Scope": scope}); err != nil {
return nil, model.NewAppError("SqlSchemeStore.Get", "store.sql_scheme.get.app_error", nil, err.Error(), http.StatusInternalServerError)
return nil, errors.Wrapf(err, "failed to get Schemes")
}
return schemes, nil
}
func (s *SqlSchemeStore) PermanentDeleteAll() *model.AppError {
func (s *SqlSchemeStore) PermanentDeleteAll() error {
if _, err := s.GetMaster().Exec("DELETE from Schemes"); err != nil {
return model.NewAppError("SqlSchemeStore.PermanentDeleteAll", "store.sql_scheme.permanent_delete_all.app_error", nil, err.Error(), http.StatusInternalServerError)
return errors.Wrap(err, "failed to delete Schemes")
}
return nil
}
func (s *SqlSchemeStore) CountByScope(scope string) (int64, *model.AppError) {
func (s *SqlSchemeStore) CountByScope(scope string) (int64, error) {
count, err := s.GetReplica().SelectInt("SELECT count(*) FROM Schemes WHERE Scope = :Scope AND DeleteAt = 0", map[string]interface{}{"Scope": scope})
if err != nil {
return int64(0), model.NewAppError("SqlSchemeStore.CountByScope", "store.select_error", nil, err.Error(), http.StatusInternalServerError)
return int64(0), errors.Wrap(err, "failed to count Schemes by scope")
}
return count, nil
}
func (s *SqlSchemeStore) CountWithoutPermission(schemeScope, permissionID string, roleScope model.RoleScope, roleType model.RoleType) (int64, *model.AppError) {
func (s *SqlSchemeStore) CountWithoutPermission(schemeScope, permissionID string, roleScope model.RoleScope, roleType model.RoleType) (int64, error) {
joinCol := fmt.Sprintf("Default%s%sRole", roleScope, roleType)
query := fmt.Sprintf(`
SELECT
@@ -373,7 +373,7 @@ func (s *SqlSchemeStore) CountWithoutPermission(schemeScope, permissionID string
`, joinCol, schemeScope, permissionID)
count, err := s.GetReplica().SelectInt(query)
if err != nil {
return int64(0), model.NewAppError("SqlSchemeStore.CountWithoutPermission", "store.select_error", nil, err.Error(), http.StatusInternalServerError)
return int64(0), errors.Wrap(err, "failed to count Schemes without permission")
}
return count, nil
}

Просмотреть файл

@@ -611,14 +611,14 @@ type RoleStore interface {
}
type SchemeStore interface {
Save(scheme *model.Scheme) (*model.Scheme, *model.AppError)
Get(schemeId string) (*model.Scheme, *model.AppError)
GetByName(schemeName string) (*model.Scheme, *model.AppError)
GetAllPage(scope string, offset int, limit int) ([]*model.Scheme, *model.AppError)
Delete(schemeId string) (*model.Scheme, *model.AppError)
PermanentDeleteAll() *model.AppError
CountByScope(scope string) (int64, *model.AppError)
CountWithoutPermission(scope, permissionID string, roleScope model.RoleScope, roleType model.RoleType) (int64, *model.AppError)
Save(scheme *model.Scheme) (*model.Scheme, error)
Get(schemeId string) (*model.Scheme, error)
GetByName(schemeName string) (*model.Scheme, error)
GetAllPage(scope string, offset int, limit int) ([]*model.Scheme, error)
Delete(schemeId string) (*model.Scheme, error)
PermanentDeleteAll() error
CountByScope(scope string) (int64, error)
CountWithoutPermission(scope, permissionID string, roleScope model.RoleScope, roleType model.RoleType) (int64, error)
}
type TermsOfServiceStore interface {

Просмотреть файл

@@ -1070,8 +1070,8 @@ func testChannelSaveMember(t *testing.T, ss store.Store) {
Description: model.NewId(),
Scope: model.SCHEME_SCOPE_TEAM,
}
ts, err = ss.Scheme().Save(ts)
require.Nil(t, err)
ts, nErr := ss.Scheme().Save(ts)
require.Nil(t, nErr)
team := &model.Team{
DisplayName: "Name",
@@ -1090,7 +1090,7 @@ func testChannelSaveMember(t *testing.T, ss store.Store) {
Type: model.CHANNEL_OPEN,
TeamId: team.Id,
}
channel, nErr := ss.Channel().Save(channel, -1)
channel, nErr = ss.Channel().Save(channel, -1)
require.Nil(t, nErr)
defer func() { ss.Channel().PermanentDelete(channel.Id) }()
@@ -1231,8 +1231,8 @@ func testChannelSaveMember(t *testing.T, ss store.Store) {
Description: model.NewId(),
Scope: model.SCHEME_SCOPE_CHANNEL,
}
cs, err = ss.Scheme().Save(cs)
require.Nil(t, err)
cs, nErr := ss.Scheme().Save(cs)
require.Nil(t, nErr)
team := &model.Team{
DisplayName: "Name",
@@ -1581,8 +1581,8 @@ func testChannelSaveMultipleMembers(t *testing.T, ss store.Store) {
Description: model.NewId(),
Scope: model.SCHEME_SCOPE_TEAM,
}
ts, err = ss.Scheme().Save(ts)
require.Nil(t, err)
ts, nErr := ss.Scheme().Save(ts)
require.Nil(t, nErr)
team := &model.Team{
DisplayName: "Name",
@@ -1601,7 +1601,7 @@ func testChannelSaveMultipleMembers(t *testing.T, ss store.Store) {
Type: model.CHANNEL_OPEN,
TeamId: team.Id,
}
channel, nErr := ss.Channel().Save(channel, -1)
channel, nErr = ss.Channel().Save(channel, -1)
require.Nil(t, nErr)
defer func() { ss.Channel().PermanentDelete(channel.Id) }()
@@ -1756,8 +1756,8 @@ func testChannelSaveMultipleMembers(t *testing.T, ss store.Store) {
Description: model.NewId(),
Scope: model.SCHEME_SCOPE_CHANNEL,
}
cs, err = ss.Scheme().Save(cs)
require.Nil(t, err)
cs, nErr := ss.Scheme().Save(cs)
require.Nil(t, nErr)
team := &model.Team{
DisplayName: "Name",
@@ -2095,8 +2095,8 @@ func testChannelUpdateMember(t *testing.T, ss store.Store) {
Description: model.NewId(),
Scope: model.SCHEME_SCOPE_TEAM,
}
ts, err = ss.Scheme().Save(ts)
require.Nil(t, err)
ts, nErr := ss.Scheme().Save(ts)
require.Nil(t, nErr)
team := &model.Team{
DisplayName: "Name",
@@ -2115,7 +2115,7 @@ func testChannelUpdateMember(t *testing.T, ss store.Store) {
Type: model.CHANNEL_OPEN,
TeamId: team.Id,
}
channel, nErr := ss.Channel().Save(channel, -1)
channel, nErr = ss.Channel().Save(channel, -1)
require.Nil(t, nErr)
defer func() { ss.Channel().PermanentDelete(channel.Id) }()
@@ -2258,8 +2258,8 @@ func testChannelUpdateMember(t *testing.T, ss store.Store) {
Description: model.NewId(),
Scope: model.SCHEME_SCOPE_CHANNEL,
}
cs, err = ss.Scheme().Save(cs)
require.Nil(t, err)
cs, nErr := ss.Scheme().Save(cs)
require.Nil(t, nErr)
team := &model.Team{
DisplayName: "Name",
@@ -2605,8 +2605,8 @@ func testChannelUpdateMultipleMembers(t *testing.T, ss store.Store) {
Description: model.NewId(),
Scope: model.SCHEME_SCOPE_TEAM,
}
ts, err = ss.Scheme().Save(ts)
require.Nil(t, err)
ts, nErr := ss.Scheme().Save(ts)
require.Nil(t, nErr)
team := &model.Team{
DisplayName: "Name",
@@ -2625,7 +2625,7 @@ func testChannelUpdateMultipleMembers(t *testing.T, ss store.Store) {
Type: model.CHANNEL_OPEN,
TeamId: team.Id,
}
channel, nErr := ss.Channel().Save(channel, -1)
channel, nErr = ss.Channel().Save(channel, -1)
require.Nil(t, nErr)
defer func() { ss.Channel().PermanentDelete(channel.Id) }()
@@ -2775,8 +2775,8 @@ func testChannelUpdateMultipleMembers(t *testing.T, ss store.Store) {
Description: model.NewId(),
Scope: model.SCHEME_SCOPE_CHANNEL,
}
cs, err = ss.Scheme().Save(cs)
require.Nil(t, err)
cs, nErr := ss.Scheme().Save(cs)
require.Nil(t, nErr)
team := &model.Team{
DisplayName: "Name",

Просмотреть файл

@@ -15,7 +15,7 @@ type SchemeStore struct {
}
// CountByScope provides a mock function with given fields: scope
func (_m *SchemeStore) CountByScope(scope string) (int64, *model.AppError) {
func (_m *SchemeStore) CountByScope(scope string) (int64, error) {
ret := _m.Called(scope)
var r0 int64
@@ -25,20 +25,18 @@ func (_m *SchemeStore) CountByScope(scope string) (int64, *model.AppError) {
r0 = ret.Get(0).(int64)
}
var r1 *model.AppError
if rf, ok := ret.Get(1).(func(string) *model.AppError); ok {
var r1 error
if rf, ok := ret.Get(1).(func(string) error); ok {
r1 = rf(scope)
} else {
if ret.Get(1) != nil {
r1 = ret.Get(1).(*model.AppError)
}
r1 = ret.Error(1)
}
return r0, r1
}
// CountWithoutPermission provides a mock function with given fields: scope, permissionID, roleScope, roleType
func (_m *SchemeStore) CountWithoutPermission(scope string, permissionID string, roleScope model.RoleScope, roleType model.RoleType) (int64, *model.AppError) {
func (_m *SchemeStore) CountWithoutPermission(scope string, permissionID string, roleScope model.RoleScope, roleType model.RoleType) (int64, error) {
ret := _m.Called(scope, permissionID, roleScope, roleType)
var r0 int64
@@ -48,20 +46,18 @@ func (_m *SchemeStore) CountWithoutPermission(scope string, permissionID string,
r0 = ret.Get(0).(int64)
}
var r1 *model.AppError
if rf, ok := ret.Get(1).(func(string, string, model.RoleScope, model.RoleType) *model.AppError); ok {
var r1 error
if rf, ok := ret.Get(1).(func(string, string, model.RoleScope, model.RoleType) error); ok {
r1 = rf(scope, permissionID, roleScope, roleType)
} else {
if ret.Get(1) != nil {
r1 = ret.Get(1).(*model.AppError)
}
r1 = ret.Error(1)
}
return r0, r1
}
// Delete provides a mock function with given fields: schemeId
func (_m *SchemeStore) Delete(schemeId string) (*model.Scheme, *model.AppError) {
func (_m *SchemeStore) Delete(schemeId string) (*model.Scheme, error) {
ret := _m.Called(schemeId)
var r0 *model.Scheme
@@ -73,20 +69,18 @@ func (_m *SchemeStore) Delete(schemeId string) (*model.Scheme, *model.AppError)
}
}
var r1 *model.AppError
if rf, ok := ret.Get(1).(func(string) *model.AppError); ok {
var r1 error
if rf, ok := ret.Get(1).(func(string) error); ok {
r1 = rf(schemeId)
} else {
if ret.Get(1) != nil {
r1 = ret.Get(1).(*model.AppError)
}
r1 = ret.Error(1)
}
return r0, r1
}
// Get provides a mock function with given fields: schemeId
func (_m *SchemeStore) Get(schemeId string) (*model.Scheme, *model.AppError) {
func (_m *SchemeStore) Get(schemeId string) (*model.Scheme, error) {
ret := _m.Called(schemeId)
var r0 *model.Scheme
@@ -98,20 +92,18 @@ func (_m *SchemeStore) Get(schemeId string) (*model.Scheme, *model.AppError) {
}
}
var r1 *model.AppError
if rf, ok := ret.Get(1).(func(string) *model.AppError); ok {
var r1 error
if rf, ok := ret.Get(1).(func(string) error); ok {
r1 = rf(schemeId)
} else {
if ret.Get(1) != nil {
r1 = ret.Get(1).(*model.AppError)
}
r1 = ret.Error(1)
}
return r0, r1
}
// GetAllPage provides a mock function with given fields: scope, offset, limit
func (_m *SchemeStore) GetAllPage(scope string, offset int, limit int) ([]*model.Scheme, *model.AppError) {
func (_m *SchemeStore) GetAllPage(scope string, offset int, limit int) ([]*model.Scheme, error) {
ret := _m.Called(scope, offset, limit)
var r0 []*model.Scheme
@@ -123,20 +115,18 @@ func (_m *SchemeStore) GetAllPage(scope string, offset int, limit int) ([]*model
}
}
var r1 *model.AppError
if rf, ok := ret.Get(1).(func(string, int, int) *model.AppError); ok {
var r1 error
if rf, ok := ret.Get(1).(func(string, int, int) error); ok {
r1 = rf(scope, offset, limit)
} else {
if ret.Get(1) != nil {
r1 = ret.Get(1).(*model.AppError)
}
r1 = ret.Error(1)
}
return r0, r1
}
// GetByName provides a mock function with given fields: schemeName
func (_m *SchemeStore) GetByName(schemeName string) (*model.Scheme, *model.AppError) {
func (_m *SchemeStore) GetByName(schemeName string) (*model.Scheme, error) {
ret := _m.Called(schemeName)
var r0 *model.Scheme
@@ -148,36 +138,32 @@ func (_m *SchemeStore) GetByName(schemeName string) (*model.Scheme, *model.AppEr
}
}
var r1 *model.AppError
if rf, ok := ret.Get(1).(func(string) *model.AppError); ok {
var r1 error
if rf, ok := ret.Get(1).(func(string) error); ok {
r1 = rf(schemeName)
} else {
if ret.Get(1) != nil {
r1 = ret.Get(1).(*model.AppError)
}
r1 = ret.Error(1)
}
return r0, r1
}
// PermanentDeleteAll provides a mock function with given fields:
func (_m *SchemeStore) PermanentDeleteAll() *model.AppError {
func (_m *SchemeStore) PermanentDeleteAll() error {
ret := _m.Called()
var r0 *model.AppError
if rf, ok := ret.Get(0).(func() *model.AppError); ok {
var r0 error
if rf, ok := ret.Get(0).(func() error); ok {
r0 = rf()
} else {
if ret.Get(0) != nil {
r0 = ret.Get(0).(*model.AppError)
}
r0 = ret.Error(0)
}
return r0
}
// Save provides a mock function with given fields: scheme
func (_m *SchemeStore) Save(scheme *model.Scheme) (*model.Scheme, *model.AppError) {
func (_m *SchemeStore) Save(scheme *model.Scheme) (*model.Scheme, error) {
ret := _m.Called(scheme)
var r0 *model.Scheme
@@ -189,13 +175,11 @@ func (_m *SchemeStore) Save(scheme *model.Scheme) (*model.Scheme, *model.AppErro
}
}
var r1 *model.AppError
if rf, ok := ret.Get(1).(func(*model.Scheme) *model.AppError); ok {
var r1 error
if rf, ok := ret.Get(1).(func(*model.Scheme) error); ok {
r1 = rf(scheme)
} else {
if ret.Get(1) != nil {
r1 = ret.Get(1).(*model.AppError)
}
r1 = ret.Error(1)
}
return r0, r1

Просмотреть файл

@@ -1377,8 +1377,8 @@ func testTeamSaveMember(t *testing.T, ss store.Store) {
Description: model.NewId(),
Scope: model.SCHEME_SCOPE_TEAM,
}
ts, err = ss.Scheme().Save(ts)
require.Nil(t, err)
ts, nErr := ss.Scheme().Save(ts)
require.Nil(t, nErr)
team := &model.Team{
DisplayName: "Name",
@@ -1745,8 +1745,8 @@ func testTeamSaveMultipleMembers(t *testing.T, ss store.Store) {
Description: model.NewId(),
Scope: model.SCHEME_SCOPE_TEAM,
}
ts, err = ss.Scheme().Save(ts)
require.Nil(t, err)
ts, nErr := ss.Scheme().Save(ts)
require.Nil(t, nErr)
team := &model.Team{
DisplayName: "Name",
@@ -2060,8 +2060,8 @@ func testTeamUpdateMember(t *testing.T, ss store.Store) {
Description: model.NewId(),
Scope: model.SCHEME_SCOPE_TEAM,
}
ts, err = ss.Scheme().Save(ts)
require.Nil(t, err)
ts, nErr := ss.Scheme().Save(ts)
require.Nil(t, nErr)
team := &model.Team{
DisplayName: "Name",
@@ -2375,8 +2375,8 @@ func testTeamUpdateMultipleMembers(t *testing.T, ss store.Store) {
Description: model.NewId(),
Scope: model.SCHEME_SCOPE_TEAM,
}
ts, err = ss.Scheme().Save(ts)
require.Nil(t, err)
ts, nErr := ss.Scheme().Save(ts)
require.Nil(t, nErr)
team := &model.Team{
DisplayName: "Name",
@@ -2386,8 +2386,8 @@ func testTeamUpdateMultipleMembers(t *testing.T, ss store.Store) {
SchemeId: &ts.Id,
}
team, err = ss.Team().Save(team)
require.Nil(t, err)
team, nErr = ss.Team().Save(team)
require.Nil(t, nErr)
member := &model.TeamMember{TeamId: team.Id, UserId: u1.Id}
otherMember := &model.TeamMember{TeamId: team.Id, UserId: u2.Id}
@@ -2807,8 +2807,8 @@ func testGetTeamMember(t *testing.T, ss store.Store) {
Description: model.NewId(),
Scope: model.SCHEME_SCOPE_TEAM,
}
s2, err = ss.Scheme().Save(s2)
require.Nil(t, err)
s2, nErr := ss.Scheme().Save(s2)
require.Nil(t, nErr)
t.Log(s2)
t2, err := ss.Team().Save(&model.Team{

Просмотреть файл

@@ -5036,7 +5036,7 @@ func (s *TimerLayerRoleStore) Save(role *model.Role) (*model.Role, *model.AppErr
return resultVar0, resultVar1
}
func (s *TimerLayerSchemeStore) CountByScope(scope string) (int64, *model.AppError) {
func (s *TimerLayerSchemeStore) CountByScope(scope string) (int64, error) {
start := timemodule.Now()
resultVar0, resultVar1 := s.SchemeStore.CountByScope(scope)
@@ -5052,7 +5052,7 @@ func (s *TimerLayerSchemeStore) CountByScope(scope string) (int64, *model.AppErr
return resultVar0, resultVar1
}
func (s *TimerLayerSchemeStore) CountWithoutPermission(scope string, permissionID string, roleScope model.RoleScope, roleType model.RoleType) (int64, *model.AppError) {
func (s *TimerLayerSchemeStore) CountWithoutPermission(scope string, permissionID string, roleScope model.RoleScope, roleType model.RoleType) (int64, error) {
start := timemodule.Now()
resultVar0, resultVar1 := s.SchemeStore.CountWithoutPermission(scope, permissionID, roleScope, roleType)
@@ -5068,7 +5068,7 @@ func (s *TimerLayerSchemeStore) CountWithoutPermission(scope string, permissionI
return resultVar0, resultVar1
}
func (s *TimerLayerSchemeStore) Delete(schemeId string) (*model.Scheme, *model.AppError) {
func (s *TimerLayerSchemeStore) Delete(schemeId string) (*model.Scheme, error) {
start := timemodule.Now()
resultVar0, resultVar1 := s.SchemeStore.Delete(schemeId)
@@ -5084,7 +5084,7 @@ func (s *TimerLayerSchemeStore) Delete(schemeId string) (*model.Scheme, *model.A
return resultVar0, resultVar1
}
func (s *TimerLayerSchemeStore) Get(schemeId string) (*model.Scheme, *model.AppError) {
func (s *TimerLayerSchemeStore) Get(schemeId string) (*model.Scheme, error) {
start := timemodule.Now()
resultVar0, resultVar1 := s.SchemeStore.Get(schemeId)
@@ -5100,7 +5100,7 @@ func (s *TimerLayerSchemeStore) Get(schemeId string) (*model.Scheme, *model.AppE
return resultVar0, resultVar1
}
func (s *TimerLayerSchemeStore) GetAllPage(scope string, offset int, limit int) ([]*model.Scheme, *model.AppError) {
func (s *TimerLayerSchemeStore) GetAllPage(scope string, offset int, limit int) ([]*model.Scheme, error) {
start := timemodule.Now()
resultVar0, resultVar1 := s.SchemeStore.GetAllPage(scope, offset, limit)
@@ -5116,7 +5116,7 @@ func (s *TimerLayerSchemeStore) GetAllPage(scope string, offset int, limit int)
return resultVar0, resultVar1
}
func (s *TimerLayerSchemeStore) GetByName(schemeName string) (*model.Scheme, *model.AppError) {
func (s *TimerLayerSchemeStore) GetByName(schemeName string) (*model.Scheme, error) {
start := timemodule.Now()
resultVar0, resultVar1 := s.SchemeStore.GetByName(schemeName)
@@ -5132,7 +5132,7 @@ func (s *TimerLayerSchemeStore) GetByName(schemeName string) (*model.Scheme, *mo
return resultVar0, resultVar1
}
func (s *TimerLayerSchemeStore) PermanentDeleteAll() *model.AppError {
func (s *TimerLayerSchemeStore) PermanentDeleteAll() error {
start := timemodule.Now()
resultVar0 := s.SchemeStore.PermanentDeleteAll()
@@ -5148,7 +5148,7 @@ func (s *TimerLayerSchemeStore) PermanentDeleteAll() *model.AppError {
return resultVar0
}
func (s *TimerLayerSchemeStore) Save(scheme *model.Scheme) (*model.Scheme, *model.AppError) {
func (s *TimerLayerSchemeStore) Save(scheme *model.Scheme) (*model.Scheme, error) {
start := timemodule.Now()
resultVar0, resultVar1 := s.SchemeStore.Save(scheme)