Merge dev@latest into dev
This commit is contained in:
16 files changed
+445
-101
No files matched your search
@@ -3,7 +3,7 @@ const MongoStore = require("connect-mongo");
|
||||
const session = require("express-session");
|
||||
const express = require('express');
|
||||
const path = require('path');
|
||||
const joi = require('joi');
|
||||
const joi = require('joi');
|
||||
require('dotenv').config();
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@ const port = process.env.PORT || 3000;
|
||||
|
||||
const mongoURI = process.env.mongoURI || "mongodb://localhost:27017/";
|
||||
const database = process.env.database || "knoldus"; // Database name
|
||||
const secret = process.env.secret || "123-secret-xyz";
|
||||
const secret = process.env.secret || "123-secret-xyz";
|
||||
|
||||
/*** Sessions ***/
|
||||
app.use(session({
|
||||
@@ -24,22 +24,25 @@ app.use(session({
|
||||
}));
|
||||
|
||||
app.set('view engine', 'ejs');
|
||||
app.set('views',path.join(__dirname, 'src/views'));
|
||||
app.set('views', path.join(__dirname, 'src/views'));
|
||||
app.use(express.urlencoded({ extended: true }));
|
||||
app.use("/static", express.static("./src/public"));
|
||||
app.use("/images", express.static("./src/public/images"));
|
||||
app.use(express.json());
|
||||
|
||||
/*** Database ***/
|
||||
const { connectMongo, getCollection } = require("./src/database/connection");
|
||||
|
||||
let users;
|
||||
let assets;
|
||||
let plans;
|
||||
async function initDatabase() {
|
||||
const db = await connectMongo(mongoURI, database);
|
||||
|
||||
|
||||
// For any collection, init here
|
||||
users = await getCollection(db, "users");
|
||||
assets = await getCollection(db, "assets");
|
||||
plans = await getCollection(db, "plans");
|
||||
}
|
||||
|
||||
/*** ROUTINGS ***/
|
||||
@@ -60,7 +63,7 @@ app.get('/signup', (req, res) => {
|
||||
app.get('/login', (req, res) => {
|
||||
if (req.session.authenticated) {
|
||||
res.redirect("/home");
|
||||
return res.status(status.Ok);
|
||||
return res.status(status.Ok);
|
||||
}
|
||||
res.render('login', { errMessage: req.session.errMessage });
|
||||
return res.status(status.Ok);
|
||||
@@ -71,6 +74,15 @@ app.get('/aboutUs', (req, res) => {
|
||||
return res.status(status.Ok);
|
||||
});
|
||||
|
||||
app.post('/api/location', async (req,res) => {
|
||||
const { latitude, longitude } = req.body;
|
||||
|
||||
const response = await fetch(`https://maps.googleapis.com/maps/api/geocode/json?latlng=${latitude},${longitude}&result_type=country&key=${process.env.geolocation_api}`);
|
||||
|
||||
const data = await response.json();
|
||||
|
||||
res.json(data);
|
||||
});
|
||||
|
||||
// Initialize database and start app
|
||||
initDatabase().then(() => {
|
||||
@@ -81,16 +93,16 @@ initDatabase().then(() => {
|
||||
|
||||
// Import middleware & apply to user routes
|
||||
const middleware = require("./src/auth/middleware")(users);
|
||||
app.use(require('./src/router/user')(middleware, users, assets));
|
||||
app.use(require('./src/router/user')(middleware, users, plans, assets));
|
||||
|
||||
// 404 handler
|
||||
app.get('/*splat', (req, res) => {
|
||||
res.send('404 Not Found');
|
||||
return res.status(status.NotFound);
|
||||
});
|
||||
});
|
||||
|
||||
// Start app
|
||||
app.listen(port, () => {
|
||||
console.log(`Server listening on port ${port}`);
|
||||
});
|
||||
});
|
||||
});
|
||||
Reference in new issue
Block a user