const mongoose = require('mongoose') const dynamicModelSchema = new mongoose.Schema({}, { strict: false }); module.exports.CreateModel = [ async (req, res, next) => { try { const { modelName, fields } = req.body; if (!modelName || !fields || !Array.isArray(fields)) { return res.status(400).send('ورودی نامعتبر'); } if (mongoose.modelNames().includes(modelName)) { return res.status(400).json({ message: "مدل قبلا ایجاد شده" }); } const schemaDefinition = {}; fields.forEach(field => { schemaDefinition[field] = { type: String }; }); const schema = new mongoose.Schema(schemaDefinition); mongoose.model(modelName, schema); return res.status(200).json(`مدل ${modelName} ایجاد شد با فیلد های: ${fields.join(', ')}`); } catch (e) { next(e); } } ]; module.exports.SaveDataModel = [ async (req,res,next)=>{ const { modelName, data } = req.body; if (!modelName || !data || typeof data !== 'object') { return res.status(400).send('ورودی نامعتبر'); } try { const DynamicModel = mongoose.model(modelName); const instance = new DynamicModel(data); await instance.save(); res.send('داده فرم ذخیره شد'); } catch (error) { next(error) } } ]