pnpm build

This commit is contained in:
UltraLionFr
2025-08-20 17:14:23 +02:00
parent 9730e21999
commit 673119679e
8 changed files with 56 additions and 53 deletions
+2 -21
View File
@@ -1,24 +1,5 @@
import NextAuth, { NextAuthOptions } from 'next-auth';
import DiscordProvider from 'next-auth/providers/discord';
export const authOptions: NextAuthOptions = {
providers: [
DiscordProvider({
clientId: process.env.DISCORD_CLIENT_ID!,
clientSecret: process.env.DISCORD_CLIENT_SECRET!,
}),
],
callbacks: {
async session({ session, token }) {
if (session.user && token.sub) {
session.user.id = token.sub;
} else {
session.user.id = '';
}
return session;
},
}
};
import { authOptions } from "@/lib/auth";
import NextAuth from "next-auth";
const handler = NextAuth(authOptions);
+1 -1
View File
@@ -1,8 +1,8 @@
import { authOptions } from '@/lib/auth';
import { prisma } from '@/lib/prisma';
import bcrypt from 'bcryptjs';
import { getServerSession } from 'next-auth';
import { NextResponse } from 'next/server';
import { authOptions } from '../auth/[...nextauth]/route';
import { customAlphabet } from 'nanoid';
const nanoid = customAlphabet('abcdefghijklmnopqrstuvwxyz0123456789', 7);
+1 -1
View File
@@ -1,7 +1,7 @@
import { authOptions } from '@/lib/auth';
import { getDashboardStats } from '@/lib/stats';
import { getServerSession } from 'next-auth';
import { NextResponse } from 'next/server';
import { authOptions } from '../auth/[...nextauth]/route';
export async function GET() {
const session = await getServerSession(authOptions);
+1 -1
View File
@@ -1,4 +1,4 @@
import { authOptions } from '@/app/api/auth/[...nextauth]/route';
import { authOptions } from '@/lib/auth';
import { prisma } from '@/lib/prisma';
import { getServerSession } from 'next-auth';
import { NextResponse } from 'next/server';
+4 -4
View File
@@ -1,11 +1,11 @@
import { prisma } from "@/lib/prisma";
import { NextResponse } from "next/server";
import { NextResponse, type NextRequest } from "next/server";
export async function GET(
request: Request,
{ params }: { params: { id: string } }
_req: NextRequest,
{ params }: { params: Promise<{ id: string }> }
) {
const { id } = params;
const { id } = await params;
if (!id) {
return new NextResponse("Invalid ID", { status: 400 });
+21
View File
@@ -0,0 +1,21 @@
import { NextAuthOptions } from "next-auth";
import DiscordProvider from "next-auth/providers/discord";
export const authOptions: NextAuthOptions = {
providers: [
DiscordProvider({
clientId: process.env.DISCORD_CLIENT_ID!,
clientSecret: process.env.DISCORD_CLIENT_SECRET!,
}),
],
callbacks: {
async session({ session, token }) {
if (session.user && token.sub) {
(session.user as { id?: string }).id = token.sub;
} else {
(session.user as { id?: string }).id = "";
}
return session;
},
},
};
+13 -12
View File
@@ -1,11 +1,12 @@
import { prisma } from '@/lib/prisma';
import { prisma } from "@/lib/prisma";
export async function getDashboardStats(userId?: string) {
const filter = userId ? { where: { createdBy: userId } } : {};
const where = userId ? { createdBy: userId } : undefined;
const [totalPastes, totalViews, recentPastes, apiUsage, storageUsed, avgViews, mostViewed, avgSize] = await Promise.all([
prisma.paste.count(filter),
prisma.paste.aggregate({ _sum: { views: true }, ...filter }),
const [totalPastes, totalViews, recentPastes, apiUsage, storageUsed, avgViews, mostViewed, avgSize] =
await Promise.all([
prisma.paste.count({ where }),
prisma.paste.aggregate({ _sum: { views: true }, where }),
prisma.paste.count({
where: {
createdAt: { gte: new Date(Date.now() - 30 * 24 * 60 * 60 * 1000) },
@@ -13,14 +14,14 @@ export async function getDashboardStats(userId?: string) {
},
}),
prisma.paste.count({ where: { createdBy: { not: null } } }),
prisma.paste.aggregate({ _sum: { size: true }, ...filter }),
prisma.paste.aggregate({ _avg: { views: true }, ...filter }),
prisma.paste.aggregate({ _sum: { size: true }, where }),
prisma.paste.aggregate({ _avg: { views: true }, where }),
prisma.paste.findFirst({
orderBy: { views: 'desc' },
orderBy: { views: "desc" },
select: { views: true },
...(userId ? { where: { createdBy: userId } } : {}),
where,
}),
prisma.paste.aggregate({ _avg: { size: true }, ...filter }),
prisma.paste.aggregate({ _avg: { size: true }, where }),
]);
return {
@@ -36,9 +37,9 @@ export async function getDashboardStats(userId?: string) {
}
export async function getUserPastes(userId: string) {
return await prisma.paste.findMany({
return prisma.paste.findMany({
where: { createdBy: userId },
orderBy: { createdAt: 'desc' },
orderBy: { createdAt: "desc" },
select: {
id: true,
createdAt: true,
BIN
View File
Binary file not shown.