From a3bc5871c351ceb1fe3781e682203dc9960e75d1 Mon Sep 17 00:00:00 2001 From: alma Date: Sun, 4 May 2025 15:57:26 +0200 Subject: [PATCH] pages s3 --- app/api/debug/create-all-folders/route.ts | 33 +++++++++++++++++++++++ app/pages/page.tsx | 19 ++++++++++++- 2 files changed, 51 insertions(+), 1 deletion(-) create mode 100644 app/api/debug/create-all-folders/route.ts diff --git a/app/api/debug/create-all-folders/route.ts b/app/api/debug/create-all-folders/route.ts new file mode 100644 index 00000000..56ce2600 --- /dev/null +++ b/app/api/debug/create-all-folders/route.ts @@ -0,0 +1,33 @@ +import { NextResponse } from 'next/server'; +import { getServerSession } from 'next-auth'; +import { authOptions } from '@/app/api/auth/[...nextauth]/route'; +import { createUserFolderStructure } from '@/lib/s3'; + +export async function GET(request: Request) { + try { + // Get session + const session = await getServerSession(authOptions); + if (!session?.user?.id) { + return NextResponse.json({ error: 'Unauthorized' }, { status: 401 }); + } + + const userId = session.user.id; + + console.log(`Manually creating all folders for user: ${userId}`); + + // Create the folder structure for the user + const result = await createUserFolderStructure(userId); + + return NextResponse.json({ + success: true, + message: 'All folders created successfully', + userId + }); + } catch (error) { + console.error('Error creating folders:', error); + return NextResponse.json({ + error: 'Failed to create folders', + message: error instanceof Error ? error.message : String(error) + }, { status: 500 }); + } +} \ No newline at end of file diff --git a/app/pages/page.tsx b/app/pages/page.tsx index 84604894..4e471a87 100644 --- a/app/pages/page.tsx +++ b/app/pages/page.tsx @@ -130,10 +130,27 @@ export default function CarnetPage() { if (status === "unauthenticated") { redirect("/signin"); } + if (status === "authenticated" && session?.user?.id) { + // Initialize all folders when user logs in + fetch('/api/storage/init', { + method: 'POST', + headers: { + 'Content-Type': 'application/json' + } + }).then(response => { + if (response.ok) { + console.log('All folders initialized successfully'); + } else { + console.error('Failed to initialize folders'); + } + }).catch(error => { + console.error('Error initializing folders:', error); + }); + } if (status !== "loading") { setIsLoading(false); } - }, [status]); + }, [status, session?.user?.id]); useEffect(() => { if (isSmallScreen) {