User delete lambda

This commit is contained in:
Clayton Wilson 2020-10-08 17:49:50 -04:00
parent 925a249b4c
commit c5bb117136

View File

@ -1,75 +1,73 @@
import com.amazonaws.services.cognitoidp.AWSCognitoIdentityProvider;
import com.amazonaws.services.cognitoidp.AWSCognitoIdentityProviderClientBuilder;
import com.amazonaws.services.cognitoidp.model.AdminDeleteUserRequest;
import com.amazonaws.services.cognitoidp.model.AdminUserGlobalSignOutRequest;
import java.io.IOException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;
public class UserDeleter implements CallHandler {
private DBConnector connector;
private Connection connection;
private String cognitoID;
//private final String REMOVE_FROM_LIST = "DELETE FROM ListProduct WHERE (ProductID = ? AND ListID = ?);";
private final String GET_LISTS = "SELECT * FROM List WHERE (owner = ?);";
private final String DELETE_LIST_PRODUCT = "DELETE FROM ListProduct WHERE (listID = ?);";
private final String DELETE_LISTS = "DELETE FROM List WHERE (owner = ?);";
public UserDeleter(DBConnector connector, String cognitoID) {
this.connector = connector;
public UserDeleter(Connection connection, String cognitoID) {
this.connection = connection;
this.cognitoID = cognitoID;
}
public Object conductAction(Map<String, Object> bodyMap, HashMap<String, String> queryString, String cognitoID) throws SQLException {
// AWSCognitoIdentityProvider awsCognitoIdentityProvider = AWSCognitoIdentityProviderClientBuilder.defaultClient();
// Properties cognitoProperties;
// try {
// cognitoProperties = DBConnector.loadProperties("cognitoProperties.json");
// } catch (IOException e) {
// e.printStackTrace();
// return null;
// }
// String userPoolId = cognitoProperties.get("userPoolId").toString();
// System.out.println(userPoolId);
// AdminUserGlobalSignOutRequest adminUserGlobalSignOutRequest = new AdminUserGlobalSignOutRequest().withUserPoolId(userPoolId);
// adminUserGlobalSignOutRequest.setUsername(cognitoID);
// System.out.println(adminUserGlobalSignOutRequest);
// awsCognitoIdentityProvider.adminUserGlobalSignOut(adminUserGlobalSignOutRequest);
// AdminDeleteUserRequest adminDeleteUserRequest = new AdminDeleteUserRequest().withUserPoolId(userPoolId);
// adminDeleteUserRequest.setUsername(cognitoID);
// System.out.println(adminDeleteUserRequest);
// awsCognitoIdentityProvider.adminDeleteUser(adminDeleteUserRequest);
Connection connection = connector.getConnection();
// try {
PreparedStatement statement = connection.prepareStatement(GET_LISTS);
statement.setString(1, cognitoID);
System.out.println(statement);
ResultSet userLists = statement.executeQuery();
while (userLists.next()) {
int listID = userLists.getInt("listID");
System.out.println(String.format("%d", listID));
AWSCognitoIdentityProvider awsCognitoIdentityProvider = AWSCognitoIdentityProviderClientBuilder.defaultClient();
Properties cognitoProperties;
try {
cognitoProperties = DBConnector.loadProperties("cognitoProperties.json");
} catch (IOException e) {
e.printStackTrace();
return null;
}
String userPoolId = cognitoProperties.get("userPoolId").toString();
System.out.println(userPoolId);
AdminUserGlobalSignOutRequest adminUserGlobalSignOutRequest = new AdminUserGlobalSignOutRequest().withUserPoolId(userPoolId);
adminUserGlobalSignOutRequest.setUsername(cognitoID);
System.out.println(adminUserGlobalSignOutRequest);
awsCognitoIdentityProvider.adminUserGlobalSignOut(adminUserGlobalSignOutRequest);
AdminDeleteUserRequest adminDeleteUserRequest = new AdminDeleteUserRequest().withUserPoolId(userPoolId);
adminDeleteUserRequest.setUsername(cognitoID);
System.out.println(adminDeleteUserRequest);
awsCognitoIdentityProvider.adminDeleteUser(adminDeleteUserRequest);
// connection.commit();
// } finally {
// connection.close();
// }
try {
PreparedStatement statement = connection.prepareStatement(GET_LISTS);
statement.setString(1, cognitoID);
System.out.println(statement);
ResultSet userLists = statement.executeQuery();
while (userLists.next()) {
int listID = userLists.getInt("listID");
statement = connection.prepareStatement(DELETE_LIST_PRODUCT);
statement.setInt(1, listID);
System.out.println(statement);
statement.executeQuery();
}
statement = connection.prepareStatement(DELETE_LISTS);
statement.setString(1, cognitoID);
System.out.println(statement);
statement.executeQuery();
connection.commit();
} finally {
connection.close();
}
return null;
// return null;
// Connection connection = connector.getConnection();
// try {
// PreparedStatement statement = connection.prepareStatement(REMOVE_FROM_LIST);
// statement.setInt(1, (Integer) bodyMap.get("ProductID"));
// statement.setInt(2, (Integer) bodyMap.get("ListID"));
// System.out.println(statement);
// statement.executeUpdate();
// connection.commit();
// } finally {
// connection.close();
// }
// return null;
}
}