ShiftSync/api/server.js

51 lines
1.3 KiB
JavaScript
Raw Normal View History

2025-06-05 04:43:00 +00:00
import express from 'express';
import cors from 'cors';
import dotenv from 'dotenv';
import { medicationRouter } from './services/medications/index.js';
import { shiftsRouter } from './services/shifts/index.js';
import { shiftRunQuery } from './services/shiftConnection.js';
import { validateMedicationApiKey, validateShiftSyncApiKey } from './middleware/auth.js';
2025-06-05 04:43:00 +00:00
dotenv.config();
2025-06-05 04:02:22 +00:00
const app = express();
const corsOptions = {
2025-06-14 17:28:29 +00:00
origin: [
"http://localhost:5173",
"https://shift-dev.code-catalyst.com",
"https://shift.code-catalyst.com"
]
2025-06-05 04:02:22 +00:00
};
app.use(cors(corsOptions));
app.use(express.json({ limit: '10mb' }));
app.use(express.json());
const apiRouter = express.Router();
// ParamyxRx Router (/api/medication)
apiRouter.use('/medication', validateMedicationApiKey, medicationRouter);
// ShiftSync Router (/api/shifts)
apiRouter.use('/shifts', validateShiftSyncApiKey, shiftsRouter);
2025-06-05 04:02:22 +00:00
app.get("/api", (req, res) => {
res.json('Welcome to Shift Sync API');
});
app.use('/api', apiRouter);
app.get('/api/db-health', async (req, res) => {
try {
const result = await shiftRunQuery('SELECT NOW()');
res.json({ connected: true, time: result.rows[0].now });
} catch (err) {
console.error(err);
res.status(500).json({ connected: false, error: err.message });
}
2025-06-05 04:02:22 +00:00
});
app.listen(5172, () => {
console.log('Server Started on port 5172');
});