mirror of
https://github.com/ClaytonWWilson/Listify.git
synced 2026-03-10 18:55:03 +00:00
Refine repositioning logic
This commit is contained in:
@@ -15,8 +15,8 @@ public class ListRepositionActor implements CallHandler {
|
||||
this.cognitoID = cognitoID;
|
||||
}
|
||||
|
||||
final private String GET_PRIOR_POSITON = "SELECT uiPosition FROM ListSharee WHERE userID = ? AND listID = ?;";
|
||||
final private String SET_NEW_POSITON = "UPDATE ListSharee SET uiPosition = ? WHERE userID = ? AND listID = ?;";
|
||||
final private String GET_PRIOR_POSITION = "SELECT uiPosition FROM ListSharee WHERE userID = ? AND listID = ?;";
|
||||
final private String SET_NEW_POSITION = "UPDATE ListSharee SET uiPosition = ? WHERE userID = ? AND listID = ?;";
|
||||
final private String DECREMENT_HIGHER_POSITIONS = "UPDATE ListSharee SET uiPosition = uiPosition - 1 WHERE uiPosition > ? AND userID = ?;";
|
||||
final private String INCREMENT_GEQ_POSITIONS = "UPDATE ListSharee SET uiPosition = uiPosition + 1 WHERE uiPosition >= ? AND userID = ?;";
|
||||
|
||||
@@ -25,7 +25,7 @@ public class ListRepositionActor implements CallHandler {
|
||||
Integer listID = (Integer) bodyMap.get("listID");
|
||||
Integer newPosition = (Integer) bodyMap.get("newPosition");
|
||||
|
||||
PreparedStatement getPriorPosition = connection.prepareStatement(GET_PRIOR_POSITON);
|
||||
PreparedStatement getPriorPosition = connection.prepareStatement(GET_PRIOR_POSITION);
|
||||
getPriorPosition.setString(1, cognitoID);
|
||||
getPriorPosition.setInt(2, listID);
|
||||
ResultSet priorPositionRS = getPriorPosition.executeQuery();
|
||||
@@ -34,19 +34,29 @@ public class ListRepositionActor implements CallHandler {
|
||||
}
|
||||
Integer priorPosition = priorPositionRS.getInt("uiPosition");
|
||||
|
||||
PreparedStatement openNewPosition = connection.prepareStatement(INCREMENT_GEQ_POSITIONS);
|
||||
|
||||
if (newPosition.equals(priorPosition)) {
|
||||
return null;
|
||||
}
|
||||
if (newPosition < priorPosition) {
|
||||
openNewPosition.setInt(1, newPosition);
|
||||
} else {
|
||||
openNewPosition.setInt(1, newPosition + 1);
|
||||
}
|
||||
openNewPosition.setString(2, cognitoID);
|
||||
System.out.println(openNewPosition);
|
||||
openNewPosition.executeUpdate();
|
||||
|
||||
PreparedStatement fillPriorPosition = connection.prepareStatement(DECREMENT_HIGHER_POSITIONS);
|
||||
fillPriorPosition.setInt(1, priorPosition);
|
||||
fillPriorPosition.setString(2, cognitoID);
|
||||
System.out.println(fillPriorPosition);
|
||||
fillPriorPosition.executeUpdate();
|
||||
|
||||
PreparedStatement openNewPosition = connection.prepareStatement(INCREMENT_GEQ_POSITIONS);
|
||||
openNewPosition.setInt(1, priorPosition);
|
||||
openNewPosition.setString(2, cognitoID);
|
||||
System.out.println(openNewPosition);
|
||||
openNewPosition.executeUpdate();
|
||||
|
||||
PreparedStatement setNewPosition = connection.prepareStatement(SET_NEW_POSITON);
|
||||
|
||||
PreparedStatement setNewPosition = connection.prepareStatement(SET_NEW_POSITION);
|
||||
setNewPosition.setInt(1, newPosition);
|
||||
setNewPosition.setString(2, cognitoID);
|
||||
setNewPosition.setInt(3, listID);
|
||||
|
||||
@@ -65,6 +65,7 @@ public class ListSharer implements CallHandler {
|
||||
|
||||
PreparedStatement uiPositionCheck = connection.prepareStatement(UI_POSITION_CHECK);
|
||||
uiPositionCheck.setString(1, shareWithSub);
|
||||
System.out.println(uiPositionCheck);
|
||||
ResultSet uiPositionCheckRS = uiPositionCheck.executeQuery();
|
||||
int nextPosition = 1;
|
||||
if (uiPositionCheckRS.next()) {
|
||||
@@ -78,6 +79,7 @@ public class ListSharer implements CallHandler {
|
||||
shareList.setInt(3, permissionLevel);
|
||||
shareList.setInt(4, nextPosition);
|
||||
shareList.setInt(5, permissionLevel);
|
||||
System.out.println(shareList);
|
||||
shareList.executeUpdate();
|
||||
connection.commit();
|
||||
return null;
|
||||
|
||||
Reference in New Issue
Block a user