Class AdminPermissionEndpoint
java.lang.Object
com.broadleafcommerce.adminuser.resource.web.endpoint.AdminPermissionEndpoint
@FrameworkRestController
@FrameworkMapping("/permissions")
@DataRouteByExample(AdminUser.class)
@ConditionalOnBean(AdminPermissionService.class)
public class AdminPermissionEndpoint
extends Object
Endpoints for CRUD operations on
AdminPermission
.
Access control for these operations are based on tenant context for each endpoint.
Global permissions can be read in any context, but are immutable in all but the global context.
All other permissions can be read/modified in the global context or the tenant context the permission is assigned to. Tenant-level users can only create/modify permissions from their tenant.
- Author:
- Samarth Dhruva (samarthd)
-
Constructor Summary
ConstructorsConstructorDescriptionAdminPermissionEndpoint
(AdminPermissionService<AdminPermission> adminPermissionService) -
Method Summary
Modifier and TypeMethodDescriptioncreatePermission
(AdminPermission permission, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) void
deletePermission
(String id, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) protected AdminPermissionService<AdminPermission>
getPermission
(String id, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) org.springframework.data.domain.Page<AdminPermission>
readAllPermissions
(String name, org.springframework.data.domain.Pageable page, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) replacePermission
(String id, AdminPermission permission, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
-
Constructor Details
-
AdminPermissionEndpoint
public AdminPermissionEndpoint(@NonNull AdminPermissionService<AdminPermission> adminPermissionService)
-
-
Method Details
-
readAllPermissions
@FrameworkGetMapping @Policy(permissionRoots="ADMIN_PERMISSION") public org.springframework.data.domain.Page<AdminPermission> readAllPermissions(@RequestParam(value="q",required=false) String name, @PageableDefault(size=50) org.springframework.data.domain.Pageable page, @ContextOperation(READ) com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) -
getPermission
@FrameworkGetMapping("/{id}") @Policy(permissionRoots="ADMIN_PERMISSION") public AdminPermission getPermission(@PathVariable("id") String id, @ContextOperation(READ) com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) -
createPermission
@FrameworkPostMapping @Policy(permissionRoots="ADMIN_PERMISSION") public AdminPermission createPermission(@RequestBody AdminPermission permission, @ContextOperation(CREATE) com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) -
replacePermission
@FrameworkPutMapping("/{id}") @Policy(permissionRoots="ADMIN_PERMISSION") public AdminPermission replacePermission(@PathVariable("id") String id, @RequestBody AdminPermission permission, @ContextOperation(UPDATE) com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) -
deletePermission
@FrameworkDeleteMapping("/{id}") @Policy(permissionRoots="ADMIN_PERMISSION") public void deletePermission(@PathVariable("id") String id, @ContextOperation(DELETE) com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) -
getAdminPermissionService
-