[MM-57295] Bulk export: add roles and permission schemes (#26523)

* Bulk export: add roles and permission schemes

* Update mmctl docs

* Fix log

* Update mmctl tests

* Update mmctl unit tests

* Refactor to avoid extra calls

* Update translations

* Add test case

* Fix test

* Fix test
Этот коммит содержится в:
Claudio Costa
2024-03-26 08:43:25 -06:00
коммит произвёл GitHub
родитель c7da6b4741
Коммит 4d6602aff0
16 изменённых файлов: 712 добавлений и 35 удалений

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

@@ -226,3 +226,46 @@ func ImportLineFromEmoji(emoji *model.Emoji, filePath string) *imports.LineImpor
},
}
}
func ImportRoleDataFromRole(role *model.Role) *imports.RoleImportData {
return &imports.RoleImportData{
Name: &role.Name,
DisplayName: &role.DisplayName,
Description: &role.Description,
Permissions: &role.Permissions,
SchemeManaged: &role.SchemeManaged,
}
}
func ImportLineFromRole(role *model.Role) *imports.LineImportData {
return &imports.LineImportData{
Type: "role",
Role: ImportRoleDataFromRole(role),
}
}
func ImportLineFromScheme(scheme *model.Scheme, rolesMap map[string]*model.Role) *imports.LineImportData {
data := &imports.SchemeImportData{
Name: &scheme.Name,
DisplayName: &scheme.DisplayName,
Description: &scheme.Description,
Scope: &scheme.Scope,
}
if scheme.Scope == model.SchemeScopeTeam {
data.DefaultTeamAdminRole = ImportRoleDataFromRole(rolesMap[scheme.DefaultTeamAdminRole])
data.DefaultTeamUserRole = ImportRoleDataFromRole(rolesMap[scheme.DefaultTeamUserRole])
data.DefaultTeamGuestRole = ImportRoleDataFromRole(rolesMap[scheme.DefaultTeamGuestRole])
}
if scheme.Scope == model.SchemeScopeTeam || scheme.Scope == model.SchemeScopeChannel {
data.DefaultChannelAdminRole = ImportRoleDataFromRole(rolesMap[scheme.DefaultChannelAdminRole])
data.DefaultChannelUserRole = ImportRoleDataFromRole(rolesMap[scheme.DefaultChannelUserRole])
data.DefaultChannelGuestRole = ImportRoleDataFromRole(rolesMap[scheme.DefaultChannelGuestRole])
}
return &imports.LineImportData{
Type: "scheme",
Scheme: data,
}
}