fix: Superhuman sync solo agencia — mensaje claro y botón oculto a cliente
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -20,7 +20,15 @@ async function requireAgency() {
|
||||
data: { user },
|
||||
} = await supabase.auth.getUser();
|
||||
if (!user || !isAgencyRole(userRole(user))) {
|
||||
return { error: NextResponse.json({ error: 'Forbidden' }, { status: 403 }) };
|
||||
return {
|
||||
error: NextResponse.json(
|
||||
{
|
||||
error:
|
||||
'Forbidden: sincronizar Superhuman requiere rol agencia (admin/team).',
|
||||
},
|
||||
{ status: 403 }
|
||||
),
|
||||
};
|
||||
}
|
||||
if (!superhumanConfigured()) {
|
||||
return {
|
||||
|
||||
@@ -74,6 +74,7 @@ export async function GET() {
|
||||
portfolioWide: false,
|
||||
tenantId,
|
||||
entries,
|
||||
isAgency: agency,
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -33,6 +33,7 @@ type Payload = {
|
||||
tenantId?: string;
|
||||
hint?: string;
|
||||
entries: Entry[];
|
||||
isAgency?: boolean;
|
||||
};
|
||||
|
||||
function typeLabel(t: string) {
|
||||
@@ -237,6 +238,7 @@ export default function SeguimientoBoard() {
|
||||
<Send className="w-3.5 h-3.5" />
|
||||
{noteBusy ? 'Guardando…' : 'Añadir al seguimiento'}
|
||||
</button>
|
||||
{data.isAgency ? (
|
||||
<button
|
||||
type="button"
|
||||
disabled={syncBusy || !data.tenantId}
|
||||
@@ -250,6 +252,7 @@ export default function SeguimientoBoard() {
|
||||
)}
|
||||
Traer notas Superhuman
|
||||
</button>
|
||||
) : null}
|
||||
{noteMsg ? (
|
||||
<p className="text-xs text-emerald-700">{noteMsg}</p>
|
||||
) : null}
|
||||
|
||||
@@ -97,7 +97,13 @@ export async function middleware(req: NextRequest) {
|
||||
|
||||
if (user && role === 'client' && path.startsWith('/api/admin/')) {
|
||||
return withSecurityHeaders(
|
||||
NextResponse.json({ error: 'Forbidden' }, { status: 403 })
|
||||
NextResponse.json(
|
||||
{
|
||||
error:
|
||||
'Forbidden: solo usuarios agencia (admin/team) pueden usar esta acción. Entra con marketing@4ventures.es.',
|
||||
},
|
||||
{ status: 403 }
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user