Introduces a new /api/video route for streaming video files stored on the server. This allows for direct playback of local video files with seeking capabilities. The Movie model and UI have been updated to support this new feature. Co-authored-by: mathieumoran1 <[email protected]>
40 lines
1.2 KiB
JavaScript
40 lines
1.2 KiB
JavaScript
const express = require("express");
|
|
const mongoose = require("mongoose");
|
|
const dotenv = require("dotenv");
|
|
const cors = require("cors");
|
|
const compression = require("compression");
|
|
|
|
dotenv.config();
|
|
const app = express();
|
|
|
|
// Middleware
|
|
app.use(cors());
|
|
app.use(compression());
|
|
app.use(express.json());
|
|
|
|
// Connect to MongoDB
|
|
mongoose
|
|
.connect(process.env.MONGO_URI, { useNewUrlParser: true, useUnifiedTopology: true })
|
|
.then(() => console.log("MongoDB connected"))
|
|
.catch((err) => console.error(err));
|
|
|
|
// Routes
|
|
const userRoutes = require("./routes/users");
|
|
const movieRoutes = require("./routes/movies");
|
|
const versionRoutes = require("./routes/version");
|
|
const settingsRoutes = require("./routes/settings");
|
|
const adminDbRoutes = require("./routes/adminDb");
|
|
const videoRoutes = require("./routes/video");
|
|
|
|
app.use(express.static('public'));
|
|
app.use("/api/users", userRoutes);
|
|
app.use("/api/movies", movieRoutes);
|
|
app.use("/api/version", versionRoutes);
|
|
app.use("/api/settings", settingsRoutes);
|
|
app.use("/api/admin", adminDbRoutes);
|
|
app.use("/api/video", videoRoutes);
|
|
|
|
// Start Server
|
|
const PORT = process.env.PORT || 5000;
|
|
app.listen(PORT, () => console.log(`Server running on port ${PORT}`));
|