diff --git a/controllers/home-routes.js b/controllers/home-routes.js index e69de29..38acf69 100644 --- a/controllers/home-routes.js +++ b/controllers/home-routes.js @@ -0,0 +1,37 @@ +const router = require('express').Router() +const { Post, User, Comment } = require('../models') + +router.get('/', (req, res) => { + console.log(req.session) + Post.findAll({ + attributes: ['id', 'post_text', 'title', 'created_at'], + order: [['created_at', 'DESC']], + include: [ + { + model: User, + attributes: ['full_name'], + }, + { + model: Comment, + attributes: ['id', 'comment_text', 'post_id', 'user_id', 'created_at'], + include: { + model: User, + attributes: ['full_name'], + }, + }, + ], + }) + .then((posts) => { + const allPosts = posts.map((post) => post.get({ plain: true })) + res.render('home', { + allPosts, + logged_in: req.session.logged_in, + }) + }) + .catch((err) => { + console.log(err) + res.status(500).json(err) + }) +}) + +module.exports = router diff --git a/controllers/index.js b/controllers/index.js index 5b9f91a..1eadd81 100644 --- a/controllers/index.js +++ b/controllers/index.js @@ -1,10 +1,8 @@ const router = require('express').Router() -const apiRoutes = require('./api') -const homeRoutes = require('./home-routes.js') -const dashboardRoutes = require('./dashboard-routes.js') +const homeRoutes = require('./home-routes') +//const dashboardRoutes = require('./dashboard-routes') -router.use('/api', apiRoutes) router.use('/', homeRoutes) -router.use('/dashboard', dashboardRoutes) +//router.use('/dashboard', dashboardRoutes) module.exports = router diff --git a/models/Post.js b/models/Post.js index 3de611a..0628494 100644 --- a/models/Post.js +++ b/models/Post.js @@ -21,8 +21,8 @@ Post.init( len: [1], }, }, - date_created: { - type: DataTypes.DATEONLY, + created_at: { + type: DataTypes.DATE, allowNull: false, defaultValue: DataTypes.NOW, }, diff --git a/models/index.js b/models/index.js index e899805..9d3e94c 100644 --- a/models/index.js +++ b/models/index.js @@ -1,13 +1,6 @@ -const User = require('./User') -const Post = require('./Post') const Comment = require('./Comment') - -User.hasMany(Post, { - foreignKey: 'user_id', -}) -Post.belongsTo(User, { - foreignKey: 'user_id', -}) +const Post = require('./Post') +const User = require('./User') Comment.belongsTo(User, { foreignKey: 'user_id', @@ -21,10 +14,8 @@ Comment.belongsTo(Post, { hooks: true, }) -User.hasMany(Comment, { +Post.belongsTo(User, { foreignKey: 'user_id', - onDelete: 'cascade', - hooks: true, }) Post.hasMany(Comment, { @@ -33,4 +24,14 @@ Post.hasMany(Comment, { hooks: true, }) -module.exports = { User, Post, Comment } +User.hasMany(Comment, { + foreignKey: 'user_id', + onDelete: 'cascade', + hooks: true, +}) + +User.hasMany(Post, { + foreignKey: 'user_id', +}) + +module.exports = { Comment, Post, User } diff --git a/server.js b/server.js index e128f7a..6855b87 100644 --- a/server.js +++ b/server.js @@ -1,39 +1,34 @@ -const path = require('path') -require('dotenv').config() const express = require('express') +const session = require('express-session') const routes = require('./controllers') +const expHps = require('express-handlebars') +const path = require('path') + const sequelize = require('./config/connection') -const exphbs = require('express-handlebars') -const session = require('express-session') const SequelizeStore = require('connect-session-sequelize')(session.Store) -const helpers = require('./utils/helpers') -const hbs = exphbs.create({ helpers }) +const app = express() +const PORT = process.env.PORT || 3001 const sess = { secret: 'Super secret secret', - cookie: { maxAge: 7200000 }, + cookie: {}, resave: false, saveUninitialized: true, store: new SequelizeStore({ db: sequelize, }), } -const app = express() -const PORT = process.env.PORT || 3001 - -app.use(express.static(path.join(__dirname, 'public'))) +const hbs = expHps.create() app.engine('handlebars', hbs.engine) app.set('view engine', 'handlebars') - +app.use(session(sess)) app.use(express.json()) app.use(express.urlencoded({ extended: true })) - -app.use(session(sess)) - +app.use(express.static(path.join(__dirname, 'public'))) app.use(routes) sequelize.sync({ force: false }).then(() => { - app.listen(PORT, () => console.log(`Server listening on port ${PORT}`)) + app.listen(PORT, () => console.log(`App listening on port ${PORT}...`)) })