Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Relay Authorization Bundle Laravel Package

dbp/relay-authorization-bundle

View on GitHub
Deep Wiki
Context7

Events

GetAvailableResourceClassActionsEvent

This event is callback used by the Rest Web API to get available actions for a resource class.

Your event subscriber receives an instance of Dbp\Relay\AuthorizationBundle\Event\GetAvailableResourceClassActionsEvent and can specify the set of available

  • resource item actions (like 'get' (item), 'delete')
  • resource collection actions (like 'create', 'get' (collection))

for your resource class(es).

For example:

<?php

namespace Vendor\MyApp\EventSubscriber;

use Dbp\Relay\AuthorizationBundle\Event\GetAvailableResourceClassActionsEvent;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;

class GetAvailableResourceClassActionsEventSubscriber implements EventSubscriberInterface
{
    private const RESOURCE_CLASS = 'VendorMyAppMyResource';
    
    public static function getSubscribedEvents(): array
    {
        return [
            GetAvailableResourceClassActionsEvent::class => 'onGetAvailableResourceClassActionsEvent',
        ];
    }

    public function onGetAvailableResourceClassActionsEvent(GetAvailableResourceClassActionsEvent $event)
    {
        switch ($event->getResourceClass()) {
            case self::RESOURCE_CLASS:
                $event->setItemActions(['read', 'update', 'delete']);
                $event->setCollectionActions(['create']);
                break;
            // case self::ANOTHER_RESOURCE_CLASS:
            //   ...
        }
    }
}

Be sure to only set the actions for your own resource classes, becuase your subscriber will be called whenever available actions are requested.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
andydefer/laravel-notification
adachsoft/cli-process-tester
jhaskell13/laraflow
sebastienheyd/boilerplate-media-manager
ccast/tagixo-primix
pretendtrue/laravel-builder
sawmainek/laravel-scout-tntsearch-driver
tomshaw/laravel-calendar-table
dibakar/laravel-ownership
steadrun/laravel-monitor
labyrinthe/connect-laravel
elmogy/layan
drewdan/sentinel-client
dskripchenko/laravel-llm
fatryst/nuonuo
stevenay/myanfont
gmostafa/php-graphql-client
xeviant/paystack
snowsoft/faker
meditationsteps/blogetc