// src/app/api/propfirms/route.ts

import { NextResponse } from 'next/server'
import { prisma } from '@/lib/prisma';



// برای دریافت همه شرکت‌های پراپ
export async function GET() {
    try {
        const propFirms = await prisma.firmDocument.findMany()

        // تبدیل فرمت داده‌ها از دیتابیس به فرمت مورد نیاز کامپوننت
        const formattedFirms = propFirms.map(firm => ({
            name: firm.name,
            fields: firm.fields as any // در اینجا fields به صورت JSON ذخیره شده است
        }))

        return NextResponse.json(formattedFirms)
    } catch (error) {
        console.error('Error fetching prop firms:', error)
        return NextResponse.json(
            { success: false, error: 'Failed to fetch prop firms' },
            { status: 500 }
        )
    }
}

// برای وارد کردن از فایل JSON یا ذخیره داده‌های جدید
export async function POST(req: Request) {
    try {
        const propFirms = await req.json()

        // حذف همه شرکت‌های قبلی
        await prisma.firmDocument.deleteMany({})

        // ثبت شرکت‌های جدید
        const createdFirms = []
        for (const firm of propFirms) {
            const created = await prisma.firmDocument.create({
                data: {
                    name: firm.name,
                    fields: firm.fields
                }
            })
            createdFirms.push(created)
        }

        return NextResponse.json({
            success: true,
            count: createdFirms.length,
            message: 'Prop firms saved successfully'
        })
    } catch (error) {
        console.error('Error saving prop firms:', error)
        return NextResponse.json(
            { success: false, error: 'Failed to save prop firms' },
            { status: 500 }
        )
    }
}