Class ContentFolderEndpoint
java.lang.Object
com.broadleafcommerce.content.web.endpoint.ContentFolderEndpoint
@FrameworkRestController
@FrameworkMapping("/content-folders")
@DataRouteByExample(ContentFolder.class)
public class ContentFolderEndpoint
extends Object
- Author:
- Samarth Dhruva (samarthd)
-
Nested Class Summary
Nested Classes -
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionContentFolderEndpoint
(ContentFolderService<ContentFolder> contentFolderService, ContentFolderItemService<ContentFolderItem> contentFolderItemService, ContentItemService<ContentItem> contentItemService, ContentItemHydrationService hydrationService) -
Method Summary
Modifier and TypeMethodDescriptioncreateFolder
(com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo, ContentFolder contentFolder) void
deleteFolder
(com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo, String folderId) protected ContentFolderItemService<ContentFolderItem>
protected ContentFolderService<ContentFolder>
protected ContentItemService<ContentItem>
protected ContentItemHydrationService
moveItemsToFolder
(com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo, String folderId, ContentFolderEndpoint.MoveItemsToFolderRequest request) org.springframework.data.domain.Page<ContentItem>
readAllItemsInFolder
(com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo, String folderId, org.springframework.data.domain.Pageable pageInfo, cz.jirutka.rsql.parser.ast.Node filters) org.springframework.data.domain.Page<ContentFolder>
readAllOrRootFolders
(com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo, String nameQuery, Boolean isRoot, org.springframework.data.domain.Pageable pageInfo, cz.jirutka.rsql.parser.ast.Node filters) org.springframework.data.domain.Page<ContentFolder>
readAllSubFoldersOfFolder
(com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo, String folderId, org.springframework.data.domain.Pageable pageInfo, cz.jirutka.rsql.parser.ast.Node filters) readFolder
(com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo, String folderId) readPathToFolder
(com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo, String folderId) updateFolder
(com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo, String id, ContentFolder contentFolder) protected void
validateFolderIsEmpty
(String folderId, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Checks that a folder does not have any item contents or sub-folders.
-
Field Details
-
BASE_URI
- See Also:
-
-
Constructor Details
-
ContentFolderEndpoint
public ContentFolderEndpoint(ContentFolderService<ContentFolder> contentFolderService, ContentFolderItemService<ContentFolderItem> contentFolderItemService, ContentItemService<ContentItem> contentItemService, ContentItemHydrationService hydrationService)
-
-
Method Details
-
createFolder
@FrameworkPostMapping @Policy(permissionRoots="CONTENT") public ContentFolder createFolder(@ContextOperation(CREATE) com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo, @RequestBody ContentFolder contentFolder) -
readFolder
@FrameworkGetMapping("/{id}") @Policy(permissionRoots="CONTENT") public ContentFolder readFolder(@ContextOperation com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo, @PathVariable("id") String folderId) -
updateFolder
@FrameworkPutMapping(value="/{id}", consumes="application/json") @Policy(permissionRoots="CONTENT") public ContentFolder updateFolder(@ContextOperation(UPDATE) com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo, @PathVariable("id") String id, @RequestBody ContentFolder contentFolder) -
deleteFolder
@FrameworkDeleteMapping("/{id}") @Policy(permissionRoots="CONTENT") public void deleteFolder(@ContextOperation(DELETE) com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo, @PathVariable("id") String folderId) -
readAllOrRootFolders
@FrameworkGetMapping @Policy(permissionRoots="CONTENT") public org.springframework.data.domain.Page<ContentFolder> readAllOrRootFolders(@ContextOperation(READ) com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo, @RequestParam(value="q",required=false) String nameQuery, @RequestParam(value="isRoot",required=false) Boolean isRoot, @PageableDefault(size=50,sort="name",direction=ASC) org.springframework.data.domain.Pageable pageInfo, cz.jirutka.rsql.parser.ast.Node filters) -
validateFolderIsEmpty
protected void validateFolderIsEmpty(String folderId, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Checks that a folder does not have any item contents or sub-folders.- Parameters:
folderId
- the context ID of the folder to checkcontextInfo
- context surrounding sandboxing and multitenant state- Throws:
com.broadleafcommerce.common.error.validation.ValidationException
- if the folder is not empty
-
readAllItemsInFolder
@FrameworkGetMapping("/{id}/items") @Policy(permissionRoots="CONTENT") public org.springframework.data.domain.Page<ContentItem> readAllItemsInFolder(@ContextOperation com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo, @PathVariable("id") String folderId, @PageableDefault(size=50,sort="name",direction=ASC) org.springframework.data.domain.Pageable pageInfo, cz.jirutka.rsql.parser.ast.Node filters) -
moveItemsToFolder
@FrameworkPatchMapping("/{id}/items") @Policy(permissionRoots="CONTENT") public List<ContentFolderItem> moveItemsToFolder(@ContextOperation com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo, @PathVariable("id") String folderId, @RequestBody ContentFolderEndpoint.MoveItemsToFolderRequest request) -
readAllSubFoldersOfFolder
@FrameworkGetMapping("/{id}/sub-folders") @Policy(permissionRoots="CONTENT") public org.springframework.data.domain.Page<ContentFolder> readAllSubFoldersOfFolder(@ContextOperation com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo, @PathVariable("id") String folderId, @PageableDefault(size=50,sort="name",direction=ASC) org.springframework.data.domain.Pageable pageInfo, cz.jirutka.rsql.parser.ast.Node filters) -
readPathToFolder
@FrameworkGetMapping("/{id}/path") @Policy(permissionRoots="CONTENT") public List<ContentFolder> readPathToFolder(@ContextOperation com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo, @PathVariable("id") String folderId) -
getContentFolderService
-
getContentFolderItemService
-
getContentItemService
-
getHydrationService
-