mirror of
https://github.com/Athou/commafeed.git
synced 2026-03-21 21:37:29 +00:00
cascade delete for users
This commit is contained in:
@@ -6,6 +6,8 @@ import java.util.Set;
|
|||||||
import javax.persistence.CascadeType;
|
import javax.persistence.CascadeType;
|
||||||
import javax.persistence.Column;
|
import javax.persistence.Column;
|
||||||
import javax.persistence.Entity;
|
import javax.persistence.Entity;
|
||||||
|
import javax.persistence.FetchType;
|
||||||
|
import javax.persistence.ManyToOne;
|
||||||
import javax.persistence.OneToMany;
|
import javax.persistence.OneToMany;
|
||||||
import javax.persistence.Table;
|
import javax.persistence.Table;
|
||||||
import javax.persistence.Temporal;
|
import javax.persistence.Temporal;
|
||||||
@@ -45,9 +47,13 @@ public class User extends AbstractModel {
|
|||||||
@Temporal(TemporalType.TIMESTAMP)
|
@Temporal(TemporalType.TIMESTAMP)
|
||||||
private Date recoverPasswordTokenDate;
|
private Date recoverPasswordTokenDate;
|
||||||
|
|
||||||
@OneToMany(mappedBy = "user", cascade = CascadeType.PERSIST)
|
@OneToMany(mappedBy = "user", cascade = { CascadeType.PERSIST,
|
||||||
|
CascadeType.REMOVE })
|
||||||
private Set<UserRole> roles = Sets.newHashSet();
|
private Set<UserRole> roles = Sets.newHashSet();
|
||||||
|
|
||||||
|
@ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.REMOVE)
|
||||||
|
private Set<FeedSubscription> subscriptions;
|
||||||
|
|
||||||
public String getName() {
|
public String getName() {
|
||||||
return name;
|
return name;
|
||||||
}
|
}
|
||||||
@@ -128,4 +134,12 @@ public class User extends AbstractModel {
|
|||||||
this.recoverPasswordTokenDate = recoverPasswordTokenDate;
|
this.recoverPasswordTokenDate = recoverPasswordTokenDate;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Set<FeedSubscription> getSubscriptions() {
|
||||||
|
return subscriptions;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSubscriptions(Set<FeedSubscription> subscriptions) {
|
||||||
|
this.subscriptions = subscriptions;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,14 +11,11 @@ import org.apache.commons.codec.digest.DigestUtils;
|
|||||||
|
|
||||||
import com.commafeed.backend.dao.FeedCategoryDAO;
|
import com.commafeed.backend.dao.FeedCategoryDAO;
|
||||||
import com.commafeed.backend.dao.FeedEntryStatusDAO;
|
import com.commafeed.backend.dao.FeedEntryStatusDAO;
|
||||||
import com.commafeed.backend.dao.FeedSubscriptionDAO;
|
|
||||||
import com.commafeed.backend.dao.UserDAO;
|
import com.commafeed.backend.dao.UserDAO;
|
||||||
import com.commafeed.backend.dao.UserRoleDAO;
|
|
||||||
import com.commafeed.backend.dao.UserSettingsDAO;
|
import com.commafeed.backend.dao.UserSettingsDAO;
|
||||||
import com.commafeed.backend.model.User;
|
import com.commafeed.backend.model.User;
|
||||||
import com.commafeed.backend.model.UserRole;
|
import com.commafeed.backend.model.UserRole;
|
||||||
import com.commafeed.backend.model.UserRole.Role;
|
import com.commafeed.backend.model.UserRole.Role;
|
||||||
import com.commafeed.backend.model.UserSettings.ReadingOrder;
|
|
||||||
import com.google.common.base.Preconditions;
|
import com.google.common.base.Preconditions;
|
||||||
|
|
||||||
@Stateless
|
@Stateless
|
||||||
@@ -30,18 +27,12 @@ public class UserService {
|
|||||||
@Inject
|
@Inject
|
||||||
FeedEntryStatusDAO feedEntryStatusDAO;
|
FeedEntryStatusDAO feedEntryStatusDAO;
|
||||||
|
|
||||||
@Inject
|
|
||||||
FeedSubscriptionDAO feedSubscriptionDAO;
|
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
FeedCategoryDAO feedCategoryDAO;
|
FeedCategoryDAO feedCategoryDAO;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
UserSettingsDAO userSettingsDAO;
|
UserSettingsDAO userSettingsDAO;
|
||||||
|
|
||||||
@Inject
|
|
||||||
UserRoleDAO userRoleDAO;
|
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
PasswordEncryptionService encryptionService;
|
PasswordEncryptionService encryptionService;
|
||||||
|
|
||||||
@@ -90,12 +81,8 @@ public class UserService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void unregister(User user) {
|
public void unregister(User user) {
|
||||||
feedEntryStatusDAO.delete(feedEntryStatusDAO.findAll(user, false,
|
|
||||||
ReadingOrder.desc, false));
|
|
||||||
feedSubscriptionDAO.delete(feedSubscriptionDAO.findAll(user));
|
|
||||||
feedCategoryDAO.delete(feedCategoryDAO.findAll(user));
|
feedCategoryDAO.delete(feedCategoryDAO.findAll(user));
|
||||||
userSettingsDAO.delete(userSettingsDAO.findByUser(user));
|
userSettingsDAO.delete(userSettingsDAO.findByUser(user));
|
||||||
userRoleDAO.delete(userRoleDAO.findAll(user));
|
|
||||||
userDAO.delete(user);
|
userDAO.delete(user);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user