|
| 1 | +const createError = require("http-errors"); |
| 2 | +const express = require("express"); |
| 3 | +const path = require("path"); |
| 4 | +const cookieParser = require("cookie-parser"); |
| 5 | +const logger = require("morgan"); |
| 6 | +// const session = require("express-session"); |
| 7 | +const bcrypt = require("bcryptjs"); |
| 8 | +const connectionDB = require("./config/connection"); |
| 9 | +const cors = require("cors"); |
| 10 | +const passport = require("./controllers/passport"); |
| 11 | + |
| 12 | +const app = express(); |
| 13 | +connectionDB(); |
| 14 | + |
| 15 | + |
| 16 | + |
| 17 | +app.use(cors({ |
| 18 | + origin: ["http://localhost:3000"], |
| 19 | + methods: ["POST", "GET", "DELETE"], |
| 20 | + credentials: true |
| 21 | +})); |
| 22 | + |
| 23 | +/*_________________________________________VIEW ENGINE SETUP________________________________________*/ |
| 24 | + |
| 25 | +app.set("views", path.join(__dirname, "views")); |
| 26 | +app.set("view engine", "hbs"); |
| 27 | + |
| 28 | +/*____________________________________________________________________________________________________*/ |
| 29 | + |
| 30 | +app.use(logger("dev")); |
| 31 | +app.use(express.json()); |
| 32 | +app.use(express.urlencoded({ extended: false })); |
| 33 | +app.use(cookieParser()); |
| 34 | +app.use(express.static(path.join(__dirname, "public"))); |
| 35 | +app.use(passport.initialize()); |
| 36 | + |
| 37 | +/*__________________________________________________*ADMIN_ROUTES*____________________________________________*/ |
| 38 | + |
| 39 | +const adminRouter = require("./routes/admin"); |
| 40 | +app.use("/admin", adminRouter); |
| 41 | +app.use("/uploads", express.static("uploads")); |
| 42 | + |
| 43 | +/*__________________________________________________*ROUTES*____________________________________________*/ |
| 44 | + |
| 45 | +const indexRouter = require("./routes/index"); |
| 46 | +const usersRouter = require("./routes/users"); |
| 47 | +const registrationRoutes = require("./routes/registration"); |
| 48 | +const productsRoutes = require("./routes/products"); |
| 49 | +const loginRoutes = require("./routes/login"); |
| 50 | +const dashboardRoutes = require("./routes/dashboard"); |
| 51 | +const logoutRoute = require("./routes/logoutRoute") |
| 52 | + |
| 53 | +app.use("/", indexRouter); |
| 54 | +app.use("/registration", registrationRoutes); |
| 55 | +app.use("/logout",logoutRoute); |
| 56 | +app.use("/login", loginRoutes); |
| 57 | +app.use("/users", usersRouter); |
| 58 | +app.use("/products", productsRoutes); |
| 59 | +app.use("/dashboard", dashboardRoutes); |
| 60 | +// app.use('/api',routesMiddleware); |
| 61 | + |
| 62 | +/*_________________________________________________ERROR HANDLERS____________________________________________*/ |
| 63 | + |
| 64 | +// catch 404 and forward to error handler |
| 65 | +app.use(function (req, res, next) { |
| 66 | + next(createError(404)); |
| 67 | +}); |
| 68 | + |
| 69 | +// error handler |
| 70 | +app.use(function (err, req, res, next) { |
| 71 | + // set locals, only providing error in development |
| 72 | + res.locals.message = err.message; |
| 73 | + res.locals.error = req.app.get("env") === "development" ? err : {}; |
| 74 | + |
| 75 | + // render the error page |
| 76 | + res.status(err.status || 500); |
| 77 | + res.render("error"); |
| 78 | +}); |
| 79 | + |
| 80 | +/*______________________________________________________________________________________________________________*/ |
| 81 | + |
| 82 | +module.exports = app; |
0 commit comments