refactor(invitation): simplify buildInvitationUrl by removing email parameter

This commit is contained in:
Yusuf İpek
2026-04-10 21:11:56 +03:00
parent 8014fc3986
commit 84ea384ee7
5 changed files with 4 additions and 6 deletions
@@ -160,7 +160,7 @@ export async function POST(request: NextRequest, { params }: RouteParams) {
projectId, projectId,
}); });
const invitationUrl = buildInvitationUrl(invitation.token, normalizedEmail); const invitationUrl = buildInvitationUrl(invitation.token);
void sendInvitationEmail({ void sendInvitationEmail({
to: normalizedEmail, to: normalizedEmail,
inviterName: session.user.name || 'A team member', inviterName: session.user.name || 'A team member',
@@ -87,7 +87,7 @@ export async function GET(request: NextRequest, { params }: RouteParams) {
const { searchParams } = new URL(request.url); const { searchParams } = new URL(request.url);
const includeResolved = searchParams.get('includeResolved') !== 'false'; const includeResolved = searchParams.get('includeResolved') !== 'false';
const limit = Math.min(Math.max(1, parseInt(searchParams.get('limit') ?? '200', 10)), 500); const limit = Math.min(Math.max(1, parseInt(searchParams.get('limit') ?? '200', 10)), 500);
const offset = Math.max(0, parseInt(searchParams.get('offset') ?? '0', 10)); const offset = Math.min(Math.max(0, parseInt(searchParams.get('offset') ?? '0', 10)), 50000);
const commentsFilter = { const commentsFilter = {
versionId, versionId,
@@ -206,7 +206,7 @@ export async function POST(request: NextRequest, { params }: RouteParams) {
workspaceId, workspaceId,
}); });
const invitationUrl = buildInvitationUrl(invitation.token, normalizedEmail); const invitationUrl = buildInvitationUrl(invitation.token);
void sendInvitationEmail({ void sendInvitationEmail({
to: normalizedEmail, to: normalizedEmail,
inviterName: session.user.name || 'A team member', inviterName: session.user.name || 'A team member',
-1
View File
@@ -6,7 +6,6 @@ import { acceptInvitationTokenForUser } from '@/lib/invitations';
interface InvitationAcceptPageProps { interface InvitationAcceptPageProps {
searchParams: Promise<{ searchParams: Promise<{
token?: string; token?: string;
email?: string;
}>; }>;
} }
+1 -2
View File
@@ -39,11 +39,10 @@ function scopeLabel(scope: InvitationScope): string {
return scope === 'WORKSPACE' ? 'workspace' : 'project'; return scope === 'WORKSPACE' ? 'workspace' : 'project';
} }
export function buildInvitationUrl(token: string, email: string): string { export function buildInvitationUrl(token: string): string {
const baseUrl = process.env.NEXTAUTH_URL || 'http://localhost:3000'; const baseUrl = process.env.NEXTAUTH_URL || 'http://localhost:3000';
const url = new URL('/invitations/accept', baseUrl); const url = new URL('/invitations/accept', baseUrl);
url.searchParams.set('token', token); url.searchParams.set('token', token);
url.searchParams.set('email', email);
return url.toString(); return url.toString();
} }