package com.constellio.app.modules.rm.migrations;
import com.constellio.app.entities.modules.MigrationHelper;
import com.constellio.app.entities.modules.MigrationResourcesProvider;
import com.constellio.app.entities.modules.MigrationScript;
import com.constellio.app.modules.rm.RMEmailTemplateConstants;
import com.constellio.app.modules.rm.constants.RMPermissionsTo;
import com.constellio.app.services.factories.AppLayerFactory;
/**
* Created by Constelio on 2016-11-25.
*/
import com.constellio.app.entities.modules.MigrationHelper;
import com.constellio.app.entities.modules.MigrationResourcesProvider;
import com.constellio.app.entities.modules.MigrationScript;
import com.constellio.app.modules.tasks.TasksEmailTemplates;
import com.constellio.app.services.factories.AppLayerFactory;
import com.constellio.data.dao.managers.config.ConfigManagerException.OptimisticLockingConfiguration;
import com.constellio.model.entities.security.Role;
import com.constellio.model.services.emails.EmailTemplatesManager;
import com.constellio.model.services.security.roles.RolesManager;
import org.apache.commons.io.IOUtils;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;
import static java.util.Arrays.asList;
public class RMMigrationTo6_5_37 extends MigrationHelper implements MigrationScript {
private String collection;
private MigrationResourcesProvider migrationResourcesProvider;
private AppLayerFactory appLayerFactory;
@Override
public String getVersion() {
return "6.5.37";
}
@Override
public void migrate(String collection, MigrationResourcesProvider provider, AppLayerFactory appLayerFactory)
throws Exception {
setupRoles(collection, appLayerFactory.getModelLayerFactory().getRolesManager());
}
private void setupRoles(String collection, RolesManager manager) {
List<Role> roleList = manager.getAllRoles(collection);
for(Role role: roleList) {
manager.updateRole(role.withNewPermissions(asList(RMPermissionsTo.PUBLISH_AND_UNPUBLISH_DOCUMENTS)));
}
}
}