18 lines
684 B
TypeScript
18 lines
684 B
TypeScript
import { NextResponse } from 'next/server';
|
|
import { getCurrentUser } from '@/lib/server/auth';
|
|
import { db } from '@/lib/server/db';
|
|
|
|
export const dynamic = 'force-dynamic';
|
|
|
|
export async function GET() {
|
|
const user = await getCurrentUser();
|
|
if (!user) return NextResponse.json({ error: 'Unauthorized' }, { status: 401 });
|
|
if (user.role !== 'admin') return NextResponse.json({ error: 'Forbidden' }, { status: 403 });
|
|
|
|
const users = await db.user.findMany({
|
|
orderBy: { createdAt: 'asc' },
|
|
select: { id: true, email: true, name: true, role: true, createdAt: true, subscription: { select: { plan: true, status: true } } },
|
|
});
|
|
return NextResponse.json({ users });
|
|
}
|