Cursos / Informática para Internet / Desenvolvimento Backend / Aula
Os dados do banco já estão sendo capturados, porém, em um formato não usual para mostrar ao usuário, e também existem informações que não devem ser exibidas.
Para remover os dados desnecessários, será implementada uma função que irá deletar os dados que não precisam ser retornados para a criação da página.
Agora, já temos os dados retornados. No entanto, ainda é preciso enviar datas e, além de enviá-las, transformá-las para o formato que deve ser exibido no layout. Para tratar disso, instale a biblioteca Moment.js pelo comando:
npm install moment --save
Após isso, já poderá ser feito o uso da biblioteca e a data será formatada. Para isso, siga a aula e implemente o código que fará essa manipulação.
Ao final, seu código deve estar como se vê abaixo:
const express = require('express')
const router = express.Router()
const { Post, Usuario } = require('../db/models')
const moment = require('moment')
moment.locale('pt-br')
router.get('/', async (req, res) => {
const posts = await Post.findAll({
include: [{
model: Usuario
}], raw: true, nest: true
})
const postResult = posts.map((post) => prepararResultado(post))
res.render('pages/posts', {posts: postResult, layout: 'layouts/layout-blog.ejs'})
})
function prepararResultado(post){
const result = Object.assign({}, post)
result.postadoEm = moment(new Date(result.createdAt)).format('DD [de] MMMM [de] yyyy [as] HH:mm')
if (result.createdAt) delete result.createdAt
if (result.updatedAt) delete result.updatedAt
if (result.userId) delete result.userId
if (result.Usuario){
if (result.Usuario.senha) delete result.Usuario.senha
if (result.Usuario.createdAt) delete result.Usuario.createdAt
if (result.Usuario.updatedAt) delete result.Usuario.updatedAt
}
return result
}
module.exports = router
Versão 5.3 - Todos os Direitos reservados