You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

53 lines
1.3 KiB

const express = require('express');
const app = express();
const mongoose = require('mongoose');
const session = require('express-session');
const methodOverride = require('method-override');
app.use(methodOverride('_method'));
app.use(session({
secret:'feedmeseymour',
resave:false,
saveUninitialized: false
}))
app.use(express.urlencoded({extended:false}));
const usersController = require('./controllers/users.js');
app.use('/users', usersController);
const sessionsController = require('./controllers/sessions.js');
app.use('/sessions', sessionsController);
app.get('/', (req, res)=>{
res.render('index.ejs', {
currentUser: req.session.currentuser
});
});
app.post('/articles', (req, res)=>{
req.body.author = req.session.currentuser.username;
Article.create(req.body, (err, createdArticle)=>{
res.redirect('/articles');
})
})
app.get('/app', (req, res)=>{
if(req.session.currentuser){
res.send('the app');
} else {
res.redirect('/sessions/new');
}
});
const mongoURI = process.env.MONGODB_URI || 'mongodb://localhost:27017/auth';
mongoose.connect(mongoURI);
mongoose.connection.once('open', ()=>{
console.log('connected to mongo');
})
const port = process.env.PORT || 3000;
app.listen(port, ()=>{
console.log('listening');
});