admin implementation

This commit is contained in:
Athou
2013-03-29 16:05:29 +01:00
parent fc8bd5c812
commit 09c91106f8
5 changed files with 94 additions and 14 deletions

View File

@@ -5,6 +5,7 @@ import java.util.Set;
import javax.ws.rs.ApplicationPath;
import javax.ws.rs.core.Application;
import com.commafeed.frontend.rest.resources.AdminREST;
import com.commafeed.frontend.rest.resources.EntriesREST;
import com.commafeed.frontend.rest.resources.SettingsREST;
import com.commafeed.frontend.rest.resources.SubscriptionsREST;
@@ -21,6 +22,7 @@ public class RESTApplication extends Application {
set.add(SubscriptionsREST.class);
set.add(EntriesREST.class);
set.add(SettingsREST.class);
set.add(AdminREST.class);
return set;
}
}

View File

@@ -0,0 +1,38 @@
package com.commafeed.frontend.rest.resources;
import java.util.Collection;
import java.util.Map;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import com.commafeed.backend.model.User;
import com.commafeed.backend.model.UserRole;
import com.commafeed.backend.security.Role;
import com.commafeed.frontend.model.UserModel;
import com.commafeed.frontend.rest.SecurityCheck;
import com.google.common.collect.Maps;
@SecurityCheck(Role.ADMIN)
@Path("admin")
public class AdminREST extends AbstractREST {
@Path("users/get")
@GET
public Collection<UserModel> getUsers() {
Map<Long, UserModel> users = Maps.newHashMap();
for (UserRole role : userRoleService.findAll()) {
User user = role.getUser();
Long key = user.getId();
UserModel userModel = users.get(key);
if (userModel == null) {
userModel = new UserModel();
userModel.setName(user.getName());
userModel.setEnabled(!user.isDisabled());
users.put(key, userModel);
}
userModel.getRoles().add(role.getRole());
}
return users.values();
}
}