app->environment('production')) { URL::forceScheme('https'); } Notification::extend('expo', fn ($app) => $app->make(ExpoPushChannel::class)); VerifyEmail::createUrlUsing(function (User $notifiable): string { $relativeUrl = URL::temporarySignedRoute( 'verification.verify', now()->addMinutes((int) config('auth.verification.expire', 60)), [ 'id' => $notifiable->getKey(), 'hash' => sha1($notifiable->getEmailForVerification()), ], absolute: false, ); return url($relativeUrl); }); VerifyEmail::toMailUsing( fn (User $notifiable, string $verificationUrl): VerifyAccount => (new VerifyAccount($notifiable, $verificationUrl)) ->to($notifiable->getEmailForVerification()) ); ResetPassword::createUrlUsing(function (User $notifiable, string $token): string { $passwordResetUrl = rtrim((string) config('services.mobile.password_reset_url'), '?&'); $query = http_build_query([ 'email' => $notifiable->getEmailForPasswordReset(), 'token' => $token, ], '', '&', PHP_QUERY_RFC3986); return "{$passwordResetUrl}?{$query}"; }); Gate::define('viewApiDocs', function ($user = null) { // Option A : Autoriser tout le monde (Attention : la doc sera publique hors local) return true; /* // Option B : Autoriser seulement certains emails return in_array($user?->email, [ 'admin@tondomaine.com', ], true); */ }); Health::checks([ DatabaseCheck::new(), UsedDiskSpaceCheck::new(), RedisCheck::new(), ScheduleCheck::new(), HorizonCheck::new(), OptimizedAppCheck::new(), EnvironmentCheck::new(), DebugModeCheck::new(), MeilisearchCheck::new() ->url('http://meilisearch:7700/health'), ]); } }