All files / emp_audit_system server.js

78.04% Statements 32/41
50% Branches 3/6
33.33% Functions 3/9
78.04% Lines 32/41

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 816x   6x 6x 6x 6x 6x 6x 6x   6x     6x     6x 6x     6x     6x             6x 6x     6x     6x 2x             6x 1x 1x 1x     1x 1x         6x                 6x 6x   6x 6x   6x             6x  
require('dotenv').config();
 
const express = require('express');
const db = require('./config/db');
const bodyParser = require('body-parser');
const session = require('express-session');
const flash = require('connect-flash');
const app = express();
const port = process.env.PORT || 3000;
 
const passport = require('./config/passport');
 
// Set view engine
app.set('view engine', 'ejs');
 
// Middleware
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
 
// Serve static files
app.use(express.static('public'));
 
// Session middleware
app.use(session({
    secret: process.env.SESSION_SECRET || 'defaultSecretKey',
    resave: false,
    saveUninitialized: true
}));
 
// Initialize Passport and session
app.use(passport.initialize());
app.use(passport.session());
 
// Flash middleware
app.use(flash());
 
// Connect to MySQL handled in config/db.js
db.checkHealth().then(() => {
    console.log('MySQL connected...');
}).catch(err => {
    console.error('MySQL connection error:', err);
    process.exit(1);
});
 
// Route to save audit data
app.post('/api/audits', (req, res) => {
    const { date, location, evidence, observations, recommendations } = req.body;
    const auditData = { date, location, evidence, observations, recommendations };
    db.query('INSERT INTO audits SET ?', auditData)
      .then(() => res.send('Audit data saved...'))
      .catch(err => {
          console.error(err);
          res.status(500).send('Error saving audit data');
      });
});
 
// Route to retrieve audit data
app.get('/api/audits', (req, res) => {
    db.query('SELECT * FROM audits')
      .then(results => res.json(results))
      .catch(err => {
          console.error(err);
          res.status(500).send('Error retrieving audit data');
      });
});
 
const webRoutes = require('./routes/webRoutes');
const authRoutes = require('./routes/authRoutes');
 
app.use('/auth', authRoutes);
app.use('/', webRoutes);
 
Iif (require.main === module) {
    // Start the server only if this file is run directly
    app.listen(port, () => {
        console.log(`Server running on http://localhost:${port}`);
    });
}
 
module.exports = app;