Initial commit

This commit is contained in:
2026-07-29 11:38:27 +05:30
commit a01a4c5d82
45 changed files with 6728 additions and 0 deletions
+59
View File
@@ -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}`);
});