Initial commit

This commit is contained in:
James
2024-12-03 21:27:44 +01:00
commit 613e1a767c
125 changed files with 16298 additions and 0 deletions

View File

@@ -0,0 +1,41 @@
<?php
declare(strict_types=1);
namespace App\Providers;
use Illuminate\Cache\RateLimiting\Limit;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\RateLimiter;
use Illuminate\Support\Number;
use Illuminate\Support\ServiceProvider;
use Illuminate\Validation\Rules\Password;
class AppServiceProvider extends ServiceProvider
{
public function register(): void {}
public function boot(): void
{
Number::useCurrency('EUR');
Number::macro('currencyCents', function (int|float $number, string $in = '', ?string $locale = null) {
return Number::currency((int) $number / 100, $in, $locale);
});
Password::defaults(function () {
return app()->isProduction() ? Password::min(8)
->numbers()
->mixedCase()
->uncompromised() : Password::min(6);
});
RateLimiter::for('api.login', function (Request $request) {
return Limit::perMinutes(5, 5)->by($request->ip());
});
RateLimiter::for('api', function (Request $request) {
return Limit::perMinute(120)->by($request->user()?->id ?: $request->ip());
});
}
}