50 lines
2.0 KiB
JavaScript
50 lines
2.0 KiB
JavaScript
require('dotenv').config();
|
|
const express = require('express');
|
|
const app = express();
|
|
const port = process.env.PORT || 3000;
|
|
|
|
const bankTransferRoutes = require('./app/modules/bank-transfer/routes/bank-transfer.route');
|
|
const eWalletRoutes = require('./app/modules/e-wallet/routes/e-wallet.route');
|
|
const notificationRoutes = require('./app/modules/notification/routes/notification.route');
|
|
const cstoreRoutes = require('./app/modules/cstore/routes/cstore.route');
|
|
const creditCardRoutes = require('./app/modules/credit-card/routes/credit-card.route');
|
|
const paylaterRoutes = require('./app/modules/paylater/routes/paylater.route');
|
|
const snapRoutes = require('./app/modules/snap/routes/snap.route');
|
|
const transactionRoutes = require('./app/modules/transaction/routes/transaction.route');
|
|
|
|
app.use(express.json());
|
|
app.use(express.urlencoded({ extended: true }));
|
|
|
|
app.use('/api/v1/bank-transfer', bankTransferRoutes);
|
|
app.use('/api/v1/e-wallet', eWalletRoutes);
|
|
app.use('/api/v1/notification', notificationRoutes);
|
|
app.use('/api/v1/cstore', cstoreRoutes);
|
|
app.use('/api/v1/credit-card', creditCardRoutes);
|
|
app.use('/api/v1/paylater', paylaterRoutes);
|
|
app.use('/api/v1/snap', snapRoutes);
|
|
app.use('/api/v1/transaction', transactionRoutes);
|
|
|
|
app.get('/', (req, res) => {
|
|
res.send('Midtrans Gateway API is running...');
|
|
});
|
|
|
|
app.use((req, res) => {
|
|
const responseHelper = require('./app/helpers/response.helper');
|
|
return responseHelper.error(res, "Endpoint tidak ditemukan", 404);
|
|
});
|
|
|
|
app.use((err, req, res, next) => {
|
|
const responseHelper = require('./app/helpers/response.helper');
|
|
|
|
if (err instanceof SyntaxError && err.status === 400 && 'body' in err) {
|
|
return responseHelper.error(res, "Format JSON tidak valid: " + err.message, 400);
|
|
}
|
|
|
|
console.error("[GlobalError]", err);
|
|
return responseHelper.error(res, err.message || "Terjadi kesalahan internal pada server", err.status || 500);
|
|
});
|
|
|
|
app.listen(port, () => {
|
|
console.log(`Server is running on port ${port}`);
|
|
});
|