Add seller analytics pages
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 2m47s

This commit is contained in:
Cauê Faleiros
2026-08-04 09:59:49 -03:00
parent f18e7c4845
commit ff0f73e87c
8 changed files with 369 additions and 2 deletions

View File

@@ -6,6 +6,8 @@ const {
getClientFilterOptions,
getClientPurchasePatternAnalytics,
getDashboardAnalytics,
getSellerAnalytics,
getSellerDetailsAnalytics,
getProductAnalytics,
getProductDetailsAnalytics,
getRfmAnalytics
@@ -35,6 +37,29 @@ router.get('/analytics/dashboard', verifyToken, async (req, res) => {
}
});
router.get('/analytics/sellers', verifyToken, async (req, res) => {
try {
res.json(await getSellerAnalytics(getRange(req.query)));
} catch (error) {
console.error('Error fetching seller analytics:', error);
res.status(500).json({ error: 'Internal Server Error' });
}
});
router.get('/analytics/sellers/:sellerId/details', verifyToken, async (req, res) => {
try {
const details = await getSellerDetailsAnalytics(req.params.sellerId, getRange(req.query));
if (!details) {
res.status(404).json({ error: 'Seller not found' });
return;
}
res.json(details);
} catch (error) {
console.error('Error fetching seller details analytics:', error);
res.status(500).json({ error: 'Internal Server Error' });
}
});
router.get('/analytics/products', verifyToken, async (req, res) => {
try {
res.json(await getProductAnalytics(getRange(req.query)));