All Downloads are FREE. Search and download functionalities are using the official Maven repository.

prerna.util.git.reactors.DeleteAppRepo Maven / Gradle / Ivy

The newest version!
package prerna.util.git.reactors;

import org.apache.logging.log4j.Logger;

import prerna.masterdatabase.utility.MasterDatabaseUtility;
import prerna.sablecc2.om.PixelDataType;
import prerna.sablecc2.om.PixelOperationType;
import prerna.sablecc2.om.ReactorKeysEnum;
import prerna.sablecc2.om.nounmeta.NounMetadata;
import prerna.util.AssetUtility;
import prerna.util.git.GitRepoUtils;

public class DeleteAppRepo extends GitBaseReactor {

	public DeleteAppRepo() {
		this.keysToGet = new String[]{
				ReactorKeysEnum.DATABASE.getKey(), ReactorKeysEnum.REPOSITORY.getKey(), 
				ReactorKeysEnum.USERNAME.getKey(), ReactorKeysEnum.PASSWORD.getKey()};
	}
	
	@Override
	public NounMetadata execute() {
		organizeKeys();
		
		Logger logger = getLogger(this.getClass().getName());
		logger.info("Removing remote...");
		String databaseId = this.keyValue.get(this.keysToGet[0]);
		String databaseName = MasterDatabaseUtility.getDatabaseAliasForId(databaseId);
		String repository = this.keyValue.get(this.keysToGet[1]);
		String databaseFolder = AssetUtility.getProjectVersionFolder(databaseName, databaseId);

		// remove it from remote
		// take it out from local in case the global fails since they have removed the repository
		GitRepoUtils.deleteRemoteRepositorySettings(databaseFolder, repository);

		if(keyValue.size() == 4)
		{
			String username = this.keyValue.get(this.keysToGet[2]);
			String password = this.keyValue.get(this.keysToGet[3]);
			// drop it from external
			GitRepoUtils.deleteRemoteRepository(repository, username, password);
		}
		else
		{
			String oauth = getToken();
			GitRepoUtils.deleteRemoteRepository(repository, oauth);
		}
	
		return new NounMetadata(true, PixelDataType.CONST_STRING, PixelOperationType.MARKET_PLACE);
	}

	
	
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy