50 lines
1.4 KiB
TypeScript
50 lines
1.4 KiB
TypeScript
import express, { Application, Request, Response } from "express";
|
|
|
|
import GetAllSocketClients from "@nirvana/core/sockets/getAllActiveSocketClients";
|
|
import InitializeWs from "./sockets";
|
|
import { NextFunction } from "express";
|
|
import NirvanaResponse from "@nirvana/core/responses/nirvanaResponse";
|
|
import ReceiveSignal from "../core/sockets/receiveSignal";
|
|
import SendSignal from "@nirvana/core/sockets/sendSignal";
|
|
import SocketChannels from "@nirvana/core/sockets/channels";
|
|
import { UserService } from "./services/user.service";
|
|
import { UserStatus } from "@nirvana/core/models";
|
|
import cors from "cors";
|
|
import getLineRoutes from "./routes/line";
|
|
import getSearchRoutes from "./routes/search";
|
|
import getUserRoutes from "./routes/user";
|
|
|
|
const app = express();
|
|
|
|
app.use(cors());
|
|
app.use(express.json());
|
|
|
|
app.use((req: Request, res: Response, next: NextFunction) => {
|
|
console.log("Time: ", new Date());
|
|
next();
|
|
});
|
|
|
|
app.get("/", (req: Request, res: Response) => {
|
|
res.send("hello world.");
|
|
});
|
|
|
|
app.use("/api/status", (req: Request, res: Response) => {
|
|
res.json(new NirvanaResponse("wohoo, server is healthy"));
|
|
});
|
|
|
|
app.use("/api/user", getUserRoutes());
|
|
app.use("/api/search", getSearchRoutes());
|
|
app.use("/api/lines", getLineRoutes());
|
|
|
|
const PORT = 5000;
|
|
const server = app.listen(PORT, () => console.log("express running"));
|
|
|
|
const io = require("socket.io")(server, {
|
|
// todo: add authentication
|
|
cors: {
|
|
origin: "*",
|
|
},
|
|
});
|
|
|
|
InitializeWs(io);
|