Numex yayın: routes/reports.js
This commit is contained in:
parent
a55d399eff
commit
57995fdeb1
45
routes/reports.js
Normal file
45
routes/reports.js
Normal file
|
|
@ -0,0 +1,45 @@
|
||||||
|
'use strict';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* routes/reports.js
|
||||||
|
* Kategori bazlı raporlama — API ucu + HTML rapor sayfası.
|
||||||
|
*/
|
||||||
|
|
||||||
|
const express = require('express');
|
||||||
|
const router = express.Router();
|
||||||
|
const reportService = require('../services/reportService');
|
||||||
|
const categoryModel = require('../models/categoryModel');
|
||||||
|
|
||||||
|
/** GET /category — raporlama sayfası (tüm kategori özetleri + seçim) */
|
||||||
|
router.get('/category', (req, res) => {
|
||||||
|
const categories = categoryModel.readAll();
|
||||||
|
const summaries = reportService.allCategorySummary();
|
||||||
|
res.render('reports/category', {
|
||||||
|
title: 'Kategori Raporu',
|
||||||
|
categories,
|
||||||
|
summaries,
|
||||||
|
bodyClass: 'reports-page'
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
/** GET /api/category/:id — JSON rapor ucu */
|
||||||
|
router.get('/api/category/:id', (req, res) => {
|
||||||
|
const { from, to } = req.query;
|
||||||
|
const idParam = req.params.id;
|
||||||
|
const catId = idParam === 'all' ? 0 : Number(idParam);
|
||||||
|
if (isNaN(catId) && idParam !== 'all') {
|
||||||
|
return res.status(400).json({ error: 'Geçersiz kategori ID' });
|
||||||
|
}
|
||||||
|
const report = reportService.categoryReport(catId, {
|
||||||
|
fromDate: from || '',
|
||||||
|
toDate: to || ''
|
||||||
|
});
|
||||||
|
res.json(report);
|
||||||
|
});
|
||||||
|
|
||||||
|
/** GET /api/all — tüm kategorilerin özet raporu (JSON) */
|
||||||
|
router.get('/api/all', (req, res) => {
|
||||||
|
res.json(reportService.allCategorySummary());
|
||||||
|
});
|
||||||
|
|
||||||
|
module.exports = router;
|
||||||
Loading…
Reference in New Issue
Block a user