delete users

This commit is contained in:
Athou
2013-03-30 11:57:11 +01:00
parent df9e3f8780
commit 3f7efa03f4
4 changed files with 15 additions and 7 deletions

View File

@@ -26,6 +26,7 @@ import com.commafeed.backend.security.Role;
public class StartupBean {
private static Logger log = LoggerFactory.getLogger(StartupBean.class);
public static final String ADMIN_NAME = "admin";
@Inject
FeedService feedService;
@@ -48,7 +49,7 @@ public class StartupBean {
if (userService.getCount() == 0) {
log.info("Populating database with default values");
User user = userService.register("admin", "admin",
User user = userService.register(ADMIN_NAME, "admin",
Arrays.asList(Role.ADMIN, Role.USER));
userService.register("test", "test", Arrays.asList(Role.USER));

View File

@@ -52,8 +52,10 @@ public abstract class GenericDAO<T extends AbstractModel> implements
}
public void delete(T object) {
object = em.merge(object);
em.remove(object);
if (object != null) {
object = em.merge(object);
em.remove(object);
}
}
public void delete(List<T> objects) {
@@ -64,7 +66,9 @@ public abstract class GenericDAO<T extends AbstractModel> implements
public void deleteById(Long id) {
Object ref = em.getReference(getType(), id);
em.remove(ref);
if (ref != null) {
em.remove(ref);
}
}
public T findById(Long id) {

View File

@@ -4,7 +4,6 @@ import java.util.Collection;
import java.util.Map;
import java.util.Set;
import javax.ws.rs.DELETE;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
@@ -14,6 +13,7 @@ import javax.ws.rs.core.Response.Status;
import org.apache.commons.lang.StringUtils;
import com.commafeed.backend.StartupBean;
import com.commafeed.backend.model.User;
import com.commafeed.backend.model.UserRole;
import com.commafeed.backend.security.Role;
@@ -113,12 +113,15 @@ public class AdminUsersREST extends AbstractREST {
}
@Path("delete")
@DELETE
@GET
public Response delete(@QueryParam("id") Long id) {
User user = userService.findById(id);
if (user == null) {
return Response.status(Status.NOT_FOUND).build();
}
if (StartupBean.ADMIN_NAME.equals(user.getName())) {
return Response.status(Status.FORBIDDEN).build();
}
feedEntryStatusService.delete(feedEntryStatusService.findAll(user));
feedSubscriptionService.delete(feedSubscriptionService.findAll(user));
feedCategoryService.delete(feedCategoryService.findAll(user));