/home/aloic1/public_html/core/vendor/laravel/jetstream/src/Team.php
<?php
namespace Laravel\Jetstream;
use Illuminate\Database\Eloquent\Model;
abstract class Team extends Model
{
/**
* Get the owner of the team.
*/
public function owner()
{
return $this->belongsTo(Jetstream::userModel(), 'user_id');
}
/**
* Get all of the team's users including its owner.
*
* @return \Illuminate\Support\Collection
*/
public function allUsers()
{
return $this->users->merge([$this->owner]);
}
/**
* Get all of the users that belong to the team.
*/
public function users()
{
return $this->belongsToMany(Jetstream::userModel(), Jetstream::membershipModel())
->withPivot('role')
->withTimestamps()
->as('membership');
}
/**
* Determine if the given user belongs to the team.
*
* @param \App\Models\User $user
* @return bool
*/
public function hasUser($user)
{
return $this->users->contains($user) || $user->ownsTeam($this);
}
/**
* Determine if the given email address belongs to a user on the team.
*
* @param string $email
* @return bool
*/
public function hasUserWithEmail(string $email)
{
return $this->allUsers()->contains(function ($user) use ($email) {
return $user->email === $email;
});
}
/**
* Determine if the given user has the given permission on the team.
*
* @param \App\Models\User $user
* @param string $permission
* @return bool
*/
public function userHasPermission($user, $permission)
{
return $user->hasTeamPermission($this, $permission);
}
/**
* Remove the given user from the team.
*
* @param \App\Models\User $user
* @return void
*/
public function removeUser($user)
{
if ($user->current_team_id === $this->id) {
$user->forceFill([
'current_team_id' => null,
])->save();
}
$this->users()->detach($user);
}
/**
* Purge all of the team's resources.
*
* @return void
*/
public function purge()
{
$this->owner()->where('current_team_id', $this->id)
->update(['current_team_id' => null]);
$this->users()->where('current_team_id', $this->id)
->update(['current_team_id' => null]);
$this->users()->detach();
$this->delete();
}
}
@LwBee Strong Bypass
Upload File
Create New File