-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathserver.ts
More file actions
63 lines (56 loc) · 2.45 KB
/
Copy pathserver.ts
File metadata and controls
63 lines (56 loc) · 2.45 KB
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
// Buffer Line
import express, { Response, Request, NextFunction } from "express";
import { print } from "listening-on";
import path from "path";
import socketIO from "socket.io";
import http from "http";
import { knex } from "./db";
import { sessionMiddleware, hasLogin } from "./helper";
import { createSocketServer } from "./createSocketServer";
import { UserController } from "./login/userController";
import { UserService } from "./login/userService";
import { ReceiptController } from "./public/controller/createReceiptController";
import { ReceiptService } from "./public/service/createReceiptService";
import { DisplayController } from "./public/controller/displayController";
import { DisplayService } from "./public/service/displayService";
import { ClaimReceiptItemController } from "./public/controller/claimReceiptItemController";
import { ClaimReceiptItemService } from "./public/service/claimReceiptItemService";
import { TopUpController, stripe } from "./public/controller/topUpController";
import { TopUpService } from "./public/service/topUpService";
const app = express();
let server = http.createServer(app);
export let io = new socketIO.Server(server);
const receiptService = new ReceiptService(knex);
const receiptController = new ReceiptController(receiptService, io);
const userService = new UserService(knex);
const userController = new UserController(userService);
const displayService = new DisplayService(knex);
const displayController = new DisplayController(displayService);
const claimReceiptItemService = new ClaimReceiptItemService(knex);
const claimReceiptItemController = new ClaimReceiptItemController(
claimReceiptItemService,
io
);
const topUpService = new TopUpService(knex);
const topUpController = new TopUpController(stripe, topUpService);
app.use("/uploads", express.static("uploads"));
app.use(express.json());
app.use(express.urlencoded());
app.use(sessionMiddleware);
app.use(express.static("login"));
app.use(userController.router);
app.use(hasLogin, receiptController.router);
app.use(hasLogin, displayController.router);
app.use(hasLogin, claimReceiptItemController.router);
app.use(hasLogin, topUpController.router);
app.use(hasLogin, express.static("public"));
app.use(userController.authenticate, express.static("resetpw"))
createSocketServer();
app.use((req, res) => {
res.status(404);
res.sendFile(path.resolve("public", "error404.html")); //404 page to be constructed
});
let port = 8105;
server.listen(port, () => {
print(port);
});