cattr-app/server-application

View on GitHub
app/Providers/FilterServiceProvider.php

Summary

Maintainability
A
0 mins
Test Coverage
<?php

namespace App\Providers;

use App\Helpers\FilterDispatcher;
use Illuminate\Contracts\Queue\Factory as QueueFactoryContract;
use Illuminate\Contracts\Support\DeferrableProvider;
use Illuminate\Support\ServiceProvider;

class FilterServiceProvider extends ServiceProvider implements DeferrableProvider
{
    public function register(): void
    {
         $this->app->scoped('filter', static function ($app) {
            return (new FilterDispatcher($app))->setQueueResolver(static function () use ($app) {
                return $app->make(QueueFactoryContract::class);
            });
        });
    }

    public function provides(): array
    {
        return ['filter'];
    }
}