33 خطوط
995 B
PHP
33 خطوط
995 B
PHP
<?php
|
|
|
|
namespace App\Providers;
|
|
|
|
use App\Modules\AI\Domain\AiProvider;
|
|
use App\Modules\AI\Infrastructure\LocalStructuringProvider;
|
|
use App\Modules\Monitoring\Domain\RiskProvider;
|
|
use App\Modules\Monitoring\Infrastructure\ExplainableHeuristicRiskProvider;
|
|
use Illuminate\Cache\RateLimiting\Limit;
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Support\Facades\RateLimiter;
|
|
use Illuminate\Support\ServiceProvider;
|
|
|
|
class AppServiceProvider extends ServiceProvider
|
|
{
|
|
/**
|
|
* Register any application services.
|
|
*/
|
|
public function register(): void
|
|
{
|
|
$this->app->bind(RiskProvider::class, ExplainableHeuristicRiskProvider::class);
|
|
$this->app->bind(AiProvider::class, LocalStructuringProvider::class);
|
|
}
|
|
|
|
/**
|
|
* Bootstrap any application services.
|
|
*/
|
|
public function boot(): void
|
|
{
|
|
RateLimiter::for('login', fn (Request $request) => Limit::perMinute(5)->by(mb_strtolower((string) $request->input('email')).'|'.$request->ip()));
|
|
}
|
|
}
|