sms-extension-1777535448/server/routes/providers.js
2026-03-26 14:19:26 +05:30

40 lines
1.2 KiB
JavaScript

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;