diff --git a/src/main/java/com/example/cosmos_serversb/models/Groups.java b/src/main/java/com/example/cosmos_serversb/models/Groups.java index 757ada5..cc6756c 100644 --- a/src/main/java/com/example/cosmos_serversb/models/Groups.java +++ b/src/main/java/com/example/cosmos_serversb/models/Groups.java @@ -166,7 +166,7 @@ } public static Request addRequests(String gId, String uId, String product, String deadline, int location){ - if(product == null){ + if(product == null || uId == null){ return null; //not-null制約 } String rId = getInstance().createRId(); 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 773355f..d6918bb 100644 --- a/src/main/java/com/example/cosmos_serversb/models/Users.java +++ b/src/main/java/com/example/cosmos_serversb/models/Users.java @@ -149,12 +149,23 @@ public static DeleteResult deleteUser(String uId) { Session session = SessionManager.getInstance().getSession(); - User deleteUser = (User) session.load(User.class, uId); + 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); System.out.println("massage: Already Deleted"); + return DeleteResult.SUCCESS; } - return DeleteResult.SUCCESS; + return DeleteResult.FAILURE; } public static Token login(String uId,String pw) {