From bf5b85c87d36d2b1f6ca85782f717c87fe7d3798 Mon Sep 17 00:00:00 2001 From: Maarten Bode Date: Fri, 20 Mar 2026 17:31:56 +0100 Subject: [PATCH] fix: handle re-inviting users with expired invitations --- .../SendOrganizationInvitationAction.php | 20 +++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/app/Domains/Organization/Actions/SendOrganizationInvitationAction.php b/app/Domains/Organization/Actions/SendOrganizationInvitationAction.php index 2101ce9..339a37d 100644 --- a/app/Domains/Organization/Actions/SendOrganizationInvitationAction.php +++ b/app/Domains/Organization/Actions/SendOrganizationInvitationAction.php @@ -20,14 +20,18 @@ public function __construct( public function handle(Organization $organization, string $email, OrganizationRole $role, User $invitedBy): OrganizationInvitation { - $invitation = OrganizationInvitation::create([ - 'organization_uuid' => $organization->uuid, - 'email' => $email, - 'role' => $role->value, - 'token' => Str::random(64), - 'invited_by' => $invitedBy->uuid, - 'expires_at' => now()->addDays(7), - ]); + $invitation = OrganizationInvitation::updateOrCreate( + [ + 'organization_uuid' => $organization->uuid, + 'email' => $email, + ], + [ + 'role' => $role->value, + 'token' => Str::random(64), + 'invited_by' => $invitedBy->uuid, + 'expires_at' => now()->addDays(7), + ], + ); $invitation->load('organization', 'invitedBy');