mirror of
https://github.com/yusufipk/OpenFrame.git
synced 2026-09-11 17:46:06 +00:00
remove unused admin users and stats API routes
This commit is contained in:
@@ -1,58 +0,0 @@
|
|||||||
import { NextResponse } from 'next/server';
|
|
||||||
import { db } from '@/lib/db';
|
|
||||||
import { auth } from '@/lib/auth';
|
|
||||||
import { getCachedTotalStorage } from '@/lib/admin-stats';
|
|
||||||
|
|
||||||
export async function GET() {
|
|
||||||
try {
|
|
||||||
const session = await auth();
|
|
||||||
if (!session?.user?.isAdmin) {
|
|
||||||
return new NextResponse('Unauthorized', { status: 403 });
|
|
||||||
}
|
|
||||||
|
|
||||||
// 1. Database Stats
|
|
||||||
const [
|
|
||||||
totalUsers,
|
|
||||||
totalProjects,
|
|
||||||
totalVideos,
|
|
||||||
totalComments,
|
|
||||||
totalVoiceComments,
|
|
||||||
totalImageComments,
|
|
||||||
] = await Promise.all([
|
|
||||||
db.user.count(),
|
|
||||||
db.project.count(),
|
|
||||||
db.video.count(),
|
|
||||||
db.comment.count(),
|
|
||||||
db.comment.count({
|
|
||||||
where: {
|
|
||||||
voiceUrl: {
|
|
||||||
not: null,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}),
|
|
||||||
db.comment.count({
|
|
||||||
where: {
|
|
||||||
imageUrl: {
|
|
||||||
not: null,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
})
|
|
||||||
]);
|
|
||||||
|
|
||||||
// 2. Storage Stats (Cached)
|
|
||||||
const totalStorageBytes = await getCachedTotalStorage();
|
|
||||||
|
|
||||||
return NextResponse.json({
|
|
||||||
totalUsers,
|
|
||||||
totalProjects,
|
|
||||||
totalVideos,
|
|
||||||
totalComments,
|
|
||||||
totalVoiceComments,
|
|
||||||
totalImageComments,
|
|
||||||
totalStorageBytes,
|
|
||||||
});
|
|
||||||
} catch (error) {
|
|
||||||
console.error('[ADMIN_STATS_GET]', error);
|
|
||||||
return new NextResponse('Internal Error', { status: 500 });
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,34 +0,0 @@
|
|||||||
import { NextResponse } from 'next/server';
|
|
||||||
import { db } from '@/lib/db';
|
|
||||||
import { auth } from '@/lib/auth';
|
|
||||||
|
|
||||||
export async function GET() {
|
|
||||||
try {
|
|
||||||
const session = await auth();
|
|
||||||
if (!session?.user?.isAdmin) {
|
|
||||||
return new NextResponse('Unauthorized', { status: 403 });
|
|
||||||
}
|
|
||||||
|
|
||||||
const users = await db.user.findMany({
|
|
||||||
orderBy: { createdAt: 'desc' },
|
|
||||||
select: {
|
|
||||||
id: true,
|
|
||||||
name: true,
|
|
||||||
email: true,
|
|
||||||
createdAt: true,
|
|
||||||
_count: {
|
|
||||||
select: {
|
|
||||||
ownedWorkspaces: true,
|
|
||||||
projects: true,
|
|
||||||
comments: true,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
return NextResponse.json({ users });
|
|
||||||
} catch (error) {
|
|
||||||
console.error('[ADMIN_USERS_GET]', error);
|
|
||||||
return new NextResponse('Internal Error', { status: 500 });
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user