More stuff, account creation/deletion is disabled for legacy services.

This commit is contained in:
James Quinley 2023-04-27 21:38:16 -07:00
parent fa19618264
commit b8fe2cd5c3

View File

@ -82,7 +82,9 @@ public class delegationServices {
static int RequestR;
//still need to config
public static String lastNet = null;
public static String Macid = null;
public static String IPA = null;
private static Boolean legacy = false;
private static double version = 0.0;
public static void banUserID(String UUID) {
BasicDBObject searchQuery = new BasicDBObject();
@ -103,10 +105,23 @@ public class delegationServices {
System.out.println("This request has opted out of CID.");
}
try {
Macid = (String) Lrequest.get("net");
IPA = (String) Lrequest.get("net");
} catch (Exception exrp) {
System.out.println("This request has opted out of NET.");
}
try {
version = (double) Lrequest.get("apiversion");
if (version >= 2.0) {
legacy =false;
System.out.println("nonlegacy");
} else {
legacy =true;
System.out.println("legacy");
}
} catch (Exception exrp) {
legacy = true;
System.out.println("legacy");
}
String RG = (String) Lrequest.get("rg");
Filter = RGFilter.find(eq("rgkey", "UAROCKS")).first();
@ -563,18 +578,30 @@ public class delegationServices {
new BasicDBObject().append("status", true));
updateQuery8.append("$set",
new BasicDBObject().append("keychainUUID", keychainUUID));
if (Filter.get("customHome").equals(true)) {
BasicDBObject updateQuery11 = new BasicDBObject();
updateQuery11.append("$set",
new BasicDBObject().append("home", Filter.get("valHome")));
updateQuery12.append("$set",
new BasicDBObject().append("hs",true));
dCollection.updateOne(searchQuery, updateQuery11);
dCollection.updateOne(searchQuery, updateQuery12);
if (legacy) {
if ((Boolean) Filter.get("legacyPRDisable") == true) {
BasicDBObject updateQuery11 = new BasicDBObject();
updateQuery11.append("$set",
new BasicDBObject().append("home", Filter.get("legacyHome")));
updateQuery12.append("$set",
new BasicDBObject().append("hs",true));
dCollection.updateOne(searchQuery, updateQuery11);
dCollection.updateOne(searchQuery, updateQuery12);
}
} else {
updateQuery12.append("$set",
new BasicDBObject().append("hs",false));
dCollection.updateOne(searchQuery, updateQuery12);
if (Filter.get("customHome").equals(true)) {
BasicDBObject updateQuery11 = new BasicDBObject();
updateQuery11.append("$set",
new BasicDBObject().append("home", Filter.get("valHome")));
updateQuery12.append("$set",
new BasicDBObject().append("hs",true));
dCollection.updateOne(searchQuery, updateQuery11);
dCollection.updateOne(searchQuery, updateQuery12);
} else {
updateQuery12.append("$set",
new BasicDBObject().append("hs",false));
dCollection.updateOne(searchQuery, updateQuery12);
}
}
/*
if (Filter.get("customGreeting").equals(true)) {
@ -603,7 +630,7 @@ public class delegationServices {
dCollection.updateOne(searchQuery, updateQuery8);
//delegationTimer.trigger();
delegationTimer.DeleteTargetRequestByID(Lrequest.get("_id"));
localNet.macRead(Macid, lastNet, Email, UserName, Token);
localNet.macRead(IPA, lastNet, Email, UserName, Token);
} else {
BasicDBObject searchQuery = new BasicDBObject();
searchQuery.append("_id", ClientID);
@ -834,6 +861,7 @@ public class delegationServices {
BasicDBObject updateQuery8 = new BasicDBObject();
BasicDBObject updateQuery9 = new BasicDBObject();
BasicDBObject updateQuery10 = new BasicDBObject();
BasicDBObject updateQuery12 = new BasicDBObject();
updateQuery.append("$set",
new BasicDBObject().append("type", 8));
updateQuery2.append("$set",
@ -850,18 +878,30 @@ public class delegationServices {
new BasicDBObject().append("keychainUUID", keychainUUID));
updateQuery6.append("$set",
new BasicDBObject().append("status", true));
if (Filter.get("customHome").equals(true)) {
BasicDBObject updateQuery11 = new BasicDBObject();
updateQuery11.append("$set",
new BasicDBObject().append("home", Filter.get("valHome")));
updateQuery10.append("$set",
new BasicDBObject().append("hs",true));
dCollection.updateOne(searchQuery, updateQuery11);
dCollection.updateOne(searchQuery, updateQuery10);
if (legacy) {
if ((Boolean) Filter.get("legacyPRDisable") == true) {
BasicDBObject updateQuery11 = new BasicDBObject();
updateQuery11.append("$set",
new BasicDBObject().append("home", Filter.get("legacyHome")));
updateQuery12.append("$set",
new BasicDBObject().append("hs",true));
dCollection.updateOne(searchQuery, updateQuery11);
dCollection.updateOne(searchQuery, updateQuery12);
}
} else {
updateQuery10.append("$set",
new BasicDBObject().append("hs",false));
dCollection.updateOne(searchQuery, updateQuery10);
if (Filter.get("customHome").equals(true)) {
BasicDBObject updateQuery11 = new BasicDBObject();
updateQuery11.append("$set",
new BasicDBObject().append("home", Filter.get("valHome")));
updateQuery12.append("$set",
new BasicDBObject().append("hs",true));
dCollection.updateOne(searchQuery, updateQuery11);
dCollection.updateOne(searchQuery, updateQuery12);
} else {
updateQuery12.append("$set",
new BasicDBObject().append("hs",false));
dCollection.updateOne(searchQuery, updateQuery12);
}
}
System.out.println("Sending Info To Forwarding Server");
dCollection.updateOne(searchQuery, updateQuery8);
@ -875,7 +915,7 @@ public class delegationServices {
dCollection.updateOne(searchQuery, updateQuery6);
//delegationTimer.trigger();
delegationTimer.DeleteTargetRequestByID(Lrequest.get("_id"));
localNet.macRead(Macid, lastNet, Email, UserName, TKN);
localNet.macRead(IPA, lastNet, Email, UserName, TKN);
} else {
System.out.println("Login Failure");
BasicDBObject searchQuery = new BasicDBObject();
@ -1092,163 +1132,9 @@ public class delegationServices {
}
if (requesttype == 10) {
System.out.println("Account Creation Request");
Document DServer = dCollection.find(eq("_id", ClientID)).first();
String User = (String) DServer.get("User");
String Password = (String) DServer.get("Password");
String Email = (String) DServer.get("Email");
String FName = (String) DServer.get("FName");
if ((Boolean) Filter.get("creationEnabled")) {
String sourcet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ123456789";
StringBuilder sbt = new StringBuilder();
Random random = new Random();
int tokenlength = 60;
for (int i = 0; i < tokenlength; i++) {
int index = random.nextInt(sourcet.length());
char randomChar = sourcet.charAt(index);
sbt.append(randomChar);
}
String Token = "OCST" + sbt.toString();
//Above makes token, it will be remade if it already exists
String source = "ABCDEFGHIJKLMNOPQRSTUVWXYZ123456789";
StringBuilder sb = new StringBuilder();
int length = 40;
for (int i = 0; i < length; i++) {
int index = random.nextInt(source.length());
char randomChar = source.charAt(index);
sb.append(randomChar);
}
String UUID = sb.toString();
//Above makes UUID, will be remade if it already exists.
try {
Document DupeEmail = accountS.find(eq("Email", Email)).first();
String DUPEEMAIL = (String) DupeEmail.get("Email");
if (DUPEEMAIL.equals(null)) {
Document DupeUser = accountS.find(eq("User", User)).first();
String DUPE = (String) DupeUser.get("User");
}
BasicDBObject searchQuery = new BasicDBObject();
searchQuery.append("_id", ClientID);
BasicDBObject updateQuery = new BasicDBObject();
BasicDBObject updateQuery1 = new BasicDBObject();
updateQuery.append("$set",
new BasicDBObject().append("type", 6));
updateQuery1.append("$set",
new BasicDBObject().append("status", true));
dCollection.updateOne(searchQuery, updateQuery);
dCollection.updateOne(searchQuery, updateQuery1);
delegationTimer.DeleteTargetRequestByID(Lrequest.get("_id"));
} catch (Exception exr) {
System.out.println("Username & Email Is Open");
try {
Document DupeToken = accountS.find(eq("Token", Token)).first();
String DupeToke1n = (String) DupeToken.get("Token");
System.out.println("Got Token from request");
Boolean TokenOpen = false;
while (TokenOpen == false) {
for (int i = 0; i < tokenlength; i++) {
int index = random.nextInt(sourcet.length());
char randomChar = sourcet.charAt(index);
sbt.append(randomChar);
}
Token = sbt.toString();
try {
DupeToken = accountS.find(eq("Token", Token)).first();
DupeToke1n = (String) DupeToken.get("Token");
System.out.println("Token Is Reserved, Try Again.");
for (int i = 0; i < tokenlength; i++) {
int index = random.nextInt(sourcet.length());
char randomChar = sourcet.charAt(index);
sbt.append(randomChar);
}
} catch (Exception exDr) {
TokenOpen = true;
System.out.println("Token Free (While EXP)");
}
}
} catch (Exception token) {
System.out.println("Working on UUID");
try {
Document DupeUUID = accountS.find(eq("UUID", UUID)).first();
String DupeUUIDS = (String) DupeUUID.get("UUID");
System.out.println("Got Gen UUID");
Boolean UUIDOPEN = false;
while (UUIDOPEN == false) {
length = 40;
sb = new StringBuilder();
for (int i = 0; i < length; i++) {
int index = random.nextInt(source.length());
char randomChar = source.charAt(index);
sb.append(randomChar);
}
String UUIDGEN = sb.toString();
try {
System.out.println("Retry UUID");
DupeUUID = accountS.find(eq("UUID", UUID)).first();
DupeUUIDS = (String) DupeUUID.get("UUID");
System.out.println("UUID Is Reserved, Try Again.");
length = 40;
sb = new StringBuilder();
for (int i = 0; i < length; i++) {
int index = random.nextInt(source.length());
char randomChar = source.charAt(index);
sb.append(randomChar);
}
UUIDGEN = sb.toString();
UUID = UUIDGEN;
} catch (Exception exDr) {
UUIDOPEN = true;
System.out.println("UUID Free (While EXP)" + exDr);
}
}
} catch (NullPointerException uuid) {
System.out.println("UUID Free");
}
System.out.println("Token Free");
System.out.println("Token & UUID Free (Main)");
System.out.println("Creating.");
Document createForm = new Document();
createForm.append("User", User);
createForm.append("Password", Password);
createForm.append("Status", true);
createForm.append("Flagged", false);
createForm.append("Email", Email);
createForm.append("FName", FName);
createForm.append("Entitlements", "NA");
createForm.append("Freinds", " ");
createForm.append("Token", Token);
createForm.append("UUID", UUID);
createForm.append("Control", 1);
createForm.append("Upgrade", 0);
createForm.append("Version", "2");
createForm.append("keyStatus", false);
//createForm.append("Uid",uid);
createForm.append("lastNet", Macid);
accountS.insertOne(createForm);
BasicDBObject searchQuery = new BasicDBObject();
searchQuery.append("_id", ClientID);
secureCalls.accountCreationComplete(Email, User, UUID);
BasicDBObject updateQuery = new BasicDBObject();
BasicDBObject updateQuery1 = new BasicDBObject();
updateQuery.append("$set",
new BasicDBObject().append("type", 4));
updateQuery1.append("$set",
new BasicDBObject().append("status", true));
dCollection.updateOne(searchQuery, updateQuery);
dCollection.updateOne(searchQuery, updateQuery1);
System.out.println("Update Request With Finished Status");
delegationTimer.DeleteTargetRequestByID(Lrequest.get("_id"));
}
}
} else {
if (legacy && (Boolean) Filter.get("legacyPRDisable") == true) {
BasicDBObject searchQuery = new BasicDBObject();
searchQuery.append("_id", ClientID);
try { secureCalls.accountCreationDisabled(Email, User);} catch (Exception ex) {System.out.println("Unable to send disabled msg to user");
}
BasicDBObject updateQuery = new BasicDBObject();
BasicDBObject updateQuery1 = new BasicDBObject();
updateQuery.append("$set",
@ -1257,8 +1143,177 @@ public class delegationServices {
new BasicDBObject().append("status", true));
dCollection.updateOne(searchQuery, updateQuery);
dCollection.updateOne(searchQuery, updateQuery1);
System.out.println("Update Request With Finished Status");
System.out.println("Update Request With Aborted Status");
delegationTimer.DeleteTargetRequestByID(Lrequest.get("_id"));
} else {
System.out.println("Account Creation Request");
Document DServer = dCollection.find(eq("_id", ClientID)).first();
String User = (String) DServer.get("User");
String Password = (String) DServer.get("Password");
String Email = (String) DServer.get("Email");
String FName = (String) DServer.get("FName");
if ((Boolean) Filter.get("creationEnabled")) {
String sourcet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ123456789";
StringBuilder sbt = new StringBuilder();
Random random = new Random();
int tokenlength = 60;
for (int i = 0; i < tokenlength; i++) {
int index = random.nextInt(sourcet.length());
char randomChar = sourcet.charAt(index);
sbt.append(randomChar);
}
String Token = "OCST" + sbt.toString();
//Above makes token, it will be remade if it already exists
String source = "ABCDEFGHIJKLMNOPQRSTUVWXYZ123456789";
StringBuilder sb = new StringBuilder();
int length = 40;
for (int i = 0; i < length; i++) {
int index = random.nextInt(source.length());
char randomChar = source.charAt(index);
sb.append(randomChar);
}
String UUID = sb.toString();
//Above makes UUID, will be remade if it already exists.
try {
Document DupeEmail = accountS.find(eq("Email", Email)).first();
String DUPEEMAIL = (String) DupeEmail.get("Email");
if (DUPEEMAIL.equals(null)) {
Document DupeUser = accountS.find(eq("User", User)).first();
String DUPE = (String) DupeUser.get("User");
}
BasicDBObject searchQuery = new BasicDBObject();
searchQuery.append("_id", ClientID);
BasicDBObject updateQuery = new BasicDBObject();
BasicDBObject updateQuery1 = new BasicDBObject();
updateQuery.append("$set",
new BasicDBObject().append("type", 6));
updateQuery1.append("$set",
new BasicDBObject().append("status", true));
dCollection.updateOne(searchQuery, updateQuery);
dCollection.updateOne(searchQuery, updateQuery1);
delegationTimer.DeleteTargetRequestByID(Lrequest.get("_id"));
} catch (Exception exr) {
System.out.println("Username & Email Is Open");
try {
Document DupeToken = accountS.find(eq("Token", Token)).first();
String DupeToke1n = (String) DupeToken.get("Token");
System.out.println("Got Token from request");
Boolean TokenOpen = false;
while (TokenOpen == false) {
for (int i = 0; i < tokenlength; i++) {
int index = random.nextInt(sourcet.length());
char randomChar = sourcet.charAt(index);
sbt.append(randomChar);
}
Token = sbt.toString();
try {
DupeToken = accountS.find(eq("Token", Token)).first();
DupeToke1n = (String) DupeToken.get("Token");
System.out.println("Token Is Reserved, Try Again.");
for (int i = 0; i < tokenlength; i++) {
int index = random.nextInt(sourcet.length());
char randomChar = sourcet.charAt(index);
sbt.append(randomChar);
}
} catch (Exception exDr) {
TokenOpen = true;
System.out.println("Token Free (While EXP)");
}
}
} catch (Exception token) {
System.out.println("Working on UUID");
try {
Document DupeUUID = accountS.find(eq("UUID", UUID)).first();
String DupeUUIDS = (String) DupeUUID.get("UUID");
System.out.println("Got Gen UUID");
Boolean UUIDOPEN = false;
while (UUIDOPEN == false) {
length = 40;
sb = new StringBuilder();
for (int i = 0; i < length; i++) {
int index = random.nextInt(source.length());
char randomChar = source.charAt(index);
sb.append(randomChar);
}
String UUIDGEN = sb.toString();
try {
System.out.println("Retry UUID");
DupeUUID = accountS.find(eq("UUID", UUID)).first();
DupeUUIDS = (String) DupeUUID.get("UUID");
System.out.println("UUID Is Reserved, Try Again.");
length = 40;
sb = new StringBuilder();
for (int i = 0; i < length; i++) {
int index = random.nextInt(source.length());
char randomChar = source.charAt(index);
sb.append(randomChar);
}
UUIDGEN = sb.toString();
UUID = UUIDGEN;
} catch (Exception exDr) {
UUIDOPEN = true;
System.out.println("UUID Free (While EXP)" + exDr);
}
}
} catch (NullPointerException uuid) {
System.out.println("UUID Free");
}
System.out.println("Token Free");
System.out.println("Token & UUID Free (Main)");
System.out.println("Creating.");
Document createForm = new Document();
createForm.append("User", User);
createForm.append("Password", Password);
createForm.append("Status", true);
createForm.append("Flagged", false);
createForm.append("Email", Email);
createForm.append("FName", FName);
createForm.append("Entitlements", "NA");
createForm.append("Freinds", " ");
createForm.append("Token", Token);
createForm.append("UUID", UUID);
createForm.append("Control", 1);
createForm.append("Upgrade", 0);
createForm.append("Version", "2");
createForm.append("keyStatus", false);
//createForm.append("Uid",uid);
createForm.append("lastNet", IPA);
accountS.insertOne(createForm);
BasicDBObject searchQuery = new BasicDBObject();
searchQuery.append("_id", ClientID);
secureCalls.accountCreationComplete(Email, User, UUID);
BasicDBObject updateQuery = new BasicDBObject();
BasicDBObject updateQuery1 = new BasicDBObject();
updateQuery.append("$set",
new BasicDBObject().append("type", 4));
updateQuery1.append("$set",
new BasicDBObject().append("status", true));
dCollection.updateOne(searchQuery, updateQuery);
dCollection.updateOne(searchQuery, updateQuery1);
System.out.println("Update Request With Finished Status");
delegationTimer.DeleteTargetRequestByID(Lrequest.get("_id"));
}
}
} else {
BasicDBObject searchQuery = new BasicDBObject();
searchQuery.append("_id", ClientID);
try { secureCalls.accountCreationDisabled(Email, User);} catch (Exception ex) {System.out.println("Unable to send disabled msg to user");
}
BasicDBObject updateQuery = new BasicDBObject();
BasicDBObject updateQuery1 = new BasicDBObject();
updateQuery.append("$set",
new BasicDBObject().append("type", 52));
updateQuery1.append("$set",
new BasicDBObject().append("status", true));
dCollection.updateOne(searchQuery, updateQuery);
dCollection.updateOne(searchQuery, updateQuery1);
System.out.println("Update Request With Finished Status");
delegationTimer.DeleteTargetRequestByID(Lrequest.get("_id"));
}
}
}
if (requesttype == 20)
@ -1403,27 +1458,72 @@ public class delegationServices {
new BasicDBObject().append("dn", dr));
System.out.println("Denied");
}
updateQuery2.append("$set",
new BasicDBObject().append("uNotes", platformUpdateNotes));
updateQuery3.append("$set",
new BasicDBObject().append("pushV", version));
updateQuery4.append("$set",
new BasicDBObject().append("keyReq", pKey));
updateQuery8.append("$set",
new BasicDBObject().append("news", nw));
updateQuery6.append("$set",
new BasicDBObject().append("status", true));
updateQuery7.append("$set",
new BasicDBObject().append("dn", dr));
System.out.println("Sending Info To Forwarding Server");
dCollection.updateOne(searchQuery, updateQuery);
dCollection.updateOne(searchQuery, updateQuery2);
dCollection.updateOne(searchQuery, updateQuery3);
dCollection.updateOne(searchQuery, updateQuery4);
dCollection.updateOne(searchQuery, updateQuery7);
dCollection.updateOne(searchQuery, updateQuery8);
dCollection.updateOne(searchQuery, updateQuery6);
if (legacy) {
if ((Boolean) Filter.get("legacyPRDisable") == true) {
updateQuery2.append("$set",
new BasicDBObject().append("uNotes", (String) Filter.get("legacyPRUpdateDisplay")));
updateQuery3.append("$set",
new BasicDBObject().append("pushV", version));
updateQuery4.append("$set",
new BasicDBObject().append("keyReq", pKey));
updateQuery8.append("$set",
new BasicDBObject().append("news", (String) Filter.get("legacyNews")));
updateQuery6.append("$set",
new BasicDBObject().append("status", true));
updateQuery7.append("$set",
new BasicDBObject().append("dn", dr));
System.out.println("Sending Info To Forwarding Server");
dCollection.updateOne(searchQuery, updateQuery);
dCollection.updateOne(searchQuery, updateQuery2);
dCollection.updateOne(searchQuery, updateQuery3);
dCollection.updateOne(searchQuery, updateQuery4);
dCollection.updateOne(searchQuery, updateQuery7);
dCollection.updateOne(searchQuery, updateQuery8);
dCollection.updateOne(searchQuery, updateQuery6);
} else {
updateQuery2.append("$set",
new BasicDBObject().append("uNotes", platformUpdateNotes));
updateQuery3.append("$set",
new BasicDBObject().append("pushV", version));
updateQuery4.append("$set",
new BasicDBObject().append("keyReq", pKey));
updateQuery8.append("$set",
new BasicDBObject().append("news", nw));
updateQuery6.append("$set",
new BasicDBObject().append("status", true));
updateQuery7.append("$set",
new BasicDBObject().append("dn", dr));
System.out.println("Sending Info To Forwarding Server");
dCollection.updateOne(searchQuery, updateQuery);
dCollection.updateOne(searchQuery, updateQuery2);
dCollection.updateOne(searchQuery, updateQuery3);
dCollection.updateOne(searchQuery, updateQuery4);
dCollection.updateOne(searchQuery, updateQuery7);
dCollection.updateOne(searchQuery, updateQuery8);
dCollection.updateOne(searchQuery, updateQuery6);
}
} else {
updateQuery2.append("$set",
new BasicDBObject().append("uNotes", platformUpdateNotes));
updateQuery3.append("$set",
new BasicDBObject().append("pushV", version));
updateQuery4.append("$set",
new BasicDBObject().append("keyReq", pKey));
updateQuery8.append("$set",
new BasicDBObject().append("news", nw));
updateQuery6.append("$set",
new BasicDBObject().append("status", true));
updateQuery7.append("$set",
new BasicDBObject().append("dn", dr));
System.out.println("Sending Info To Forwarding Server");
dCollection.updateOne(searchQuery, updateQuery);
dCollection.updateOne(searchQuery, updateQuery2);
dCollection.updateOne(searchQuery, updateQuery3);
dCollection.updateOne(searchQuery, updateQuery4);
dCollection.updateOne(searchQuery, updateQuery7);
dCollection.updateOne(searchQuery, updateQuery8);
dCollection.updateOne(searchQuery, updateQuery6);
}
//delegationTimer.trigger();
System.out.println("Pushed");
delegationTimer.DeleteTargetRequestByID(Lrequest.get("_id"));
@ -1746,48 +1846,64 @@ public class delegationServices {
}
if (requesttype == 67) {
String OTK = "keyNotSetDueToError(ERR24)";
Boolean keyStatus = false;
//default false, since will be set to true if the measurement exists on linked account
String accountUUID = (String) Lrequest.get("uuid");
Document linkedAccount = accountS.find(eq("UUID", accountUUID)).first();
try {
keyStatus = (boolean) linkedAccount.get("delStatus");
} catch (Exception NPE) {
keyStatus = false;
}
if (keyStatus == false) {
String alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ123456789";
StringBuilder sb = new StringBuilder();
Random random = new Random();
int length = 15;
for (int i = 0; i < length; i++) {
int index = random.nextInt(alphabet.length());
char randomChar = alphabet.charAt(index);
sb.append(randomChar);
if (legacy && (Boolean) Filter.get("legacyPRDisable") == true) {
BasicDBObject searchQuery = new BasicDBObject();
searchQuery.append("_id", ClientID);
BasicDBObject updateQuery = new BasicDBObject();
BasicDBObject updateQuery1 = new BasicDBObject();
updateQuery.append("$set",
new BasicDBObject().append("type", 52));
updateQuery1.append("$set",
new BasicDBObject().append("status", true));
dCollection.updateOne(searchQuery, updateQuery);
dCollection.updateOne(searchQuery, updateQuery1);
System.out.println("Update Request With Aborted Status");
delegationTimer.DeleteTargetRequestByID(Lrequest.get("_id"));
} else
{
String OTK = "keyNotSetDueToError(ERR24)";
Boolean keyStatus = false;
//default false, since will be set to true if the measurement exists on linked account
String accountUUID = (String) Lrequest.get("uuid");
Document linkedAccount = accountS.find(eq("UUID", accountUUID)).first();
try {
keyStatus = (boolean) linkedAccount.get("delStatus");
} catch (Exception NPE) {
keyStatus = false;
}
OTK = sb.toString();
BasicDBObject deleteKey = new BasicDBObject();
BasicDBObject deleteKeyStatus = new BasicDBObject();
BasicDBObject deleteTie = new BasicDBObject();
deleteTie.append("UUID", accountUUID);
deleteKey.append("$set",
new BasicDBObject().append("delOTK", OTK));
deleteKeyStatus.append("$set",
new BasicDBObject().append("delStatus", true));
accountS.updateOne(deleteTie, deleteKey);
accountS.updateOne(deleteTie, deleteKeyStatus);
otkDeletionEmail((String) linkedAccount.get("Email"), OTK, (String) linkedAccount.get("User"));
} else {
otkDeletionEmailResend((String) linkedAccount.get("Email"), (String) linkedAccount.get("delOTK"), (String) linkedAccount.get("User"));
if (keyStatus == false) {
String alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ123456789";
StringBuilder sb = new StringBuilder();
Random random = new Random();
int length = 15;
for (int i = 0; i < length; i++) {
int index = random.nextInt(alphabet.length());
char randomChar = alphabet.charAt(index);
sb.append(randomChar);
}
OTK = sb.toString();
BasicDBObject deleteKey = new BasicDBObject();
BasicDBObject deleteKeyStatus = new BasicDBObject();
BasicDBObject deleteTie = new BasicDBObject();
deleteTie.append("UUID", accountUUID);
deleteKey.append("$set",
new BasicDBObject().append("delOTK", OTK));
deleteKeyStatus.append("$set",
new BasicDBObject().append("delStatus", true));
accountS.updateOne(deleteTie, deleteKey);
accountS.updateOne(deleteTie, deleteKeyStatus);
otkDeletionEmail((String) linkedAccount.get("Email"), OTK, (String) linkedAccount.get("User"));
} else {
otkDeletionEmailResend((String) linkedAccount.get("Email"), (String) linkedAccount.get("delOTK"), (String) linkedAccount.get("User"));
}
BasicDBObject clearCL = new BasicDBObject();
clearCL.append("_id", ClientID);
BasicDBObject clearUO = new BasicDBObject();
clearUO.append("$set",
new BasicDBObject().append("status", true));
dCollection.updateOne(clearCL, clearUO);
TargetDelete(ClientID);
}
BasicDBObject clearCL = new BasicDBObject();
clearCL.append("_id", ClientID);
BasicDBObject clearUO = new BasicDBObject();
clearUO.append("$set",
new BasicDBObject().append("status", true));
dCollection.updateOne(clearCL, clearUO);
TargetDelete(ClientID);
}
if (requesttype == 81) {
System.out.println("Login Request (TKN)");