Spaces:
Sleeping
Sleeping
File size: 976 Bytes
ef874e6 48013ee ef874e6 48013ee ef874e6 48013ee ef874e6 | 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 | import express, { Application, Request, Response } from 'express';
import cors from 'cors';
import path from 'path';
import fs from 'fs';
import router from './routes';
import { errorHandler } from './middlewares/error.middleware';
// Pastikan direktori export ada
const exportsDir = path.join(__dirname, '../public/exports');
if (!fs.existsSync(exportsDir)) {
fs.mkdirSync(exportsDir, { recursive: true });
}
const app: Application = express();
// Global Middleware
app.use(cors());
app.use(express.json({ limit: '50mb' })); // Allow larger payloads (useful for base64 images)
app.use(express.urlencoded({ extended: true, limit: '50mb' }));
app.use('/exports', express.static(path.join(__dirname, '../public/exports')));
// Routing API
app.use('/api', router);
// Default Route
app.get('/', (req: Request, res: Response) => {
res.json({ message: 'Welcome to Tokiva POS Node.js API Server' });
});
// Global Error Handler
app.use(errorHandler);
export default app;
|