MM-21898 - Part 1: Generate and use an interface instead of *A… (#13840)
* Generate and use an interface instead of *App
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
66fc096768
Коммит
17523fa5d9
@@ -19,7 +19,7 @@ const GUEST_ROLES_CREATION_MIGRATION_KEY = "GuestRolesCreationMigrationComplete"
|
||||
// This function migrates the default built in roles from code/config to the database.
|
||||
func (a *App) DoAdvancedPermissionsMigration() {
|
||||
// If the migration is already marked as completed, don't do it again.
|
||||
if _, err := a.Srv.Store.System().GetByName(ADVANCED_PERMISSIONS_MIGRATION_KEY); err == nil {
|
||||
if _, err := a.Srv().Store.System().GetByName(ADVANCED_PERMISSIONS_MIGRATION_KEY); err == nil {
|
||||
return
|
||||
}
|
||||
|
||||
@@ -30,13 +30,13 @@ func (a *App) DoAdvancedPermissionsMigration() {
|
||||
allSucceeded := true
|
||||
|
||||
for _, role := range roles {
|
||||
_, err := a.Srv.Store.Role().Save(role)
|
||||
_, err := a.Srv().Store.Role().Save(role)
|
||||
if err == nil {
|
||||
continue
|
||||
}
|
||||
|
||||
// If this failed for reasons other than the role already existing, don't mark the migration as done.
|
||||
fetchedRole, err := a.Srv.Store.Role().GetByName(role.Name)
|
||||
fetchedRole, err := a.Srv().Store.Role().GetByName(role.Name)
|
||||
if err != nil {
|
||||
mlog.Critical("Failed to migrate role to database.", mlog.Err(err))
|
||||
allSucceeded = false
|
||||
@@ -49,7 +49,7 @@ func (a *App) DoAdvancedPermissionsMigration() {
|
||||
fetchedRole.Description != role.Description ||
|
||||
fetchedRole.SchemeManaged != role.SchemeManaged {
|
||||
role.Id = fetchedRole.Id
|
||||
if _, err = a.Srv.Store.Role().Save(role); err != nil {
|
||||
if _, err = a.Srv().Store.Role().Save(role); err != nil {
|
||||
// Role is not the same, but failed to update.
|
||||
mlog.Critical("Failed to migrate role to database.", mlog.Err(err))
|
||||
allSucceeded = false
|
||||
@@ -74,24 +74,24 @@ func (a *App) DoAdvancedPermissionsMigration() {
|
||||
Value: "true",
|
||||
}
|
||||
|
||||
if err := a.Srv.Store.System().Save(&system); err != nil {
|
||||
if err := a.Srv().Store.System().Save(&system); err != nil {
|
||||
mlog.Critical("Failed to mark advanced permissions migration as completed.", mlog.Err(err))
|
||||
}
|
||||
}
|
||||
|
||||
func (a *App) SetPhase2PermissionsMigrationStatus(isComplete bool) error {
|
||||
if !isComplete {
|
||||
if _, err := a.Srv.Store.System().PermanentDeleteByName(model.MIGRATION_KEY_ADVANCED_PERMISSIONS_PHASE_2); err != nil {
|
||||
if _, err := a.Srv().Store.System().PermanentDeleteByName(model.MIGRATION_KEY_ADVANCED_PERMISSIONS_PHASE_2); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
a.Srv.phase2PermissionsMigrationComplete = isComplete
|
||||
a.Srv().phase2PermissionsMigrationComplete = isComplete
|
||||
return nil
|
||||
}
|
||||
|
||||
func (a *App) DoEmojisPermissionsMigration() {
|
||||
// If the migration is already marked as completed, don't do it again.
|
||||
if _, err := a.Srv.Store.System().GetByName(EMOJIS_PERMISSIONS_MIGRATION_KEY); err == nil {
|
||||
if _, err := a.Srv().Store.System().GetByName(EMOJIS_PERMISSIONS_MIGRATION_KEY); err == nil {
|
||||
return
|
||||
}
|
||||
|
||||
@@ -122,7 +122,7 @@ func (a *App) DoEmojisPermissionsMigration() {
|
||||
|
||||
if role != nil {
|
||||
role.Permissions = append(role.Permissions, model.PERMISSION_CREATE_EMOJIS.Id, model.PERMISSION_DELETE_EMOJIS.Id)
|
||||
if _, err = a.Srv.Store.Role().Save(role); err != nil {
|
||||
if _, err = a.Srv().Store.Role().Save(role); err != nil {
|
||||
mlog.Critical("Failed to migrate emojis creation permissions from mattermost config.", mlog.Err(err))
|
||||
return
|
||||
}
|
||||
@@ -136,7 +136,7 @@ func (a *App) DoEmojisPermissionsMigration() {
|
||||
|
||||
systemAdminRole.Permissions = append(systemAdminRole.Permissions, model.PERMISSION_CREATE_EMOJIS.Id, model.PERMISSION_DELETE_EMOJIS.Id)
|
||||
systemAdminRole.Permissions = append(systemAdminRole.Permissions, model.PERMISSION_DELETE_OTHERS_EMOJIS.Id)
|
||||
if _, err := a.Srv.Store.Role().Save(systemAdminRole); err != nil {
|
||||
if _, err := a.Srv().Store.Role().Save(systemAdminRole); err != nil {
|
||||
mlog.Critical("Failed to migrate emojis creation permissions from mattermost config.", mlog.Err(err))
|
||||
return
|
||||
}
|
||||
@@ -146,40 +146,40 @@ func (a *App) DoEmojisPermissionsMigration() {
|
||||
Value: "true",
|
||||
}
|
||||
|
||||
if err := a.Srv.Store.System().Save(&system); err != nil {
|
||||
if err := a.Srv().Store.System().Save(&system); err != nil {
|
||||
mlog.Critical("Failed to mark emojis permissions migration as completed.", mlog.Err(err))
|
||||
}
|
||||
}
|
||||
|
||||
func (a *App) DoGuestRolesCreationMigration() {
|
||||
// If the migration is already marked as completed, don't do it again.
|
||||
if _, err := a.Srv.Store.System().GetByName(GUEST_ROLES_CREATION_MIGRATION_KEY); err == nil {
|
||||
if _, err := a.Srv().Store.System().GetByName(GUEST_ROLES_CREATION_MIGRATION_KEY); err == nil {
|
||||
return
|
||||
}
|
||||
|
||||
roles := model.MakeDefaultRoles()
|
||||
|
||||
allSucceeded := true
|
||||
if _, err := a.Srv.Store.Role().GetByName(model.CHANNEL_GUEST_ROLE_ID); err != nil {
|
||||
if _, err := a.Srv.Store.Role().Save(roles[model.CHANNEL_GUEST_ROLE_ID]); err != nil {
|
||||
if _, err := a.Srv().Store.Role().GetByName(model.CHANNEL_GUEST_ROLE_ID); err != nil {
|
||||
if _, err := a.Srv().Store.Role().Save(roles[model.CHANNEL_GUEST_ROLE_ID]); err != nil {
|
||||
mlog.Critical("Failed to create new guest role to database.", mlog.Err(err))
|
||||
allSucceeded = false
|
||||
}
|
||||
}
|
||||
if _, err := a.Srv.Store.Role().GetByName(model.TEAM_GUEST_ROLE_ID); err != nil {
|
||||
if _, err := a.Srv.Store.Role().Save(roles[model.TEAM_GUEST_ROLE_ID]); err != nil {
|
||||
if _, err := a.Srv().Store.Role().GetByName(model.TEAM_GUEST_ROLE_ID); err != nil {
|
||||
if _, err := a.Srv().Store.Role().Save(roles[model.TEAM_GUEST_ROLE_ID]); err != nil {
|
||||
mlog.Critical("Failed to create new guest role to database.", mlog.Err(err))
|
||||
allSucceeded = false
|
||||
}
|
||||
}
|
||||
if _, err := a.Srv.Store.Role().GetByName(model.SYSTEM_GUEST_ROLE_ID); err != nil {
|
||||
if _, err := a.Srv.Store.Role().Save(roles[model.SYSTEM_GUEST_ROLE_ID]); err != nil {
|
||||
if _, err := a.Srv().Store.Role().GetByName(model.SYSTEM_GUEST_ROLE_ID); err != nil {
|
||||
if _, err := a.Srv().Store.Role().Save(roles[model.SYSTEM_GUEST_ROLE_ID]); err != nil {
|
||||
mlog.Critical("Failed to create new guest role to database.", mlog.Err(err))
|
||||
allSucceeded = false
|
||||
}
|
||||
}
|
||||
|
||||
schemes, err := a.Srv.Store.Scheme().GetAllPage("", 0, 1000000)
|
||||
schemes, err := a.Srv().Store.Scheme().GetAllPage("", 0, 1000000)
|
||||
if err != nil {
|
||||
mlog.Critical("Failed to get all schemes.", mlog.Err(err))
|
||||
allSucceeded = false
|
||||
@@ -194,7 +194,7 @@ func (a *App) DoGuestRolesCreationMigration() {
|
||||
SchemeManaged: true,
|
||||
}
|
||||
|
||||
if savedRole, err := a.Srv.Store.Role().Save(teamGuestRole); err != nil {
|
||||
if savedRole, err := a.Srv().Store.Role().Save(teamGuestRole); err != nil {
|
||||
mlog.Critical("Failed to create new guest role for custom scheme.", mlog.Err(err))
|
||||
allSucceeded = false
|
||||
} else {
|
||||
@@ -209,14 +209,14 @@ func (a *App) DoGuestRolesCreationMigration() {
|
||||
SchemeManaged: true,
|
||||
}
|
||||
|
||||
if savedRole, err := a.Srv.Store.Role().Save(channelGuestRole); err != nil {
|
||||
if savedRole, err := a.Srv().Store.Role().Save(channelGuestRole); err != nil {
|
||||
mlog.Critical("Failed to create new guest role for custom scheme.", mlog.Err(err))
|
||||
allSucceeded = false
|
||||
} else {
|
||||
scheme.DefaultChannelGuestRole = savedRole.Name
|
||||
}
|
||||
|
||||
_, err := a.Srv.Store.Scheme().Save(scheme)
|
||||
_, err := a.Srv().Store.Scheme().Save(scheme)
|
||||
if err != nil {
|
||||
mlog.Critical("Failed to update custom scheme.", mlog.Err(err))
|
||||
allSucceeded = false
|
||||
@@ -233,7 +233,7 @@ func (a *App) DoGuestRolesCreationMigration() {
|
||||
Value: "true",
|
||||
}
|
||||
|
||||
if err := a.Srv.Store.System().Save(&system); err != nil {
|
||||
if err := a.Srv().Store.System().Save(&system); err != nil {
|
||||
mlog.Critical("Failed to mark guest roles creation migration as completed.", mlog.Err(err))
|
||||
}
|
||||
}
|
||||
|
||||
Ссылка в новой задаче
Block a user