Reduce number of IDE warnings in permissions_migrations.go (#29605)
* Reduce number of IDE warnings in permissions_migrations.go * Fix comment language
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
882654d898
Коммит
0c213eae9e
@@ -83,7 +83,7 @@ func isExactRole(roleName string) func(*model.Role, map[string]map[string]bool)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// isRole returns true if roleName matches a role's name field or if the a team
|
// isRole returns true if roleName matches a role's name field or if the team
|
||||||
// or channel scheme role matches a "common name". A common name is one of the following role
|
// or channel scheme role matches a "common name". A common name is one of the following role
|
||||||
// that is common among the system scheme and the team and/or channel schemes:
|
// that is common among the system scheme and the team and/or channel schemes:
|
||||||
//
|
//
|
||||||
@@ -470,7 +470,7 @@ func (a *App) channelModerationPermissionsMigration() (permissionsMap, error) {
|
|||||||
model.ChannelGuestRoleId,
|
model.ChannelGuestRoleId,
|
||||||
)...)
|
)...)
|
||||||
|
|
||||||
// ensure system admin has all of the moderated permissions
|
// ensure system admin has all the moderated permissions
|
||||||
transformations = append(transformations, permissionTransformation{
|
transformations = append(transformations, permissionTransformation{
|
||||||
On: isExactRole(model.SystemAdminRoleId),
|
On: isExactRole(model.SystemAdminRoleId),
|
||||||
Add: append(moderatedPermissionsMinusCreatePost, PermissionCreatePost),
|
Add: append(moderatedPermissionsMinusCreatePost, PermissionCreatePost),
|
||||||
@@ -499,51 +499,43 @@ func (a *App) getAddUseGroupMentionsPermissionMigration() (permissionsMap, error
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (a *App) getAddSystemConsolePermissionsMigration() (permissionsMap, error) {
|
func (a *App) getAddSystemConsolePermissionsMigration() (permissionsMap, error) {
|
||||||
transformations := []permissionTransformation{}
|
|
||||||
|
|
||||||
permissionsToAdd := []string{}
|
permissionsToAdd := []string{}
|
||||||
for _, permission := range append(model.SysconsoleReadPermissions, model.SysconsoleWritePermissions...) {
|
for _, permission := range append(model.SysconsoleReadPermissions, model.SysconsoleWritePermissions...) {
|
||||||
permissionsToAdd = append(permissionsToAdd, permission.Id)
|
permissionsToAdd = append(permissionsToAdd, permission.Id)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return permissionsMap{
|
||||||
// add the new permissions to system admin
|
// add the new permissions to system admin
|
||||||
transformations = append(transformations,
|
|
||||||
permissionTransformation{
|
permissionTransformation{
|
||||||
On: isExactRole(model.SystemAdminRoleId),
|
On: isExactRole(model.SystemAdminRoleId),
|
||||||
Add: permissionsToAdd,
|
Add: permissionsToAdd,
|
||||||
})
|
},
|
||||||
|
|
||||||
// add read_jobs to all roles with manage_jobs
|
// add read_jobs to all roles with manage_jobs
|
||||||
transformations = append(transformations, permissionTransformation{
|
permissionTransformation{
|
||||||
On: permissionExists(PermissionManageJobs),
|
On: permissionExists(PermissionManageJobs),
|
||||||
Add: []string{PermissionReadJobs},
|
Add: []string{PermissionReadJobs},
|
||||||
})
|
},
|
||||||
|
|
||||||
// add read_other_users_teams to all roles with edit_other_users
|
// add read_other_users_teams to all roles with edit_other_users
|
||||||
transformations = append(transformations, permissionTransformation{
|
permissionTransformation{
|
||||||
On: permissionExists(PermissionEditOtherUsers),
|
On: permissionExists(PermissionEditOtherUsers),
|
||||||
Add: []string{PermissionReadOtherUsersTeams},
|
Add: []string{PermissionReadOtherUsersTeams},
|
||||||
})
|
},
|
||||||
|
|
||||||
// add read_public_channel_groups to all roles with manage_public_channel_members
|
// add read_public_channel_groups to all roles with manage_public_channel_members
|
||||||
transformations = append(transformations, permissionTransformation{
|
permissionTransformation{
|
||||||
On: permissionExists(PermissionManagePublicChannelMembers),
|
On: permissionExists(PermissionManagePublicChannelMembers),
|
||||||
Add: []string{PermissionReadPublicChannelGroups},
|
Add: []string{PermissionReadPublicChannelGroups},
|
||||||
})
|
},
|
||||||
|
|
||||||
// add read_private_channel_groups to all roles with manage_private_channel_members
|
// add read_private_channel_groups to all roles with manage_private_channel_members
|
||||||
transformations = append(transformations, permissionTransformation{
|
permissionTransformation{
|
||||||
On: permissionExists(PermissionManagePrivateChannelMembers),
|
On: permissionExists(PermissionManagePrivateChannelMembers),
|
||||||
Add: []string{PermissionReadPrivateChannelGroups},
|
Add: []string{PermissionReadPrivateChannelGroups},
|
||||||
})
|
},
|
||||||
|
|
||||||
// add edit_brand to all roles with manage_system
|
// add edit_brand to all roles with manage_system
|
||||||
transformations = append(transformations, permissionTransformation{
|
permissionTransformation{
|
||||||
On: permissionExists(PermissionManageSystem),
|
On: permissionExists(PermissionManageSystem),
|
||||||
Add: []string{PermissionEditBrand},
|
Add: []string{PermissionEditBrand},
|
||||||
})
|
},
|
||||||
|
}, nil
|
||||||
return transformations, nil
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a *App) getAddConvertChannelPermissionsMigration() (permissionsMap, error) {
|
func (a *App) getAddConvertChannelPermissionsMigration() (permissionsMap, error) {
|
||||||
@@ -583,178 +575,141 @@ func (a *App) getBillingPermissionsMigration() (permissionsMap, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (a *App) getAddManageSecureConnectionsPermissionsMigration() (permissionsMap, error) {
|
func (a *App) getAddManageSecureConnectionsPermissionsMigration() (permissionsMap, error) {
|
||||||
transformations := []permissionTransformation{}
|
return permissionsMap{
|
||||||
|
|
||||||
// add the new permission to system admin
|
// add the new permission to system admin
|
||||||
transformations = append(transformations,
|
|
||||||
permissionTransformation{
|
permissionTransformation{
|
||||||
On: isExactRole(model.SystemAdminRoleId),
|
On: isExactRole(model.SystemAdminRoleId),
|
||||||
Add: []string{PermissionManageSecureConnections},
|
Add: []string{PermissionManageSecureConnections},
|
||||||
})
|
},
|
||||||
|
|
||||||
// remote the deprecated permission from system admin
|
// remote the deprecated permission from system admin
|
||||||
transformations = append(transformations,
|
|
||||||
permissionTransformation{
|
permissionTransformation{
|
||||||
On: isExactRole(model.SystemAdminRoleId),
|
On: isExactRole(model.SystemAdminRoleId),
|
||||||
Remove: []string{PermissionManageRemoteClusters},
|
Remove: []string{PermissionManageRemoteClusters},
|
||||||
})
|
},
|
||||||
|
}, nil
|
||||||
return transformations, nil
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a *App) getAddDownloadComplianceExportResult() (permissionsMap, error) {
|
func (a *App) getAddDownloadComplianceExportResult() (permissionsMap, error) {
|
||||||
transformations := []permissionTransformation{}
|
return permissionsMap{
|
||||||
|
|
||||||
permissionsToAddComplianceRead := []string{model.PermissionDownloadComplianceExportResult.Id, model.PermissionReadDataRetentionJob.Id}
|
|
||||||
permissionsToAddComplianceWrite := []string{model.PermissionManageJobs.Id}
|
|
||||||
|
|
||||||
// add the new permissions to system admin
|
// add the new permissions to system admin
|
||||||
transformations = append(transformations,
|
|
||||||
permissionTransformation{
|
permissionTransformation{
|
||||||
On: isExactRole(model.SystemAdminRoleId),
|
On: isExactRole(model.SystemAdminRoleId),
|
||||||
Add: []string{model.PermissionDownloadComplianceExportResult.Id},
|
Add: []string{model.PermissionDownloadComplianceExportResult.Id},
|
||||||
})
|
},
|
||||||
|
|
||||||
// add Download Compliance Export Result and Read Jobs to all roles with sysconsole_read_compliance
|
// add Download Compliance Export Result and Read Jobs to all roles with sysconsole_read_compliance
|
||||||
transformations = append(transformations, permissionTransformation{
|
permissionTransformation{
|
||||||
On: permissionExists(model.PermissionSysconsoleReadCompliance.Id),
|
On: permissionExists(model.PermissionSysconsoleReadCompliance.Id),
|
||||||
Add: permissionsToAddComplianceRead,
|
Add: []string{model.PermissionDownloadComplianceExportResult.Id, model.PermissionReadDataRetentionJob.Id},
|
||||||
})
|
},
|
||||||
|
|
||||||
// add manage_jobs to all roles with sysconsole_write_compliance
|
// add manage_jobs to all roles with sysconsole_write_compliance
|
||||||
transformations = append(transformations, permissionTransformation{
|
permissionTransformation{
|
||||||
On: permissionExists(model.PermissionSysconsoleWriteCompliance.Id),
|
On: permissionExists(model.PermissionSysconsoleWriteCompliance.Id),
|
||||||
Add: permissionsToAddComplianceWrite,
|
Add: []string{model.PermissionManageJobs.Id},
|
||||||
})
|
},
|
||||||
|
}, nil
|
||||||
return transformations, nil
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a *App) getAddExperimentalSubsectionPermissions() (permissionsMap, error) {
|
func (a *App) getAddExperimentalSubsectionPermissions() (permissionsMap, error) {
|
||||||
transformations := []permissionTransformation{}
|
return permissionsMap{
|
||||||
|
|
||||||
permissionsExperimentalRead := []string{model.PermissionSysconsoleReadExperimentalBleve.Id, model.PermissionSysconsoleReadExperimentalFeatures.Id, model.PermissionSysconsoleReadExperimentalFeatureFlags.Id}
|
|
||||||
permissionsExperimentalWrite := []string{model.PermissionSysconsoleWriteExperimentalBleve.Id, model.PermissionSysconsoleWriteExperimentalFeatures.Id, model.PermissionSysconsoleWriteExperimentalFeatureFlags.Id}
|
|
||||||
|
|
||||||
// Give the new subsection READ permissions to any user with READ_EXPERIMENTAL
|
// Give the new subsection READ permissions to any user with READ_EXPERIMENTAL
|
||||||
transformations = append(transformations, permissionTransformation{
|
permissionTransformation{
|
||||||
On: permissionExists(model.PermissionSysconsoleReadExperimental.Id),
|
On: permissionExists(model.PermissionSysconsoleReadExperimental.Id),
|
||||||
Add: permissionsExperimentalRead,
|
Add: []string{model.PermissionSysconsoleReadExperimentalBleve.Id, model.PermissionSysconsoleReadExperimentalFeatures.Id, model.PermissionSysconsoleReadExperimentalFeatureFlags.Id},
|
||||||
})
|
},
|
||||||
|
|
||||||
// Give the new subsection WRITE permissions to any user with WRITE_EXPERIMENTAL
|
// Give the new subsection WRITE permissions to any user with WRITE_EXPERIMENTAL
|
||||||
transformations = append(transformations, permissionTransformation{
|
permissionTransformation{
|
||||||
On: permissionExists(model.PermissionSysconsoleWriteExperimental.Id),
|
On: permissionExists(model.PermissionSysconsoleWriteExperimental.Id),
|
||||||
Add: permissionsExperimentalWrite,
|
Add: []string{model.PermissionSysconsoleWriteExperimentalBleve.Id, model.PermissionSysconsoleWriteExperimentalFeatures.Id, model.PermissionSysconsoleWriteExperimentalFeatureFlags.Id},
|
||||||
})
|
},
|
||||||
|
|
||||||
// Give the ancillary permissions MANAGE_JOBS and PURGE_BLEVE_INDEXES to anyone with WRITE_EXPERIMENTAL_BLEVE
|
// Give the ancillary permissions MANAGE_JOBS and PURGE_BLEVE_INDEXES to anyone with WRITE_EXPERIMENTAL_BLEVE
|
||||||
transformations = append(transformations, permissionTransformation{
|
permissionTransformation{
|
||||||
On: permissionExists(model.PermissionSysconsoleWriteExperimentalBleve.Id),
|
On: permissionExists(model.PermissionSysconsoleWriteExperimentalBleve.Id),
|
||||||
Add: []string{model.PermissionCreatePostBleveIndexesJob.Id, model.PermissionPurgeBleveIndexes.Id},
|
Add: []string{model.PermissionCreatePostBleveIndexesJob.Id, model.PermissionPurgeBleveIndexes.Id},
|
||||||
})
|
},
|
||||||
|
}, nil
|
||||||
return transformations, nil
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a *App) getAddIntegrationsSubsectionPermissions() (permissionsMap, error) {
|
func (a *App) getAddIntegrationsSubsectionPermissions() (permissionsMap, error) {
|
||||||
transformations := []permissionTransformation{}
|
|
||||||
|
|
||||||
permissionsIntegrationsRead := []string{model.PermissionSysconsoleReadIntegrationsIntegrationManagement.Id, model.PermissionSysconsoleReadIntegrationsBotAccounts.Id, model.PermissionSysconsoleReadIntegrationsGif.Id, model.PermissionSysconsoleReadIntegrationsCors.Id}
|
permissionsIntegrationsRead := []string{model.PermissionSysconsoleReadIntegrationsIntegrationManagement.Id, model.PermissionSysconsoleReadIntegrationsBotAccounts.Id, model.PermissionSysconsoleReadIntegrationsGif.Id, model.PermissionSysconsoleReadIntegrationsCors.Id}
|
||||||
permissionsIntegrationsWrite := []string{model.PermissionSysconsoleWriteIntegrationsIntegrationManagement.Id, model.PermissionSysconsoleWriteIntegrationsBotAccounts.Id, model.PermissionSysconsoleWriteIntegrationsGif.Id, model.PermissionSysconsoleWriteIntegrationsCors.Id}
|
permissionsIntegrationsWrite := []string{model.PermissionSysconsoleWriteIntegrationsIntegrationManagement.Id, model.PermissionSysconsoleWriteIntegrationsBotAccounts.Id, model.PermissionSysconsoleWriteIntegrationsGif.Id, model.PermissionSysconsoleWriteIntegrationsCors.Id}
|
||||||
|
|
||||||
|
return permissionsMap{
|
||||||
// Give the new subsection READ permissions to any user with READ_INTEGRATIONS
|
// Give the new subsection READ permissions to any user with READ_INTEGRATIONS
|
||||||
transformations = append(transformations, permissionTransformation{
|
permissionTransformation{
|
||||||
On: permissionExists(model.PermissionSysconsoleReadIntegrations.Id),
|
On: permissionExists(model.PermissionSysconsoleReadIntegrations.Id),
|
||||||
Add: permissionsIntegrationsRead,
|
Add: permissionsIntegrationsRead,
|
||||||
})
|
},
|
||||||
|
|
||||||
// Give the new subsection WRITE permissions to any user with WRITE_EXPERIMENTAL
|
// Give the new subsection WRITE permissions to any user with WRITE_EXPERIMENTAL
|
||||||
transformations = append(transformations, permissionTransformation{
|
permissionTransformation{
|
||||||
On: permissionExists(model.PermissionSysconsoleWriteIntegrations.Id),
|
On: permissionExists(model.PermissionSysconsoleWriteIntegrations.Id),
|
||||||
Add: permissionsIntegrationsWrite,
|
Add: permissionsIntegrationsWrite,
|
||||||
})
|
},
|
||||||
|
}, nil
|
||||||
return transformations, nil
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a *App) getAddSiteSubsectionPermissions() (permissionsMap, error) {
|
func (a *App) getAddSiteSubsectionPermissions() (permissionsMap, error) {
|
||||||
transformations := []permissionTransformation{}
|
|
||||||
|
|
||||||
permissionsSiteRead := []string{model.PermissionSysconsoleReadSiteCustomization.Id, model.PermissionSysconsoleReadSiteLocalization.Id, model.PermissionSysconsoleReadSiteUsersAndTeams.Id, model.PermissionSysconsoleReadSiteNotifications.Id, model.PermissionSysconsoleReadSiteAnnouncementBanner.Id, model.PermissionSysconsoleReadSiteEmoji.Id, model.PermissionSysconsoleReadSitePosts.Id, model.PermissionSysconsoleReadSiteFileSharingAndDownloads.Id, model.PermissionSysconsoleReadSitePublicLinks.Id, model.PermissionSysconsoleReadSiteNotices.Id}
|
permissionsSiteRead := []string{model.PermissionSysconsoleReadSiteCustomization.Id, model.PermissionSysconsoleReadSiteLocalization.Id, model.PermissionSysconsoleReadSiteUsersAndTeams.Id, model.PermissionSysconsoleReadSiteNotifications.Id, model.PermissionSysconsoleReadSiteAnnouncementBanner.Id, model.PermissionSysconsoleReadSiteEmoji.Id, model.PermissionSysconsoleReadSitePosts.Id, model.PermissionSysconsoleReadSiteFileSharingAndDownloads.Id, model.PermissionSysconsoleReadSitePublicLinks.Id, model.PermissionSysconsoleReadSiteNotices.Id}
|
||||||
permissionsSiteWrite := []string{model.PermissionSysconsoleWriteSiteCustomization.Id, model.PermissionSysconsoleWriteSiteLocalization.Id, model.PermissionSysconsoleWriteSiteUsersAndTeams.Id, model.PermissionSysconsoleWriteSiteNotifications.Id, model.PermissionSysconsoleWriteSiteAnnouncementBanner.Id, model.PermissionSysconsoleWriteSiteEmoji.Id, model.PermissionSysconsoleWriteSitePosts.Id, model.PermissionSysconsoleWriteSiteFileSharingAndDownloads.Id, model.PermissionSysconsoleWriteSitePublicLinks.Id, model.PermissionSysconsoleWriteSiteNotices.Id}
|
permissionsSiteWrite := []string{model.PermissionSysconsoleWriteSiteCustomization.Id, model.PermissionSysconsoleWriteSiteLocalization.Id, model.PermissionSysconsoleWriteSiteUsersAndTeams.Id, model.PermissionSysconsoleWriteSiteNotifications.Id, model.PermissionSysconsoleWriteSiteAnnouncementBanner.Id, model.PermissionSysconsoleWriteSiteEmoji.Id, model.PermissionSysconsoleWriteSitePosts.Id, model.PermissionSysconsoleWriteSiteFileSharingAndDownloads.Id, model.PermissionSysconsoleWriteSitePublicLinks.Id, model.PermissionSysconsoleWriteSiteNotices.Id}
|
||||||
|
|
||||||
|
return permissionsMap{
|
||||||
// Give the new subsection READ permissions to any user with READ_SITE
|
// Give the new subsection READ permissions to any user with READ_SITE
|
||||||
transformations = append(transformations, permissionTransformation{
|
permissionTransformation{
|
||||||
On: permissionExists(model.PermissionSysconsoleReadSite.Id),
|
On: permissionExists(model.PermissionSysconsoleReadSite.Id),
|
||||||
Add: permissionsSiteRead,
|
Add: permissionsSiteRead,
|
||||||
})
|
},
|
||||||
|
|
||||||
// Give the new subsection WRITE permissions to any user with WRITE_SITE
|
// Give the new subsection WRITE permissions to any user with WRITE_SITE
|
||||||
transformations = append(transformations, permissionTransformation{
|
permissionTransformation{
|
||||||
On: permissionExists(model.PermissionSysconsoleWriteSite.Id),
|
On: permissionExists(model.PermissionSysconsoleWriteSite.Id),
|
||||||
Add: permissionsSiteWrite,
|
Add: permissionsSiteWrite,
|
||||||
})
|
},
|
||||||
|
|
||||||
// Give the ancillary permissions EDIT_BRAND to anyone with WRITE_SITE_CUSTOMIZATION
|
// Give the ancillary permissions EDIT_BRAND to anyone with WRITE_SITE_CUSTOMIZATION
|
||||||
transformations = append(transformations, permissionTransformation{
|
permissionTransformation{
|
||||||
On: permissionExists(model.PermissionSysconsoleWriteSiteCustomization.Id),
|
On: permissionExists(model.PermissionSysconsoleWriteSiteCustomization.Id),
|
||||||
Add: []string{model.PermissionEditBrand.Id},
|
Add: []string{model.PermissionEditBrand.Id},
|
||||||
})
|
},
|
||||||
|
}, nil
|
||||||
return transformations, nil
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a *App) getAddComplianceSubsectionPermissions() (permissionsMap, error) {
|
func (a *App) getAddComplianceSubsectionPermissions() (permissionsMap, error) {
|
||||||
transformations := []permissionTransformation{}
|
|
||||||
|
|
||||||
permissionsComplianceRead := []string{model.PermissionSysconsoleReadComplianceDataRetentionPolicy.Id, model.PermissionSysconsoleReadComplianceComplianceExport.Id, model.PermissionSysconsoleReadComplianceComplianceMonitoring.Id, model.PermissionSysconsoleReadComplianceCustomTermsOfService.Id}
|
permissionsComplianceRead := []string{model.PermissionSysconsoleReadComplianceDataRetentionPolicy.Id, model.PermissionSysconsoleReadComplianceComplianceExport.Id, model.PermissionSysconsoleReadComplianceComplianceMonitoring.Id, model.PermissionSysconsoleReadComplianceCustomTermsOfService.Id}
|
||||||
permissionsComplianceWrite := []string{model.PermissionSysconsoleWriteComplianceDataRetentionPolicy.Id, model.PermissionSysconsoleWriteComplianceComplianceExport.Id, model.PermissionSysconsoleWriteComplianceComplianceMonitoring.Id, model.PermissionSysconsoleWriteComplianceCustomTermsOfService.Id}
|
permissionsComplianceWrite := []string{model.PermissionSysconsoleWriteComplianceDataRetentionPolicy.Id, model.PermissionSysconsoleWriteComplianceComplianceExport.Id, model.PermissionSysconsoleWriteComplianceComplianceMonitoring.Id, model.PermissionSysconsoleWriteComplianceCustomTermsOfService.Id}
|
||||||
|
|
||||||
|
return permissionsMap{
|
||||||
// Give the new subsection READ permissions to any user with READ_COMPLIANCE
|
// Give the new subsection READ permissions to any user with READ_COMPLIANCE
|
||||||
transformations = append(transformations, permissionTransformation{
|
permissionTransformation{
|
||||||
On: permissionExists(model.PermissionSysconsoleReadCompliance.Id),
|
On: permissionExists(model.PermissionSysconsoleReadCompliance.Id),
|
||||||
Add: permissionsComplianceRead,
|
Add: permissionsComplianceRead,
|
||||||
})
|
},
|
||||||
|
|
||||||
// Give the new subsection WRITE permissions to any user with WRITE_COMPLIANCE
|
// Give the new subsection WRITE permissions to any user with WRITE_COMPLIANCE
|
||||||
transformations = append(transformations, permissionTransformation{
|
permissionTransformation{
|
||||||
On: permissionExists(model.PermissionSysconsoleWriteCompliance.Id),
|
On: permissionExists(model.PermissionSysconsoleWriteCompliance.Id),
|
||||||
Add: permissionsComplianceWrite,
|
Add: permissionsComplianceWrite,
|
||||||
})
|
},
|
||||||
|
|
||||||
// Ancillary permissions
|
// Ancillary permissions
|
||||||
transformations = append(transformations, permissionTransformation{
|
permissionTransformation{
|
||||||
On: permissionExists(model.PermissionSysconsoleWriteComplianceDataRetentionPolicy.Id),
|
On: permissionExists(model.PermissionSysconsoleWriteComplianceDataRetentionPolicy.Id),
|
||||||
Add: []string{model.PermissionCreateDataRetentionJob.Id},
|
Add: []string{model.PermissionCreateDataRetentionJob.Id},
|
||||||
})
|
},
|
||||||
|
permissionTransformation{
|
||||||
transformations = append(transformations, permissionTransformation{
|
|
||||||
On: permissionExists(model.PermissionSysconsoleReadComplianceDataRetentionPolicy.Id),
|
On: permissionExists(model.PermissionSysconsoleReadComplianceDataRetentionPolicy.Id),
|
||||||
Add: []string{model.PermissionReadDataRetentionJob.Id},
|
Add: []string{model.PermissionReadDataRetentionJob.Id},
|
||||||
})
|
},
|
||||||
|
permissionTransformation{
|
||||||
transformations = append(transformations, permissionTransformation{
|
|
||||||
On: permissionExists(model.PermissionSysconsoleWriteComplianceComplianceExport.Id),
|
On: permissionExists(model.PermissionSysconsoleWriteComplianceComplianceExport.Id),
|
||||||
Add: []string{model.PermissionCreateComplianceExportJob.Id, model.PermissionDownloadComplianceExportResult.Id},
|
Add: []string{model.PermissionCreateComplianceExportJob.Id, model.PermissionDownloadComplianceExportResult.Id},
|
||||||
})
|
},
|
||||||
|
permissionTransformation{
|
||||||
transformations = append(transformations, permissionTransformation{
|
|
||||||
On: permissionExists(model.PermissionSysconsoleReadComplianceComplianceExport.Id),
|
On: permissionExists(model.PermissionSysconsoleReadComplianceComplianceExport.Id),
|
||||||
Add: []string{model.PermissionReadComplianceExportJob.Id, model.PermissionDownloadComplianceExportResult.Id},
|
Add: []string{model.PermissionReadComplianceExportJob.Id, model.PermissionDownloadComplianceExportResult.Id},
|
||||||
})
|
},
|
||||||
|
permissionTransformation{
|
||||||
transformations = append(transformations, permissionTransformation{
|
|
||||||
On: permissionExists(model.PermissionSysconsoleReadComplianceCustomTermsOfService.Id),
|
On: permissionExists(model.PermissionSysconsoleReadComplianceCustomTermsOfService.Id),
|
||||||
Add: []string{model.PermissionReadAudits.Id},
|
Add: []string{model.PermissionReadAudits.Id},
|
||||||
})
|
},
|
||||||
|
}, nil
|
||||||
return transformations, nil
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a *App) getAddEnvironmentSubsectionPermissions() (permissionsMap, error) {
|
func (a *App) getAddEnvironmentSubsectionPermissions() (permissionsMap, error) {
|
||||||
transformations := []permissionTransformation{}
|
|
||||||
|
|
||||||
permissionsEnvironmentRead := []string{
|
permissionsEnvironmentRead := []string{
|
||||||
model.PermissionSysconsoleReadEnvironmentWebServer.Id,
|
model.PermissionSysconsoleReadEnvironmentWebServer.Id,
|
||||||
model.PermissionSysconsoleReadEnvironmentDatabase.Id,
|
model.PermissionSysconsoleReadEnvironmentDatabase.Id,
|
||||||
@@ -786,95 +741,88 @@ func (a *App) getAddEnvironmentSubsectionPermissions() (permissionsMap, error) {
|
|||||||
model.PermissionSysconsoleWriteEnvironmentDeveloper.Id,
|
model.PermissionSysconsoleWriteEnvironmentDeveloper.Id,
|
||||||
}
|
}
|
||||||
|
|
||||||
// Give the new subsection READ permissions to any user with READ_ENVIRONMENT
|
permissionsElasticsearchRead := []string{
|
||||||
transformations = append(transformations, permissionTransformation{
|
|
||||||
On: permissionExists(model.PermissionSysconsoleReadEnvironment.Id),
|
|
||||||
Add: permissionsEnvironmentRead,
|
|
||||||
})
|
|
||||||
|
|
||||||
// Give the new subsection WRITE permissions to any user with WRITE_ENVIRONMENT
|
|
||||||
transformations = append(transformations, permissionTransformation{
|
|
||||||
On: permissionExists(model.PermissionSysconsoleWriteEnvironment.Id),
|
|
||||||
Add: permissionsEnvironmentWrite,
|
|
||||||
})
|
|
||||||
|
|
||||||
// Give these ancillary permissions to anyone with READ_ENVIRONMENT_ELASTICSEARCH
|
|
||||||
transformations = append(transformations, permissionTransformation{
|
|
||||||
On: permissionExists(model.PermissionSysconsoleReadEnvironmentElasticsearch.Id),
|
|
||||||
Add: []string{
|
|
||||||
model.PermissionReadElasticsearchPostIndexingJob.Id,
|
model.PermissionReadElasticsearchPostIndexingJob.Id,
|
||||||
model.PermissionReadElasticsearchPostAggregationJob.Id,
|
model.PermissionReadElasticsearchPostAggregationJob.Id,
|
||||||
},
|
}
|
||||||
})
|
|
||||||
|
|
||||||
// Give these ancillary permissions to anyone with WRITE_ENVIRONMENT_WEB_SERVER
|
permissionsElasticsearchWrite := []string{
|
||||||
transformations = append(transformations, permissionTransformation{
|
|
||||||
On: permissionExists(model.PermissionSysconsoleWriteEnvironmentWebServer.Id),
|
|
||||||
Add: []string{
|
|
||||||
model.PermissionTestSiteURL.Id,
|
|
||||||
model.PermissionReloadConfig.Id,
|
|
||||||
model.PermissionInvalidateCaches.Id,
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
||||||
// Give these ancillary permissions to anyone with WRITE_ENVIRONMENT_DATABASE
|
|
||||||
transformations = append(transformations, permissionTransformation{
|
|
||||||
On: permissionExists(model.PermissionSysconsoleWriteEnvironmentDatabase.Id),
|
|
||||||
Add: []string{model.PermissionRecycleDatabaseConnections.Id},
|
|
||||||
})
|
|
||||||
|
|
||||||
// Give these ancillary permissions to anyone with WRITE_ENVIRONMENT_ELASTICSEARCH
|
|
||||||
transformations = append(transformations, permissionTransformation{
|
|
||||||
On: permissionExists(model.PermissionSysconsoleWriteEnvironmentElasticsearch.Id),
|
|
||||||
Add: []string{
|
|
||||||
model.PermissionTestElasticsearch.Id,
|
model.PermissionTestElasticsearch.Id,
|
||||||
model.PermissionCreateElasticsearchPostIndexingJob.Id,
|
model.PermissionCreateElasticsearchPostIndexingJob.Id,
|
||||||
model.PermissionCreateElasticsearchPostAggregationJob.Id,
|
model.PermissionCreateElasticsearchPostAggregationJob.Id,
|
||||||
model.PermissionPurgeElasticsearchIndexes.Id,
|
model.PermissionPurgeElasticsearchIndexes.Id,
|
||||||
},
|
}
|
||||||
})
|
|
||||||
|
|
||||||
|
permissionsWebServerWrite := []string{
|
||||||
|
model.PermissionTestSiteURL.Id,
|
||||||
|
model.PermissionReloadConfig.Id,
|
||||||
|
model.PermissionInvalidateCaches.Id,
|
||||||
|
}
|
||||||
|
|
||||||
|
return permissionsMap{
|
||||||
|
// Give the new subsection READ permissions to any user with READ_ENVIRONMENT
|
||||||
|
permissionTransformation{
|
||||||
|
On: permissionExists(model.PermissionSysconsoleReadEnvironment.Id),
|
||||||
|
Add: permissionsEnvironmentRead,
|
||||||
|
},
|
||||||
|
// Give the new subsection WRITE permissions to any user with WRITE_ENVIRONMENT
|
||||||
|
permissionTransformation{
|
||||||
|
On: permissionExists(model.PermissionSysconsoleWriteEnvironment.Id),
|
||||||
|
Add: permissionsEnvironmentWrite,
|
||||||
|
},
|
||||||
|
// Give these ancillary permissions to anyone with READ_ENVIRONMENT_ELASTICSEARCH
|
||||||
|
permissionTransformation{
|
||||||
|
On: permissionExists(model.PermissionSysconsoleReadEnvironmentElasticsearch.Id),
|
||||||
|
Add: permissionsElasticsearchRead,
|
||||||
|
},
|
||||||
|
// Give these ancillary permissions to anyone with WRITE_ENVIRONMENT_WEB_SERVER
|
||||||
|
permissionTransformation{
|
||||||
|
On: permissionExists(model.PermissionSysconsoleWriteEnvironmentWebServer.Id),
|
||||||
|
Add: permissionsWebServerWrite,
|
||||||
|
},
|
||||||
|
// Give these ancillary permissions to anyone with WRITE_ENVIRONMENT_DATABASE
|
||||||
|
permissionTransformation{
|
||||||
|
On: permissionExists(model.PermissionSysconsoleWriteEnvironmentDatabase.Id),
|
||||||
|
Add: []string{model.PermissionRecycleDatabaseConnections.Id},
|
||||||
|
},
|
||||||
|
// Give these ancillary permissions to anyone with WRITE_ENVIRONMENT_ELASTICSEARCH
|
||||||
|
permissionTransformation{
|
||||||
|
On: permissionExists(model.PermissionSysconsoleWriteEnvironmentElasticsearch.Id),
|
||||||
|
Add: permissionsElasticsearchWrite,
|
||||||
|
},
|
||||||
// Give these ancillary permissions to anyone with WRITE_ENVIRONMENT_FILE_STORAGE
|
// Give these ancillary permissions to anyone with WRITE_ENVIRONMENT_FILE_STORAGE
|
||||||
transformations = append(transformations, permissionTransformation{
|
permissionTransformation{
|
||||||
On: permissionExists(model.PermissionSysconsoleWriteEnvironmentFileStorage.Id),
|
On: permissionExists(model.PermissionSysconsoleWriteEnvironmentFileStorage.Id),
|
||||||
Add: []string{model.PermissionTestS3.Id},
|
Add: []string{model.PermissionTestS3.Id},
|
||||||
})
|
},
|
||||||
|
}, nil
|
||||||
return transformations, nil
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a *App) getAddAboutSubsectionPermissions() (permissionsMap, error) {
|
func (a *App) getAddAboutSubsectionPermissions() (permissionsMap, error) {
|
||||||
transformations := []permissionTransformation{}
|
|
||||||
|
|
||||||
permissionsAboutRead := []string{model.PermissionSysconsoleReadAboutEditionAndLicense.Id}
|
permissionsAboutRead := []string{model.PermissionSysconsoleReadAboutEditionAndLicense.Id}
|
||||||
permissionsAboutWrite := []string{model.PermissionSysconsoleWriteAboutEditionAndLicense.Id}
|
permissionsAboutWrite := []string{model.PermissionSysconsoleWriteAboutEditionAndLicense.Id}
|
||||||
|
|
||||||
transformations = append(transformations, permissionTransformation{
|
return permissionsMap{
|
||||||
|
permissionTransformation{
|
||||||
On: permissionExists(model.PermissionSysconsoleReadAbout.Id),
|
On: permissionExists(model.PermissionSysconsoleReadAbout.Id),
|
||||||
Add: permissionsAboutRead,
|
Add: permissionsAboutRead,
|
||||||
})
|
},
|
||||||
|
permissionTransformation{
|
||||||
transformations = append(transformations, permissionTransformation{
|
|
||||||
On: permissionExists(model.PermissionSysconsoleWriteAbout.Id),
|
On: permissionExists(model.PermissionSysconsoleWriteAbout.Id),
|
||||||
Add: permissionsAboutWrite,
|
Add: permissionsAboutWrite,
|
||||||
})
|
},
|
||||||
|
permissionTransformation{
|
||||||
transformations = append(transformations, permissionTransformation{
|
|
||||||
On: permissionExists(model.PermissionSysconsoleReadAboutEditionAndLicense.Id),
|
On: permissionExists(model.PermissionSysconsoleReadAboutEditionAndLicense.Id),
|
||||||
Add: []string{model.PermissionReadLicenseInformation.Id},
|
Add: []string{model.PermissionReadLicenseInformation.Id},
|
||||||
})
|
},
|
||||||
|
permissionTransformation{
|
||||||
transformations = append(transformations, permissionTransformation{
|
|
||||||
On: permissionExists(model.PermissionSysconsoleWriteAboutEditionAndLicense.Id),
|
On: permissionExists(model.PermissionSysconsoleWriteAboutEditionAndLicense.Id),
|
||||||
Add: []string{model.PermissionManageLicenseInformation.Id},
|
Add: []string{model.PermissionManageLicenseInformation.Id},
|
||||||
})
|
},
|
||||||
|
}, nil
|
||||||
return transformations, nil
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a *App) getAddReportingSubsectionPermissions() (permissionsMap, error) {
|
func (a *App) getAddReportingSubsectionPermissions() (permissionsMap, error) {
|
||||||
transformations := []permissionTransformation{}
|
|
||||||
|
|
||||||
permissionsReportingRead := []string{
|
permissionsReportingRead := []string{
|
||||||
model.PermissionSysconsoleReadReportingSiteStatistics.Id,
|
model.PermissionSysconsoleReadReportingSiteStatistics.Id,
|
||||||
model.PermissionSysconsoleReadReportingTeamStatistics.Id,
|
model.PermissionSysconsoleReadReportingTeamStatistics.Id,
|
||||||
@@ -886,94 +834,81 @@ func (a *App) getAddReportingSubsectionPermissions() (permissionsMap, error) {
|
|||||||
model.PermissionSysconsoleWriteReportingServerLogs.Id,
|
model.PermissionSysconsoleWriteReportingServerLogs.Id,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return permissionsMap{
|
||||||
// Give the new subsection READ permissions to any user with READ_REPORTING
|
// Give the new subsection READ permissions to any user with READ_REPORTING
|
||||||
transformations = append(transformations, permissionTransformation{
|
permissionTransformation{
|
||||||
On: permissionExists(model.PermissionSysconsoleReadReporting.Id),
|
On: permissionExists(model.PermissionSysconsoleReadReporting.Id),
|
||||||
Add: permissionsReportingRead,
|
Add: permissionsReportingRead,
|
||||||
})
|
},
|
||||||
|
|
||||||
// Give the new subsection WRITE permissions to any user with WRITE_REPORTING
|
// Give the new subsection WRITE permissions to any user with WRITE_REPORTING
|
||||||
transformations = append(transformations, permissionTransformation{
|
permissionTransformation{
|
||||||
On: permissionExists(model.PermissionSysconsoleWriteReporting.Id),
|
On: permissionExists(model.PermissionSysconsoleWriteReporting.Id),
|
||||||
Add: permissionsReportingWrite,
|
Add: permissionsReportingWrite,
|
||||||
})
|
},
|
||||||
|
|
||||||
// Give the ancillary permissions PERMISSION_GET_ANALYTICS to anyone with PERMISSION_SYSCONSOLE_READ_USERMANAGEMENT_USERS or PERMISSION_SYSCONSOLE_READ_REPORTING_SITE_STATISTICS
|
// Give the ancillary permissions PERMISSION_GET_ANALYTICS to anyone with PERMISSION_SYSCONSOLE_READ_USERMANAGEMENT_USERS or PERMISSION_SYSCONSOLE_READ_REPORTING_SITE_STATISTICS
|
||||||
transformations = append(transformations, permissionTransformation{
|
permissionTransformation{
|
||||||
On: permissionOr(permissionExists(model.PermissionSysconsoleReadUserManagementUsers.Id), permissionExists(model.PermissionSysconsoleReadReportingSiteStatistics.Id)),
|
On: permissionOr(permissionExists(model.PermissionSysconsoleReadUserManagementUsers.Id), permissionExists(model.PermissionSysconsoleReadReportingSiteStatistics.Id)),
|
||||||
Add: []string{model.PermissionGetAnalytics.Id},
|
Add: []string{model.PermissionGetAnalytics.Id},
|
||||||
})
|
},
|
||||||
|
|
||||||
// Give the ancillary permissions PERMISSION_GET_LOGS to anyone with PERMISSION_SYSCONSOLE_READ_REPORTING_SERVER_LOGS
|
// Give the ancillary permissions PERMISSION_GET_LOGS to anyone with PERMISSION_SYSCONSOLE_READ_REPORTING_SERVER_LOGS
|
||||||
transformations = append(transformations, permissionTransformation{
|
permissionTransformation{
|
||||||
On: permissionExists(model.PermissionSysconsoleReadReportingServerLogs.Id),
|
On: permissionExists(model.PermissionSysconsoleReadReportingServerLogs.Id),
|
||||||
Add: []string{model.PermissionGetLogs.Id},
|
Add: []string{model.PermissionGetLogs.Id},
|
||||||
})
|
},
|
||||||
|
}, nil
|
||||||
return transformations, nil
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a *App) getAddAuthenticationSubsectionPermissions() (permissionsMap, error) {
|
func (a *App) getAddAuthenticationSubsectionPermissions() (permissionsMap, error) {
|
||||||
transformations := []permissionTransformation{}
|
|
||||||
|
|
||||||
permissionsAuthenticationRead := []string{model.PermissionSysconsoleReadAuthenticationSignup.Id, model.PermissionSysconsoleReadAuthenticationEmail.Id, model.PermissionSysconsoleReadAuthenticationPassword.Id, model.PermissionSysconsoleReadAuthenticationMfa.Id, model.PermissionSysconsoleReadAuthenticationLdap.Id, model.PermissionSysconsoleReadAuthenticationSaml.Id, model.PermissionSysconsoleReadAuthenticationOpenid.Id, model.PermissionSysconsoleReadAuthenticationGuestAccess.Id}
|
permissionsAuthenticationRead := []string{model.PermissionSysconsoleReadAuthenticationSignup.Id, model.PermissionSysconsoleReadAuthenticationEmail.Id, model.PermissionSysconsoleReadAuthenticationPassword.Id, model.PermissionSysconsoleReadAuthenticationMfa.Id, model.PermissionSysconsoleReadAuthenticationLdap.Id, model.PermissionSysconsoleReadAuthenticationSaml.Id, model.PermissionSysconsoleReadAuthenticationOpenid.Id, model.PermissionSysconsoleReadAuthenticationGuestAccess.Id}
|
||||||
permissionsAuthenticationWrite := []string{model.PermissionSysconsoleWriteAuthenticationSignup.Id, model.PermissionSysconsoleWriteAuthenticationEmail.Id, model.PermissionSysconsoleWriteAuthenticationPassword.Id, model.PermissionSysconsoleWriteAuthenticationMfa.Id, model.PermissionSysconsoleWriteAuthenticationLdap.Id, model.PermissionSysconsoleWriteAuthenticationSaml.Id, model.PermissionSysconsoleWriteAuthenticationOpenid.Id, model.PermissionSysconsoleWriteAuthenticationGuestAccess.Id}
|
permissionsAuthenticationWrite := []string{model.PermissionSysconsoleWriteAuthenticationSignup.Id, model.PermissionSysconsoleWriteAuthenticationEmail.Id, model.PermissionSysconsoleWriteAuthenticationPassword.Id, model.PermissionSysconsoleWriteAuthenticationMfa.Id, model.PermissionSysconsoleWriteAuthenticationLdap.Id, model.PermissionSysconsoleWriteAuthenticationSaml.Id, model.PermissionSysconsoleWriteAuthenticationOpenid.Id, model.PermissionSysconsoleWriteAuthenticationGuestAccess.Id}
|
||||||
|
|
||||||
|
return permissionsMap{
|
||||||
// Give the new subsection READ permissions to any user with READ_AUTHENTICATION
|
// Give the new subsection READ permissions to any user with READ_AUTHENTICATION
|
||||||
transformations = append(transformations, permissionTransformation{
|
permissionTransformation{
|
||||||
On: permissionExists(model.PermissionSysconsoleReadAuthentication.Id),
|
On: permissionExists(model.PermissionSysconsoleReadAuthentication.Id),
|
||||||
Add: permissionsAuthenticationRead,
|
Add: permissionsAuthenticationRead,
|
||||||
})
|
},
|
||||||
|
|
||||||
// Give the new subsection WRITE permissions to any user with WRITE_AUTHENTICATION
|
// Give the new subsection WRITE permissions to any user with WRITE_AUTHENTICATION
|
||||||
transformations = append(transformations, permissionTransformation{
|
permissionTransformation{
|
||||||
On: permissionExists(model.PermissionSysconsoleWriteAuthentication.Id),
|
On: permissionExists(model.PermissionSysconsoleWriteAuthentication.Id),
|
||||||
Add: permissionsAuthenticationWrite,
|
Add: permissionsAuthenticationWrite,
|
||||||
})
|
},
|
||||||
|
|
||||||
// Give the ancillary permissions for LDAP to anyone with WRITE_AUTHENTICATION_LDAP
|
// Give the ancillary permissions for LDAP to anyone with WRITE_AUTHENTICATION_LDAP
|
||||||
transformations = append(transformations, permissionTransformation{
|
permissionTransformation{
|
||||||
On: permissionExists(model.PermissionSysconsoleWriteAuthenticationLdap.Id),
|
On: permissionExists(model.PermissionSysconsoleWriteAuthenticationLdap.Id),
|
||||||
Add: []string{model.PermissionCreateLdapSyncJob.Id, model.PermissionTestLdap.Id, model.PermissionAddLdapPublicCert.Id, model.PermissionAddLdapPrivateCert.Id, model.PermissionRemoveLdapPublicCert.Id, model.PermissionRemoveLdapPrivateCert.Id},
|
Add: []string{model.PermissionCreateLdapSyncJob.Id, model.PermissionTestLdap.Id, model.PermissionAddLdapPublicCert.Id, model.PermissionAddLdapPrivateCert.Id, model.PermissionRemoveLdapPublicCert.Id, model.PermissionRemoveLdapPrivateCert.Id},
|
||||||
})
|
},
|
||||||
|
|
||||||
// Give the ancillary permissions PERMISSION_TEST_LDAP to anyone with READ_AUTHENTICATION_LDAP
|
// Give the ancillary permissions PERMISSION_TEST_LDAP to anyone with READ_AUTHENTICATION_LDAP
|
||||||
transformations = append(transformations, permissionTransformation{
|
permissionTransformation{
|
||||||
On: permissionExists(model.PermissionSysconsoleReadAuthenticationLdap.Id),
|
On: permissionExists(model.PermissionSysconsoleReadAuthenticationLdap.Id),
|
||||||
Add: []string{model.PermissionReadLdapSyncJob.Id},
|
Add: []string{model.PermissionReadLdapSyncJob.Id},
|
||||||
})
|
},
|
||||||
|
|
||||||
// Give the ancillary permissions PERMISSION_INVALIDATE_EMAIL_INVITE to anyone with WRITE_AUTHENTICATION_EMAIL
|
// Give the ancillary permissions PERMISSION_INVALIDATE_EMAIL_INVITE to anyone with WRITE_AUTHENTICATION_EMAIL
|
||||||
transformations = append(transformations, permissionTransformation{
|
permissionTransformation{
|
||||||
On: permissionExists(model.PermissionSysconsoleWriteAuthenticationEmail.Id),
|
On: permissionExists(model.PermissionSysconsoleWriteAuthenticationEmail.Id),
|
||||||
Add: []string{model.PermissionInvalidateEmailInvite.Id},
|
Add: []string{model.PermissionInvalidateEmailInvite.Id},
|
||||||
})
|
},
|
||||||
|
|
||||||
// Give the ancillary permissions for SAML to anyone with WRITE_AUTHENTICATION_SAML
|
// Give the ancillary permissions for SAML to anyone with WRITE_AUTHENTICATION_SAML
|
||||||
transformations = append(transformations, permissionTransformation{
|
permissionTransformation{
|
||||||
On: permissionExists(model.PermissionSysconsoleWriteAuthenticationSaml.Id),
|
On: permissionExists(model.PermissionSysconsoleWriteAuthenticationSaml.Id),
|
||||||
Add: []string{model.PermissionGetSamlMetadataFromIdp.Id, model.PermissionAddSamlPublicCert.Id, model.PermissionAddSamlPrivateCert.Id, model.PermissionAddSamlIdpCert.Id, model.PermissionRemoveSamlPublicCert.Id, model.PermissionRemoveSamlPrivateCert.Id, model.PermissionRemoveSamlIdpCert.Id, model.PermissionGetSamlCertStatus.Id},
|
Add: []string{model.PermissionGetSamlMetadataFromIdp.Id, model.PermissionAddSamlPublicCert.Id, model.PermissionAddSamlPrivateCert.Id, model.PermissionAddSamlIdpCert.Id, model.PermissionRemoveSamlPublicCert.Id, model.PermissionRemoveSamlPrivateCert.Id, model.PermissionRemoveSamlIdpCert.Id, model.PermissionGetSamlCertStatus.Id},
|
||||||
})
|
},
|
||||||
|
}, nil
|
||||||
return transformations, nil
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// This migration fixes https://github.com/mattermost/mattermost-server/issues/17642 where this particular ancillary permission was forgotten during the initial migrations
|
// This migration fixes https://github.com/mattermost/mattermost-server/issues/17642 where this particular ancillary permission was forgotten during the initial migrations
|
||||||
func (a *App) getAddTestEmailAncillaryPermission() (permissionsMap, error) {
|
func (a *App) getAddTestEmailAncillaryPermission() (permissionsMap, error) {
|
||||||
transformations := []permissionTransformation{}
|
return permissionsMap{
|
||||||
|
|
||||||
// Give these ancillary permissions to anyone with WRITE_ENVIRONMENT_SMTP
|
// Give these ancillary permissions to anyone with WRITE_ENVIRONMENT_SMTP
|
||||||
transformations = append(transformations, permissionTransformation{
|
permissionTransformation{
|
||||||
On: permissionExists(model.PermissionSysconsoleWriteEnvironmentSMTP.Id),
|
On: permissionExists(model.PermissionSysconsoleWriteEnvironmentSMTP.Id),
|
||||||
Add: []string{model.PermissionTestEmail.Id},
|
Add: []string{model.PermissionTestEmail.Id},
|
||||||
})
|
},
|
||||||
|
}, nil
|
||||||
return transformations, nil
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a *App) getAddCustomUserGroupsPermissions() (permissionsMap, error) {
|
func (a *App) getAddCustomUserGroupsPermissions() (permissionsMap, error) {
|
||||||
t := []permissionTransformation{}
|
|
||||||
|
|
||||||
customGroupPermissions := []string{
|
customGroupPermissions := []string{
|
||||||
model.PermissionCreateCustomGroup.Id,
|
model.PermissionCreateCustomGroup.Id,
|
||||||
model.PermissionManageCustomGroupMembers.Id,
|
model.PermissionManageCustomGroupMembers.Id,
|
||||||
@@ -981,47 +916,42 @@ func (a *App) getAddCustomUserGroupsPermissions() (permissionsMap, error) {
|
|||||||
model.PermissionDeleteCustomGroup.Id,
|
model.PermissionDeleteCustomGroup.Id,
|
||||||
}
|
}
|
||||||
|
|
||||||
t = append(t, permissionTransformation{
|
return permissionsMap{
|
||||||
|
permissionTransformation{
|
||||||
On: isExactRole(model.SystemUserRoleId),
|
On: isExactRole(model.SystemUserRoleId),
|
||||||
Add: customGroupPermissions,
|
Add: customGroupPermissions,
|
||||||
})
|
},
|
||||||
|
permissionTransformation{
|
||||||
t = append(t, permissionTransformation{
|
|
||||||
On: isExactRole(model.SystemAdminRoleId),
|
On: isExactRole(model.SystemAdminRoleId),
|
||||||
Add: customGroupPermissions,
|
Add: customGroupPermissions,
|
||||||
})
|
},
|
||||||
|
}, nil
|
||||||
return t, nil
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a *App) getAddCustomUserGroupsPermissionRestore() (permissionsMap, error) {
|
func (a *App) getAddCustomUserGroupsPermissionRestore() (permissionsMap, error) {
|
||||||
t := []permissionTransformation{}
|
|
||||||
|
|
||||||
customGroupPermissions := []string{
|
customGroupPermissions := []string{
|
||||||
model.PermissionRestoreCustomGroup.Id,
|
model.PermissionRestoreCustomGroup.Id,
|
||||||
}
|
}
|
||||||
|
|
||||||
t = append(t, permissionTransformation{
|
return permissionsMap{
|
||||||
|
permissionTransformation{
|
||||||
On: isExactRole(model.SystemUserRoleId),
|
On: isExactRole(model.SystemUserRoleId),
|
||||||
Add: customGroupPermissions,
|
Add: customGroupPermissions,
|
||||||
})
|
},
|
||||||
|
permissionTransformation{
|
||||||
t = append(t, permissionTransformation{
|
|
||||||
On: isExactRole(model.SystemAdminRoleId),
|
On: isExactRole(model.SystemAdminRoleId),
|
||||||
Add: customGroupPermissions,
|
Add: customGroupPermissions,
|
||||||
})
|
},
|
||||||
|
permissionTransformation{
|
||||||
t = append(t, permissionTransformation{
|
|
||||||
On: isExactRole(model.SystemCustomGroupAdminRoleId),
|
On: isExactRole(model.SystemCustomGroupAdminRoleId),
|
||||||
Add: customGroupPermissions,
|
Add: customGroupPermissions,
|
||||||
})
|
},
|
||||||
return t, nil
|
}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a *App) getAddPlaybooksPermissions() (permissionsMap, error) {
|
func (a *App) getAddPlaybooksPermissions() (permissionsMap, error) {
|
||||||
transformations := []permissionTransformation{}
|
return permissionsMap{
|
||||||
|
permissionTransformation{
|
||||||
transformations = append(transformations, permissionTransformation{
|
|
||||||
On: permissionOr(
|
On: permissionOr(
|
||||||
permissionExists(model.PermissionCreatePublicChannel.Id),
|
permissionExists(model.PermissionCreatePublicChannel.Id),
|
||||||
permissionExists(model.PermissionCreatePrivateChannel.Id),
|
permissionExists(model.PermissionCreatePrivateChannel.Id),
|
||||||
@@ -1030,9 +960,8 @@ func (a *App) getAddPlaybooksPermissions() (permissionsMap, error) {
|
|||||||
model.PermissionPublicPlaybookCreate.Id,
|
model.PermissionPublicPlaybookCreate.Id,
|
||||||
model.PermissionPrivatePlaybookCreate.Id,
|
model.PermissionPrivatePlaybookCreate.Id,
|
||||||
},
|
},
|
||||||
})
|
},
|
||||||
|
permissionTransformation{
|
||||||
transformations = append(transformations, permissionTransformation{
|
|
||||||
On: isExactRole(model.SystemAdminRoleId),
|
On: isExactRole(model.SystemAdminRoleId),
|
||||||
Add: []string{
|
Add: []string{
|
||||||
model.PermissionPublicPlaybookManageProperties.Id,
|
model.PermissionPublicPlaybookManageProperties.Id,
|
||||||
@@ -1048,15 +977,13 @@ func (a *App) getAddPlaybooksPermissions() (permissionsMap, error) {
|
|||||||
model.PermissionRunManageMembers.Id,
|
model.PermissionRunManageMembers.Id,
|
||||||
model.PermissionRunView.Id,
|
model.PermissionRunView.Id,
|
||||||
},
|
},
|
||||||
})
|
},
|
||||||
|
}, nil
|
||||||
return transformations, nil
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a *App) getPlaybooksPermissionsAddManageRoles() (permissionsMap, error) {
|
func (a *App) getPlaybooksPermissionsAddManageRoles() (permissionsMap, error) {
|
||||||
transformations := []permissionTransformation{}
|
return permissionsMap{
|
||||||
|
permissionTransformation{
|
||||||
transformations = append(transformations, permissionTransformation{
|
|
||||||
On: permissionOr(
|
On: permissionOr(
|
||||||
isExactRole(model.PlaybookAdminRoleId),
|
isExactRole(model.PlaybookAdminRoleId),
|
||||||
isExactRole(model.TeamAdminRoleId),
|
isExactRole(model.TeamAdminRoleId),
|
||||||
@@ -1066,43 +993,32 @@ func (a *App) getPlaybooksPermissionsAddManageRoles() (permissionsMap, error) {
|
|||||||
model.PermissionPublicPlaybookManageRoles.Id,
|
model.PermissionPublicPlaybookManageRoles.Id,
|
||||||
model.PermissionPrivatePlaybookManageRoles.Id,
|
model.PermissionPrivatePlaybookManageRoles.Id,
|
||||||
},
|
},
|
||||||
})
|
},
|
||||||
|
}, nil
|
||||||
return transformations, nil
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a *App) getProductsBoardsPermissions() (permissionsMap, error) {
|
func (a *App) getProductsBoardsPermissions() (permissionsMap, error) {
|
||||||
transformations := []permissionTransformation{}
|
return permissionsMap{
|
||||||
|
|
||||||
permissionsProductsRead := []string{model.PermissionSysconsoleReadProductsBoards.Id}
|
|
||||||
permissionsProductsWrite := []string{model.PermissionSysconsoleWriteProductsBoards.Id}
|
|
||||||
|
|
||||||
// Give the new subsection READ permissions to any user with SYSTEM_MANAGER
|
// Give the new subsection READ permissions to any user with SYSTEM_MANAGER
|
||||||
transformations = append(transformations, permissionTransformation{
|
permissionTransformation{
|
||||||
On: permissionOr(isExactRole(model.SystemManagerRoleId)),
|
On: permissionOr(isExactRole(model.SystemManagerRoleId)),
|
||||||
Add: permissionsProductsRead,
|
Add: []string{model.PermissionSysconsoleReadProductsBoards.Id},
|
||||||
})
|
},
|
||||||
|
|
||||||
// Give the new subsection WRITE permissions to any user with SYSTEM_ADMIN
|
// Give the new subsection WRITE permissions to any user with SYSTEM_ADMIN
|
||||||
transformations = append(transformations, permissionTransformation{
|
permissionTransformation{
|
||||||
On: permissionOr(isExactRole(model.SystemAdminRoleId)),
|
On: permissionOr(isExactRole(model.SystemAdminRoleId)),
|
||||||
Add: permissionsProductsWrite,
|
Add: []string{model.PermissionSysconsoleWriteProductsBoards.Id},
|
||||||
})
|
},
|
||||||
|
}, nil
|
||||||
return transformations, nil
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a *App) getAddChannelReadContentPermissions() (permissionsMap, error) {
|
func (a *App) getAddChannelReadContentPermissions() (permissionsMap, error) {
|
||||||
t := []permissionTransformation{}
|
return permissionsMap{
|
||||||
|
|
||||||
readChannelContentPermissions := []string{
|
|
||||||
model.PermissionReadChannelContent.Id,
|
|
||||||
}
|
|
||||||
|
|
||||||
// Migrate all roles including custom roles that have the read_channel permission
|
// Migrate all roles including custom roles that have the read_channel permission
|
||||||
// but exclude system console roles system_read_only_admin system_user_manager & system_manager
|
// but exclude system console roles system_read_only_admin system_user_manager & system_manager
|
||||||
// as this system roles are for the admin console use only
|
// as this system roles are for the admin console use only
|
||||||
t = append(t, permissionTransformation{
|
permissionTransformation{
|
||||||
On: permissionAnd(
|
On: permissionAnd(
|
||||||
permissionAnd(
|
permissionAnd(
|
||||||
isNotRole(model.SystemUserManagerRoleId),
|
isNotRole(model.SystemUserManagerRoleId),
|
||||||
@@ -1111,55 +1027,45 @@ func (a *App) getAddChannelReadContentPermissions() (permissionsMap, error) {
|
|||||||
),
|
),
|
||||||
permissionExists(model.PermissionReadChannel.Id),
|
permissionExists(model.PermissionReadChannel.Id),
|
||||||
),
|
),
|
||||||
Add: readChannelContentPermissions,
|
Add: []string{
|
||||||
})
|
model.PermissionReadChannelContent.Id,
|
||||||
|
},
|
||||||
return t, nil
|
},
|
||||||
|
}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a *App) getAddIPFilterPermissionsMigration() (permissionsMap, error) {
|
func (a *App) getAddIPFilterPermissionsMigration() (permissionsMap, error) {
|
||||||
t := []permissionTransformation{}
|
return permissionsMap{
|
||||||
|
permissionTransformation{
|
||||||
ipFilterPermissionsRead := []string{
|
On: permissionOr(isExactRole(model.SystemAdminRoleId)),
|
||||||
|
Add: []string{
|
||||||
model.PermissionSysconsoleReadIPFilters.Id,
|
model.PermissionSysconsoleReadIPFilters.Id,
|
||||||
}
|
},
|
||||||
|
},
|
||||||
|
|
||||||
ipFilterPermissionsWrite := []string{
|
permissionTransformation{
|
||||||
|
On: permissionOr(isExactRole(model.SystemAdminRoleId)),
|
||||||
|
Add: []string{
|
||||||
model.PermissionSysconsoleWriteIPFilters.Id,
|
model.PermissionSysconsoleWriteIPFilters.Id,
|
||||||
}
|
},
|
||||||
|
},
|
||||||
t = append(t, permissionTransformation{
|
}, nil
|
||||||
On: permissionOr(isExactRole(model.SystemAdminRoleId)),
|
|
||||||
Add: ipFilterPermissionsRead,
|
|
||||||
})
|
|
||||||
|
|
||||||
t = append(t, permissionTransformation{
|
|
||||||
On: permissionOr(isExactRole(model.SystemAdminRoleId)),
|
|
||||||
Add: ipFilterPermissionsWrite,
|
|
||||||
})
|
|
||||||
|
|
||||||
return t, nil
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a *App) getAddOutgoingOAuthConnectionsPermissions() (permissionsMap, error) {
|
func (a *App) getAddOutgoingOAuthConnectionsPermissions() (permissionsMap, error) {
|
||||||
t := []permissionTransformation{}
|
return permissionsMap{
|
||||||
|
permissionTransformation{
|
||||||
permissionManageOutgoingOAuthConnections := []string{
|
|
||||||
model.PermissionManageOutgoingOAuthConnections.Id,
|
|
||||||
}
|
|
||||||
|
|
||||||
t = append(t, permissionTransformation{
|
|
||||||
On: permissionOr(isExactRole(model.SystemAdminRoleId)),
|
On: permissionOr(isExactRole(model.SystemAdminRoleId)),
|
||||||
Add: permissionManageOutgoingOAuthConnections,
|
Add: []string{
|
||||||
})
|
model.PermissionManageOutgoingOAuthConnections.Id,
|
||||||
|
},
|
||||||
return t, nil
|
},
|
||||||
|
}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a *App) getAddChannelBookmarksPermissionsMigration() (permissionsMap, error) {
|
func (a *App) getAddChannelBookmarksPermissionsMigration() (permissionsMap, error) {
|
||||||
transformations := []permissionTransformation{}
|
return permissionsMap{
|
||||||
|
permissionTransformation{
|
||||||
transformations = append(transformations, permissionTransformation{
|
|
||||||
On: permissionOr(
|
On: permissionOr(
|
||||||
isRole(model.ChannelUserRoleId),
|
isRole(model.ChannelUserRoleId),
|
||||||
isRole(model.ChannelAdminRoleId),
|
isRole(model.ChannelAdminRoleId),
|
||||||
@@ -1176,54 +1082,46 @@ func (a *App) getAddChannelBookmarksPermissionsMigration() (permissionsMap, erro
|
|||||||
model.PermissionDeleteBookmarkPrivateChannel.Id,
|
model.PermissionDeleteBookmarkPrivateChannel.Id,
|
||||||
model.PermissionOrderBookmarkPrivateChannel.Id,
|
model.PermissionOrderBookmarkPrivateChannel.Id,
|
||||||
},
|
},
|
||||||
})
|
},
|
||||||
|
}, nil
|
||||||
return transformations, nil
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a *App) getAddManageJobAncillaryPermissionsMigration() (permissionsMap, error) {
|
func (a *App) getAddManageJobAncillaryPermissionsMigration() (permissionsMap, error) {
|
||||||
transformations := []permissionTransformation{}
|
return permissionsMap{
|
||||||
|
permissionTransformation{
|
||||||
transformations = append(transformations, permissionTransformation{
|
|
||||||
On: permissionExists(model.PermissionSysconsoleWriteAuthenticationLdap.Id),
|
On: permissionExists(model.PermissionSysconsoleWriteAuthenticationLdap.Id),
|
||||||
Add: []string{model.PermissionManageLdapSyncJob.Id},
|
Add: []string{model.PermissionManageLdapSyncJob.Id},
|
||||||
})
|
},
|
||||||
|
|
||||||
transformations = append(transformations, permissionTransformation{
|
permissionTransformation{
|
||||||
On: permissionExists(model.PermissionSysconsoleWriteComplianceDataRetentionPolicy.Id),
|
On: permissionExists(model.PermissionSysconsoleWriteComplianceDataRetentionPolicy.Id),
|
||||||
Add: []string{model.PermissionManageDataRetentionJob.Id},
|
Add: []string{model.PermissionManageDataRetentionJob.Id},
|
||||||
})
|
},
|
||||||
|
permissionTransformation{
|
||||||
transformations = append(transformations, permissionTransformation{
|
|
||||||
On: permissionExists(model.PermissionSysconsoleWriteExperimentalBleve.Id),
|
On: permissionExists(model.PermissionSysconsoleWriteExperimentalBleve.Id),
|
||||||
Add: []string{model.PermissionManagePostBleveIndexesJob.Id},
|
Add: []string{model.PermissionManagePostBleveIndexesJob.Id},
|
||||||
})
|
},
|
||||||
|
permissionTransformation{
|
||||||
transformations = append(transformations, permissionTransformation{
|
|
||||||
On: permissionExists(model.PermissionSysconsoleWriteComplianceComplianceExport.Id),
|
On: permissionExists(model.PermissionSysconsoleWriteComplianceComplianceExport.Id),
|
||||||
Add: []string{model.PermissionManageComplianceExportJob.Id},
|
Add: []string{model.PermissionManageComplianceExportJob.Id},
|
||||||
})
|
},
|
||||||
|
permissionTransformation{
|
||||||
transformations = append(transformations, permissionTransformation{
|
|
||||||
On: permissionExists(model.PermissionSysconsoleWriteEnvironmentElasticsearch.Id),
|
On: permissionExists(model.PermissionSysconsoleWriteEnvironmentElasticsearch.Id),
|
||||||
Add: []string{
|
Add: []string{
|
||||||
model.PermissionManageElasticsearchPostIndexingJob.Id,
|
model.PermissionManageElasticsearchPostIndexingJob.Id,
|
||||||
model.PermissionManageElasticsearchPostAggregationJob.Id,
|
model.PermissionManageElasticsearchPostAggregationJob.Id,
|
||||||
},
|
},
|
||||||
})
|
},
|
||||||
|
}, nil
|
||||||
return transformations, nil
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a *App) getAddUploadFilePermissionMigration() (permissionsMap, error) {
|
func (a *App) getAddUploadFilePermissionMigration() (permissionsMap, error) {
|
||||||
transformations := []permissionTransformation{}
|
return permissionsMap{
|
||||||
|
permissionTransformation{
|
||||||
transformations = append(transformations, permissionTransformation{
|
|
||||||
On: permissionExists(model.PermissionCreatePost.Id),
|
On: permissionExists(model.PermissionCreatePost.Id),
|
||||||
Add: []string{model.PermissionUploadFile.Id},
|
Add: []string{model.PermissionUploadFile.Id},
|
||||||
})
|
},
|
||||||
|
}, nil
|
||||||
return transformations, nil
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// DoPermissionsMigrations execute all the permissions migrations need by the current version.
|
// DoPermissionsMigrations execute all the permissions migrations need by the current version.
|
||||||
|
|||||||
Ссылка в новой задаче
Block a user