diff --git a/lib/commons-lang3-3.7-javadoc.jar b/lib/commons-lang3-3.7-javadoc.jar new file mode 100644 index 0000000..f16817a --- /dev/null +++ b/lib/commons-lang3-3.7-javadoc.jar Binary files differ diff --git a/lib/commons-lang3-3.7-sources.jar b/lib/commons-lang3-3.7-sources.jar new file mode 100644 index 0000000..a83c661 --- /dev/null +++ b/lib/commons-lang3-3.7-sources.jar Binary files differ diff --git a/lib/commons-lang3-3.7.jar b/lib/commons-lang3-3.7.jar new file mode 100644 index 0000000..f37ded6 --- /dev/null +++ b/lib/commons-lang3-3.7.jar Binary files differ diff --git a/src/main/java/cactusServer/entities/Account.java b/src/main/java/cactusServer/entities/Account.java index f27f98c..c16235b 100644 --- a/src/main/java/cactusServer/entities/Account.java +++ b/src/main/java/cactusServer/entities/Account.java @@ -1,7 +1,9 @@ package cactusServer.entities; +import org.apache.commons.lang3.RandomStringUtils; + public class Account { - private String name, pass; + private String name, pass, token; private boolean login = false; public Account(String userName, String userPass) { @@ -32,4 +34,13 @@ public void setLogin(boolean login) { this.login = login; } + + public String getToken() { + return token; + } + + public String formToken() { + token = RandomStringUtils.random(64, "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"); + return token; + } } diff --git a/src/main/java/cactusServer/models/Accounts.java b/src/main/java/cactusServer/models/Accounts.java index 5be7d51..d109b7a 100644 --- a/src/main/java/cactusServer/models/Accounts.java +++ b/src/main/java/cactusServer/models/Accounts.java @@ -26,49 +26,60 @@ public Account createAcount(String userID, String userName, String userPass) { System.out.println(userName); - if(!idSet.add(userID)) { + if (!idSet.add(userID)) { return null; } Account newAccount = new Account(userName, userPass); accounts.put(userID, newAccount); + newAccount.formToken(); System.out.println(userID); return newAccount; } - public Account getAccount(String userID) { - if(idSet.contains(userID)) { - Account editAccount = accounts.get(userID); - return editAccount; - }else { + public Account updateAccount(String userID, String userName, String userPass) { + if (idSet.contains(userID)) { + Accounts.getInstance().getAccount(userID).setName(userName); + Accounts.getInstance().getAccount(userID).setPass(userPass); + return Accounts.getInstance().getAccount(userID); + } else { return null; } } - public Account loginAccount(String userID,String userPass) { - if(idSet.contains(userID) && getAccount(userID).getPass().equals(userPass)) { - Accounts.getInstance().getAccount(userID).setLogin(true); - return getAccount(userID); - }else { + public Account getAccount(String userID) { + if (idSet.contains(userID)) { + Account editAccount = accounts.get(userID); + return editAccount; + } else { return null; } } - - public String logoutAccount(String userID) { - if(idSet.contains(userID)) { - Accounts.getInstance().getAccount(userID).setLogin(false); - return "success"; - }else { - return "null"; + + public Account loginAccount(String userID, String userPass) { + if (idSet.contains(userID) && getAccount(userID).getPass().equals(userPass)) { + Accounts.getInstance().getAccount(userID).setLogin(true); + return getAccount(userID); + } else { + return null; } } - + + public String logoutAccount(String userID) { + if (idSet.contains(userID)) { + Accounts.getInstance().getAccount(userID).setLogin(false); + return "success"; + } else { + return "failed"; + } + } + public String deleteAccount(String userID) { - if(idSet.contains(userID)) { + if (idSet.contains(userID)) { accounts.remove(userID); idSet.remove(userID); return "complated remove account"; - }else { + } else { return "not exist"; } } diff --git a/src/main/java/cactusServer/resources/AccountsRest.java b/src/main/java/cactusServer/resources/AccountsRest.java index 5f19f5b..e3b5d2b 100644 --- a/src/main/java/cactusServer/resources/AccountsRest.java +++ b/src/main/java/cactusServer/resources/AccountsRest.java @@ -14,10 +14,10 @@ public Account loginAccount(@FormParam("userID") String userID, @FormParam("userPass") String userPass) { return Accounts.getInstance().loginAccount(userID, userPass); } - + @POST @Path("/logout") - @Produces(MediaType.APPLICATION_JSON) + @Produces(MediaType.TEXT_PLAIN) public String logoutAccount(@FormParam("userID") String userID) { return Accounts.getInstance().logoutAccount(userID); } @@ -29,12 +29,22 @@ @FormParam("userPass") String userPass) { return Accounts.getInstance().createAcount(userID, userName, userPass); } + + @PUT + @Path("/updateAccount") + @Produces(MediaType.APPLICATION_JSON) + public Account updateAccount(@FormParam("userID") String userID, @FormParam("userName") String userName, + @FormParam("userPass") String userPass) { + return Accounts.getInstance().updateAccount(userID, userName, userPass); + } + @GET @Path("/{userID}") @Produces(MediaType.APPLICATION_JSON) public Account getAccount(@PathParam("userID") String userID) { return Accounts.getInstance().getAccount(userID); } + @DELETE @Path("/deleteAccount") @Produces(MediaType.TEXT_PLAIN)