import { apiHandler, db } from "@/helpers/api";

export default apiHandler({
	post: createUserConforms,
});

async function createUserConforms(req, res) {
	const userID = req.userID;
	const formData = req.body;

	if (!db.initialized) await db.initialize();

	try {
		const userData = await db.User.findByPk(userID);

		if (!userData) {
			return res.status(404).json({ success: false, error: "Utilizator necunoscut!" });
		}

		if (userData.id != userID) {
			return res.status(401).json({ success: false, error: "Neautorizat!" });
		}

          const orderID = formData.orderID; 

          const checkReturns = await db.Conforms.findOne({ where: { orderID } }); 
          if(checkReturns) {
               return res.status(200).json({ succcess: false, error: "Cererea pentru certificatul de conformitate pentru această comandă a fost deja înregistrat. Trebuie sa asteptati un raspuns din partea operatorilor eMagyl." });
          }

          await db.Conforms.create({
               userID: userID, 
               name: formData.customer.name, 
               email: formData.customer.email, 
               phone: formData.customer.phone, 
               orderID: formData.orderID,
               selectedItems: JSON.stringify(formData.selectedItems),
              
          });

		return res.status(200).json({ success: true });
	} catch (error) {
		console.error(error);
		return res.status(500).json({ success: false, error: "Eroare la prelucrarea datelor utilizatorului." });
	}
}
