diff --git a/app/Providers/AppServiceProvider.php b/app/Providers/AppServiceProvider.php index 379e630..5b0cfc5 100644 --- a/app/Providers/AppServiceProvider.php +++ b/app/Providers/AppServiceProvider.php @@ -2,11 +2,27 @@ namespace App\Providers; +use App\Models\User; +use Illuminate\Cache\RateLimiting\Limit; +use Illuminate\Http\Request; +use Illuminate\Support\Facades\Gate; +use Illuminate\Support\Facades\RateLimiter; +use Illuminate\Support\Facades\Route; use Illuminate\Support\ServiceProvider; +use Spatie\Sheets\Sheets; use URL; class AppServiceProvider extends ServiceProvider { + /** + * The path to your application's "home" route. + * + * Typically, users are redirected here after authentication. + * + * @var string + */ + public const HOME = '/home'; + /** * Register any application services. */ @@ -23,5 +39,31 @@ class AppServiceProvider extends ServiceProvider if (config('app.env') === 'production') { URL::forceScheme('https'); } + + $this->bootAuth(); + $this->bootRoute(); + } + + public function bootAuth(): void + { + Gate::define('viewPulse', function (User $user) { + return $user->admin; + }); + } + + public function bootRoute(): void + { + + RateLimiter::for('api', function (Request $request) { + return Limit::perMinute(60)->by($request->user()?->id ?: $request->ip()); + }); + + + + Route::bind('post', function ($path) { + return $this->app->make(Sheets::class) + ->collection('posts') + ->get($path) ?? abort(404); + }); } } diff --git a/app/Providers/AuthServiceProvider.php b/app/Providers/AuthServiceProvider.php deleted file mode 100644 index 892cfb2..0000000 --- a/app/Providers/AuthServiceProvider.php +++ /dev/null @@ -1,20 +0,0 @@ -admin; - }); - } -} diff --git a/app/Providers/RouteServiceProvider.php b/app/Providers/RouteServiceProvider.php deleted file mode 100644 index 22c4ef2..0000000 --- a/app/Providers/RouteServiceProvider.php +++ /dev/null @@ -1,49 +0,0 @@ -by($request->user()?->id ?: $request->ip()); - }); - - $this->routes(function () { - Route::middleware('api') - ->prefix('api') - ->group(base_path('routes/api.php')); - - Route::middleware('web') - ->group(base_path('routes/web.php')); - }); - - Route::bind('post', function ($path) { - return $this->app->make(Sheets::class) - ->collection('posts') - ->get($path) ?? abort(404); - }); - } -} diff --git a/bootstrap/app.php b/bootstrap/app.php index 5ee96a7..d478ec3 100644 --- a/bootstrap/app.php +++ b/bootstrap/app.php @@ -1,5 +1,6 @@ withMiddleware(function (Middleware $middleware) { $middleware->redirectGuestsTo(fn () => route('login')); - $middleware->redirectUsersTo(RouteServiceProvider::HOME); + $middleware->redirectUsersTo(AppServiceProvider::HOME); $middleware->throttleApi(); })