diff --git a/src/main/java/com/example/cosmos_serversb/entities/User.java b/src/main/java/com/example/cosmos_serversb/entities/User.java index dccaaeb..eb1b59a 100644 --- a/src/main/java/com/example/cosmos_serversb/entities/User.java +++ b/src/main/java/com/example/cosmos_serversb/entities/User.java @@ -25,7 +25,6 @@ * @param firstToken String 初期トークン * * TODO: Tokenのデータベース接続 - * TODO: ダミートークン削除 */ @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("token") @@ -46,8 +45,6 @@ @JsonIgnore public Set tokens = new HashSet<>(); //public Set tokens = new HashSet<>(); - @JsonIgnore - private String dummyToken = "a9965652-c2ec-4a0d-a78a-b457e8b2deca"; public User() { diff --git a/src/main/java/com/example/cosmos_serversb/models/Users.java b/src/main/java/com/example/cosmos_serversb/models/Users.java index 459972f..2c8b971 100644 --- a/src/main/java/com/example/cosmos_serversb/models/Users.java +++ b/src/main/java/com/example/cosmos_serversb/models/Users.java @@ -6,6 +6,7 @@ import javax.ws.rs.WebApplicationException; import com.example.cosmos_serversb.entities.*; + import org.hibernate.Session; import org.hibernate.SessionFactory; import org.springframework.beans.factory.annotation.Value; @@ -147,23 +148,24 @@ return testUser; } - public static DeleteResult deleteUser(String uId) { - Session session = SessionManager.getInstance().getSession(); - User deleteUser = (User) session.get(User.class, uId); - if(deleteUser != null){ - for(Group group : deleteUser.getGroups()){ - if(group.getMembers().size() == 1){ - //グループにユーザが存在しなくなるため、グループごと削除する。 - Groups.getInstance().deleteGroup(group.getgId()); - }else{ - //該当ユーザをグループから退会。 - group.deleteMember(deleteUser); + public static DeleteResult deleteUser(String uId, String token) { + if(checkToken(uId, token)){ + Session session = SessionManager.getInstance().getSession(); + User deleteUser = (User) session.get(User.class, uId); + if(deleteUser != null){ + for(Group group : deleteUser.getGroups()){ + if(group.getMembers().size() == 1){ + //グループにユーザが存在しなくなるため、グループごと削除する。 + Groups.getInstance().deleteGroup(group.getgId()); + }else{ + //該当ユーザをグループから退会。 + group.deleteMember(deleteUser); + } } + deleteUser.groups.clear(); + session.delete(deleteUser); + return DeleteResult.SUCCESS; } - deleteUser.groups.clear(); - session.delete(deleteUser); - System.out.println("massage: Already Deleted"); - return DeleteResult.SUCCESS; } return DeleteResult.FAILURE; } @@ -215,7 +217,12 @@ * @param uId * @param */ - return true; + Session session = SessionManager.getInstance().getSession(); + List tokenList = session.createQuery( "select token from Token where uId =\'" +uId+"\'" ).list(); + if(tokenList.contains(token)){ + return true; + } + return false; } public static boolean checkPassword(String uId, String pw) { diff --git a/src/main/java/com/example/cosmos_serversb/models/UsersMain.java b/src/main/java/com/example/cosmos_serversb/models/UsersMain.java deleted file mode 100644 index d348a90..0000000 --- a/src/main/java/com/example/cosmos_serversb/models/UsersMain.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.example.cosmos_serversb.models; - -//このメインクラスを実行すると、Hibernateのテストが行えます。 -public class UsersMain { - public static void main(String args[]){ - /* - Users.createUser("test1","test1","http://localhost:8080/iconImage/b4bb7db0-cc0c-4ee1-816f-8304add12da8.jpg"); - Users.login("1234","test1"); - Users.setUser("1234","test3","test3","http://localhost:8080/iconImage/"); - Users.getUserById("1234"); - */ - } -} diff --git a/src/main/java/com/example/cosmos_serversb/resources/UsersRest.java b/src/main/java/com/example/cosmos_serversb/resources/UsersRest.java index 88766dc..e3093c7 100644 --- a/src/main/java/com/example/cosmos_serversb/resources/UsersRest.java +++ b/src/main/java/com/example/cosmos_serversb/resources/UsersRest.java @@ -54,7 +54,7 @@ public String deleteUsersInfo(@PathParam("uId") String uId, @FormParam("token") String token) throws JsonProcessingException { SessionManager.getInstance().getSession(); ObjectMapper mapper = new ObjectMapper(); - String json = mapper.writeValueAsString(Users.getInstance().deleteUser(uId)); + String json = mapper.writeValueAsString(Users.getInstance().deleteUser(uId,token)); SessionManager.getInstance().closeSession(); LogUtils.info("uId:"+uId+" ユーザを削除しました"); return json;