-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.ts
45 lines (39 loc) · 1.28 KB
/
index.ts
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
35
36
37
38
39
40
41
42
43
44
45
import cors from 'cors';
import { config } from 'dotenv';
import express from 'express';
import rateLimit from 'express-rate-limit';
import admin from 'firebase-admin';
const app = express();
app.use(express.json());
app.use(cors());
config();
const serviceAccount = {
privateKey: process.env.FIRESTORE_PRIVATE_KEY.split(String.raw`\n`).join('\n'),
clientEmail: process.env.FIRESTORE_EMAIL,
projectId: 'githubwebhooksstorage',
} satisfies admin.ServiceAccount;
admin.initializeApp({
credential: admin.credential.cert(serviceAccount),
databaseURL: 'https://githubwebhooksstorage.firebaseio.com',
});
export const firestore = admin.firestore();
const limiter = rateLimit({
windowMs: 10 * 60000,
max: 100,
message: "Hold up, you're making too many requests! Try again in 10 minutes.",
standardHeaders: true,
legacyHeaders: false,
});
app.use(limiter);
import github from './routes/github';
import netlify from './routes/netlify';
import rcon from './routes/rcon';
import root from './routes/root';
import status from './routes/status';
app.use('/', root);
app.use('/status', status);
app.use('/rcon', rcon);
app.use('/netlify', netlify);
app.use('/github', github);
app.listen(process.env.PORT || 5000);
console.log(`Listening on port ${process.env.PORT || 5000}`);