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) voiddeleteFolder(com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo, String folderId) protected ContentFolderItemService<ContentFolderItem>protected ContentFolderService<ContentFolder>protected ContentItemService<ContentItem>protected ContentItemHydrationServicemoveItemsToFolder(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 voidvalidateFolderIsEmpty(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
 
 -