25 lines
		
	
	
		
			669 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			25 lines
		
	
	
		
			669 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| import { NextResponse } from "next/server";
 | |
| import { db } from "~/server/db";
 | |
| 
 | |
| export async function GET(req: Request) {
 | |
|   const url = new URL(req.url);
 | |
|   const query = url.searchParams.get("query") || "";
 | |
| 
 | |
|   try {
 | |
|     // if query is empty, return no files
 | |
|     const files = await db.file.findMany({
 | |
|       where: {
 | |
|         OR: [
 | |
|           { name: { contains: query } },
 | |
|           { description: { contains: query } },
 | |
|         ],
 | |
|         public: true,
 | |
|       },
 | |
|     });
 | |
| 
 | |
|     return NextResponse.json({ files });
 | |
|   } catch (error) {
 | |
|     console.error("Error fetching files:", error);
 | |
|     return NextResponse.json({ error: "Failed to fetch files" }, { status: 500 });
 | |
|   }
 | |
| } |