diff --git a/src/main/java/com/jamesquinley/DelegationServices/delegationServices.java b/src/main/java/com/jamesquinley/DelegationServices/delegationServices.java index 0b66c2f..dcba718 100644 --- a/src/main/java/com/jamesquinley/DelegationServices/delegationServices.java +++ b/src/main/java/com/jamesquinley/DelegationServices/delegationServices.java @@ -3,6 +3,7 @@ package com.jamesquinley.DelegationServices; import com.mongodb.BasicDBObject; import com.mongodb.ConnectionString; import com.mongodb.MongoClientSettings; +import com.mongodb.MongoCommandException; import com.mongodb.client.MongoClient; import com.mongodb.client.MongoClients; import com.mongodb.client.MongoCollection; @@ -40,14 +41,109 @@ public class delegationServices { //still need to config public static void delegationProcesser() { Document Lrequest = dCollection.find(eq("status", false)).first(); - int ClientID = (int) Lrequest.get("clientid"); + int ClientID = 0; + try { + ClientID = (int) Lrequest.get("clientid"); + } catch (Exception exrp) { + + } + + //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"); int requesttype = (int) Lrequest.get("type"); if (requesttype == 0) { -System.out.println("Sync Request (Read)"); - //sync read request + System.out.println("Sync Request (TKN)"); + Document TResolve = dCollection.find(eq("status", false)).first(); + String CTOKEN = (String) TResolve.get("Token"); + Document accountServer; + String Password; + String Token; + String Fname; + String Path; + String UserName; + String Email; + try { + accountServer = accountS.find(eq("Token", CTOKEN)).first(); + Password = (String) accountServer.get("Token"); + if (Password.equals(CTOKEN)) { + Token = (String) accountServer.get("Token"); + Password = (String) accountServer.get("Password"); + Fname = (String) accountServer.get("FName"); + Path = (String) accountServer.get("Path"); + Email = (String) accountServer.get("Email"); + UserName = (String) accountServer.get("User"); + + BasicDBObject searchQuery = new BasicDBObject(); + searchQuery.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(searchQuery, updateQuery); + dCollection.updateOne(searchQuery, updateQuery1); + dCollection.updateOne(searchQuery, updateQuery2); + dCollection.updateOne(searchQuery, updateQuery3); + dCollection.updateOne(searchQuery, updateQuery4); + dCollection.updateOne(searchQuery, updateQuery5); + dCollection.updateOne(searchQuery, updateQuery6); + dCollection.updateOne(searchQuery,updateQuery7); + //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(); + } + } 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(); + } } + + //sync read request if (requesttype == 1) { //sync write request System.out.println("Sync Request (Write)"); diff --git a/src/main/java/com/jamesquinley/startup.java b/src/main/java/com/jamesquinley/startup.java index 0456130..4230c67 100644 --- a/src/main/java/com/jamesquinley/startup.java +++ b/src/main/java/com/jamesquinley/startup.java @@ -14,7 +14,7 @@ public class startup { System.out.println( "We're starting the login delegation server, please wait one moment while we check a few things."); com.jamesquinley.DelegationServices.delegationTimer.trigger(); - DeleteAllRequests(); + // DeleteAllRequests(); System.out.println("We've started everything, requests are now being served"); } }