-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.js
More file actions
95 lines (71 loc) · 2.31 KB
/
index.js
File metadata and controls
95 lines (71 loc) · 2.31 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
const express = require('express')
const app = express()
const bodyParser = require('body-parser')
const connection = require('./database/database')
connection // database
.authenticate()
.then(() => console.log('(Conexão bd) feita com sucesso!'))
.catch(() => console.log('(Conexão bd) mal sucedida!'))
app.set('view engine','ejs') // ejs
app.use(express.static('public')) // statics
app.use(bodyParser.urlencoded({extended: false})) // bodyParser
app.use(bodyParser.json()) // json
// controllers
const categoriesController = require('./categories/CategoriesController')
const articlesController = require('./articles/ArticlesController')
const Article = require('./articles/Article')
const Category = require('./categories/Category')
app.use('/', categoriesController)
app.use('/', articlesController)
app.get('/', (req, res) => {
Article.findAll({order: [['id', 'DESC']]}).then(articles => {
Category.findAll().then(categories => {
res.render('index', {
articles: articles,
categories: categories
})
})
})
})
app.get('/:slug', (req, res) => {
let slug = req.params.slug
Article.findOne({
where: {
slug: slug,
}
}).then(article => {
if(article != undefined){
Category.findAll().then(categories => {
res.render('article', {
article: article,
categories: categories
})
})
} else {
res.redirect('/')
}
}).catch(erro => {
res.redirect('/')
})
})
app.get('/category/:slug', (req, res) => {
let slug = req.params.slug
Category.findOne({
where: {slug: slug},
include: [{model: Article}]
}).then(category => {
if(category != undefined){
Category.findAll().then(categories => {
res.render('index', {
categories: categories,
articles: category.articles
})
})
} else {
res.redirect('/')
}
}).catch(err => {
res.redirect('/')
})
})
app.listen(444, () => console.log('Servidor iniciado com sucesso!'))