first commit

This commit is contained in:
2026-02-18 19:54:52 +07:00
commit 8e070562cb
101 changed files with 13462 additions and 0 deletions

View File

@@ -0,0 +1,52 @@
<?php
namespace App\Providers;
use App\Contracts\FilterFactoryInterface;
use App\Contracts\QueryFilterPipelineInterface;
use App\Contracts\TaskServiceInterface;
use App\Filters\Factory\FilterFactory;
use App\Pipelines\QueryFilterPipeline;
use App\Services\TaskService;
use Illuminate\Pipeline\Pipeline;
use Illuminate\Support\ServiceProvider;
class AppServiceProvider extends ServiceProvider
{
/**
* Register any application services.
*/
public function register(): void
{
$this->registerFilters();
$this->registerPipeline();
$this->app->bind(TaskServiceInterface::class, TaskService::class);
}
/**
* Bootstrap any application services.
*/
public function boot(): void
{
//
}
private function registerFilters(): void
{
$this->app->bind(FilterFactoryInterface::class, function () {
return new FilterFactory(
config('filters.available', [])
);
});
}
private function registerPipeline(): void
{
$this->app->bind(QueryFilterPipelineInterface::class, function ($app) {
return new QueryFilterPipeline(
$app->make(Pipeline::class),
$app->make(FilterFactoryInterface::class)
);
});
}
}