diff --git a/src/main/java/com/commafeed/frontend/rest/RESTApplication.java b/src/main/java/com/commafeed/frontend/rest/RESTApplication.java index 6679cf4b..09916954 100644 --- a/src/main/java/com/commafeed/frontend/rest/RESTApplication.java +++ b/src/main/java/com/commafeed/frontend/rest/RESTApplication.java @@ -7,6 +7,7 @@ import javax.ws.rs.core.Application; import com.commafeed.frontend.rest.resources.AdminUsersREST; import com.commafeed.frontend.rest.resources.EntriesREST; +import com.commafeed.frontend.rest.resources.SessionREST; import com.commafeed.frontend.rest.resources.SettingsREST; import com.commafeed.frontend.rest.resources.SubscriptionsREST; import com.google.common.collect.Sets; @@ -23,6 +24,7 @@ public class RESTApplication extends Application { set.add(EntriesREST.class); set.add(SettingsREST.class); set.add(AdminUsersREST.class); + set.add(SessionREST.class); return set; } } diff --git a/src/main/java/com/commafeed/frontend/rest/resources/EntriesREST.java b/src/main/java/com/commafeed/frontend/rest/resources/EntriesREST.java index c8c26cb2..5e608366 100644 --- a/src/main/java/com/commafeed/frontend/rest/resources/EntriesREST.java +++ b/src/main/java/com/commafeed/frontend/rest/resources/EntriesREST.java @@ -26,7 +26,7 @@ import com.google.common.collect.Maps; @Path("entries") public class EntriesREST extends AbstractREST { - private static final String ALL = "all"; + public static final String ALL = "all"; public enum Type { category, feed, entry; diff --git a/src/main/java/com/commafeed/frontend/rest/resources/SessionREST.java b/src/main/java/com/commafeed/frontend/rest/resources/SessionREST.java new file mode 100644 index 00000000..a61ac923 --- /dev/null +++ b/src/main/java/com/commafeed/frontend/rest/resources/SessionREST.java @@ -0,0 +1,29 @@ +package com.commafeed.frontend.rest.resources; + +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.model.UserRole.Role; +import com.commafeed.frontend.model.UserModel; + +@Path("session") +public class SessionREST extends AbstractREST { + + @Path("get") + @GET + public UserModel get() { + User user = getUser(); + UserModel userModel = new UserModel(); + userModel.setId(user.getId()); + userModel.setName(user.getName()); + userModel.setEnabled(!user.isDisabled()); + for (UserRole role : userRoleService.findAll(user)) { + if (role.getRole() == Role.ADMIN) { + userModel.setAdmin(true); + } + } + return userModel; + } +} diff --git a/src/main/java/com/commafeed/frontend/rest/resources/SubscriptionsREST.java b/src/main/java/com/commafeed/frontend/rest/resources/SubscriptionsREST.java index 94e0c698..08a13a69 100644 --- a/src/main/java/com/commafeed/frontend/rest/resources/SubscriptionsREST.java +++ b/src/main/java/com/commafeed/frontend/rest/resources/SubscriptionsREST.java @@ -91,6 +91,30 @@ public class SubscriptionsREST extends AbstractREST { return Response.ok(Status.OK).build(); } + @Path("addCategory") + @GET + public Response addCategory(@QueryParam("name") String name, + @QueryParam("parentId") String parentId) { + Preconditions.checkNotNull(name); + + FeedCategory cat = new FeedCategory(); + cat.setName(name); + cat.setUser(getUser()); + if (parentId != null && !EntriesREST.ALL.equals(parentId)) { + FeedCategory parent = new FeedCategory(); + parent.setId(Long.valueOf(parentId)); + cat.setParent(parent); + } + feedCategoryService.save(cat); + return Response.ok().build(); + } + + @GET + @Path("deleteCategory") + public Response deleteCategory(@QueryParam("id") Long id) { + return Response.ok().build(); + } + @POST @Path("import") @Consumes(MediaType.MULTIPART_FORM_DATA) diff --git a/src/main/webapp/directives/subscribe.html b/src/main/webapp/directives/subscribe.html index c309b589..fc6c0e91 100644 --- a/src/main/webapp/directives/subscribe.html +++ b/src/main/webapp/directives/subscribe.html @@ -9,6 +9,7 @@ Subscribe