Files
coolify/app/Providers/AppServiceProvider.php
Andras Bacsai 16c0cd10d8 rector: arrrrr
2025-01-07 14:52:08 +01:00

54 lines
1.7 KiB
PHP

<?php
namespace App\Providers;
use App\Models\PersonalAccessToken;
use Illuminate\Support\Facades\Event;
use Illuminate\Support\Facades\Http;
use Illuminate\Support\ServiceProvider;
use Illuminate\Validation\Rules\Password;
use Laravel\Sanctum\Sanctum;
use Laravel\Telescope\TelescopeServiceProvider;
use SocialiteProviders\Authentik\Provider;
use SocialiteProviders\Manager\SocialiteWasCalled;
class AppServiceProvider extends ServiceProvider
{
public function register(): void
{
if ($this->app->environment('local')) {
$this->app->register(TelescopeServiceProvider::class);
}
}
public function boot(): void
{
Event::listen(function (SocialiteWasCalled $socialiteWasCalled) {
$socialiteWasCalled->extendSocialite('authentik', Provider::class);
});
Sanctum::usePersonalAccessTokenModel(PersonalAccessToken::class);
Password::defaults(function () {
$password = Password::min(8);
return $this->app->isProduction()
? $password->mixedCase()->letters()->numbers()->symbols()
: $password;
});
Http::macro('github', function (string $api_url, ?string $github_access_token = null) {
if ($github_access_token) {
return Http::withHeaders([
'X-GitHub-Api-Version' => '2022-11-28',
'Accept' => 'application/vnd.github.v3+json',
'Authorization' => "Bearer $github_access_token",
])->baseUrl($api_url);
}
return Http::withHeaders([
'Accept' => 'application/vnd.github.v3+json',
])->baseUrl($api_url);
});
}
}