Unify workspace dropdowns; Update layouts (#458)
Unified Account and Workspace drop-downs; Layout updates, now header lives within the PageBody component; Sidebars now use floating variant
This commit is contained in:
committed by
GitHub
parent
ca585e09be
commit
4bc8448a1d
@@ -1,69 +0,0 @@
|
||||
import { NextResponse } from 'next/server';
|
||||
|
||||
import { z } from 'zod';
|
||||
|
||||
import { enhanceRouteHandler } from '@kit/next/routes';
|
||||
import { getSupabaseServerClient } from '@kit/supabase/server-client';
|
||||
import {
|
||||
createInvitationContextBuilder,
|
||||
createInvitationsPolicyEvaluator,
|
||||
} from '@kit/team-accounts/policies';
|
||||
|
||||
export const GET = enhanceRouteHandler(
|
||||
async function ({ params, user }) {
|
||||
const client = getSupabaseServerClient();
|
||||
const { account } = z.object({ account: z.string() }).parse(params);
|
||||
|
||||
try {
|
||||
// Evaluate with standard evaluator
|
||||
const evaluator = createInvitationsPolicyEvaluator();
|
||||
const hasPolicies = await evaluator.hasPoliciesForStage('preliminary');
|
||||
|
||||
if (!hasPolicies) {
|
||||
return NextResponse.json({
|
||||
allowed: true,
|
||||
reasons: [],
|
||||
metadata: {
|
||||
policiesEvaluated: 0,
|
||||
timestamp: new Date().toISOString(),
|
||||
noPoliciesConfigured: true,
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
// Build context for policy evaluation (empty invitations for testing)
|
||||
const contextBuilder = createInvitationContextBuilder(client);
|
||||
|
||||
const context = await contextBuilder.buildContext(
|
||||
{
|
||||
invitations: [],
|
||||
accountSlug: account,
|
||||
},
|
||||
user,
|
||||
);
|
||||
|
||||
// validate against policies
|
||||
const result = await evaluator.canInvite(context, 'preliminary');
|
||||
|
||||
return NextResponse.json(result);
|
||||
} catch (error) {
|
||||
return NextResponse.json(
|
||||
{
|
||||
allowed: false,
|
||||
reasons: [
|
||||
error instanceof Error ? error.message : 'Unknown error occurred',
|
||||
],
|
||||
metadata: {
|
||||
error: true,
|
||||
originalError:
|
||||
error instanceof Error ? error.message : String(error),
|
||||
},
|
||||
},
|
||||
{ status: 500 },
|
||||
);
|
||||
}
|
||||
},
|
||||
{
|
||||
auth: true,
|
||||
},
|
||||
);
|
||||
Reference in New Issue
Block a user