관리-도구
편집 파일: UpdateTeamMemberRole.php
<?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)); } }