diff --git a/ccm-core/src/main/java/org/libreccm/api/admin/categorization/CategoriesApi.java b/ccm-core/src/main/java/org/libreccm/api/admin/categorization/CategoriesApi.java index 9b1ae7167..a0b88cb8b 100644 --- a/ccm-core/src/main/java/org/libreccm/api/admin/categorization/CategoriesApi.java +++ b/ccm-core/src/main/java/org/libreccm/api/admin/categorization/CategoriesApi.java @@ -164,7 +164,7 @@ public class CategoriesApi { // Delete only empty categories!!! throw new UnsupportedOperationException(); } - + // delete update category by id @Path("/ID-{categoryId}") @DELETE @Path("/ID-{categoryId}") @@ -177,7 +177,7 @@ public class CategoriesApi { // Delete only empty categories!!! throw new UnsupportedOperationException(); } - + @DELETE @Path("/UUID-{categoryUuid}") @AuthorizationRequired @@ -189,15 +189,122 @@ public class CategoriesApi { // Delete only empty categories!!! throw new UnsupportedOperationException(); } - - // GET object in category @Path("/{domain-identifier}/{path}/objects - // GET object in category @Path("/ID-{categoryId} - // GET object in category @Path("/UUID-{categoryUuid} - // PUT object in category @Path("/{domain-identifier}/{path}/objects/{objectIdentifier} - // PUT object in category @Path("/ID-{categoryId}/{objectIdentifier} - // PUT object in category @Path("/UUID-{categoryUuid}/{objectIdentifier} - // DELETE object in category @Path("/{domain-identifier}/{path}/objects/{objectIdentifier} - // DELETE object in category @Path("/ID-{categoryId}/{objectIdentifier} - // DELETE object in category @Path("/UUID-{categoryUuid}/{objectIdentifier} - + + @GET + @Path("/{domainIdentifier}/{path:^[\\w\\-/]+$}/objects") + @Produces(MediaType.APPLICATION_JSON) + @AuthorizationRequired + @RequiresPrivilege(CoreConstants.PRIVILEGE_ADMIN) + @Transactional(Transactional.TxType.REQUIRED) + public CategoryData getObjectsInCategory( + @PathParam("domainIdentifier") final String domainIdentifierParam, + @PathParam("path") final String categoryPathTokens + ) { + throw new UnsupportedOperationException(); + } + + @GET + @Path("/ID-{categoryId}/objects") + @Produces(MediaType.APPLICATION_JSON) + @AuthorizationRequired + @RequiresPrivilege(CoreConstants.PRIVILEGE_ADMIN) + @Transactional(Transactional.TxType.REQUIRED) + public CategoryData getCategoryObjectsInCategory( + @PathParam("categoryId") final long categoryId + ) { + throw new UnsupportedOperationException(); + } + + @GET + @Path("/UUID-{categoryId}/objects") + @Produces(MediaType.APPLICATION_JSON) + @AuthorizationRequired + @RequiresPrivilege(CoreConstants.PRIVILEGE_ADMIN) + @Transactional(Transactional.TxType.REQUIRED) + public CategoryData getObjectsInCategory( + @PathParam("categoryId") final String categoryUuid + ) { + throw new UnsupportedOperationException(); + } + + @PUT + @Path("/{domainIdentifier}/{path:^[\\w\\-/]+$}/objects/{objectIdentifier}") + @Produces(MediaType.APPLICATION_JSON) + @AuthorizationRequired + @RequiresPrivilege(CoreConstants.PRIVILEGE_ADMIN) + @Transactional(Transactional.TxType.REQUIRED) + public CategoryData addObjectToCategory( + @PathParam("domainIdentifier") final String domainIdentifierParam, + @PathParam("path") final String categoryPathTokens, + @PathParam("objectIdentifier") final String objectIdentifierParam + ) { + throw new UnsupportedOperationException(); + } + + @PUT + @Path("/ID-{categoryId}/objects/{objectIdentifier}") + @Produces(MediaType.APPLICATION_JSON) + @AuthorizationRequired + @RequiresPrivilege(CoreConstants.PRIVILEGE_ADMIN) + @Transactional(Transactional.TxType.REQUIRED) + public CategoryData addObjectToCategory( + @PathParam("categoryId") final long categoryId, + @PathParam("objectIdentifier") final String objectIdentifier + ) { + throw new UnsupportedOperationException(); + } + + @PUT + @Path("/UUID-{categoryId}/objects/objectIdentifier") + @Produces(MediaType.APPLICATION_JSON) + @AuthorizationRequired + @RequiresPrivilege(CoreConstants.PRIVILEGE_ADMIN) + @Transactional(Transactional.TxType.REQUIRED) + public CategoryData addObjectsToCategory( + @PathParam("categoryId") final String categoryUuid, + @PathParam("objectIdentifier") final String objectIdentifier + ) { + throw new UnsupportedOperationException(); + } + + @DELETE + @Path("/{domainIdentifier}/{path:^[\\w\\-/]+$}/objects/{objectIdentifier}") + @Produces(MediaType.APPLICATION_JSON) + @AuthorizationRequired + @RequiresPrivilege(CoreConstants.PRIVILEGE_ADMIN) + @Transactional(Transactional.TxType.REQUIRED) + public CategoryData removeObjectFromCategory( + @PathParam("domainIdentifier") final String domainIdentifierParam, + @PathParam("path") final String categoryPathTokens, + @PathParam("objectIdentifier") final String objectIdentifierParam + ) { + throw new UnsupportedOperationException(); + } + + @DELETE + @Path("/ID-{categoryId}/objects/{objectIdentifier}") + @Produces(MediaType.APPLICATION_JSON) + @AuthorizationRequired + @RequiresPrivilege(CoreConstants.PRIVILEGE_ADMIN) + @Transactional(Transactional.TxType.REQUIRED) + public CategoryData removeObjectFromCategory( + @PathParam("categoryId") final long categoryId, + @PathParam("objectIdentifier") final String objectIdentifier + ) { + throw new UnsupportedOperationException(); + } + + @DELETE + @Path("/UUID-{categoryId}/objects/objectIdentifier") + @Produces(MediaType.APPLICATION_JSON) + @AuthorizationRequired + @RequiresPrivilege(CoreConstants.PRIVILEGE_ADMIN) + @Transactional(Transactional.TxType.REQUIRED) + public CategoryData removeObjectsFromCategory( + @PathParam("categoryId") final String categoryUuid, + @PathParam("objectIdentifier") final String objectIdentifier + ) { + throw new UnsupportedOperationException(); + } + }