const express = require('express'); const { query } = require('../config/database'); const { requireAuth } = require('../middleware/auth'); const router = express.Router(); router.get('/dashboard', requireAuth, async (req, res) => { try { const productsCount = await query('SELECT COUNT(*) FROM products'); const ordersCount = await query('SELECT COUNT(*) FROM orders'); const usersCount = await query('SELECT COUNT(*) FROM appusers'); const pagesCount = await query('SELECT COUNT(*) FROM pages'); const recentOrders = await query( 'SELECT id, ordernumber, totalamount, status, createdat FROM orders ORDER BY createdat DESC LIMIT 5' ); res.render('admin/dashboard', { title: 'Dashboard - SkyArtShop Admin', user: req.session, stats: { products: productsCount.rows[0].count, orders: ordersCount.rows[0].count, users: usersCount.rows[0].count, pages: pagesCount.rows[0].count }, recentOrders: recentOrders.rows }); } catch (error) { console.error('Dashboard error:', error); res.status(500).send('Server error'); } }); router.get('/products', requireAuth, async (req, res) => { try { const result = await query( 'SELECT id, name, price, stockquantity, isactive, createdat FROM products ORDER BY createdat DESC' ); res.render('admin/products', { title: 'Products - SkyArtShop Admin', user: req.session, products: result.rows }); } catch (error) { console.error('Products error:', error); res.status(500).send('Server error'); } }); router.get('/orders', requireAuth, async (req, res) => { try { const result = await query( 'SELECT id, ordernumber, totalamount, status, createdat FROM orders ORDER BY createdat DESC' ); res.render('admin/orders', { title: 'Orders - SkyArtShop Admin', user: req.session, orders: result.rows }); } catch (error) { console.error('Orders error:', error); res.status(500).send('Server error'); } }); router.get('/users', requireAuth, async (req, res) => { try { const result = await query( 'SELECT id, email, name, role, createdat, lastlogin FROM adminusers ORDER BY createdat DESC' ); res.render('admin/users', { title: 'Admin Users - SkyArtShop Admin', user: req.session, users: result.rows }); } catch (error) { console.error('Users error:', error); res.status(500).send('Server error'); } }); module.exports = router;