Refactor deleteInvitation method in Invitations component

This commit is contained in:
Andras Bacsai
2024-10-24 13:44:38 +02:00
parent bdf9b98596
commit 0147919dc4
2 changed files with 12 additions and 6 deletions

View File

@@ -13,17 +13,18 @@ class Invitations extends Component
public function deleteInvitation(int $invitation_id) public function deleteInvitation(int $invitation_id)
{ {
$initiation_found = TeamInvitation::find($invitation_id); try {
if (! $initiation_found) { $initiation_found = TeamInvitation::ownedByCurrentTeam()->findOrFail($invitation_id);
$initiation_found->delete();
$this->refreshInvitations();
$this->dispatch('success', 'Invitation revoked.');
} catch (\Exception $e) {
return $this->dispatch('error', 'Invitation not found.'); return $this->dispatch('error', 'Invitation not found.');
} }
$initiation_found->delete();
$this->refreshInvitations();
$this->dispatch('success', 'Invitation revoked.');
} }
public function refreshInvitations() public function refreshInvitations()
{ {
$this->invitations = TeamInvitation::whereTeamId(currentTeam()->id)->get(); $this->invitations = TeamInvitation::ownedByCurrentTeam()->get();
} }
} }

View File

@@ -20,6 +20,11 @@ class TeamInvitation extends Model
return $this->belongsTo(Team::class); return $this->belongsTo(Team::class);
} }
public static function ownedByCurrentTeam()
{
return TeamInvitation::whereTeamId(currentTeam()->id);
}
public function isValid() public function isValid()
{ {
$createdAt = $this->created_at; $createdAt = $this->created_at;