芝麻web文件管理V1.00
编辑当前文件:/home/qrafawbu/www/vendor/laravel/jetstream/stubs/app/Actions/Jetstream/InviteTeamMember.php
authorize('addTeamMember', $team); $this->validate($team, $email, $role); InvitingTeamMember::dispatch($team, $email, $role); $invitation = $team->teamInvitations()->create([ 'email' => $email, 'role' => $role, ]); Mail::to($email)->send(new TeamInvitation($invitation)); } /** * Validate the invite member operation. * * @param mixed $team * @param string $email * @param string|null $role * @return void */ protected function validate($team, string $email, ?string $role) { Validator::make([ 'email' => $email, 'role' => $role, ], $this->rules($team), [ 'email.unique' => __('This user has already been invited to the team.'), ])->after( $this->ensureUserIsNotAlreadyOnTeam($team, $email) )->validateWithBag('addTeamMember'); } /** * Get the validation rules for inviting a team member. * * @param mixed $team * @return array */ protected function rules($team) { return array_filter([ 'email' => ['required', 'email', Rule::unique('team_invitations')->where(function ($query) use ($team) { $query->where('team_id', $team->id); })], 'role' => Jetstream::hasRoles() ? ['required', 'string', new Role] : null, ]); } /** * Ensure that the user is not already on the team. * * @param mixed $team * @param string $email * @return \Closure */ protected function ensureUserIsNotAlreadyOnTeam($team, string $email) { return function ($validator) use ($team, $email) { $validator->errors()->addIf( $team->hasUserWithEmail($email), 'email', __('This user already belongs to the team.') ); }; } }