This commit is contained in:
Saufi
2026-06-02 17:35:45 +08:00
commit 4ef99b1f81
148 changed files with 21134 additions and 0 deletions

View File

@@ -0,0 +1,40 @@
<?php
namespace App\Providers;
use App\Models\ProjectComment;
use App\Models\TranscriptVersion;
use App\Models\TranscriptionProject;
use App\Models\User;
use App\Policies\CommentPolicy;
use App\Policies\TranscriptVersionPolicy;
use App\Policies\TranscriptionProjectPolicy;
use App\Policies\UserPolicy;
use Illuminate\Cache\RateLimiting\Limit;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Gate;
use Illuminate\Support\Facades\RateLimiter;
use Illuminate\Support\ServiceProvider;
class AppServiceProvider extends ServiceProvider
{
public function register(): void {}
public function boot(): void
{
// Register Policies
Gate::policy(User::class, UserPolicy::class);
Gate::policy(TranscriptionProject::class, TranscriptionProjectPolicy::class);
Gate::policy(TranscriptVersion::class, TranscriptVersionPolicy::class);
Gate::policy(ProjectComment::class, CommentPolicy::class);
// Rate Limiters
RateLimiter::for('login', function (Request $request) {
return Limit::perMinute(5)->by($request->input('email') . '|' . $request->ip());
});
RateLimiter::for('upload', function (Request $request) {
return Limit::perHour(10)->by($request->user()?->id ?: $request->ip());
});
}
}