mirror of
https://github.com/Litlyx/litlyx
synced 2025-12-10 07:48:37 +01:00
47 lines
1.3 KiB
TypeScript
47 lines
1.3 KiB
TypeScript
import express from 'express';
|
|
import StripeService from './services/StripeService'
|
|
import { webhookRouter } from './routers/WebhookRouter';
|
|
import { paymentRouter } from './routers/PaymentRouter';
|
|
import { connectDatabase } from './shared/services/DatabaseService';
|
|
|
|
|
|
const STRIPE_PRIVATE_KEY = process.env.STRIPE_PRIVATE_KEY;
|
|
const STRIPE_WEBHOOK_SECRET = process.env.STRIPE_WEBHOOK_SECRET;
|
|
const STRIPE_TESTMODE = process.env.STRIPE_TESTMODE === 'true';
|
|
const MONGO_CONNECTION_STRING = process.env.MONGO_CONNECTION_STRING;
|
|
|
|
StripeService.init(STRIPE_PRIVATE_KEY, STRIPE_WEBHOOK_SECRET, STRIPE_TESTMODE);
|
|
connectDatabase(MONGO_CONNECTION_STRING);
|
|
|
|
console.log('Stripe started in', STRIPE_TESTMODE ? 'TESTMODE' : 'LIVEMODE');
|
|
|
|
const app = express();
|
|
|
|
const TOKEN = process.env.TOKEN;
|
|
|
|
if (!TOKEN || TOKEN.length == 0) {
|
|
console.log('TOKEN not set');
|
|
process.exit();
|
|
}
|
|
|
|
app.use((req, res, next) => {
|
|
const token = req.header('x-litlyx-token');
|
|
if (token != TOKEN) {
|
|
res.status(403).json({ error: 'token not valid' });
|
|
return;
|
|
}
|
|
console.log(req.path);
|
|
next();
|
|
});
|
|
|
|
|
|
app.use('/webhook', webhookRouter);
|
|
app.use('/payment', paymentRouter);
|
|
|
|
const port = parseInt(process.env.PORT);
|
|
if (!port) {
|
|
console.error('PORT is not set');
|
|
process.exit();
|
|
}
|
|
|
|
app.listen(port, () => console.log(`Listening on port ${port}`)); |