37 lines
1.1 KiB
PHP
37 lines
1.1 KiB
PHP
<?php
|
|
|
|
namespace Vanguard\Http\Controllers\Web\Profile;
|
|
|
|
use Illuminate\Contracts\View\View;
|
|
use Vanguard\Http\Controllers\Controller;
|
|
use Vanguard\Repositories\Country\CountryRepository;
|
|
use Vanguard\Repositories\Role\RoleRepository;
|
|
use Vanguard\Repositories\User\UserRepository;
|
|
use Vanguard\Support\Enum\UserStatus;
|
|
|
|
class ProfileController extends Controller
|
|
{
|
|
public function __construct(
|
|
private readonly UserRepository $users,
|
|
private readonly RoleRepository $roles,
|
|
private readonly CountryRepository $countries
|
|
) {
|
|
}
|
|
|
|
public function show(): View
|
|
{
|
|
$roles = $this->roles->all()->filter(function ($role) {
|
|
return $role->id == auth()->user()->role_id;
|
|
})->pluck('display_name', 'id');
|
|
|
|
return view('user.profile', [
|
|
'user' => auth()->user(),
|
|
'edit' => true,
|
|
'roles' => $roles,
|
|
'countries' => [0 => __('Select a Country')] + $this->countries->lists()->toArray(),
|
|
'socialLogins' => $this->users->getUserSocialLogins(auth()->id()),
|
|
'statuses' => UserStatus::lists(),
|
|
]);
|
|
}
|
|
}
|