Files
intellisight-api/index.js
T
2026-06-22 22:17:16 +07:00

50 lines
1.4 KiB
JavaScript

require('dotenv').config();
const PORT = process.env.PORT || 4000;
const express = require('express');
const app = express();
const cors = require('cors');
const db = require('./src/configs/database.js');
const cookieParser = require('cookie-parser');
const verifyJWT = require('./src/middleware/verifyJWT.js');
app.use(
cors({
origin: process.env.CORS_ORIGIN,
credentials: true,
methods: ['GET', 'POST', 'PUT', 'DELETE', 'OPTIONS'],
allowedHeaders: ['Content-Type', 'Authorization'],
})
);
app.options('*', cors({
origin: process.env.CORS_ORIGIN,
credentials: true,
methods: ['GET', 'POST', 'PUT', 'DELETE', 'OPTIONS'],
allowedHeaders: ['Content-Type', 'Authorization'],
}));
app.use(express.json());
app.use(cookieParser());
app.use(express.static('public'));
// Sync table pada database
(async () => {
try {
await db.sync();
console.log('Database synced');
} catch (err) {
console.error('DB Sync Error:', err);
}
})();
app.use('/auth', require('./src/routes/AuthRoutes.js'));
app.use('/user', verifyJWT, require('./src/routes/UserRoutes.js'));
app.use('/exam', verifyJWT, require('./src/routes/ExaminationRoutes.js'));
app.use((req, res) => {
res.status(404).json({ message: 'Endpoint tidak ditemukan' });
});
app.listen(PORT, () => {
console.log(`Server is running on http://localhost:${PORT}`);
});