diff --git a/src/main/java/com/jamesquinley/DelegationServices/delegationServices.java b/src/main/java/com/jamesquinley/DelegationServices/delegationServices.java index 337d65e..859996b 100644 --- a/src/main/java/com/jamesquinley/DelegationServices/delegationServices.java +++ b/src/main/java/com/jamesquinley/DelegationServices/delegationServices.java @@ -8,8 +8,6 @@ import com.mongodb.client.MongoClient; import com.mongodb.client.MongoClients; import com.mongodb.client.MongoCollection; import com.mongodb.client.MongoDatabase; -import com.mongodb.client.model.Filters; -import com.mongodb.client.model.Updates; import org.bson.Document; import static com.mongodb.client.model.Filters.eq; @@ -50,10 +48,10 @@ public class delegationServices { //TODO ADD BAN CHECK TO PREVENT BAN CIRCUMNAVIGATION, THIS WILL BE ADDED LATER String username = (String) Lrequest.get("User"); String password = (String) Lrequest.get("Password"); + String CTOKEN = (String) Lrequest.get("Token"); int requesttype = (int) Lrequest.get("type"); if (requesttype == 0) { System.out.println("Sync Request (TKN)"); - String CTOKEN = (String) Lrequest.get("Token"); Document accountServer; String Password; String Token; @@ -158,9 +156,113 @@ public class delegationServices { //sync read request if (requesttype == 1) { -//sync write request System.out.println("Sync Request (Write)"); + Document accountServer; + String Password; + String Token; + String Fname; + String Path; + String UserName; + String Email; + String TKN; + try { + accountServer = accountS.find(eq("Token", CTOKEN)).first(); + TKN = (String) accountServer.get("Token"); + if (accountServer.get("Status").equals("Active")) { + System.out.println("Account is OK"); + if (TKN.equals(CTOKEN)) { + System.out.println("Logged In"); + Token = (String) 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"); + BasicDBObject searchQuery = new BasicDBObject(); + searchQuery.append("User", UserName); + BasicDBObject SqS = new BasicDBObject(); + SqS.append("clientid", ClientID); + + BasicDBObject updateQuery = new BasicDBObject(); + BasicDBObject updateQuery1 = new BasicDBObject(); + BasicDBObject updateQuery2 = new BasicDBObject(); + BasicDBObject updateQuery3 = new BasicDBObject(); + BasicDBObject updateQuery4 = new BasicDBObject(); + BasicDBObject updateQuery5 = new BasicDBObject(); + BasicDBObject updateQuery6 = new BasicDBObject(); + BasicDBObject updateQuery7 = new BasicDBObject(); + updateQuery.append("$set", + new BasicDBObject().append("type", 12)); + updateQuery1.append("$set", + new BasicDBObject().append("token", Token)); + updateQuery2.append("$set", + new BasicDBObject().append("Fname", Fname)); + updateQuery3.append("$set", + new BasicDBObject().append("path", Path)); + updateQuery4.append("$set", + new BasicDBObject().append("User", UserName)); + updateQuery5.append("$set", + new BasicDBObject().append("Password", Password)); + updateQuery7.append("$set", + new BasicDBObject().append("Email", Email)); + updateQuery6.append("$set", + new BasicDBObject().append("status", true)); + // System.out.println("Sending Info To Forwarding Server"); + dCollection.updateOne(SqS, updateQuery); + accountS.updateOne(searchQuery, updateQuery1); + accountS.updateOne(searchQuery, updateQuery2); + accountS.updateOne(searchQuery, updateQuery3); + accountS.updateOne(searchQuery, updateQuery4); + accountS.updateOne(searchQuery, updateQuery5); + dCollection.updateOne(searchQuery, updateQuery6); + accountS.updateOne(searchQuery, updateQuery7); + System.out.println("Updated Account"); + //delegationTimer.trigger(); + } else { + System.out.println("Login Failure"); + BasicDBObject searchQuery = new BasicDBObject(); + searchQuery.append("clientid", ClientID); + + BasicDBObject updateQuery = new BasicDBObject(); + BasicDBObject updateQuery1 = new BasicDBObject(); + updateQuery.append("$set", + new BasicDBObject().append("type", 9)); + updateQuery1.append("$set", + new BasicDBObject().append("status", true)); + dCollection.updateOne(searchQuery, updateQuery); + dCollection.updateOne(searchQuery, updateQuery1); + //delegationTimer.trigger(); + } + } else { + System.out.println("Banned Account"); + BasicDBObject searchQuery = new BasicDBObject(); + searchQuery.append("clientid", ClientID); + + BasicDBObject updateQuery = new BasicDBObject(); + BasicDBObject updateQuery1 = new BasicDBObject(); + updateQuery.append("$set", + new BasicDBObject().append("type", 11)); + updateQuery1.append("$set", + new BasicDBObject().append("status", true)); + dCollection.updateOne(searchQuery, updateQuery); + dCollection.updateOne(searchQuery, updateQuery1); + } + } catch(MongoCommandException ERC){ + System.out.println("Malformed Request"); + BasicDBObject searchQuery = new BasicDBObject(); + searchQuery.append("clientid", ClientID); + + BasicDBObject updateQuery = new BasicDBObject(); + BasicDBObject updateQuery1 = new BasicDBObject(); + updateQuery.append("$set", + new BasicDBObject().append("type", 7)); + updateQuery1.append("$set", + new BasicDBObject().append("status", true)); + dCollection.updateOne(searchQuery, updateQuery); + dCollection.updateOne(searchQuery, updateQuery1); + //delegationTimer.trigger(); + } } if (requesttype == 2) { System.out.println("Login Request (USR&PASS)"); @@ -266,7 +368,6 @@ public class delegationServices { if (requesttype == 3) { System.out.println("Login Request (TKN)"); // Document TResolve = dCollection.find(eq("type", 3)).first(); - String CTOKEN = (String) Lrequest.get("Token"); Document accountServer; String TKN; String Password;