54365015d8
PHP wrapper над manage-project.js через PlaywrightBridge. +PlaywrightBridge::run(array): generic Node-скрипт runner (refreshSession не тронут) — план Step 7.4 предусмотрел расширение bridge. SupplierProjectChannel::class в DI резолвится в FailoverProjectChannel (ярус 1 AjaxProjectChannel → ярус 2 FormProjectChannel → ярус 3 queue). Spec §4.3, §4.4. Task 7 of 12. Channel-тесты 16/16 (Ajax 4 + Failover 7 + Form 5). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
47 lines
1.4 KiB
PHP
47 lines
1.4 KiB
PHP
<?php
|
|
|
|
namespace App\Providers;
|
|
|
|
use App\Services\Supplier\Channel\AjaxProjectChannel;
|
|
use App\Services\Supplier\Channel\FailoverProjectChannel;
|
|
use App\Services\Supplier\Channel\FormProjectChannel;
|
|
use App\Services\Supplier\Channel\SupplierProjectChannel;
|
|
use App\Services\Supplier\ProcessFactory;
|
|
use App\Services\Supplier\SymfonyProcessFactory;
|
|
use Illuminate\Contracts\Mail\Mailer;
|
|
use Illuminate\Support\ServiceProvider;
|
|
|
|
class AppServiceProvider extends ServiceProvider
|
|
{
|
|
/**
|
|
* Register any application services.
|
|
*/
|
|
public function register(): void
|
|
{
|
|
$this->app->bind(
|
|
ProcessFactory::class,
|
|
SymfonyProcessFactory::class,
|
|
);
|
|
|
|
// Резерв канала миграции проектов: SupplierProjectChannel резолвится в
|
|
// декоратор-оркестратор (ярус 1 AJAX → ярус 2 browser-form → ярус 3 queue).
|
|
// Spec: docs/superpowers/specs/2026-05-19-supplier-project-channel-failover-design.md §4.4
|
|
$this->app->bind(
|
|
SupplierProjectChannel::class,
|
|
fn ($app) => new FailoverProjectChannel(
|
|
$app->make(AjaxProjectChannel::class),
|
|
$app->make(FormProjectChannel::class),
|
|
$app->make(Mailer::class),
|
|
),
|
|
);
|
|
}
|
|
|
|
/**
|
|
* Bootstrap any application services.
|
|
*/
|
|
public function boot(): void
|
|
{
|
|
//
|
|
}
|
|
}
|