import { verifySession } from "@/app/_lib/dal"; import { User } from "@/app/_lib/data/user"; import { getCollection, getDb } from "@/app/_lib/mongodb"; import { message } from "antd"; import bcrypt from 'bcrypt'; import { NextRequest } from "next/server"; export type Link = { title: string; url?: string; description: string; id: number; type: string; priority: number; logoLink: string; } export async function GET(req: NextRequest) { try { const collection = await getCollection('link'); // Check if the user is authenticated const session = await verifySession() if (!session) { // User is not authenticated return new Response(null, { status: 401 }) } // 获取分页参数 const page = parseInt(req.nextUrl.searchParams.get('page') || '1') || 1; const pageSize = parseInt(req.nextUrl.searchParams.get('page') || '10') || 10; // 计算起始索引和结束索引 const startIndex = (page - 1) * pageSize; // 查询数据 const cursor = collection.find({}).skip(startIndex).limit(pageSize); const data = await cursor.toArray(); // 计算总数量 const total = await collection.countDocuments(); return Response.json({ total, list: data, }) } catch (e) { console.log(e); return Response.error() } } export async function POST(req: NextRequest) { try { // 获取待插入的对象 const link = await req.json() const collection = await getCollection('link') await collection.insertOne(link) return Response.json({ message: '成功' }) } catch (e) { console.log(e); return Response.error() } }