import { NextResponse } from 'next/server';
import bcrypt from 'bcrypt';
import jwt from 'jsonwebtoken';

const ADMIN_HASHED_PASSWORD = "$2b$10$JQm79m.C64TWTwc7qmbJLOW2UnDLCUsL5e34eFb1MhRPqGBBxw0QK";


export async function POST(req: Request) {
    const { password } = await req.json();

        try {
            const isValid = await bcrypt.compare(password, ADMIN_HASHED_PASSWORD);

            if (!isValid) {
                return NextResponse.json({ error: 'Неверный пароль' }, { status: 401 });
            }

            const token = jwt.sign({ role: 'admin' }, process.env.JWT_SECRET!, { expiresIn: "1h" });

            const res = NextResponse.json({ success: true });

            res.cookies.set('token', token, {
                httpOnly: true,
                secure: process.env.NODE_ENV === 'production',
                path: '/',
                maxAge: 3600
            });


            return res;
        } catch (error) {
        console.error('Ошибка при выполнении запроса:', error);
        return NextResponse.json({ error: 'Произошла ошибка при обработке запроса.' }, { status: 500 });
    }
}
