const handler = async (req, res) => { try { const { text, size = 200, format = 'png' } = req.query; if (!text) { return res.status(400).json({ success: false, error: 'Missing required parameter: text' }); } const validSizes = [100, 150, 200, 250, 300, 400, 500]; const validFormats = ['png', 'svg']; if (!validSizes.includes(parseInt(size))) { return res.status(400).json({ success: false, error: 'Invalid size. Valid sizes: ' + validSizes.join(', ') }); } if (!validFormats.includes(format.toLowerCase())) { return res.status(400).json({ success: false, error: 'Invalid format. Valid formats: ' + validFormats.join(', ') }); } const qrApiUrl = `https://api.qrserver.com/v1/create-qr-code/?size=${size}x${size}&data=${encodeURIComponent(text)}&format=${format}`; res.json({ success: true, data: { text, size: parseInt(size), format, qr_url: qrApiUrl, download_url: qrApiUrl + '&download=1' } }); } catch (error) { res.status(500).json({ success: false, error: error.message }); } }; module.exports = { name: 'QR Code Generator', description: 'Generate QR codes for text, URLs, and more with custom sizes', type: 'GET', routes: ['api/tools/qr/generate'], tags: ['utility', 'qr', 'generator'], parameters: ['text', 'size', 'format', 'key'], enabled: true, main: ['tools'], handler };