Added resend invitation endpoint

This commit is contained in:
Constantin Graf
2024-04-21 20:25:33 +02:00
committed by Constantin Graf
parent 9973368156
commit 53ba60bbe5
5 changed files with 91 additions and 0 deletions

View File

@@ -12,7 +12,9 @@ use App\Models\Organization;
use App\Models\OrganizationInvitation;
use Illuminate\Auth\Access\AuthorizationException;
use Illuminate\Http\JsonResponse;
use Illuminate\Support\Facades\Mail;
use Laravel\Jetstream\Contracts\InvitesTeamMembers;
use Laravel\Jetstream\Mail\TeamInvitation;
class InvitationController extends Controller
{
@@ -64,6 +66,22 @@ class InvitationController extends Controller
return response()->json(null, 204);
}
/**
* Resend email for a pending invitation
*
* @throws AuthorizationException
*
* @operationId resendInvitationEmail
*/
public function resend(Organization $organization, OrganizationInvitation $invitation): JsonResponse
{
$this->checkPermission($organization, 'invitations:resend', $invitation);
Mail::to($invitation->email)->send(new TeamInvitation($invitation));
return response()->json(null, 204);
}
/**
* Remove a pending invitation
*

View File

@@ -71,6 +71,7 @@ class JetstreamServiceProvider extends ServiceProvider
'project-members:update',
'project-members:delete',
'tasks:view',
'tasks:view:all',
'tasks:create',
'tasks:update',
'tasks:delete',
@@ -95,6 +96,7 @@ class JetstreamServiceProvider extends ServiceProvider
'import',
'invitations:view',
'invitations:create',
'invitations:resend',
'invitations:remove',
'members:view',
'members:invite-placeholder',
@@ -114,6 +116,7 @@ class JetstreamServiceProvider extends ServiceProvider
'project-members:update',
'project-members:delete',
'tasks:view',
'tasks:view:all',
'tasks:create',
'tasks:update',
'tasks:delete',
@@ -136,6 +139,10 @@ class JetstreamServiceProvider extends ServiceProvider
'organizations:view',
'organizations:update',
'import',
'invitations:view',
'invitations:create',
'invitations:resend',
'invitations:remove',
'members:view',
'members:invite-placeholder',
])->description('Administrator users can perform any action.');
@@ -151,6 +158,7 @@ class JetstreamServiceProvider extends ServiceProvider
'project-members:update',
'project-members:delete',
'tasks:view',
'tasks:view:all',
'tasks:create',
'tasks:update',
'tasks:delete',
@@ -171,6 +179,7 @@ class JetstreamServiceProvider extends ServiceProvider
'clients:update',
'clients:delete',
'organizations:view',
'invitations:view',
'members:view',
])->description('Managers have the ability to read, create, and update their own time entries as well as those of their team.');