You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
52 lines
1.6 KiB
JavaScript
52 lines
1.6 KiB
JavaScript
import express from "express";
|
|
import mongoose from "mongoose";
|
|
import config from "config";
|
|
import cors from "cors";
|
|
import visitsReset from "./services/VisitsReset.js";
|
|
|
|
import errorMiddleware from "./middlewares/errorMiddleware.js";
|
|
import fileUpload from "express-fileupload";
|
|
import cookieParser from "cookie-parser";
|
|
|
|
import authRouter from "./routers/auth.router.js"
|
|
import userRouter from "./routers/user.router.js"
|
|
import artistRouter from "./routers/artist.router.js"
|
|
import playlistRouter from "./routers/playlist.router.js"
|
|
import videoRouter from "./routers/video.router.js"
|
|
import visitRouter from "./routers/visits.router.js"
|
|
|
|
const PORT = config.get('serverPort');
|
|
const app = express();
|
|
|
|
app.use(cors({origin:['http://www.localhost:3000', 'http://localhost:3000'], credentials: true}));
|
|
app.use(express.static('public'));
|
|
app.use(express.json());
|
|
app.use(fileUpload({}));
|
|
app.use(cookieParser())
|
|
|
|
app.use('/api/auth', authRouter);
|
|
app.use('/api/user', userRouter);
|
|
app.use('/api/artist', artistRouter);
|
|
app.use('/api/playlist', playlistRouter);
|
|
app.use('/api/video', videoRouter);
|
|
app.use('/api/visit', visitRouter);
|
|
|
|
app.use(errorMiddleware);
|
|
|
|
const start = async() => {
|
|
try {
|
|
mongoose.set('strictQuery', true);
|
|
await mongoose.connect(config.get('dbUrl', {
|
|
useNewUrlParser: true,
|
|
useUnifieldTopology: true
|
|
}));
|
|
app.listen(PORT, ()=> {
|
|
console.log(`Сервер успешно запущен на порту: ${PORT}`)
|
|
visitsReset();
|
|
})
|
|
} catch (e) {
|
|
console.log(e)
|
|
}
|
|
}
|
|
|
|
start(); |