40 lines
1.0 KiB
PHP
40 lines
1.0 KiB
PHP
<?php
|
|
|
|
namespace Vanguard\Http\Controllers\Api\Profile;
|
|
|
|
use Vanguard\Events\User\UpdatedProfileDetails;
|
|
use Vanguard\Http\Controllers\Api\ApiController;
|
|
use Vanguard\Http\Requests\User\UpdateProfileDetailsRequest;
|
|
use Vanguard\Http\Resources\UserResource;
|
|
use Vanguard\Repositories\User\UserRepository;
|
|
|
|
class DetailsController extends ApiController
|
|
{
|
|
public function index(): UserResource
|
|
{
|
|
return new UserResource(auth()->user());
|
|
}
|
|
|
|
public function update(UpdateProfileDetailsRequest $request, UserRepository $users): UserResource
|
|
{
|
|
$user = $request->user();
|
|
|
|
$data = collect($request->all());
|
|
|
|
$data = $data->only([
|
|
'first_name', 'last_name', 'birthday',
|
|
'phone', 'address', 'country_id',
|
|
])->toArray();
|
|
|
|
if (! isset($data['country_id'])) {
|
|
$data['country_id'] = $user->country_id;
|
|
}
|
|
|
|
$user = $users->update($user->id, $data);
|
|
|
|
event(new UpdatedProfileDetails);
|
|
|
|
return new UserResource($user);
|
|
}
|
|
}
|