Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/node
- /* CARREGAR MÓDULOS */
- const express = require('express');
- const app = express();
- const handlebars = require('express-handlebars');
- const bodyParser = require('body-parser');;
- const Post = require('./models/Post');
- const Mongoc = ('./mongo');
- /* variavel de armazenamento de datas */
- var d = new Date();
- var B = d.toUTCString();
- /* Body Parser Config */
- app.use(bodyParser.urlencoded({extended: false}));
- app.use(bodyParser.json());
- /* CONFIG TEMPLATE */
- app.engine('handlebars', handlebars({defaultLayout: 'main'}));
- app.set('view engine', 'handlebars');
- /* ROTAS */
- app.get("/", (req, res) => {
- Post.findAll({order: [['id', 'DESC']]}).then( (posts) => {
- res.render('home', {posts: posts});
- })
- });
- app.get("/login", (req, res) => {
- res.render('formulario');
- });
- app.post("/post", (req, res) => {
- Post.create({
- titulo: req.body.titulo,
- conteudo: req.body.conteudo
- }).then( () => {
- res.redirect("/");
- }).catch( (erro) => {
- res.send("Houve um erro: " + erro);
- })
- });
- app.get("/wiki", (req, res) => {
- res.sendFile(__dirname + "/html/index.html");
- });
- app.get("/documentacao/:nome/:cargo", (req, res) => {
- res.send(req.params);
- });
- app.get("/facebook/:nome", (req, res) => {
- res.send("<img src=\"https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcScxsT5PAXXm9mSG5PCxHh9nR4hGpiwldBqyf54h8Hiwkxpf9bZ\" width=\"100%\">");
- });
- app.get("/deletar/:id", (req, res) => {
- Post.destroy({where: {'id': req.params.id}}).then( () => {
- res.send("Post deletado com sucesso!");
- }).catch( (erro) => {
- res.send("Esta postagem não existe mais");
- })
- });
- /* EXECUTAR SERVIDOR EM DETERMINADA PORTA */
- app.listen(8080, () => {
- console.log("[" + B + "]: " +"Servidor rodando no endereço localhost:8080");
- });
- /* VIEWS */
- //VIEW formulario.handlebars
- <form action="/post" method="POST">
- <p>Titulo: </p>
- <input type="text" name="titulo">
- <p>Conteüdo: </p>
- <textarea name="conteudo"></textarea>
- <button type="submit">Postar</button>
- </form>
- // VIEW main.handlebars
- !DOCTYPE html>
- <html lang="pt-br">
- <head>
- <meta charset="utf-8" />
- <title>Postagens Nodejs</title>
- <style type="text/css">
- </style>
- </head>
- <body>
- {{{body}}}
- <script type="text/javascript">
- </script>
- </body>
- </html>
- // VIEW home.handlebars
- <h1>Lista de postagens: </h1>
- <hr/>
- {{#each posts}}
- <small>{{createdAt}}</small>
- <h2>{{titulo}}</h2>
- <p>{{conteudo}}</p>
- <a href="/deletar/{{id}}"><button>Deletar</button></a>
- <hr/>
- {{/each}}
- /* FIM VIEWS */
- /* MODELS */
- // MODEL Post.js
- const db = require('./db');
- const Post = db.sequelize.define('postagens', {
- titulo: {
- type: db.Sequelize.STRING
- },
- conteudo: {
- type: db.Sequelize.TEXT
- }
- });
- //Post.sync({force: true});
- module.exports = Post;
- // MODEL db.js
- /* CONEXÃO COM O BANCO DE DADOS */
- const Sequelize = require('sequelize');
- const sequelize = new Sequelize
- ("postagens",
- "MEU_USUARIO",
- "MINHA_SENHA",
- {
- host: "localhost",
- dialect: "mysql"
- });
- /* data e hora */
- var d = new Date();
- var B = d.toUTCString();
- /* AUTENTICAR NO BANCO DE DADOS */
- sequelize.authenticate().then( () => {
- console.log("[" + B + "]: " + "Sucesso ao se conectar ao banco de dados MySQL!");
- }).catch(
- (erro) => {
- console.log("[" + B + "]: " + "Erro ao se conectar: " + erro);
- });
- module.exports = {
- Sequelize: Sequelize,
- sequelize: sequelize
- }
- /* FIM MODELS */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement