Account deletion is now stable and safe to launch, other features will be getting bugfixes to make the server software more stable.

This commit is contained in:
JSQui
2022-10-15 22:31:36 -07:00
parent 1c25899408
commit 31603e5ccc
3 changed files with 115 additions and 58 deletions

View File

@ -25,8 +25,7 @@ import java.util.List;
import java.util.Random;
import java.util.UUID;
import static com.jamesquinley.Asecure.electronicMailHandler.offBoarding;
import static com.jamesquinley.Asecure.electronicMailHandler.otkDeletionEmail;
import static com.jamesquinley.Asecure.electronicMailHandler.*;
import static com.jamesquinley.Asecure.secureCalls.accountMigrationComplete;
import static com.mongodb.client.model.Filters.eq;
import static java.util.concurrent.TimeUnit.SECONDS;
@ -1466,26 +1465,26 @@ public class delegationServices {
File myObj = new File(homedir + "/ocs/logs/" + applicationName + bugDetails + timeCurrent +".txt");
if (myObj.createNewFile()) {
System.out.println("Log File created: " + myObj.getName());
FileWriter writer = new FileWriter(homedir + "/ocs/logs/" + applicationName + bugDetails + timeCurrent +".txt", true);
writer.write("This bug report is for: " + applicationName);
writer.write("\r\n");
writer.write("The bug severity is level: " + bugSeverity);
writer.write("\r\n");
writer.write("The bug type is: " + bugType);
writer.write("\r\n");
writer.write("More bug details: " + bugDetails);
writer.write("\r\n");
writer.write("This is auto generated by the Obsidian Core backend services");
writer.write("\r\n");
writer.write("Submission Time (Local To Server): " + timeCurrent);
writer.close();
} else {
System.out.println("Log already exists.");
}
} catch (IOException e) {
System.out.println("An error occurred.");
e.printStackTrace();
System.out.println("An error occurred when attempting to log.");
}
FileWriter writer = new FileWriter(homedir + "/ocs/logs/" + applicationName + bugDetails + timeCurrent +".txt", true);
writer.write("This bug report is for: " + applicationName);
writer.write("\r\n");
writer.write("The bug severity is level: " + bugSeverity);
writer.write("\r\n");
writer.write("The bug type is: " + bugType);
writer.write("\r\n");
writer.write("More bug details: " + bugDetails);
writer.write("\r\n");
writer.write("This is auto generated by the Obsidian Core backend services");
writer.write("\r\n");
writer.write("Submission Time (Local To Server): " + timeCurrent);
writer.close();
BasicDBObject updateQuery = new BasicDBObject();
updateQuery.append("$set",
new BasicDBObject().append("status", true));
@ -1508,30 +1507,29 @@ public class delegationServices {
File myObj = new File(homedir + "/ocs/logs/" + applicationName + bugDetails + timeCurrent +".txt");
if (myObj.createNewFile()) {
System.out.println("Log File created: " + myObj.getName());
FileWriter writer = new FileWriter(homedir + "/ocs/logs/" + applicationName + bugDetails + timeCurrent +".txt", true);
writer.write("This bug report is for: " + applicationName);
writer.write("\r\n");
writer.write("The bug severity is level: " + bugSeverity);
writer.write("\r\n");
writer.write("The bug type is: " + bugType);
writer.write("\r\n");
writer.write("More bug details: " + bugDetails);
writer.write("\r\n");
writer.write("This is auto generated by the Obsidian Core backend services");
writer.write("\r\n");
writer.write("Submission Time (Local To Server): " + timeCurrent);
writer.write("\r\n");
writer.write("Full log file:");
writer.write("\r\n");
writer.write(bugLog);
writer.close();
} else {
System.out.println("Log already exists.");
}
} catch (IOException e) {
System.out.println("An error occurred.");
e.printStackTrace();
System.out.println("An error occurred while attempting to log.");
}
FileWriter writer = new FileWriter(homedir + "/ocs/logs/" + applicationName + bugDetails + timeCurrent +".txt", true);
writer.write("This bug report is for: " + applicationName);
writer.write("\r\n");
writer.write("The bug severity is level: " + bugSeverity);
writer.write("\r\n");
writer.write("The bug type is: " + bugType);
writer.write("\r\n");
writer.write("More bug details: " + bugDetails);
writer.write("\r\n");
writer.write("This is auto generated by the Obsidian Core backend services");
writer.write("\r\n");
writer.write("Submission Time (Local To Server): " + timeCurrent);
writer.write("\r\n");
writer.write("Full log file:");
writer.write("\r\n");
writer.write(bugLog);
writer.close();
BasicDBObject updateQuery = new BasicDBObject();
updateQuery.append("$set",
new BasicDBObject().append("status", true));
@ -1607,33 +1605,51 @@ public class delegationServices {
}
if (requesttype == 67)
{
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);
}
String OTK = sb.toString();
String OTK = "keyNotSetDueToError(ERR24)";
Boolean keyStatus = false;
//default false, since will be set to true if the mesurement exists on linked account
String accountUUID = (String) Lrequest.get("uuid");
BasicDBObject deleteKey = new BasicDBObject();
BasicDBObject searchQuery = new BasicDBObject();
searchQuery.append("UUID", accountUUID);
deleteKey.append("$set",
new BasicDBObject().append("delOTK",OTK));
accountS.updateOne(searchQuery, deleteKey);
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);
}
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("clientid", ClientID);
BasicDBObject clearUO = new BasicDBObject();
clearUO.append("$set",
new BasicDBObject().append("status", true));
dCollection.updateOne(clearCL, clearUO);
System.out.println("Finished Del Generation");
Document linkedAccount = accountS.find(eq("UUID", accountUUID)).first();
otkDeletionEmail((String)linkedAccount.get("Email"),OTK,(String)linkedAccount.get("User"));
com.jamesquinley.DelegationServices.delegationTimer.DeleteTargetRequestQuick(ClientID);
}
} else {