import { NextRequest, NextResponse } from 'next/server'
import { getUserSession } from '@/lib/auth/permissions'
import { saveViewConfig } from '@/lib/views/view-config'
import type { ViewConfig } from '@/lib/views/view-config'

export async function POST(request: NextRequest) {
  const session = await getUserSession()
  if (!session || (session.role !== 'admin' && session.role !== 'masteradmin')) {
    return NextResponse.json({ error: 'Forbidden' }, { status: 403 })
  }
  const body = await request.json() as { roleId: string; module: string; config: ViewConfig }
  await saveViewConfig(body.roleId, body.module, body.config)
  return NextResponse.json({ success: true })
}
