Initial commit
This commit is contained in:
@@ -0,0 +1,59 @@
|
||||
import express from 'express';
|
||||
import cors from 'cors';
|
||||
import helmet from 'helmet';
|
||||
import { errorHandler } from './middleware/error';
|
||||
|
||||
// Import routers
|
||||
import identityRouter from './modules/identity/router';
|
||||
import catalogueRouter from './modules/catalogue/router';
|
||||
import inventoryRouter from './modules/inventory/router';
|
||||
import dispensingRouter from './modules/dispensing/router';
|
||||
import auditRouter from './modules/audit/router';
|
||||
import prescriptionRouter from './modules/prescription/router';
|
||||
import aiRouter from './modules/ai/router';
|
||||
|
||||
const app = express();
|
||||
const PORT = process.env.PORT || 8080;
|
||||
|
||||
app.use(helmet());
|
||||
app.use(cors());
|
||||
app.use(express.json());
|
||||
|
||||
// Detailed Network Logger Middleware
|
||||
app.use((req, res, next) => {
|
||||
const start = Date.now();
|
||||
console.log(`\n======================================================`);
|
||||
console.log(`[NETWORK REQUEST] ${req.method} ${req.originalUrl}`);
|
||||
console.log(`[HEADERS]`, JSON.stringify(req.headers, null, 2));
|
||||
if (req.body && Object.keys(req.body).length > 0) {
|
||||
console.log(`[BODY]`, JSON.stringify(req.body, null, 2));
|
||||
}
|
||||
|
||||
res.on('finish', () => {
|
||||
const duration = Date.now() - start;
|
||||
console.log(`[NETWORK RESPONSE] ${req.method} ${req.originalUrl} - Status: ${res.statusCode} (${duration}ms)`);
|
||||
console.log(`======================================================\n`);
|
||||
});
|
||||
next();
|
||||
});
|
||||
|
||||
// API Routes
|
||||
app.use('/v1/auth', identityRouter);
|
||||
app.use('/v1', catalogueRouter);
|
||||
app.use('/v1/inventory', inventoryRouter);
|
||||
app.use('/v1/orders', dispensingRouter);
|
||||
app.use('/v1/audit', auditRouter);
|
||||
app.use('/v1/rx', prescriptionRouter);
|
||||
app.use('/v1/ai', aiRouter);
|
||||
|
||||
// Health check
|
||||
app.get('/health', (req, res) => {
|
||||
res.status(200).json({ status: 'ok' });
|
||||
});
|
||||
|
||||
// Global Error Handler
|
||||
app.use(errorHandler);
|
||||
|
||||
app.listen(PORT, () => {
|
||||
console.log(`Pharmacy Core API listening on port ${PORT}`);
|
||||
});
|
||||
Reference in New Issue
Block a user