const express = require('express'); const router = express.Router(); const { fetchJSON, uploadJSON } = require('../services/pixelbin'); // GET /api/providers router.get('/', async (req, res) => { try { const data = await fetchJSON(`brands/${process.env.MERCHANT_ID}`, 'providers'); res.json(data || {}); } catch (err) { res.status(500).json({ error: err.message }); } }); // POST /api/providers router.post('/', async (req, res) => { try { const { providerName, senderId, dltEntityId } = req.body; if (!providerName || !senderId || !dltEntityId) { return res.status(400).json({ error: 'providerName, senderId, and dltEntityId are required' }); } if (senderId.length !== 6 || !/^[A-Za-z]+$/.test(senderId)) { return res.status(400).json({ error: 'Sender ID must be exactly 6 alphabetic characters' }); } const config = { providerName, senderId: senderId.toUpperCase(), dltEntityId, updatedAt: new Date().toISOString(), }; await uploadJSON(`brands/${process.env.MERCHANT_ID}`, 'providers', config); res.json(config); } catch (err) { res.status(500).json({ error: err.message }); } }); module.exports = router;