mirror of
https://github.com/mattermost/mattermost.git
synced 2025-02-25 18:55:24 -06:00
Migrate SchemeStore to sync by default (#11522)
* Migrate SchemeStore to sync by default * Fixing tests compilation * Fixing shadow variable * Fixing tests
This commit is contained in:
@@ -290,38 +290,26 @@ type LayeredSchemeStore struct {
|
||||
*LayeredStore
|
||||
}
|
||||
|
||||
func (s *LayeredSchemeStore) Save(scheme *model.Scheme) StoreChannel {
|
||||
return s.RunQuery(func(supplier LayeredStoreSupplier) *LayeredStoreSupplierResult {
|
||||
return supplier.SchemeSave(s.TmpContext, scheme)
|
||||
})
|
||||
func (s *LayeredSchemeStore) Save(scheme *model.Scheme) (*model.Scheme, *model.AppError) {
|
||||
return s.LayerChainHead.SchemeSave(s.TmpContext, scheme)
|
||||
}
|
||||
|
||||
func (s *LayeredSchemeStore) Get(schemeId string) StoreChannel {
|
||||
return s.RunQuery(func(supplier LayeredStoreSupplier) *LayeredStoreSupplierResult {
|
||||
return supplier.SchemeGet(s.TmpContext, schemeId)
|
||||
})
|
||||
func (s *LayeredSchemeStore) Get(schemeId string) (*model.Scheme, *model.AppError) {
|
||||
return s.LayerChainHead.SchemeGet(s.TmpContext, schemeId)
|
||||
}
|
||||
|
||||
func (s *LayeredSchemeStore) GetByName(schemeName string) StoreChannel {
|
||||
return s.RunQuery(func(supplier LayeredStoreSupplier) *LayeredStoreSupplierResult {
|
||||
return supplier.SchemeGetByName(s.TmpContext, schemeName)
|
||||
})
|
||||
func (s *LayeredSchemeStore) GetByName(schemeName string) (*model.Scheme, *model.AppError) {
|
||||
return s.LayerChainHead.SchemeGetByName(s.TmpContext, schemeName)
|
||||
}
|
||||
|
||||
func (s *LayeredSchemeStore) Delete(schemeId string) StoreChannel {
|
||||
return s.RunQuery(func(supplier LayeredStoreSupplier) *LayeredStoreSupplierResult {
|
||||
return supplier.SchemeDelete(s.TmpContext, schemeId)
|
||||
})
|
||||
func (s *LayeredSchemeStore) Delete(schemeId string) (*model.Scheme, *model.AppError) {
|
||||
return s.LayerChainHead.SchemeDelete(s.TmpContext, schemeId)
|
||||
}
|
||||
|
||||
func (s *LayeredSchemeStore) GetAllPage(scope string, offset int, limit int) StoreChannel {
|
||||
return s.RunQuery(func(supplier LayeredStoreSupplier) *LayeredStoreSupplierResult {
|
||||
return supplier.SchemeGetAllPage(s.TmpContext, scope, offset, limit)
|
||||
})
|
||||
func (s *LayeredSchemeStore) GetAllPage(scope string, offset int, limit int) ([]*model.Scheme, *model.AppError) {
|
||||
return s.LayerChainHead.SchemeGetAllPage(s.TmpContext, scope, offset, limit)
|
||||
}
|
||||
|
||||
func (s *LayeredSchemeStore) PermanentDeleteAll() StoreChannel {
|
||||
return s.RunQuery(func(supplier LayeredStoreSupplier) *LayeredStoreSupplierResult {
|
||||
return supplier.SchemePermanentDeleteAll(s.TmpContext)
|
||||
})
|
||||
func (s *LayeredSchemeStore) PermanentDeleteAll() *model.AppError {
|
||||
return s.LayerChainHead.SchemePermanentDeleteAll(s.TmpContext)
|
||||
}
|
||||
|
||||
@@ -41,10 +41,10 @@ type LayeredStoreSupplier interface {
|
||||
RolePermanentDeleteAll(ctx context.Context, hints ...LayeredStoreHint) *model.AppError
|
||||
|
||||
// Schemes
|
||||
SchemeSave(ctx context.Context, scheme *model.Scheme, hints ...LayeredStoreHint) *LayeredStoreSupplierResult
|
||||
SchemeGet(ctx context.Context, schemeId string, hints ...LayeredStoreHint) *LayeredStoreSupplierResult
|
||||
SchemeGetByName(ctx context.Context, schemeName string, hints ...LayeredStoreHint) *LayeredStoreSupplierResult
|
||||
SchemeDelete(ctx context.Context, schemeId string, hints ...LayeredStoreHint) *LayeredStoreSupplierResult
|
||||
SchemeGetAllPage(ctx context.Context, scope string, offset int, limit int, hints ...LayeredStoreHint) *LayeredStoreSupplierResult
|
||||
SchemePermanentDeleteAll(ctx context.Context, hints ...LayeredStoreHint) *LayeredStoreSupplierResult
|
||||
SchemeSave(ctx context.Context, scheme *model.Scheme, hints ...LayeredStoreHint) (*model.Scheme, *model.AppError)
|
||||
SchemeGet(ctx context.Context, schemeId string, hints ...LayeredStoreHint) (*model.Scheme, *model.AppError)
|
||||
SchemeGetByName(ctx context.Context, schemeName string, hints ...LayeredStoreHint) (*model.Scheme, *model.AppError)
|
||||
SchemeDelete(ctx context.Context, schemeId string, hints ...LayeredStoreHint) (*model.Scheme, *model.AppError)
|
||||
SchemeGetAllPage(ctx context.Context, scope string, offset int, limit int, hints ...LayeredStoreHint) ([]*model.Scheme, *model.AppError)
|
||||
SchemePermanentDeleteAll(ctx context.Context, hints ...LayeredStoreHint) *model.AppError
|
||||
}
|
||||
|
||||
@@ -17,41 +17,46 @@ func (s *LocalCacheSupplier) handleClusterInvalidateScheme(msg *model.ClusterMes
|
||||
}
|
||||
}
|
||||
|
||||
func (s *LocalCacheSupplier) SchemeSave(ctx context.Context, scheme *model.Scheme, hints ...LayeredStoreHint) *LayeredStoreSupplierResult {
|
||||
func (s *LocalCacheSupplier) SchemeSave(ctx context.Context, scheme *model.Scheme, hints ...LayeredStoreHint) (*model.Scheme, *model.AppError) {
|
||||
if len(scheme.Id) != 0 {
|
||||
defer s.doInvalidateCacheCluster(s.schemeCache, scheme.Id)
|
||||
}
|
||||
return s.Next().SchemeSave(ctx, scheme, hints...)
|
||||
}
|
||||
|
||||
func (s *LocalCacheSupplier) SchemeGet(ctx context.Context, schemeId string, hints ...LayeredStoreHint) *LayeredStoreSupplierResult {
|
||||
func (s *LocalCacheSupplier) SchemeGet(ctx context.Context, schemeId string, hints ...LayeredStoreHint) (*model.Scheme, *model.AppError) {
|
||||
if result := s.doStandardReadCache(ctx, s.schemeCache, schemeId, hints...); result != nil {
|
||||
return result
|
||||
return result.Data.(*model.Scheme), nil
|
||||
}
|
||||
|
||||
result := s.Next().SchemeGet(ctx, schemeId, hints...)
|
||||
scheme, err := s.Next().SchemeGet(ctx, schemeId, hints...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
result := NewSupplierResult()
|
||||
result.Data = scheme
|
||||
s.doStandardAddToCache(ctx, s.schemeCache, schemeId, result, hints...)
|
||||
|
||||
return result
|
||||
return scheme, nil
|
||||
}
|
||||
|
||||
func (s *LocalCacheSupplier) SchemeGetByName(ctx context.Context, schemeName string, hints ...LayeredStoreHint) *LayeredStoreSupplierResult {
|
||||
func (s *LocalCacheSupplier) SchemeGetByName(ctx context.Context, schemeName string, hints ...LayeredStoreHint) (*model.Scheme, *model.AppError) {
|
||||
return s.Next().SchemeGetByName(ctx, schemeName, hints...)
|
||||
}
|
||||
|
||||
func (s *LocalCacheSupplier) SchemeDelete(ctx context.Context, schemeId string, hints ...LayeredStoreHint) *LayeredStoreSupplierResult {
|
||||
func (s *LocalCacheSupplier) SchemeDelete(ctx context.Context, schemeId string, hints ...LayeredStoreHint) (*model.Scheme, *model.AppError) {
|
||||
defer s.doInvalidateCacheCluster(s.schemeCache, schemeId)
|
||||
defer s.doClearCacheCluster(s.roleCache)
|
||||
|
||||
return s.Next().SchemeDelete(ctx, schemeId, hints...)
|
||||
}
|
||||
|
||||
func (s *LocalCacheSupplier) SchemeGetAllPage(ctx context.Context, scope string, offset int, limit int, hints ...LayeredStoreHint) *LayeredStoreSupplierResult {
|
||||
func (s *LocalCacheSupplier) SchemeGetAllPage(ctx context.Context, scope string, offset int, limit int, hints ...LayeredStoreHint) ([]*model.Scheme, *model.AppError) {
|
||||
return s.Next().SchemeGetAllPage(ctx, scope, offset, limit, hints...)
|
||||
}
|
||||
|
||||
func (s *LocalCacheSupplier) SchemePermanentDeleteAll(ctx context.Context, hints ...LayeredStoreHint) *LayeredStoreSupplierResult {
|
||||
func (s *LocalCacheSupplier) SchemePermanentDeleteAll(ctx context.Context, hints ...LayeredStoreHint) *model.AppError {
|
||||
defer s.doClearCacheCluster(s.schemeCache)
|
||||
defer s.doClearCacheCluster(s.roleCache)
|
||||
|
||||
|
||||
@@ -9,32 +9,32 @@ import (
|
||||
"github.com/mattermost/mattermost-server/model"
|
||||
)
|
||||
|
||||
func (s *RedisSupplier) SchemeSave(ctx context.Context, scheme *model.Scheme, hints ...LayeredStoreHint) *LayeredStoreSupplierResult {
|
||||
func (s *RedisSupplier) SchemeSave(ctx context.Context, scheme *model.Scheme, hints ...LayeredStoreHint) (*model.Scheme, *model.AppError) {
|
||||
// TODO: Redis caching.
|
||||
return s.Next().SchemeSave(ctx, scheme, hints...)
|
||||
}
|
||||
|
||||
func (s *RedisSupplier) SchemeGet(ctx context.Context, schemeId string, hints ...LayeredStoreHint) *LayeredStoreSupplierResult {
|
||||
func (s *RedisSupplier) SchemeGet(ctx context.Context, schemeId string, hints ...LayeredStoreHint) (*model.Scheme, *model.AppError) {
|
||||
// TODO: Redis caching.
|
||||
return s.Next().SchemeGet(ctx, schemeId, hints...)
|
||||
}
|
||||
|
||||
func (s *RedisSupplier) SchemeGetByName(ctx context.Context, schemeName string, hints ...LayeredStoreHint) *LayeredStoreSupplierResult {
|
||||
func (s *RedisSupplier) SchemeGetByName(ctx context.Context, schemeName string, hints ...LayeredStoreHint) (*model.Scheme, *model.AppError) {
|
||||
// TODO: Redis caching.
|
||||
return s.Next().SchemeGetByName(ctx, schemeName, hints...)
|
||||
}
|
||||
|
||||
func (s *RedisSupplier) SchemeDelete(ctx context.Context, schemeId string, hints ...LayeredStoreHint) *LayeredStoreSupplierResult {
|
||||
func (s *RedisSupplier) SchemeDelete(ctx context.Context, schemeId string, hints ...LayeredStoreHint) (*model.Scheme, *model.AppError) {
|
||||
// TODO: Redis caching.
|
||||
return s.Next().SchemeDelete(ctx, schemeId, hints...)
|
||||
}
|
||||
|
||||
func (s *RedisSupplier) SchemeGetAllPage(ctx context.Context, scope string, offset int, limit int, hints ...LayeredStoreHint) *LayeredStoreSupplierResult {
|
||||
func (s *RedisSupplier) SchemeGetAllPage(ctx context.Context, scope string, offset int, limit int, hints ...LayeredStoreHint) ([]*model.Scheme, *model.AppError) {
|
||||
// TODO: Redis caching.
|
||||
return s.Next().SchemeGetAllPage(ctx, scope, offset, limit, hints...)
|
||||
}
|
||||
|
||||
func (s *RedisSupplier) SchemePermanentDeleteAll(ctx context.Context, hints ...LayeredStoreHint) *LayeredStoreSupplierResult {
|
||||
func (s *RedisSupplier) SchemePermanentDeleteAll(ctx context.Context, hints ...LayeredStoreHint) *model.AppError {
|
||||
// TODO: Redis caching.
|
||||
return s.Next().SchemePermanentDeleteAll(ctx, hints...)
|
||||
}
|
||||
|
||||
@@ -33,52 +33,48 @@ func initSqlSupplierSchemes(sqlStore SqlStore) {
|
||||
}
|
||||
}
|
||||
|
||||
func (s *SqlSupplier) SchemeSave(ctx context.Context, scheme *model.Scheme, hints ...store.LayeredStoreHint) *store.LayeredStoreSupplierResult {
|
||||
result := store.NewSupplierResult()
|
||||
|
||||
func (s *SqlSupplier) SchemeSave(ctx context.Context, scheme *model.Scheme, hints ...store.LayeredStoreHint) (*model.Scheme, *model.AppError) {
|
||||
if len(scheme.Id) == 0 {
|
||||
if transaction, err := s.GetMaster().Begin(); err != nil {
|
||||
result.Err = model.NewAppError("SqlSchemeStore.SaveScheme", "store.sql_scheme.save.open_transaction.app_error", nil, err.Error(), http.StatusInternalServerError)
|
||||
} else {
|
||||
defer finalizeTransaction(transaction)
|
||||
result = s.createScheme(ctx, scheme, transaction, hints...)
|
||||
|
||||
if result.Err == nil {
|
||||
if err := transaction.Commit(); err != nil {
|
||||
result.Err = model.NewAppError("SqlSchemeStore.SchemeSave", "store.sql_scheme.save_scheme.commit_transaction.app_error", nil, err.Error(), http.StatusInternalServerError)
|
||||
}
|
||||
}
|
||||
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)
|
||||
}
|
||||
} else {
|
||||
if !scheme.IsValid() {
|
||||
result.Err = model.NewAppError("SqlSchemeStore.Save", "store.sql_scheme.save.invalid_scheme.app_error", nil, "schemeId="+scheme.Id, http.StatusBadRequest)
|
||||
return result
|
||||
defer finalizeTransaction(transaction)
|
||||
|
||||
newScheme, appErr := s.createScheme(ctx, scheme, transaction, hints...)
|
||||
if appErr != nil {
|
||||
return nil, appErr
|
||||
}
|
||||
|
||||
scheme.UpdateAt = model.GetMillis()
|
||||
|
||||
if rowsChanged, err := s.GetMaster().Update(scheme); err != nil {
|
||||
result.Err = model.NewAppError("SqlSchemeStore.Save", "store.sql_scheme.save.update.app_error", nil, err.Error(), http.StatusInternalServerError)
|
||||
} else if rowsChanged != 1 {
|
||||
result.Err = model.NewAppError("SqlSchemeStore.Save", "store.sql_scheme.save.update.app_error", nil, "no record to update", http.StatusInternalServerError)
|
||||
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)
|
||||
}
|
||||
|
||||
result.Data = scheme
|
||||
return newScheme, nil
|
||||
}
|
||||
|
||||
return result
|
||||
if !scheme.IsValid() {
|
||||
return nil, model.NewAppError("SqlSchemeStore.Save", "store.sql_scheme.save.invalid_scheme.app_error", nil, "schemeId="+scheme.Id, http.StatusBadRequest)
|
||||
}
|
||||
|
||||
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)
|
||||
}
|
||||
if rowsChanged != 1 {
|
||||
return nil, model.NewAppError("SqlSchemeStore.Save", "store.sql_scheme.save.update.app_error", nil, "no record to update", http.StatusInternalServerError)
|
||||
}
|
||||
|
||||
return scheme, nil
|
||||
}
|
||||
|
||||
func (s *SqlSupplier) createScheme(ctx context.Context, scheme *model.Scheme, transaction *gorp.Transaction, hints ...store.LayeredStoreHint) *store.LayeredStoreSupplierResult {
|
||||
result := store.NewSupplierResult()
|
||||
|
||||
func (s *SqlSupplier) createScheme(ctx context.Context, scheme *model.Scheme, transaction *gorp.Transaction, hints ...store.LayeredStoreHint) (*model.Scheme, *model.AppError) {
|
||||
// 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.RoleGetByNames(ctx, defaultRoleNames)
|
||||
if err != nil {
|
||||
result.Err = err
|
||||
return result
|
||||
return nil, err
|
||||
}
|
||||
|
||||
for _, role := range roles {
|
||||
@@ -99,8 +95,7 @@ func (s *SqlSupplier) createScheme(ctx context.Context, scheme *model.Scheme, tr
|
||||
}
|
||||
|
||||
if len(defaultRoles) != 6 {
|
||||
result.Err = model.NewAppError("SqlSchemeStore.SaveScheme", "store.sql_scheme.save.retrieve_default_scheme_roles.app_error", nil, "", http.StatusInternalServerError)
|
||||
return result
|
||||
return nil, model.NewAppError("SqlSchemeStore.SaveScheme", "store.sql_scheme.save.retrieve_default_scheme_roles.app_error", nil, "", http.StatusInternalServerError)
|
||||
}
|
||||
|
||||
// Create the appropriate default roles for the scheme.
|
||||
@@ -113,12 +108,11 @@ func (s *SqlSupplier) createScheme(ctx context.Context, scheme *model.Scheme, tr
|
||||
SchemeManaged: true,
|
||||
}
|
||||
|
||||
if savedRole, err := s.createRole(ctx, teamAdminRole, transaction); err != nil {
|
||||
result.Err = err
|
||||
return result
|
||||
} else {
|
||||
scheme.DefaultTeamAdminRole = savedRole.Name
|
||||
savedRole, err := s.createRole(ctx, teamAdminRole, transaction)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
scheme.DefaultTeamAdminRole = savedRole.Name
|
||||
|
||||
// Team User Role
|
||||
teamUserRole := &model.Role{
|
||||
@@ -128,12 +122,11 @@ func (s *SqlSupplier) createScheme(ctx context.Context, scheme *model.Scheme, tr
|
||||
SchemeManaged: true,
|
||||
}
|
||||
|
||||
if savedRole, err := s.createRole(ctx, teamUserRole, transaction); err != nil {
|
||||
result.Err = err
|
||||
return result
|
||||
} else {
|
||||
scheme.DefaultTeamUserRole = savedRole.Name
|
||||
savedRole, err = s.createRole(ctx, teamUserRole, transaction)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
scheme.DefaultTeamUserRole = savedRole.Name
|
||||
|
||||
// Team Guest Role
|
||||
teamGuestRole := &model.Role{
|
||||
@@ -143,12 +136,11 @@ func (s *SqlSupplier) createScheme(ctx context.Context, scheme *model.Scheme, tr
|
||||
SchemeManaged: true,
|
||||
}
|
||||
|
||||
if savedRole, err := s.createRole(ctx, teamGuestRole, transaction); err != nil {
|
||||
result.Err = err
|
||||
return result
|
||||
} else {
|
||||
scheme.DefaultTeamGuestRole = savedRole.Name
|
||||
savedRole, err = s.createRole(ctx, teamGuestRole, transaction)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
scheme.DefaultTeamGuestRole = savedRole.Name
|
||||
}
|
||||
if scheme.Scope == model.SCHEME_SCOPE_TEAM || scheme.Scope == model.SCHEME_SCOPE_CHANNEL {
|
||||
// Channel Admin Role
|
||||
@@ -159,12 +151,11 @@ func (s *SqlSupplier) createScheme(ctx context.Context, scheme *model.Scheme, tr
|
||||
SchemeManaged: true,
|
||||
}
|
||||
|
||||
if savedRole, err := s.createRole(ctx, channelAdminRole, transaction); err != nil {
|
||||
result.Err = err
|
||||
return result
|
||||
} else {
|
||||
scheme.DefaultChannelAdminRole = savedRole.Name
|
||||
savedRole, err := s.createRole(ctx, channelAdminRole, transaction)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
scheme.DefaultChannelAdminRole = savedRole.Name
|
||||
|
||||
// Channel User Role
|
||||
channelUserRole := &model.Role{
|
||||
@@ -174,12 +165,11 @@ func (s *SqlSupplier) createScheme(ctx context.Context, scheme *model.Scheme, tr
|
||||
SchemeManaged: true,
|
||||
}
|
||||
|
||||
if savedRole, err := s.createRole(ctx, channelUserRole, transaction); err != nil {
|
||||
result.Err = err
|
||||
return result
|
||||
} else {
|
||||
scheme.DefaultChannelUserRole = savedRole.Name
|
||||
savedRole, err = s.createRole(ctx, channelUserRole, transaction)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
scheme.DefaultChannelUserRole = savedRole.Name
|
||||
|
||||
// Channel Guest Role
|
||||
channelGuestRole := &model.Role{
|
||||
@@ -189,12 +179,11 @@ func (s *SqlSupplier) createScheme(ctx context.Context, scheme *model.Scheme, tr
|
||||
SchemeManaged: true,
|
||||
}
|
||||
|
||||
if savedRole, err := s.createRole(ctx, channelGuestRole, transaction); err != nil {
|
||||
result.Err = err
|
||||
return result
|
||||
} else {
|
||||
scheme.DefaultChannelGuestRole = savedRole.Name
|
||||
savedRole, err = s.createRole(ctx, channelGuestRole, transaction)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
scheme.DefaultChannelGuestRole = savedRole.Name
|
||||
}
|
||||
|
||||
scheme.Id = model.NewId()
|
||||
@@ -206,80 +195,59 @@ func (s *SqlSupplier) createScheme(ctx context.Context, scheme *model.Scheme, tr
|
||||
|
||||
// Validate the scheme
|
||||
if !scheme.IsValidForCreate() {
|
||||
result.Err = model.NewAppError("SqlSchemeStore.Save", "store.sql_scheme.save.invalid_scheme.app_error", nil, "", http.StatusBadRequest)
|
||||
return result
|
||||
return nil, model.NewAppError("SqlSchemeStore.Save", "store.sql_scheme.save.invalid_scheme.app_error", nil, "", http.StatusBadRequest)
|
||||
}
|
||||
|
||||
if err := transaction.Insert(scheme); err != nil {
|
||||
result.Err = model.NewAppError("SqlSchemeStore.Save", "store.sql_scheme.save.insert.app_error", nil, err.Error(), http.StatusInternalServerError)
|
||||
return nil, model.NewAppError("SqlSchemeStore.Save", "store.sql_scheme.save.insert.app_error", nil, err.Error(), http.StatusInternalServerError)
|
||||
}
|
||||
|
||||
result.Data = scheme
|
||||
|
||||
return result
|
||||
return scheme, nil
|
||||
}
|
||||
|
||||
func (s *SqlSupplier) SchemeGet(ctx context.Context, schemeId string, hints ...store.LayeredStoreHint) *store.LayeredStoreSupplierResult {
|
||||
result := store.NewSupplierResult()
|
||||
|
||||
func (s *SqlSupplier) SchemeGet(ctx context.Context, schemeId string, hints ...store.LayeredStoreHint) (*model.Scheme, *model.AppError) {
|
||||
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 {
|
||||
result.Err = model.NewAppError("SqlSchemeStore.Get", "store.sql_scheme.get.app_error", nil, "Id="+schemeId+", "+err.Error(), http.StatusNotFound)
|
||||
} else {
|
||||
result.Err = model.NewAppError("SqlSchemeStore.Get", "store.sql_scheme.get.app_error", nil, err.Error(), http.StatusInternalServerError)
|
||||
return nil, model.NewAppError("SqlSchemeStore.Get", "store.sql_scheme.get.app_error", nil, "Id="+schemeId+", "+err.Error(), http.StatusNotFound)
|
||||
}
|
||||
return nil, model.NewAppError("SqlSchemeStore.Get", "store.sql_scheme.get.app_error", nil, err.Error(), http.StatusInternalServerError)
|
||||
}
|
||||
|
||||
result.Data = &scheme
|
||||
|
||||
return result
|
||||
return &scheme, nil
|
||||
}
|
||||
|
||||
func (s *SqlSupplier) SchemeGetByName(ctx context.Context, schemeName string, hints ...store.LayeredStoreHint) *store.LayeredStoreSupplierResult {
|
||||
result := store.NewSupplierResult()
|
||||
|
||||
func (s *SqlSupplier) SchemeGetByName(ctx context.Context, schemeName string, hints ...store.LayeredStoreHint) (*model.Scheme, *model.AppError) {
|
||||
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 {
|
||||
result.Err = model.NewAppError("SqlSchemeStore.GetByName", "store.sql_scheme.get.app_error", nil, "Name="+schemeName+", "+err.Error(), http.StatusNotFound)
|
||||
} else {
|
||||
result.Err = model.NewAppError("SqlSchemeStore.GetByName", "store.sql_scheme.get.app_error", nil, err.Error(), http.StatusInternalServerError)
|
||||
return nil, model.NewAppError("SqlSchemeStore.GetByName", "store.sql_scheme.get.app_error", nil, "Name="+schemeName+", "+err.Error(), http.StatusNotFound)
|
||||
}
|
||||
return nil, model.NewAppError("SqlSchemeStore.GetByName", "store.sql_scheme.get.app_error", nil, err.Error(), http.StatusInternalServerError)
|
||||
}
|
||||
|
||||
result.Data = &scheme
|
||||
|
||||
return result
|
||||
return &scheme, nil
|
||||
}
|
||||
|
||||
func (s *SqlSupplier) SchemeDelete(ctx context.Context, schemeId string, hints ...store.LayeredStoreHint) *store.LayeredStoreSupplierResult {
|
||||
result := store.NewSupplierResult()
|
||||
|
||||
func (s *SqlSupplier) SchemeDelete(ctx context.Context, schemeId string, hints ...store.LayeredStoreHint) (*model.Scheme, *model.AppError) {
|
||||
// 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 {
|
||||
result.Err = model.NewAppError("SqlSchemeStore.Delete", "store.sql_scheme.get.app_error", nil, "Id="+schemeId+", "+err.Error(), http.StatusNotFound)
|
||||
} else {
|
||||
result.Err = model.NewAppError("SqlSchemeStore.Delete", "store.sql_scheme.get.app_error", nil, "Id="+schemeId+", "+err.Error(), http.StatusInternalServerError)
|
||||
return nil, model.NewAppError("SqlSchemeStore.Delete", "store.sql_scheme.get.app_error", nil, "Id="+schemeId+", "+err.Error(), http.StatusNotFound)
|
||||
}
|
||||
|
||||
return result
|
||||
return nil, model.NewAppError("SqlSchemeStore.Delete", "store.sql_scheme.get.app_error", nil, "Id="+schemeId+", "+err.Error(), http.StatusInternalServerError)
|
||||
}
|
||||
|
||||
// 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 {
|
||||
result.Err = model.NewAppError("SqlSchemeStore.Delete", "store.sql_scheme.reset_teams.app_error", nil, "Id="+schemeId+", "+err.Error(), http.StatusInternalServerError)
|
||||
return result
|
||||
return nil, model.NewAppError("SqlSchemeStore.Delete", "store.sql_scheme.reset_teams.app_error", nil, "Id="+schemeId+", "+err.Error(), http.StatusInternalServerError)
|
||||
}
|
||||
} 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 {
|
||||
result.Err = model.NewAppError("SqlSchemeStore.Delete", "store.sql_scheme.reset_channels.app_error", nil, "Id="+schemeId+", "+err.Error(), http.StatusInternalServerError)
|
||||
return result
|
||||
return nil, model.NewAppError("SqlSchemeStore.Delete", "store.sql_scheme.reset_channels.app_error", nil, "Id="+schemeId+", "+err.Error(), http.StatusInternalServerError)
|
||||
}
|
||||
|
||||
// Blow away the channel caches.
|
||||
@@ -305,28 +273,24 @@ func (s *SqlSupplier) SchemeDelete(ctx context.Context, schemeId string, hints .
|
||||
queryArgs["DeleteAt"] = time
|
||||
|
||||
if _, err := s.GetMaster().Exec("UPDATE Roles SET UpdateAt = :UpdateAt, DeleteAt = :DeleteAt WHERE Name IN ("+inQuery+")", queryArgs); err != nil {
|
||||
result.Err = model.NewAppError("SqlSchemeStore.Delete", "store.sql_scheme.delete.role_update.app_error", nil, "Id="+schemeId+", "+err.Error(), http.StatusInternalServerError)
|
||||
return result
|
||||
return nil, model.NewAppError("SqlSchemeStore.Delete", "store.sql_scheme.delete.role_update.app_error", nil, "Id="+schemeId+", "+err.Error(), http.StatusInternalServerError)
|
||||
}
|
||||
|
||||
// Delete the scheme itself.
|
||||
scheme.UpdateAt = time
|
||||
scheme.DeleteAt = time
|
||||
|
||||
if rowsChanged, err := s.GetMaster().Update(&scheme); err != nil {
|
||||
result.Err = model.NewAppError("SqlSchemeStore.Delete", "store.sql_scheme.delete.update.app_error", nil, "Id="+schemeId+", "+err.Error(), http.StatusInternalServerError)
|
||||
} else if rowsChanged != 1 {
|
||||
result.Err = model.NewAppError("SqlSchemeStore.Delete", "store.sql_scheme.delete.update.app_error", nil, "no record to update", http.StatusInternalServerError)
|
||||
} else {
|
||||
result.Data = &scheme
|
||||
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 result
|
||||
if rowsChanged != 1 {
|
||||
return nil, model.NewAppError("SqlSchemeStore.Delete", "store.sql_scheme.delete.update.app_error", nil, "no record to update", http.StatusInternalServerError)
|
||||
}
|
||||
return &scheme, nil
|
||||
}
|
||||
|
||||
func (s *SqlSupplier) SchemeGetAllPage(ctx context.Context, scope string, offset int, limit int, hints ...store.LayeredStoreHint) *store.LayeredStoreSupplierResult {
|
||||
result := store.NewSupplierResult()
|
||||
|
||||
func (s *SqlSupplier) SchemeGetAllPage(ctx context.Context, scope string, offset int, limit int, hints ...store.LayeredStoreHint) ([]*model.Scheme, *model.AppError) {
|
||||
var schemes []*model.Scheme
|
||||
|
||||
scopeClause := ""
|
||||
@@ -335,20 +299,16 @@ func (s *SqlSupplier) SchemeGetAllPage(ctx context.Context, scope string, offset
|
||||
}
|
||||
|
||||
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 {
|
||||
result.Err = model.NewAppError("SqlSchemeStore.Get", "store.sql_scheme.get.app_error", nil, err.Error(), http.StatusInternalServerError)
|
||||
return nil, model.NewAppError("SqlSchemeStore.Get", "store.sql_scheme.get.app_error", nil, err.Error(), http.StatusInternalServerError)
|
||||
}
|
||||
|
||||
result.Data = schemes
|
||||
|
||||
return result
|
||||
return schemes, nil
|
||||
}
|
||||
|
||||
func (s *SqlSupplier) SchemePermanentDeleteAll(ctx context.Context, hints ...store.LayeredStoreHint) *store.LayeredStoreSupplierResult {
|
||||
result := store.NewSupplierResult()
|
||||
|
||||
func (s *SqlSupplier) SchemePermanentDeleteAll(ctx context.Context, hints ...store.LayeredStoreHint) *model.AppError {
|
||||
if _, err := s.GetMaster().Exec("DELETE from Schemes"); err != nil {
|
||||
result.Err = model.NewAppError("SqlSchemeStore.PermanentDeleteAll", "store.sql_scheme.permanent_delete_all.app_error", nil, err.Error(), http.StatusInternalServerError)
|
||||
return model.NewAppError("SqlSchemeStore.PermanentDeleteAll", "store.sql_scheme.permanent_delete_all.app_error", nil, err.Error(), http.StatusInternalServerError)
|
||||
}
|
||||
|
||||
return result
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -555,12 +555,12 @@ type RoleStore interface {
|
||||
}
|
||||
|
||||
type SchemeStore interface {
|
||||
Save(scheme *model.Scheme) StoreChannel
|
||||
Get(schemeId string) StoreChannel
|
||||
GetByName(schemeName string) StoreChannel
|
||||
GetAllPage(scope string, offset int, limit int) StoreChannel
|
||||
Delete(schemeId string) StoreChannel
|
||||
PermanentDeleteAll() StoreChannel
|
||||
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
|
||||
}
|
||||
|
||||
type TermsOfServiceStore interface {
|
||||
|
||||
@@ -3039,10 +3039,12 @@ func testChannelStoreGetChannelsByScheme(t *testing.T, ss store.Store) {
|
||||
Scope: model.SCHEME_SCOPE_CHANNEL,
|
||||
}
|
||||
|
||||
result := <-ss.Scheme().Save(s1)
|
||||
s1 = result.Data.(*model.Scheme)
|
||||
s1 = (<-ss.Scheme().Save(s1)).Data.(*model.Scheme)
|
||||
s2 = (<-ss.Scheme().Save(s2)).Data.(*model.Scheme)
|
||||
s1, err := ss.Scheme().Save(s1)
|
||||
require.Nil(t, err)
|
||||
s1, err = ss.Scheme().Save(s1)
|
||||
require.Nil(t, err)
|
||||
s2, err = ss.Scheme().Save(s2)
|
||||
require.Nil(t, err)
|
||||
|
||||
// Create and save some teams.
|
||||
c1 := &model.Channel{
|
||||
@@ -3167,7 +3169,8 @@ func testResetAllChannelSchemes(t *testing.T, ss store.Store) {
|
||||
Description: model.NewId(),
|
||||
Scope: model.SCHEME_SCOPE_CHANNEL,
|
||||
}
|
||||
s1 = (<-ss.Scheme().Save(s1)).Data.(*model.Scheme)
|
||||
s1, err := ss.Scheme().Save(s1)
|
||||
require.Nil(t, err)
|
||||
|
||||
c1 := &model.Channel{
|
||||
TeamId: model.NewId(),
|
||||
@@ -3191,7 +3194,7 @@ func testResetAllChannelSchemes(t *testing.T, ss store.Store) {
|
||||
assert.Equal(t, s1.Id, *c1.SchemeId)
|
||||
assert.Equal(t, s1.Id, *c2.SchemeId)
|
||||
|
||||
err := ss.Channel().ResetAllChannelSchemes()
|
||||
err = ss.Channel().ResetAllChannelSchemes()
|
||||
assert.Nil(t, err)
|
||||
|
||||
c1, _ = ss.Channel().Get(c1.Id, true)
|
||||
|
||||
@@ -783,7 +783,7 @@ func (_m *LayeredStoreDatabaseLayer) Scheme() store.SchemeStore {
|
||||
}
|
||||
|
||||
// SchemeDelete provides a mock function with given fields: ctx, schemeId, hints
|
||||
func (_m *LayeredStoreDatabaseLayer) SchemeDelete(ctx context.Context, schemeId string, hints ...store.LayeredStoreHint) *store.LayeredStoreSupplierResult {
|
||||
func (_m *LayeredStoreDatabaseLayer) SchemeDelete(ctx context.Context, schemeId string, hints ...store.LayeredStoreHint) (*model.Scheme, *model.AppError) {
|
||||
_va := make([]interface{}, len(hints))
|
||||
for _i := range hints {
|
||||
_va[_i] = hints[_i]
|
||||
@@ -793,20 +793,29 @@ func (_m *LayeredStoreDatabaseLayer) SchemeDelete(ctx context.Context, schemeId
|
||||
_ca = append(_ca, _va...)
|
||||
ret := _m.Called(_ca...)
|
||||
|
||||
var r0 *store.LayeredStoreSupplierResult
|
||||
if rf, ok := ret.Get(0).(func(context.Context, string, ...store.LayeredStoreHint) *store.LayeredStoreSupplierResult); ok {
|
||||
var r0 *model.Scheme
|
||||
if rf, ok := ret.Get(0).(func(context.Context, string, ...store.LayeredStoreHint) *model.Scheme); ok {
|
||||
r0 = rf(ctx, schemeId, hints...)
|
||||
} else {
|
||||
if ret.Get(0) != nil {
|
||||
r0 = ret.Get(0).(*store.LayeredStoreSupplierResult)
|
||||
r0 = ret.Get(0).(*model.Scheme)
|
||||
}
|
||||
}
|
||||
|
||||
return r0
|
||||
var r1 *model.AppError
|
||||
if rf, ok := ret.Get(1).(func(context.Context, string, ...store.LayeredStoreHint) *model.AppError); ok {
|
||||
r1 = rf(ctx, schemeId, hints...)
|
||||
} else {
|
||||
if ret.Get(1) != nil {
|
||||
r1 = ret.Get(1).(*model.AppError)
|
||||
}
|
||||
}
|
||||
|
||||
return r0, r1
|
||||
}
|
||||
|
||||
// SchemeGet provides a mock function with given fields: ctx, schemeId, hints
|
||||
func (_m *LayeredStoreDatabaseLayer) SchemeGet(ctx context.Context, schemeId string, hints ...store.LayeredStoreHint) *store.LayeredStoreSupplierResult {
|
||||
func (_m *LayeredStoreDatabaseLayer) SchemeGet(ctx context.Context, schemeId string, hints ...store.LayeredStoreHint) (*model.Scheme, *model.AppError) {
|
||||
_va := make([]interface{}, len(hints))
|
||||
for _i := range hints {
|
||||
_va[_i] = hints[_i]
|
||||
@@ -816,20 +825,29 @@ func (_m *LayeredStoreDatabaseLayer) SchemeGet(ctx context.Context, schemeId str
|
||||
_ca = append(_ca, _va...)
|
||||
ret := _m.Called(_ca...)
|
||||
|
||||
var r0 *store.LayeredStoreSupplierResult
|
||||
if rf, ok := ret.Get(0).(func(context.Context, string, ...store.LayeredStoreHint) *store.LayeredStoreSupplierResult); ok {
|
||||
var r0 *model.Scheme
|
||||
if rf, ok := ret.Get(0).(func(context.Context, string, ...store.LayeredStoreHint) *model.Scheme); ok {
|
||||
r0 = rf(ctx, schemeId, hints...)
|
||||
} else {
|
||||
if ret.Get(0) != nil {
|
||||
r0 = ret.Get(0).(*store.LayeredStoreSupplierResult)
|
||||
r0 = ret.Get(0).(*model.Scheme)
|
||||
}
|
||||
}
|
||||
|
||||
return r0
|
||||
var r1 *model.AppError
|
||||
if rf, ok := ret.Get(1).(func(context.Context, string, ...store.LayeredStoreHint) *model.AppError); ok {
|
||||
r1 = rf(ctx, schemeId, hints...)
|
||||
} else {
|
||||
if ret.Get(1) != nil {
|
||||
r1 = ret.Get(1).(*model.AppError)
|
||||
}
|
||||
}
|
||||
|
||||
return r0, r1
|
||||
}
|
||||
|
||||
// SchemeGetAllPage provides a mock function with given fields: ctx, scope, offset, limit, hints
|
||||
func (_m *LayeredStoreDatabaseLayer) SchemeGetAllPage(ctx context.Context, scope string, offset int, limit int, hints ...store.LayeredStoreHint) *store.LayeredStoreSupplierResult {
|
||||
func (_m *LayeredStoreDatabaseLayer) SchemeGetAllPage(ctx context.Context, scope string, offset int, limit int, hints ...store.LayeredStoreHint) ([]*model.Scheme, *model.AppError) {
|
||||
_va := make([]interface{}, len(hints))
|
||||
for _i := range hints {
|
||||
_va[_i] = hints[_i]
|
||||
@@ -839,20 +857,29 @@ func (_m *LayeredStoreDatabaseLayer) SchemeGetAllPage(ctx context.Context, scope
|
||||
_ca = append(_ca, _va...)
|
||||
ret := _m.Called(_ca...)
|
||||
|
||||
var r0 *store.LayeredStoreSupplierResult
|
||||
if rf, ok := ret.Get(0).(func(context.Context, string, int, int, ...store.LayeredStoreHint) *store.LayeredStoreSupplierResult); ok {
|
||||
var r0 []*model.Scheme
|
||||
if rf, ok := ret.Get(0).(func(context.Context, string, int, int, ...store.LayeredStoreHint) []*model.Scheme); ok {
|
||||
r0 = rf(ctx, scope, offset, limit, hints...)
|
||||
} else {
|
||||
if ret.Get(0) != nil {
|
||||
r0 = ret.Get(0).(*store.LayeredStoreSupplierResult)
|
||||
r0 = ret.Get(0).([]*model.Scheme)
|
||||
}
|
||||
}
|
||||
|
||||
return r0
|
||||
var r1 *model.AppError
|
||||
if rf, ok := ret.Get(1).(func(context.Context, string, int, int, ...store.LayeredStoreHint) *model.AppError); ok {
|
||||
r1 = rf(ctx, scope, offset, limit, hints...)
|
||||
} else {
|
||||
if ret.Get(1) != nil {
|
||||
r1 = ret.Get(1).(*model.AppError)
|
||||
}
|
||||
}
|
||||
|
||||
return r0, r1
|
||||
}
|
||||
|
||||
// SchemeGetByName provides a mock function with given fields: ctx, schemeName, hints
|
||||
func (_m *LayeredStoreDatabaseLayer) SchemeGetByName(ctx context.Context, schemeName string, hints ...store.LayeredStoreHint) *store.LayeredStoreSupplierResult {
|
||||
func (_m *LayeredStoreDatabaseLayer) SchemeGetByName(ctx context.Context, schemeName string, hints ...store.LayeredStoreHint) (*model.Scheme, *model.AppError) {
|
||||
_va := make([]interface{}, len(hints))
|
||||
for _i := range hints {
|
||||
_va[_i] = hints[_i]
|
||||
@@ -862,20 +889,29 @@ func (_m *LayeredStoreDatabaseLayer) SchemeGetByName(ctx context.Context, scheme
|
||||
_ca = append(_ca, _va...)
|
||||
ret := _m.Called(_ca...)
|
||||
|
||||
var r0 *store.LayeredStoreSupplierResult
|
||||
if rf, ok := ret.Get(0).(func(context.Context, string, ...store.LayeredStoreHint) *store.LayeredStoreSupplierResult); ok {
|
||||
var r0 *model.Scheme
|
||||
if rf, ok := ret.Get(0).(func(context.Context, string, ...store.LayeredStoreHint) *model.Scheme); ok {
|
||||
r0 = rf(ctx, schemeName, hints...)
|
||||
} else {
|
||||
if ret.Get(0) != nil {
|
||||
r0 = ret.Get(0).(*store.LayeredStoreSupplierResult)
|
||||
r0 = ret.Get(0).(*model.Scheme)
|
||||
}
|
||||
}
|
||||
|
||||
return r0
|
||||
var r1 *model.AppError
|
||||
if rf, ok := ret.Get(1).(func(context.Context, string, ...store.LayeredStoreHint) *model.AppError); ok {
|
||||
r1 = rf(ctx, schemeName, hints...)
|
||||
} else {
|
||||
if ret.Get(1) != nil {
|
||||
r1 = ret.Get(1).(*model.AppError)
|
||||
}
|
||||
}
|
||||
|
||||
return r0, r1
|
||||
}
|
||||
|
||||
// SchemePermanentDeleteAll provides a mock function with given fields: ctx, hints
|
||||
func (_m *LayeredStoreDatabaseLayer) SchemePermanentDeleteAll(ctx context.Context, hints ...store.LayeredStoreHint) *store.LayeredStoreSupplierResult {
|
||||
func (_m *LayeredStoreDatabaseLayer) SchemePermanentDeleteAll(ctx context.Context, hints ...store.LayeredStoreHint) *model.AppError {
|
||||
_va := make([]interface{}, len(hints))
|
||||
for _i := range hints {
|
||||
_va[_i] = hints[_i]
|
||||
@@ -885,12 +921,12 @@ func (_m *LayeredStoreDatabaseLayer) SchemePermanentDeleteAll(ctx context.Contex
|
||||
_ca = append(_ca, _va...)
|
||||
ret := _m.Called(_ca...)
|
||||
|
||||
var r0 *store.LayeredStoreSupplierResult
|
||||
if rf, ok := ret.Get(0).(func(context.Context, ...store.LayeredStoreHint) *store.LayeredStoreSupplierResult); ok {
|
||||
var r0 *model.AppError
|
||||
if rf, ok := ret.Get(0).(func(context.Context, ...store.LayeredStoreHint) *model.AppError); ok {
|
||||
r0 = rf(ctx, hints...)
|
||||
} else {
|
||||
if ret.Get(0) != nil {
|
||||
r0 = ret.Get(0).(*store.LayeredStoreSupplierResult)
|
||||
r0 = ret.Get(0).(*model.AppError)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -898,7 +934,7 @@ func (_m *LayeredStoreDatabaseLayer) SchemePermanentDeleteAll(ctx context.Contex
|
||||
}
|
||||
|
||||
// SchemeSave provides a mock function with given fields: ctx, scheme, hints
|
||||
func (_m *LayeredStoreDatabaseLayer) SchemeSave(ctx context.Context, scheme *model.Scheme, hints ...store.LayeredStoreHint) *store.LayeredStoreSupplierResult {
|
||||
func (_m *LayeredStoreDatabaseLayer) SchemeSave(ctx context.Context, scheme *model.Scheme, hints ...store.LayeredStoreHint) (*model.Scheme, *model.AppError) {
|
||||
_va := make([]interface{}, len(hints))
|
||||
for _i := range hints {
|
||||
_va[_i] = hints[_i]
|
||||
@@ -908,16 +944,25 @@ func (_m *LayeredStoreDatabaseLayer) SchemeSave(ctx context.Context, scheme *mod
|
||||
_ca = append(_ca, _va...)
|
||||
ret := _m.Called(_ca...)
|
||||
|
||||
var r0 *store.LayeredStoreSupplierResult
|
||||
if rf, ok := ret.Get(0).(func(context.Context, *model.Scheme, ...store.LayeredStoreHint) *store.LayeredStoreSupplierResult); ok {
|
||||
var r0 *model.Scheme
|
||||
if rf, ok := ret.Get(0).(func(context.Context, *model.Scheme, ...store.LayeredStoreHint) *model.Scheme); ok {
|
||||
r0 = rf(ctx, scheme, hints...)
|
||||
} else {
|
||||
if ret.Get(0) != nil {
|
||||
r0 = ret.Get(0).(*store.LayeredStoreSupplierResult)
|
||||
r0 = ret.Get(0).(*model.Scheme)
|
||||
}
|
||||
}
|
||||
|
||||
return r0
|
||||
var r1 *model.AppError
|
||||
if rf, ok := ret.Get(1).(func(context.Context, *model.Scheme, ...store.LayeredStoreHint) *model.AppError); ok {
|
||||
r1 = rf(ctx, scheme, hints...)
|
||||
} else {
|
||||
if ret.Get(1) != nil {
|
||||
r1 = ret.Get(1).(*model.AppError)
|
||||
}
|
||||
}
|
||||
|
||||
return r0, r1
|
||||
}
|
||||
|
||||
// Session provides a mock function with given fields:
|
||||
|
||||
@@ -427,7 +427,7 @@ func (_m *LayeredStoreSupplier) RoleSave(ctx context.Context, role *model.Role,
|
||||
}
|
||||
|
||||
// SchemeDelete provides a mock function with given fields: ctx, schemeId, hints
|
||||
func (_m *LayeredStoreSupplier) SchemeDelete(ctx context.Context, schemeId string, hints ...store.LayeredStoreHint) *store.LayeredStoreSupplierResult {
|
||||
func (_m *LayeredStoreSupplier) SchemeDelete(ctx context.Context, schemeId string, hints ...store.LayeredStoreHint) (*model.Scheme, *model.AppError) {
|
||||
_va := make([]interface{}, len(hints))
|
||||
for _i := range hints {
|
||||
_va[_i] = hints[_i]
|
||||
@@ -437,20 +437,29 @@ func (_m *LayeredStoreSupplier) SchemeDelete(ctx context.Context, schemeId strin
|
||||
_ca = append(_ca, _va...)
|
||||
ret := _m.Called(_ca...)
|
||||
|
||||
var r0 *store.LayeredStoreSupplierResult
|
||||
if rf, ok := ret.Get(0).(func(context.Context, string, ...store.LayeredStoreHint) *store.LayeredStoreSupplierResult); ok {
|
||||
var r0 *model.Scheme
|
||||
if rf, ok := ret.Get(0).(func(context.Context, string, ...store.LayeredStoreHint) *model.Scheme); ok {
|
||||
r0 = rf(ctx, schemeId, hints...)
|
||||
} else {
|
||||
if ret.Get(0) != nil {
|
||||
r0 = ret.Get(0).(*store.LayeredStoreSupplierResult)
|
||||
r0 = ret.Get(0).(*model.Scheme)
|
||||
}
|
||||
}
|
||||
|
||||
return r0
|
||||
var r1 *model.AppError
|
||||
if rf, ok := ret.Get(1).(func(context.Context, string, ...store.LayeredStoreHint) *model.AppError); ok {
|
||||
r1 = rf(ctx, schemeId, hints...)
|
||||
} else {
|
||||
if ret.Get(1) != nil {
|
||||
r1 = ret.Get(1).(*model.AppError)
|
||||
}
|
||||
}
|
||||
|
||||
return r0, r1
|
||||
}
|
||||
|
||||
// SchemeGet provides a mock function with given fields: ctx, schemeId, hints
|
||||
func (_m *LayeredStoreSupplier) SchemeGet(ctx context.Context, schemeId string, hints ...store.LayeredStoreHint) *store.LayeredStoreSupplierResult {
|
||||
func (_m *LayeredStoreSupplier) SchemeGet(ctx context.Context, schemeId string, hints ...store.LayeredStoreHint) (*model.Scheme, *model.AppError) {
|
||||
_va := make([]interface{}, len(hints))
|
||||
for _i := range hints {
|
||||
_va[_i] = hints[_i]
|
||||
@@ -460,20 +469,29 @@ func (_m *LayeredStoreSupplier) SchemeGet(ctx context.Context, schemeId string,
|
||||
_ca = append(_ca, _va...)
|
||||
ret := _m.Called(_ca...)
|
||||
|
||||
var r0 *store.LayeredStoreSupplierResult
|
||||
if rf, ok := ret.Get(0).(func(context.Context, string, ...store.LayeredStoreHint) *store.LayeredStoreSupplierResult); ok {
|
||||
var r0 *model.Scheme
|
||||
if rf, ok := ret.Get(0).(func(context.Context, string, ...store.LayeredStoreHint) *model.Scheme); ok {
|
||||
r0 = rf(ctx, schemeId, hints...)
|
||||
} else {
|
||||
if ret.Get(0) != nil {
|
||||
r0 = ret.Get(0).(*store.LayeredStoreSupplierResult)
|
||||
r0 = ret.Get(0).(*model.Scheme)
|
||||
}
|
||||
}
|
||||
|
||||
return r0
|
||||
var r1 *model.AppError
|
||||
if rf, ok := ret.Get(1).(func(context.Context, string, ...store.LayeredStoreHint) *model.AppError); ok {
|
||||
r1 = rf(ctx, schemeId, hints...)
|
||||
} else {
|
||||
if ret.Get(1) != nil {
|
||||
r1 = ret.Get(1).(*model.AppError)
|
||||
}
|
||||
}
|
||||
|
||||
return r0, r1
|
||||
}
|
||||
|
||||
// SchemeGetAllPage provides a mock function with given fields: ctx, scope, offset, limit, hints
|
||||
func (_m *LayeredStoreSupplier) SchemeGetAllPage(ctx context.Context, scope string, offset int, limit int, hints ...store.LayeredStoreHint) *store.LayeredStoreSupplierResult {
|
||||
func (_m *LayeredStoreSupplier) SchemeGetAllPage(ctx context.Context, scope string, offset int, limit int, hints ...store.LayeredStoreHint) ([]*model.Scheme, *model.AppError) {
|
||||
_va := make([]interface{}, len(hints))
|
||||
for _i := range hints {
|
||||
_va[_i] = hints[_i]
|
||||
@@ -483,20 +501,29 @@ func (_m *LayeredStoreSupplier) SchemeGetAllPage(ctx context.Context, scope stri
|
||||
_ca = append(_ca, _va...)
|
||||
ret := _m.Called(_ca...)
|
||||
|
||||
var r0 *store.LayeredStoreSupplierResult
|
||||
if rf, ok := ret.Get(0).(func(context.Context, string, int, int, ...store.LayeredStoreHint) *store.LayeredStoreSupplierResult); ok {
|
||||
var r0 []*model.Scheme
|
||||
if rf, ok := ret.Get(0).(func(context.Context, string, int, int, ...store.LayeredStoreHint) []*model.Scheme); ok {
|
||||
r0 = rf(ctx, scope, offset, limit, hints...)
|
||||
} else {
|
||||
if ret.Get(0) != nil {
|
||||
r0 = ret.Get(0).(*store.LayeredStoreSupplierResult)
|
||||
r0 = ret.Get(0).([]*model.Scheme)
|
||||
}
|
||||
}
|
||||
|
||||
return r0
|
||||
var r1 *model.AppError
|
||||
if rf, ok := ret.Get(1).(func(context.Context, string, int, int, ...store.LayeredStoreHint) *model.AppError); ok {
|
||||
r1 = rf(ctx, scope, offset, limit, hints...)
|
||||
} else {
|
||||
if ret.Get(1) != nil {
|
||||
r1 = ret.Get(1).(*model.AppError)
|
||||
}
|
||||
}
|
||||
|
||||
return r0, r1
|
||||
}
|
||||
|
||||
// SchemeGetByName provides a mock function with given fields: ctx, schemeName, hints
|
||||
func (_m *LayeredStoreSupplier) SchemeGetByName(ctx context.Context, schemeName string, hints ...store.LayeredStoreHint) *store.LayeredStoreSupplierResult {
|
||||
func (_m *LayeredStoreSupplier) SchemeGetByName(ctx context.Context, schemeName string, hints ...store.LayeredStoreHint) (*model.Scheme, *model.AppError) {
|
||||
_va := make([]interface{}, len(hints))
|
||||
for _i := range hints {
|
||||
_va[_i] = hints[_i]
|
||||
@@ -506,20 +533,29 @@ func (_m *LayeredStoreSupplier) SchemeGetByName(ctx context.Context, schemeName
|
||||
_ca = append(_ca, _va...)
|
||||
ret := _m.Called(_ca...)
|
||||
|
||||
var r0 *store.LayeredStoreSupplierResult
|
||||
if rf, ok := ret.Get(0).(func(context.Context, string, ...store.LayeredStoreHint) *store.LayeredStoreSupplierResult); ok {
|
||||
var r0 *model.Scheme
|
||||
if rf, ok := ret.Get(0).(func(context.Context, string, ...store.LayeredStoreHint) *model.Scheme); ok {
|
||||
r0 = rf(ctx, schemeName, hints...)
|
||||
} else {
|
||||
if ret.Get(0) != nil {
|
||||
r0 = ret.Get(0).(*store.LayeredStoreSupplierResult)
|
||||
r0 = ret.Get(0).(*model.Scheme)
|
||||
}
|
||||
}
|
||||
|
||||
return r0
|
||||
var r1 *model.AppError
|
||||
if rf, ok := ret.Get(1).(func(context.Context, string, ...store.LayeredStoreHint) *model.AppError); ok {
|
||||
r1 = rf(ctx, schemeName, hints...)
|
||||
} else {
|
||||
if ret.Get(1) != nil {
|
||||
r1 = ret.Get(1).(*model.AppError)
|
||||
}
|
||||
}
|
||||
|
||||
return r0, r1
|
||||
}
|
||||
|
||||
// SchemePermanentDeleteAll provides a mock function with given fields: ctx, hints
|
||||
func (_m *LayeredStoreSupplier) SchemePermanentDeleteAll(ctx context.Context, hints ...store.LayeredStoreHint) *store.LayeredStoreSupplierResult {
|
||||
func (_m *LayeredStoreSupplier) SchemePermanentDeleteAll(ctx context.Context, hints ...store.LayeredStoreHint) *model.AppError {
|
||||
_va := make([]interface{}, len(hints))
|
||||
for _i := range hints {
|
||||
_va[_i] = hints[_i]
|
||||
@@ -529,12 +565,12 @@ func (_m *LayeredStoreSupplier) SchemePermanentDeleteAll(ctx context.Context, hi
|
||||
_ca = append(_ca, _va...)
|
||||
ret := _m.Called(_ca...)
|
||||
|
||||
var r0 *store.LayeredStoreSupplierResult
|
||||
if rf, ok := ret.Get(0).(func(context.Context, ...store.LayeredStoreHint) *store.LayeredStoreSupplierResult); ok {
|
||||
var r0 *model.AppError
|
||||
if rf, ok := ret.Get(0).(func(context.Context, ...store.LayeredStoreHint) *model.AppError); ok {
|
||||
r0 = rf(ctx, hints...)
|
||||
} else {
|
||||
if ret.Get(0) != nil {
|
||||
r0 = ret.Get(0).(*store.LayeredStoreSupplierResult)
|
||||
r0 = ret.Get(0).(*model.AppError)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -542,7 +578,7 @@ func (_m *LayeredStoreSupplier) SchemePermanentDeleteAll(ctx context.Context, hi
|
||||
}
|
||||
|
||||
// SchemeSave provides a mock function with given fields: ctx, scheme, hints
|
||||
func (_m *LayeredStoreSupplier) SchemeSave(ctx context.Context, scheme *model.Scheme, hints ...store.LayeredStoreHint) *store.LayeredStoreSupplierResult {
|
||||
func (_m *LayeredStoreSupplier) SchemeSave(ctx context.Context, scheme *model.Scheme, hints ...store.LayeredStoreHint) (*model.Scheme, *model.AppError) {
|
||||
_va := make([]interface{}, len(hints))
|
||||
for _i := range hints {
|
||||
_va[_i] = hints[_i]
|
||||
@@ -552,16 +588,25 @@ func (_m *LayeredStoreSupplier) SchemeSave(ctx context.Context, scheme *model.Sc
|
||||
_ca = append(_ca, _va...)
|
||||
ret := _m.Called(_ca...)
|
||||
|
||||
var r0 *store.LayeredStoreSupplierResult
|
||||
if rf, ok := ret.Get(0).(func(context.Context, *model.Scheme, ...store.LayeredStoreHint) *store.LayeredStoreSupplierResult); ok {
|
||||
var r0 *model.Scheme
|
||||
if rf, ok := ret.Get(0).(func(context.Context, *model.Scheme, ...store.LayeredStoreHint) *model.Scheme); ok {
|
||||
r0 = rf(ctx, scheme, hints...)
|
||||
} else {
|
||||
if ret.Get(0) != nil {
|
||||
r0 = ret.Get(0).(*store.LayeredStoreSupplierResult)
|
||||
r0 = ret.Get(0).(*model.Scheme)
|
||||
}
|
||||
}
|
||||
|
||||
return r0
|
||||
var r1 *model.AppError
|
||||
if rf, ok := ret.Get(1).(func(context.Context, *model.Scheme, ...store.LayeredStoreHint) *model.AppError); ok {
|
||||
r1 = rf(ctx, scheme, hints...)
|
||||
} else {
|
||||
if ret.Get(1) != nil {
|
||||
r1 = ret.Get(1).(*model.AppError)
|
||||
}
|
||||
}
|
||||
|
||||
return r0, r1
|
||||
}
|
||||
|
||||
// SetChainNext provides a mock function with given fields: _a0
|
||||
|
||||
@@ -6,7 +6,6 @@ package mocks
|
||||
|
||||
import mock "github.com/stretchr/testify/mock"
|
||||
import model "github.com/mattermost/mattermost-server/model"
|
||||
import store "github.com/mattermost/mattermost-server/store"
|
||||
|
||||
// SchemeStore is an autogenerated mock type for the SchemeStore type
|
||||
type SchemeStore struct {
|
||||
@@ -14,79 +13,115 @@ type SchemeStore struct {
|
||||
}
|
||||
|
||||
// Delete provides a mock function with given fields: schemeId
|
||||
func (_m *SchemeStore) Delete(schemeId string) store.StoreChannel {
|
||||
func (_m *SchemeStore) Delete(schemeId string) (*model.Scheme, *model.AppError) {
|
||||
ret := _m.Called(schemeId)
|
||||
|
||||
var r0 store.StoreChannel
|
||||
if rf, ok := ret.Get(0).(func(string) store.StoreChannel); ok {
|
||||
var r0 *model.Scheme
|
||||
if rf, ok := ret.Get(0).(func(string) *model.Scheme); ok {
|
||||
r0 = rf(schemeId)
|
||||
} else {
|
||||
if ret.Get(0) != nil {
|
||||
r0 = ret.Get(0).(store.StoreChannel)
|
||||
r0 = ret.Get(0).(*model.Scheme)
|
||||
}
|
||||
}
|
||||
|
||||
return r0
|
||||
var r1 *model.AppError
|
||||
if rf, ok := ret.Get(1).(func(string) *model.AppError); ok {
|
||||
r1 = rf(schemeId)
|
||||
} else {
|
||||
if ret.Get(1) != nil {
|
||||
r1 = ret.Get(1).(*model.AppError)
|
||||
}
|
||||
}
|
||||
|
||||
return r0, r1
|
||||
}
|
||||
|
||||
// Get provides a mock function with given fields: schemeId
|
||||
func (_m *SchemeStore) Get(schemeId string) store.StoreChannel {
|
||||
func (_m *SchemeStore) Get(schemeId string) (*model.Scheme, *model.AppError) {
|
||||
ret := _m.Called(schemeId)
|
||||
|
||||
var r0 store.StoreChannel
|
||||
if rf, ok := ret.Get(0).(func(string) store.StoreChannel); ok {
|
||||
var r0 *model.Scheme
|
||||
if rf, ok := ret.Get(0).(func(string) *model.Scheme); ok {
|
||||
r0 = rf(schemeId)
|
||||
} else {
|
||||
if ret.Get(0) != nil {
|
||||
r0 = ret.Get(0).(store.StoreChannel)
|
||||
r0 = ret.Get(0).(*model.Scheme)
|
||||
}
|
||||
}
|
||||
|
||||
return r0
|
||||
var r1 *model.AppError
|
||||
if rf, ok := ret.Get(1).(func(string) *model.AppError); ok {
|
||||
r1 = rf(schemeId)
|
||||
} else {
|
||||
if ret.Get(1) != nil {
|
||||
r1 = ret.Get(1).(*model.AppError)
|
||||
}
|
||||
}
|
||||
|
||||
return r0, r1
|
||||
}
|
||||
|
||||
// GetAllPage provides a mock function with given fields: scope, offset, limit
|
||||
func (_m *SchemeStore) GetAllPage(scope string, offset int, limit int) store.StoreChannel {
|
||||
func (_m *SchemeStore) GetAllPage(scope string, offset int, limit int) ([]*model.Scheme, *model.AppError) {
|
||||
ret := _m.Called(scope, offset, limit)
|
||||
|
||||
var r0 store.StoreChannel
|
||||
if rf, ok := ret.Get(0).(func(string, int, int) store.StoreChannel); ok {
|
||||
var r0 []*model.Scheme
|
||||
if rf, ok := ret.Get(0).(func(string, int, int) []*model.Scheme); ok {
|
||||
r0 = rf(scope, offset, limit)
|
||||
} else {
|
||||
if ret.Get(0) != nil {
|
||||
r0 = ret.Get(0).(store.StoreChannel)
|
||||
r0 = ret.Get(0).([]*model.Scheme)
|
||||
}
|
||||
}
|
||||
|
||||
return r0
|
||||
var r1 *model.AppError
|
||||
if rf, ok := ret.Get(1).(func(string, int, int) *model.AppError); ok {
|
||||
r1 = rf(scope, offset, limit)
|
||||
} else {
|
||||
if ret.Get(1) != nil {
|
||||
r1 = ret.Get(1).(*model.AppError)
|
||||
}
|
||||
}
|
||||
|
||||
return r0, r1
|
||||
}
|
||||
|
||||
// GetByName provides a mock function with given fields: schemeName
|
||||
func (_m *SchemeStore) GetByName(schemeName string) store.StoreChannel {
|
||||
func (_m *SchemeStore) GetByName(schemeName string) (*model.Scheme, *model.AppError) {
|
||||
ret := _m.Called(schemeName)
|
||||
|
||||
var r0 store.StoreChannel
|
||||
if rf, ok := ret.Get(0).(func(string) store.StoreChannel); ok {
|
||||
var r0 *model.Scheme
|
||||
if rf, ok := ret.Get(0).(func(string) *model.Scheme); ok {
|
||||
r0 = rf(schemeName)
|
||||
} else {
|
||||
if ret.Get(0) != nil {
|
||||
r0 = ret.Get(0).(store.StoreChannel)
|
||||
r0 = ret.Get(0).(*model.Scheme)
|
||||
}
|
||||
}
|
||||
|
||||
return r0
|
||||
var r1 *model.AppError
|
||||
if rf, ok := ret.Get(1).(func(string) *model.AppError); ok {
|
||||
r1 = rf(schemeName)
|
||||
} else {
|
||||
if ret.Get(1) != nil {
|
||||
r1 = ret.Get(1).(*model.AppError)
|
||||
}
|
||||
}
|
||||
|
||||
return r0, r1
|
||||
}
|
||||
|
||||
// PermanentDeleteAll provides a mock function with given fields:
|
||||
func (_m *SchemeStore) PermanentDeleteAll() store.StoreChannel {
|
||||
func (_m *SchemeStore) PermanentDeleteAll() *model.AppError {
|
||||
ret := _m.Called()
|
||||
|
||||
var r0 store.StoreChannel
|
||||
if rf, ok := ret.Get(0).(func() store.StoreChannel); ok {
|
||||
var r0 *model.AppError
|
||||
if rf, ok := ret.Get(0).(func() *model.AppError); ok {
|
||||
r0 = rf()
|
||||
} else {
|
||||
if ret.Get(0) != nil {
|
||||
r0 = ret.Get(0).(store.StoreChannel)
|
||||
r0 = ret.Get(0).(*model.AppError)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -94,17 +129,26 @@ func (_m *SchemeStore) PermanentDeleteAll() store.StoreChannel {
|
||||
}
|
||||
|
||||
// Save provides a mock function with given fields: scheme
|
||||
func (_m *SchemeStore) Save(scheme *model.Scheme) store.StoreChannel {
|
||||
func (_m *SchemeStore) Save(scheme *model.Scheme) (*model.Scheme, *model.AppError) {
|
||||
ret := _m.Called(scheme)
|
||||
|
||||
var r0 store.StoreChannel
|
||||
if rf, ok := ret.Get(0).(func(*model.Scheme) store.StoreChannel); ok {
|
||||
var r0 *model.Scheme
|
||||
if rf, ok := ret.Get(0).(func(*model.Scheme) *model.Scheme); ok {
|
||||
r0 = rf(scheme)
|
||||
} else {
|
||||
if ret.Get(0) != nil {
|
||||
r0 = ret.Get(0).(store.StoreChannel)
|
||||
r0 = ret.Get(0).(*model.Scheme)
|
||||
}
|
||||
}
|
||||
|
||||
return r0
|
||||
var r1 *model.AppError
|
||||
if rf, ok := ret.Get(1).(func(*model.Scheme) *model.AppError); ok {
|
||||
r1 = rf(scheme)
|
||||
} else {
|
||||
if ret.Get(1) != nil {
|
||||
r1 = ret.Get(1).(*model.AppError)
|
||||
}
|
||||
}
|
||||
|
||||
return r0, r1
|
||||
}
|
||||
|
||||
@@ -88,9 +88,8 @@ func testSchemeStoreSave(t *testing.T, ss store.Store) {
|
||||
}
|
||||
|
||||
// Check all fields saved correctly.
|
||||
res1 := <-ss.Scheme().Save(s1)
|
||||
assert.Nil(t, res1.Err)
|
||||
d1 := res1.Data.(*model.Scheme)
|
||||
d1, err := ss.Scheme().Save(s1)
|
||||
assert.Nil(t, err)
|
||||
assert.Len(t, d1.Id, 26)
|
||||
assert.Equal(t, s1.DisplayName, d1.DisplayName)
|
||||
assert.Equal(t, s1.Name, d1.Name)
|
||||
@@ -140,9 +139,8 @@ func testSchemeStoreSave(t *testing.T, ss store.Store) {
|
||||
// Change the scheme description and update.
|
||||
d1.Description = model.NewId()
|
||||
|
||||
res2 := <-ss.Scheme().Save(d1)
|
||||
assert.Nil(t, res2.Err)
|
||||
d2 := res2.Data.(*model.Scheme)
|
||||
d2, err := ss.Scheme().Save(d1)
|
||||
assert.Nil(t, err)
|
||||
assert.Equal(t, d1.Id, d2.Id)
|
||||
assert.Equal(t, s1.DisplayName, d2.DisplayName)
|
||||
assert.Equal(t, s1.Name, d2.Name)
|
||||
@@ -167,8 +165,8 @@ func testSchemeStoreSave(t *testing.T, ss store.Store) {
|
||||
Scope: model.SCHEME_SCOPE_TEAM,
|
||||
}
|
||||
|
||||
res3 := <-ss.Scheme().Save(s3)
|
||||
assert.NotNil(t, res3.Err)
|
||||
_, err = ss.Scheme().Save(s3)
|
||||
assert.NotNil(t, err)
|
||||
}
|
||||
|
||||
func testSchemeStoreGet(t *testing.T, ss store.Store) {
|
||||
@@ -180,15 +178,13 @@ func testSchemeStoreGet(t *testing.T, ss store.Store) {
|
||||
Scope: model.SCHEME_SCOPE_TEAM,
|
||||
}
|
||||
|
||||
res1 := <-ss.Scheme().Save(s1)
|
||||
assert.Nil(t, res1.Err)
|
||||
d1 := res1.Data.(*model.Scheme)
|
||||
d1, err := ss.Scheme().Save(s1)
|
||||
assert.Nil(t, err)
|
||||
assert.Len(t, d1.Id, 26)
|
||||
|
||||
// Get a valid scheme
|
||||
res2 := <-ss.Scheme().Get(d1.Id)
|
||||
assert.Nil(t, res2.Err)
|
||||
d2 := res1.Data.(*model.Scheme)
|
||||
d2, err := ss.Scheme().Get(d1.Id)
|
||||
assert.Nil(t, err)
|
||||
assert.Equal(t, d1.Id, d2.Id)
|
||||
assert.Equal(t, s1.DisplayName, d2.DisplayName)
|
||||
assert.Equal(t, s1.Name, d2.Name)
|
||||
@@ -205,8 +201,8 @@ func testSchemeStoreGet(t *testing.T, ss store.Store) {
|
||||
assert.Equal(t, d1.DefaultChannelGuestRole, d2.DefaultChannelGuestRole)
|
||||
|
||||
// Get an invalid scheme
|
||||
res3 := <-ss.Scheme().Get(model.NewId())
|
||||
assert.NotNil(t, res3.Err)
|
||||
_, err = ss.Scheme().Get(model.NewId())
|
||||
assert.NotNil(t, err)
|
||||
}
|
||||
|
||||
func testSchemeStoreGetByName(t *testing.T, ss store.Store) {
|
||||
@@ -218,15 +214,13 @@ func testSchemeStoreGetByName(t *testing.T, ss store.Store) {
|
||||
Scope: model.SCHEME_SCOPE_TEAM,
|
||||
}
|
||||
|
||||
res1 := <-ss.Scheme().Save(s1)
|
||||
assert.Nil(t, res1.Err)
|
||||
d1 := res1.Data.(*model.Scheme)
|
||||
d1, err := ss.Scheme().Save(s1)
|
||||
assert.Nil(t, err)
|
||||
assert.Len(t, d1.Id, 26)
|
||||
|
||||
// Get a valid scheme
|
||||
res2 := <-ss.Scheme().GetByName(d1.Name)
|
||||
assert.Nil(t, res2.Err)
|
||||
d2 := res1.Data.(*model.Scheme)
|
||||
d2, err := ss.Scheme().GetByName(d1.Name)
|
||||
assert.Nil(t, err)
|
||||
assert.Equal(t, d1.Id, d2.Id)
|
||||
assert.Equal(t, s1.DisplayName, d2.DisplayName)
|
||||
assert.Equal(t, s1.Name, d2.Name)
|
||||
@@ -243,8 +237,8 @@ func testSchemeStoreGetByName(t *testing.T, ss store.Store) {
|
||||
assert.Equal(t, d1.DefaultChannelGuestRole, d2.DefaultChannelGuestRole)
|
||||
|
||||
// Get an invalid scheme
|
||||
res3 := <-ss.Scheme().GetByName(model.NewId())
|
||||
assert.NotNil(t, res3.Err)
|
||||
_, err = ss.Scheme().GetByName(model.NewId())
|
||||
assert.NotNil(t, err)
|
||||
}
|
||||
|
||||
func testSchemeStoreGetAllPage(t *testing.T, ss store.Store) {
|
||||
@@ -277,17 +271,16 @@ func testSchemeStoreGetAllPage(t *testing.T, ss store.Store) {
|
||||
}
|
||||
|
||||
for _, scheme := range schemes {
|
||||
store.Must(ss.Scheme().Save(scheme))
|
||||
_, err := ss.Scheme().Save(scheme)
|
||||
require.Nil(t, err)
|
||||
}
|
||||
|
||||
r1 := <-ss.Scheme().GetAllPage("", 0, 2)
|
||||
assert.Nil(t, r1.Err)
|
||||
s1 := r1.Data.([]*model.Scheme)
|
||||
s1, err := ss.Scheme().GetAllPage("", 0, 2)
|
||||
assert.Nil(t, err)
|
||||
assert.Len(t, s1, 2)
|
||||
|
||||
r2 := <-ss.Scheme().GetAllPage("", 2, 2)
|
||||
assert.Nil(t, r2.Err)
|
||||
s2 := r2.Data.([]*model.Scheme)
|
||||
s2, err := ss.Scheme().GetAllPage("", 2, 2)
|
||||
assert.Nil(t, err)
|
||||
assert.Len(t, s2, 2)
|
||||
assert.NotEqual(t, s1[0].DisplayName, s2[0].DisplayName)
|
||||
assert.NotEqual(t, s1[0].DisplayName, s2[1].DisplayName)
|
||||
@@ -298,17 +291,15 @@ func testSchemeStoreGetAllPage(t *testing.T, ss store.Store) {
|
||||
assert.NotEqual(t, s1[1].Name, s2[0].Name)
|
||||
assert.NotEqual(t, s1[1].Name, s2[1].Name)
|
||||
|
||||
r3 := <-ss.Scheme().GetAllPage("team", 0, 1000)
|
||||
assert.Nil(t, r3.Err)
|
||||
s3 := r3.Data.([]*model.Scheme)
|
||||
s3, err := ss.Scheme().GetAllPage("team", 0, 1000)
|
||||
assert.Nil(t, err)
|
||||
assert.NotZero(t, len(s3))
|
||||
for _, s := range s3 {
|
||||
assert.Equal(t, "team", s.Scope)
|
||||
}
|
||||
|
||||
r4 := <-ss.Scheme().GetAllPage("channel", 0, 1000)
|
||||
assert.Nil(t, r4.Err)
|
||||
s4 := r4.Data.([]*model.Scheme)
|
||||
s4, err := ss.Scheme().GetAllPage("channel", 0, 1000)
|
||||
assert.Nil(t, err)
|
||||
assert.NotZero(t, len(s4))
|
||||
for _, s := range s4 {
|
||||
assert.Equal(t, "channel", s.Scope)
|
||||
@@ -325,9 +316,8 @@ func testSchemeStoreDelete(t *testing.T, ss store.Store) {
|
||||
}
|
||||
|
||||
// Check all fields saved correctly.
|
||||
res1 := <-ss.Scheme().Save(s1)
|
||||
assert.Nil(t, res1.Err)
|
||||
d1 := res1.Data.(*model.Scheme)
|
||||
d1, err := ss.Scheme().Save(s1)
|
||||
assert.Nil(t, err)
|
||||
assert.Len(t, d1.Id, 26)
|
||||
assert.Equal(t, s1.DisplayName, d1.DisplayName)
|
||||
assert.Equal(t, s1.Name, d1.Name)
|
||||
@@ -375,11 +365,8 @@ func testSchemeStoreDelete(t *testing.T, ss store.Store) {
|
||||
assert.True(t, role6.SchemeManaged)
|
||||
|
||||
// Delete the scheme.
|
||||
res2 := <-ss.Scheme().Delete(d1.Id)
|
||||
if !assert.Nil(t, res2.Err) {
|
||||
t.Fatal(res2.Err)
|
||||
}
|
||||
d2 := res2.Data.(*model.Scheme)
|
||||
d2, err := ss.Scheme().Delete(d1.Id)
|
||||
require.Nil(t, err)
|
||||
assert.NotZero(t, d2.DeleteAt)
|
||||
|
||||
// Check that the roles are deleted too.
|
||||
@@ -408,8 +395,8 @@ func testSchemeStoreDelete(t *testing.T, ss store.Store) {
|
||||
assert.NotZero(t, role12.DeleteAt)
|
||||
|
||||
// Try deleting a scheme that does not exist.
|
||||
res3 := <-ss.Scheme().Delete(model.NewId())
|
||||
assert.NotNil(t, res3.Err)
|
||||
_, err = ss.Scheme().Delete(model.NewId())
|
||||
assert.NotNil(t, err)
|
||||
|
||||
// Try deleting a team scheme that's in use.
|
||||
s4 := &model.Scheme{
|
||||
@@ -418,9 +405,8 @@ func testSchemeStoreDelete(t *testing.T, ss store.Store) {
|
||||
Description: model.NewId(),
|
||||
Scope: model.SCHEME_SCOPE_TEAM,
|
||||
}
|
||||
res4 := <-ss.Scheme().Save(s4)
|
||||
assert.Nil(t, res4.Err)
|
||||
d4 := res4.Data.(*model.Scheme)
|
||||
d4, err := ss.Scheme().Save(s4)
|
||||
assert.Nil(t, err)
|
||||
|
||||
t4 := &model.Team{
|
||||
Name: model.NewId(),
|
||||
@@ -432,8 +418,8 @@ func testSchemeStoreDelete(t *testing.T, ss store.Store) {
|
||||
t4, err = ss.Team().Save(t4)
|
||||
require.Nil(t, err)
|
||||
|
||||
sres4 := <-ss.Scheme().Delete(d4.Id)
|
||||
assert.Nil(t, sres4.Err)
|
||||
_, err = ss.Scheme().Delete(d4.Id)
|
||||
assert.Nil(t, err)
|
||||
|
||||
t5, err := ss.Team().Get(t4.Id)
|
||||
require.Nil(t, err)
|
||||
@@ -446,9 +432,8 @@ func testSchemeStoreDelete(t *testing.T, ss store.Store) {
|
||||
Description: model.NewId(),
|
||||
Scope: model.SCHEME_SCOPE_CHANNEL,
|
||||
}
|
||||
res5 := <-ss.Scheme().Save(s5)
|
||||
assert.Nil(t, res5.Err)
|
||||
d5 := res5.Data.(*model.Scheme)
|
||||
d5, err := ss.Scheme().Save(s5)
|
||||
assert.Nil(t, err)
|
||||
|
||||
c5 := &model.Channel{
|
||||
TeamId: model.NewId(),
|
||||
@@ -460,8 +445,8 @@ func testSchemeStoreDelete(t *testing.T, ss store.Store) {
|
||||
c5, err = ss.Channel().Save(c5, -1)
|
||||
assert.Nil(t, err)
|
||||
|
||||
sres5 := <-ss.Scheme().Delete(d5.Id)
|
||||
assert.Nil(t, sres5.Err)
|
||||
_, err = ss.Scheme().Delete(d5.Id)
|
||||
assert.Nil(t, err)
|
||||
|
||||
c6, err := ss.Channel().Get(c5.Id, true)
|
||||
assert.Nil(t, err)
|
||||
@@ -483,19 +468,21 @@ func testSchemeStorePermanentDeleteAll(t *testing.T, ss store.Store) {
|
||||
Scope: model.SCHEME_SCOPE_CHANNEL,
|
||||
}
|
||||
|
||||
s1 = (<-ss.Scheme().Save(s1)).Data.(*model.Scheme)
|
||||
s2 = (<-ss.Scheme().Save(s2)).Data.(*model.Scheme)
|
||||
s1, err := ss.Scheme().Save(s1)
|
||||
require.Nil(t, err)
|
||||
s2, err = ss.Scheme().Save(s2)
|
||||
require.Nil(t, err)
|
||||
|
||||
res := <-ss.Scheme().PermanentDeleteAll()
|
||||
assert.Nil(t, res.Err)
|
||||
err = ss.Scheme().PermanentDeleteAll()
|
||||
assert.Nil(t, err)
|
||||
|
||||
res1 := <-ss.Scheme().Get(s1.Id)
|
||||
assert.NotNil(t, res1.Err)
|
||||
_, err = ss.Scheme().Get(s1.Id)
|
||||
assert.NotNil(t, err)
|
||||
|
||||
res2 := <-ss.Scheme().Get(s2.Id)
|
||||
assert.NotNil(t, res2.Err)
|
||||
_, err = ss.Scheme().Get(s2.Id)
|
||||
assert.NotNil(t, err)
|
||||
|
||||
res3 := <-ss.Scheme().GetAllPage("", 0, 100000)
|
||||
assert.Nil(t, res3.Err)
|
||||
assert.Len(t, res3.Data.([]*model.Scheme), 0)
|
||||
schemes, err := ss.Scheme().GetAllPage("", 0, 100000)
|
||||
assert.Nil(t, err)
|
||||
assert.Len(t, schemes, 0)
|
||||
}
|
||||
|
||||
@@ -1051,7 +1051,8 @@ func testGetTeamMember(t *testing.T, ss store.Store) {
|
||||
Description: model.NewId(),
|
||||
Scope: model.SCHEME_SCOPE_TEAM,
|
||||
}
|
||||
s2 = (<-ss.Scheme().Save(s2)).Data.(*model.Scheme)
|
||||
s2, err := ss.Scheme().Save(s2)
|
||||
require.Nil(t, err)
|
||||
t.Log(s2)
|
||||
|
||||
t2, err := ss.Team().Save(&model.Team{
|
||||
@@ -1318,8 +1319,10 @@ func testGetTeamsByScheme(t *testing.T, ss store.Store) {
|
||||
Scope: model.SCHEME_SCOPE_TEAM,
|
||||
}
|
||||
|
||||
s1 = (<-ss.Scheme().Save(s1)).Data.(*model.Scheme)
|
||||
s2 = (<-ss.Scheme().Save(s2)).Data.(*model.Scheme)
|
||||
s1, err := ss.Scheme().Save(s1)
|
||||
require.Nil(t, err)
|
||||
s2, err = ss.Scheme().Save(s2)
|
||||
require.Nil(t, err)
|
||||
|
||||
// Create and save some teams.
|
||||
t1 := &model.Team{
|
||||
@@ -1345,7 +1348,7 @@ func testGetTeamsByScheme(t *testing.T, ss store.Store) {
|
||||
Type: model.TEAM_OPEN,
|
||||
}
|
||||
|
||||
_, err := ss.Team().Save(t1)
|
||||
_, err = ss.Team().Save(t1)
|
||||
require.Nil(t, err)
|
||||
|
||||
_, err = ss.Team().Save(t2)
|
||||
@@ -1447,7 +1450,8 @@ func testResetAllTeamSchemes(t *testing.T, ss store.Store) {
|
||||
Description: model.NewId(),
|
||||
Scope: model.SCHEME_SCOPE_TEAM,
|
||||
}
|
||||
s1 = (<-ss.Scheme().Save(s1)).Data.(*model.Scheme)
|
||||
s1, err := ss.Scheme().Save(s1)
|
||||
require.Nil(t, err)
|
||||
|
||||
t1 := &model.Team{
|
||||
Name: model.NewId(),
|
||||
@@ -1465,7 +1469,7 @@ func testResetAllTeamSchemes(t *testing.T, ss store.Store) {
|
||||
SchemeId: &s1.Id,
|
||||
}
|
||||
|
||||
t1, err := ss.Team().Save(t1)
|
||||
t1, err = ss.Team().Save(t1)
|
||||
require.Nil(t, err)
|
||||
t2, err = ss.Team().Save(t2)
|
||||
require.Nil(t, err)
|
||||
@@ -1539,7 +1543,8 @@ func testTeamStoreAnalyticsGetTeamCountForScheme(t *testing.T, ss store.Store) {
|
||||
Description: model.NewId(),
|
||||
Scope: model.SCHEME_SCOPE_TEAM,
|
||||
}
|
||||
s1 = (<-ss.Scheme().Save(s1)).Data.(*model.Scheme)
|
||||
s1, err := ss.Scheme().Save(s1)
|
||||
require.Nil(t, err)
|
||||
|
||||
count1 := (<-ss.Team().AnalyticsGetTeamCountForScheme(s1.Id)).Data.(int64)
|
||||
assert.Equal(t, int64(0), count1)
|
||||
@@ -1551,7 +1556,7 @@ func testTeamStoreAnalyticsGetTeamCountForScheme(t *testing.T, ss store.Store) {
|
||||
Type: model.TEAM_OPEN,
|
||||
SchemeId: &s1.Id,
|
||||
}
|
||||
_, err := ss.Team().Save(t1)
|
||||
_, err = ss.Team().Save(t1)
|
||||
require.Nil(t, err)
|
||||
|
||||
count2 := (<-ss.Team().AnalyticsGetTeamCountForScheme(s1.Id)).Data.(int64)
|
||||
|
||||
Reference in New Issue
Block a user