diff --git a/src/main/java/cactusServer/entities/Account.java b/src/main/java/cactusServer/entities/Account.java index b1468ea..f27f98c 100644 --- a/src/main/java/cactusServer/entities/Account.java +++ b/src/main/java/cactusServer/entities/Account.java @@ -2,6 +2,7 @@ public class Account { private String name, pass; + private boolean login = false; public Account(String userName, String userPass) { setName(userName); @@ -23,4 +24,12 @@ public void setPass(String pass) { this.pass = pass; } + + public boolean isLogin() { + return login; + } + + public void setLogin(boolean login) { + this.login = login; + } } diff --git a/src/main/java/cactusServer/models/Accounts.java b/src/main/java/cactusServer/models/Accounts.java index b15060c..9c2e5c6 100644 --- a/src/main/java/cactusServer/models/Accounts.java +++ b/src/main/java/cactusServer/models/Accounts.java @@ -5,11 +5,13 @@ import cactusServer.entities.Account; import java.util.HashMap; +import java.util.HashSet; @Singleton public class Accounts { private static Accounts theInstance = null; private HashMap accounts = new HashMap<>(); + private HashSet idlist = new HashSet(); private Accounts() { @@ -27,7 +29,7 @@ Account newAccount = new Account(userName, userPass); accounts.put(userID, newAccount); - + idlist.add(userID); System.out.println(userID); return newAccount; @@ -38,6 +40,15 @@ return editAccount; } + public Account loginAccount(String userID,String userPass) { + return Accounts.getInstance().getAccount(userID); + } + + public String logoutAccount(String userID) { + Accounts.getInstance().getAccount(userID).setLogin(false); + return "success"; + } + public String deleteAccount(String userID) { accounts.remove(userID); return "complated remove account"; diff --git a/src/main/java/cactusServer/resources/AccountsRest.java b/src/main/java/cactusServer/resources/AccountsRest.java index 2cbe28d..03b283a 100644 --- a/src/main/java/cactusServer/resources/AccountsRest.java +++ b/src/main/java/cactusServer/resources/AccountsRest.java @@ -13,19 +13,19 @@ @POST @Path("/login") @Produces(MediaType.APPLICATION_JSON) - public String loginAccount(@QueryParam("userID") String userID, @QueryParam("userPass") String userPass) { + public URI loginAccount(@QueryParam("userID") String userID, @QueryParam("userPass") String userPass) { if(Accounts.getInstance().getAccount(userID).getPass().equals(userPass)) { - return getAccount(userID); + return URI.create(userID); }else { - return "failed login attempt"; + return URI.create("failed login attempt"); } } - + @POST @Path("/logout") @Produces(MediaType.APPLICATION_JSON) public String logoutAccount(@QueryParam("userID") String userID) { - return ""; + return Accounts.getInstance().logoutAccount(userID); } @POST