Spaces:
Running
Running
| namespace App\Support; | |
| class PlatformUrl | |
| { | |
| public static function backendApp(): string | |
| { | |
| return self::base('backend_app_url') ?: rtrim((string) config('app.url'), '/'); | |
| } | |
| public static function backendApi(): string | |
| { | |
| return self::base('backend_api_base_url') ?: rtrim(self::backendApp(), '/').'/api/v1'; | |
| } | |
| public static function website(string $path = ''): string | |
| { | |
| return self::join(self::base('website_url'), $path); | |
| } | |
| public static function adminPortal(string $path = ''): string | |
| { | |
| return self::join(self::base('admin_portal_url'), $path); | |
| } | |
| public static function clientPortal(string $path = ''): string | |
| { | |
| return self::join(self::base('client_portal_url'), $path); | |
| } | |
| private static function base(string $key): string | |
| { | |
| return rtrim((string) config('platform.'.$key, ''), '/'); | |
| } | |
| private static function join(string $base, string $path): string | |
| { | |
| $base = rtrim($base, '/'); | |
| $path = trim($path); | |
| if ($base === '') { | |
| return ''; | |
| } | |
| if ($path === '') { | |
| return $base; | |
| } | |
| return $base.'/'.ltrim($path, '/'); | |
| } | |
| } | |