UNPKG

@wordpress/core-data

Version:
37 lines (31 loc) 737 B
export const ALLOWED_RESOURCE_ACTIONS = [ 'create', 'read', 'update', 'delete', ]; export function getUserPermissionsFromAllowHeader( allowedMethods ) { const permissions = {}; const methods = { create: 'POST', read: 'GET', update: 'PUT', delete: 'DELETE', }; for ( const [ actionName, methodName ] of Object.entries( methods ) ) { permissions[ actionName ] = allowedMethods ? allowedMethods.includes( methodName ) : false; } return permissions; } export function getUserPermissionCacheKey( action, resource, id ) { const key = ( typeof resource === 'object' ? [ action, resource.kind, resource.name, resource.id ] : [ action, resource, id ] ) .filter( Boolean ) .join( '/' ); return key; }