package com.constellio.app.modules.rm.migrations; import com.constellio.app.entities.modules.MigrationResourcesProvider; import com.constellio.app.entities.modules.MigrationScript; import com.constellio.app.modules.rm.constants.RMPermissionsTo; import com.constellio.app.modules.rm.constants.RMRoles; import com.constellio.app.modules.rm.services.RMSchemasRecordsServices; import com.constellio.app.modules.rm.wrappers.type.DocumentType; import com.constellio.app.services.factories.AppLayerFactory; import com.constellio.model.entities.CorePermissions; import com.constellio.model.entities.records.wrappers.User; import com.constellio.model.entities.security.Role; import com.constellio.model.services.records.RecordServices; import com.constellio.model.services.security.roles.RolesManager; import java.util.List; import static java.util.Arrays.asList; /** * Created by Constelio on 2016-11-04. */ public class RMMigrationTo6_5_21 implements MigrationScript { @Override public String getVersion() { return "6.5.21"; } @Override public void migrate(String collection, MigrationResourcesProvider provider, AppLayerFactory appLayerFactory) throws Exception { addUseCartPermissionToAllRoles(collection, appLayerFactory); } private void addUseCartPermissionToAllRoles(String collection, AppLayerFactory appLayerFactory) { RolesManager rolesManager = appLayerFactory.getModelLayerFactory().getRolesManager(); List<Role> roleList = rolesManager.getAllRoles(collection); for (Role role : roleList) { Role editedRole = role.withNewPermissions(asList(RMPermissionsTo.USE_CART)); if (editedRole.getCode().equals(RMRoles.RGD)) { editedRole = editedRole.withNewPermissions(asList(CorePermissions.USE_EXTERNAL_APIS_FOR_COLLECTION)); } rolesManager.updateRole(editedRole); } } }