-
Notifications
You must be signed in to change notification settings - Fork 3
/
apiServer.mjs
42 lines (35 loc) · 1.53 KB
/
apiServer.mjs
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
import process from 'process';
import jsonServer from 'json-server';
import cookieParser from 'cookie-parser';
import cors from 'cors';
import { loggingMiddleware } from './middlewares/logging-middleware.mjs';
import { authRouter } from './middlewares/authentication-middleware.mjs';
import { orderRouter } from './routers/order.router.mjs';
import { showingsRouter } from './routers/showings.router.mjs';
import { reservationsRouter } from './routers/reservations.router.mjs';
const app = jsonServer.create()
const port = 3008;
// We can choose to skip authorization to make development easier. Just add the --skipAuth flag when running.
const skipAuth = process.argv.includes('--skipAuth') || process.argv.includes('-s');
if (skipAuth) {
app.skipAuth = skipAuth;
console.warn('Skipping authorization. This is only for development purposes.');
}
const router = jsonServer.router('database.json')
const middlewares = jsonServer.defaults(); // noCors b/c cookies aren't written when CORS is set to '*'
//app.use(cors({ origin: 'http://localhost:4200', credentials: true }));
app.use(cors({ origin: '*' }));
app.use(jsonServer.rewriter({ "/api/*": "/$1" }));
app.use(jsonServer.bodyParser)
app.use(loggingMiddleware)
app.use(middlewares)
app.use(cookieParser());
authRouter(app);
orderRouter(app); // For food ordering
reservationsRouter(app); // For ticket ordering
showingsRouter(app);
app.use(router);
app.listen(port, () => {
console.log(`API Server is running on port ${port}.`)
console.log('Please keep it running during all lab exercises.')
});