Files
smarthome/app.js
2024-03-05 00:26:10 +03:00

47 lines
1.3 KiB
JavaScript

const express = require("express");
const app = express();
const server = require("http").createServer(app);
const mongoose = require("mongoose");
const configs = require("./configs");
const chalk = require("chalk");
const helmet = require("helmet");
const config = require('./configs');
const morgan = require("morgan");
app.use(express.urlencoded({extended: true}));
app.use(express.json());
app.use(helmet());
// Logs
app.use(morgan('dev'));
// Connect Mongoose
mongoose.connect(configs.mongodburl, {
autoIndex: true
}).then(() => {
console.log(chalk.cyanBright.bold("Mongodb is live!"));
}).catch((error) => {
console.log("Mongodb error: " + error.message);
});
// Save Route
app.use("/api/save", require("./route/save.route"));
// Device Log Route
app.use("/api/device-log", require("./route/device.log.route"));
// Wrong Endpoint
app.use("/api/*", (req, res) => {
res.status(400).json({error: true, message: "Invalid api end point!"});
});
// Root public route
app.use("*", (req, res) => { // res.sendFile("public/", { root: __dirname });
res.sendStatus(400);
});
// Server Listening
server.listen(configs.port, () => {
console.log(chalk.yellowBright.bold.red("Listening: " + configs.port));
});
// Error Handling
app.on("eror", (error) => {
console.log(error);
});