const express = require('express'); const path = require('path'); const cors = require('cors'); const app = express(); const PORT = process.env.PORT || 4031; // Basic CORS and middleware app.use(cors()); app.use(express.json({ limit: '50mb' })); app.use(express.urlencoded({ extended: true, limit: '50mb' })); // Mock API endpoints for testing app.get('/api/enhanced/roof-types', (req, res) => { console.log('📋 GET /api/enhanced/roof-types requested'); const roofTypes = [ { value: 'sadeltag', label: 'Sadeltag/Skråttag' }, { value: 'valmtag', label: 'Valmtag' }, { value: 'kobenhavnertag', label: 'Københavnertag' } ]; res.json({ roofTypes, status: 'success' }); }); // Calendar/Planning endpoint mock app.get('/api/planning/employees', (req, res) => { console.log('👥 GET /api/planning/employees requested'); res.json({ employees: [ { id: 1, name: 'Jannick', skills: ['carpenter', 'planner'] }, { id: 2, name: 'Michael', skills: ['carpenter'] } ], status: 'success' }); }); app.get('/api/planning/calendar', (req, res) => { console.log('📅 GET /api/planning/calendar requested'); res.json({ calendar: [], message: 'Ingen planlagte opgaver endnu', status: 'success' }); }); // SmartPackages mock endpoints app.get('/api/packages', (req, res) => { console.log('📦 GET /api/packages requested with search:', req.query.search); res.json({ packages: [ { id: 1, name: 'Test Pakke', materials: [{ name: 'Spær 45x195', quantity: 10 }] } ], status: 'success' }); }); // Serve frontend const frontendBuildPath = path.join(__dirname, 'frontend/build'); app.use(express.static(frontendBuildPath)); // Catch-all for React routes app.get('*', (req, res) => { res.sendFile(path.join(frontendBuildPath, 'index.html')); }); app.listen(PORT, () => { console.log(`🚀 Test server running on port ${PORT}`); console.log('📋 Testing all 22 features with mock endpoints'); console.log('✅ Ready for frontend testing'); });