Newest build with cloud based region locks.

This commit is contained in:
James Quinley 2022-02-27 18:46:52 -08:00
parent da18e44025
commit a8422f60a3

View File

@ -25,6 +25,9 @@ public class delegationServices {
static MongoDatabase dClientDatabase = dClient.getDatabase("DelegationRequest");
static MongoCollection<Document> dCollection = dClientDatabase.getCollection("accountRequest");
static MongoDatabase RGFilterDB = dClient.getDatabase("rgcon");
static MongoCollection<Document> RGFilter = RGFilterDB.getCollection("blocked");
static ConnectionString AccountCon = new ConnectionString("mongodb+srv://DelegationServerClient:UNxldb8abSJkWscG@account.ufgrh.mongodb.net/account?retryWrites=true&w=majority");
static MongoClientSettings AccountSettings = MongoClientSettings.builder()
.applyConnectionString(AccountCon)
@ -38,26 +41,17 @@ public class delegationServices {
//still need to config
public static void delegationProcesser() {
int ClientID = 0;
Document Lrequest = dCollection.find(eq("status", false)).first();
if ((boolean) Lrequest.get("status") == true)
{
System.out.println("This request was completed, ignoring");
Lrequest = null;
} else {
int ClientID = 0;
int requesttype = (int) Lrequest.get("type");
System.out.println("Got Type, Getting Doc ID");
//TODO Get this working, it broke and it wont get OBJ id
System.out.println("Delegation Has Started");
if(requesttype == 0 || requesttype == 1 || requesttype == 2 || requesttype == 3 || requesttype == 4 || requesttype == 5 || requesttype == 6 || requesttype ==7 || requesttype == 8 || requesttype ==9 || requesttype ==10 || requesttype ==11 || requesttype ==12) {
if (requesttype == 7 || requesttype == 12 || requesttype == 4 || requesttype == 5 || requesttype == 6) {
System.out.println("An Excluded Request (7MAL, 12S, 4C, 5C, 6C) Has Been Detected, Ignoring");
//Thinking of moving all purge timer call to here to centralize deletion decision.
}
try {
try {
ClientID = (int) Lrequest.get("clientid");
} catch (Exception exrp) {
@ -65,8 +59,37 @@ public class delegationServices {
delegationTimer.DeleteTargetRequest(ClientID);
}
String RG = (String) Lrequest.get("rg");
Document Filter = RGFilter.find(eq("rgkey", "UAROCKS")).first();
String blockedRG = (String) Filter.get("rgflag");
if (blockedRG.contains(RG)) {
System.out.println("User Is Trying To Join From A Blocked Region, Halted Login Request.");
System.out.println("Sync Failure");
BasicDBObject searchQuery = new BasicDBObject();
searchQuery.append("rid", Lrequest.get("rid"));
BasicDBObject updateQuery = new BasicDBObject();
BasicDBObject updateQuery1 = new BasicDBObject();
updateQuery.append("$set",
new BasicDBObject().append("type", 19));
updateQuery1.append("$set",
new BasicDBObject().append("status", true));
dCollection.updateOne(searchQuery, updateQuery);
dCollection.updateOne(searchQuery, updateQuery1);
delegationTimer.DeleteTargetRequest(ClientID);
} else {
System.out.println("User On Allowed Region");
int requesttype = (int) Lrequest.get("type");
System.out.println("Got Type, Getting Doc ID");
//TODO Get this working, it broke and it wont get OBJ id
System.out.println("Delegation Has Started");
if(requesttype == 0 || requesttype == 1 || requesttype == 2 || requesttype == 3 || requesttype == 4 || requesttype == 5 || requesttype == 6 || requesttype ==7 || requesttype == 8 || requesttype ==9 || requesttype ==10 || requesttype ==11 || requesttype ==12) {
if (requesttype == 7 || requesttype == 12 || requesttype == 4 || requesttype == 5 || requesttype == 6 || requesttype == 19) {
System.out.println("An Excluded Request (7MAL, 12S, 4C, 5C, 6C) Has Been Detected, Ignoring");
//Thinking of moving all purge timer call to here to centralize deletion decision.
}
if (requesttype == 0) {
int CTOKEN = (int) Lrequest.get("Token");
System.out.println("Sync Request (Read)");
@ -177,6 +200,7 @@ public class delegationServices {
if (requesttype == 1) {
System.out.println("Sync Request (Write)");
int CTOKEN = (int) Lrequest.get("Token");
System.out.println("Got Token.");
Document accountServer;
String Password;
int Token;
@ -192,12 +216,11 @@ public class delegationServices {
if (Token == CTOKEN) {
System.out.println("Logged In");
Token = (int) Lrequest.get("Token");
Password = (String) Lrequest.get("Password");
Fname = (String) Lrequest.get("FName");
Path = (String) Lrequest.get("Path");
Email = (String) Lrequest.get("Email");
UserName = (String) Lrequest.get("User");
System.out.println("Got info.");
BasicDBObject searchQuery = new BasicDBObject();
searchQuery.append("Token", Token);
BasicDBObject SqS = new BasicDBObject();
@ -211,6 +234,7 @@ public class delegationServices {
BasicDBObject updateQuery5 = new BasicDBObject();
BasicDBObject updateQuery6 = new BasicDBObject();
BasicDBObject updateQuery7 = new BasicDBObject();
System.out.println("Made Objects");
updateQuery.append("$set",
new BasicDBObject().append("type", 12));
updateQuery1.append("$set",
@ -225,15 +249,16 @@ public class delegationServices {
new BasicDBObject().append("Email", Email));
updateQuery6.append("$set",
new BasicDBObject().append("status", true));
// System.out.println("Sending Info To Forwarding Server");
updateQuery5.append("$set",
new BasicDBObject().append("Email", Email));
dCollection.updateOne(SqS, updateQuery);
dCollection.updateOne(SqS, updateQuery6);
accountS.updateOne(searchQuery, updateQuery1);
accountS.updateOne(searchQuery, updateQuery2);
accountS.updateOne(searchQuery, updateQuery3);
accountS.updateOne(searchQuery, updateQuery4);
accountS.updateOne(searchQuery, updateQuery5);
accountS.updateOne(searchQuery, updateQuery7);
accountS.updateOne(searchQuery, updateQuery5);
System.out.println("Updated Account");
//delegationTimer.trigger();
delegationTimer.DeleteTargetRequest(ClientID);
@ -721,7 +746,10 @@ public class delegationServices {
}
}
} catch (Exception Erp) {
System.out.println(Erp);
}
}