/** * Load the relationships for the given user. * * @param \Illuminate\Contracts\Auth\Authenticatable $user * @return \Illuminate\Contracts\Auth\Authenticatable */ protected function loadUserRelationships($user) { $user->load('subscriptions'); if (Spark::usesTeams()) { $user->load(['ownedTeams.subscriptions', 'teams.subscriptions']); $user->currentTeam(); } return $user; }
/** * Attach the user to a team if an invitation exists, or create a new team. * * @param RegisterRequest $request * @param \Illuminate\Contracts\Auth\Authenticatable $user * @return void */ protected function configureTeamForNewUser(RegisterRequest $request, $user) { if ($invitation = $request->invitation()) { Spark::interact(AddTeamMember::class, [$invitation->team, $user]); $invitation->delete(); } else { Spark::interact(CreateTeam::class, [$user, ['name' => $request->team]]); } $user->currentTeam(); }
/** * Get the current team for the user. * * @param \Illuminate\Contracts\Auth\Authenticatable $user * @return \Laravel\Spark\Team|null */ protected function currentTeam($user) { if (Spark::usesTeams() && $user->currentTeam()) { return Spark::interact(TeamRepository::class . '@find', [$user->currentTeam()->id]); } }