49 lines
1.4 KiB
JavaScript
49 lines
1.4 KiB
JavaScript
const express = require('express');
|
|
const { verifyToken } = require('../auth');
|
|
const {
|
|
getCampaignPreview,
|
|
getCampaignQueueSummary,
|
|
processPendingStockCampaigns,
|
|
retryCampaignItems
|
|
} = require('../services/campaignService');
|
|
|
|
const router = express.Router();
|
|
|
|
router.get('/campaigns', verifyToken, async (req, res) => {
|
|
try {
|
|
res.json(await getCampaignQueueSummary());
|
|
} catch (error) {
|
|
console.error('Error fetching campaigns:', error);
|
|
res.status(500).json({ error: 'Internal Server Error' });
|
|
}
|
|
});
|
|
|
|
router.get('/campaigns/preview', verifyToken, async (req, res) => {
|
|
try {
|
|
res.json(await getCampaignPreview());
|
|
} catch (error) {
|
|
console.error('Error fetching campaign preview:', error);
|
|
res.status(500).json({ error: 'Internal Server Error' });
|
|
}
|
|
});
|
|
|
|
router.post('/campaigns/process', verifyToken, async (req, res) => {
|
|
try {
|
|
res.json(await processPendingStockCampaigns());
|
|
} catch (error) {
|
|
console.error('Error processing campaigns:', error);
|
|
res.status(500).json({ error: 'Internal Server Error' });
|
|
}
|
|
});
|
|
|
|
router.post('/campaigns/retry', verifyToken, async (req, res) => {
|
|
try {
|
|
res.json(await retryCampaignItems(req.body || {}));
|
|
} catch (error) {
|
|
console.error('Error retrying campaigns:', error);
|
|
res.status(500).json({ error: 'Internal Server Error' });
|
|
}
|
|
});
|
|
|
|
module.exports = router;
|