Skip to content

Commit

Permalink
Working on the home route first, we want to inject all of the seeded …
Browse files Browse the repository at this point in the history
…posts into the page, so next we will work on the template
  • Loading branch information
Christian Martinez committed Jul 25, 2023
1 parent 8091526 commit cc6900d
Show file tree
Hide file tree
Showing 5 changed files with 67 additions and 36 deletions.
37 changes: 37 additions & 0 deletions controllers/home-routes.js
Original file line number Diff line number Diff line change
@@ -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
8 changes: 3 additions & 5 deletions controllers/index.js
Original file line number Diff line number Diff line change
@@ -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
4 changes: 2 additions & 2 deletions models/Post.js
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@ Post.init(
len: [1],
},
},
date_created: {
type: DataTypes.DATEONLY,
created_at: {
type: DataTypes.DATE,
allowNull: false,
defaultValue: DataTypes.NOW,
},
Expand Down
27 changes: 14 additions & 13 deletions models/index.js
Original file line number Diff line number Diff line change
@@ -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',
Expand All @@ -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, {
Expand All @@ -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 }
27 changes: 11 additions & 16 deletions server.js
Original file line number Diff line number Diff line change
@@ -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}...`))
})

0 comments on commit cc6900d

Please sign in to comment.