diff options
Diffstat (limited to 'Year_3/TSDWL/LARAVEL/iBook/app/Providers')
5 files changed, 174 insertions, 0 deletions
diff --git a/Year_3/TSDWL/LARAVEL/iBook/app/Providers/AppServiceProvider.php b/Year_3/TSDWL/LARAVEL/iBook/app/Providers/AppServiceProvider.php new file mode 100644 index 0000000..ee8ca5b --- /dev/null +++ b/Year_3/TSDWL/LARAVEL/iBook/app/Providers/AppServiceProvider.php @@ -0,0 +1,28 @@ +<?php + +namespace App\Providers; + +use Illuminate\Support\ServiceProvider; + +class AppServiceProvider extends ServiceProvider +{ + /** + * Register any application services. + * + * @return void + */ + public function register() + { + // + } + + /** + * Bootstrap any application services. + * + * @return void + */ + public function boot() + { + // + } +} diff --git a/Year_3/TSDWL/LARAVEL/iBook/app/Providers/AuthServiceProvider.php b/Year_3/TSDWL/LARAVEL/iBook/app/Providers/AuthServiceProvider.php new file mode 100644 index 0000000..22b77e6 --- /dev/null +++ b/Year_3/TSDWL/LARAVEL/iBook/app/Providers/AuthServiceProvider.php @@ -0,0 +1,30 @@ +<?php + +namespace App\Providers; + +use Illuminate\Foundation\Support\Providers\AuthServiceProvider as ServiceProvider; +use Illuminate\Support\Facades\Gate; + +class AuthServiceProvider extends ServiceProvider +{ + /** + * The policy mappings for the application. + * + * @var array<class-string, class-string> + */ + protected $policies = [ + // 'App\Models\Model' => 'App\Policies\ModelPolicy', + ]; + + /** + * Register any authentication / authorization services. + * + * @return void + */ + public function boot() + { + $this->registerPolicies(); + + // + } +} diff --git a/Year_3/TSDWL/LARAVEL/iBook/app/Providers/BroadcastServiceProvider.php b/Year_3/TSDWL/LARAVEL/iBook/app/Providers/BroadcastServiceProvider.php new file mode 100644 index 0000000..395c518 --- /dev/null +++ b/Year_3/TSDWL/LARAVEL/iBook/app/Providers/BroadcastServiceProvider.php @@ -0,0 +1,21 @@ +<?php + +namespace App\Providers; + +use Illuminate\Support\Facades\Broadcast; +use Illuminate\Support\ServiceProvider; + +class BroadcastServiceProvider extends ServiceProvider +{ + /** + * Bootstrap any application services. + * + * @return void + */ + public function boot() + { + Broadcast::routes(); + + require base_path('routes/channels.php'); + } +} diff --git a/Year_3/TSDWL/LARAVEL/iBook/app/Providers/EventServiceProvider.php b/Year_3/TSDWL/LARAVEL/iBook/app/Providers/EventServiceProvider.php new file mode 100644 index 0000000..23499eb --- /dev/null +++ b/Year_3/TSDWL/LARAVEL/iBook/app/Providers/EventServiceProvider.php @@ -0,0 +1,32 @@ +<?php + +namespace App\Providers; + +use Illuminate\Auth\Events\Registered; +use Illuminate\Auth\Listeners\SendEmailVerificationNotification; +use Illuminate\Foundation\Support\Providers\EventServiceProvider as ServiceProvider; +use Illuminate\Support\Facades\Event; + +class EventServiceProvider extends ServiceProvider +{ + /** + * The event listener mappings for the application. + * + * @var array<class-string, array<int, class-string>> + */ + protected $listen = [ + Registered::class => [ + SendEmailVerificationNotification::class, + ], + ]; + + /** + * Register any events for your application. + * + * @return void + */ + public function boot() + { + // + } +} diff --git a/Year_3/TSDWL/LARAVEL/iBook/app/Providers/RouteServiceProvider.php b/Year_3/TSDWL/LARAVEL/iBook/app/Providers/RouteServiceProvider.php new file mode 100644 index 0000000..3bd3c81 --- /dev/null +++ b/Year_3/TSDWL/LARAVEL/iBook/app/Providers/RouteServiceProvider.php @@ -0,0 +1,63 @@ +<?php + +namespace App\Providers; + +use Illuminate\Cache\RateLimiting\Limit; +use Illuminate\Foundation\Support\Providers\RouteServiceProvider as ServiceProvider; +use Illuminate\Http\Request; +use Illuminate\Support\Facades\RateLimiter; +use Illuminate\Support\Facades\Route; + +class RouteServiceProvider extends ServiceProvider +{ + /** + * The path to the "home" route for your application. + * + * This is used by Laravel authentication to redirect users after login. + * + * @var string + */ + public const HOME = '/home'; + + /** + * The controller namespace for the application. + * + * When present, controller route declarations will automatically be prefixed with this namespace. + * + * @var string|null + */ + // protected $namespace = 'App\\Http\\Controllers'; + + /** + * Define your route model bindings, pattern filters, etc. + * + * @return void + */ + public function boot() + { + $this->configureRateLimiting(); + + $this->routes(function () { + Route::prefix('api') + ->middleware('api') + ->namespace($this->namespace) + ->group(base_path('routes/api.php')); + + Route::middleware('web') + ->namespace($this->namespace) + ->group(base_path('routes/web.php')); + }); + } + + /** + * Configure the rate limiters for the application. + * + * @return void + */ + protected function configureRateLimiting() + { + RateLimiter::for('api', function (Request $request) { + return Limit::perMinute(60)->by(optional($request->user())->id ?: $request->ip()); + }); + } +} |