File "UpdateTeamMemberRole.php"
Full Path: /home/fundopuh/trader.fxex.org/vendor/laravel/jetstream/src/Actions/UpdateTeamMemberRole.php
File size: 985 bytes
MIME-type: text/x-php
Charset: utf-8
<?php
namespace Laravel\Jetstream\Actions;
use Illuminate\Support\Facades\Gate;
use Illuminate\Support\Facades\Validator;
use Laravel\Jetstream\Events\TeamMemberUpdated;
use Laravel\Jetstream\Jetstream;
use Laravel\Jetstream\Rules\Role;
class UpdateTeamMemberRole
{
/**
* Update the role for the given team member.
*
* @param mixed $user
* @param mixed $team
* @param int $teamMemberId
* @param string $role
* @return void
*/
public function update($user, $team, $teamMemberId, string $role)
{
Gate::forUser($user)->authorize('updateTeamMember', $team);
Validator::make([
'role' => $role,
], [
'role' => ['required', 'string', new Role],
])->validate();
$team->users()->updateExistingPivot($teamMemberId, [
'role' => $role,
]);
TeamMemberUpdated::dispatch($team->fresh(), Jetstream::findUserByIdOrFail($teamMemberId));
}
}