Home
Button Mobile Webdesign em Foco
Newsletter Webdesign em Foco
Support Webdesign em Foco
Contribuition Webdesign em Foco
Doe para a Webdesign em Foco
Suporte da Webdesign em Foco
Fechar

MVC, MVT e Template Engine - #11 Models e Controllers no JS

01/07/2020

Nesse tutorial seguiremos com o MVC no Javascript aprendendo a utilizar o nosso model e o controller do nosso sistema.

Model e Controller no Javascript

config.json

No arquivo de configuração vamos indicar o caminho do nosso banco sqlite. Como ele está na raiz podemos referenciá-lo diretamente assim:

"development": {
    "dialect": "sqlite",
    "storage": "db.sqlite3"
},
"urlRoot":"http://localhost:3000/"

Posteriormente vamos criar o nosso model utilizando o comando do Sequelize no terminal:

npx sequelize-cli model:generate --name User --attributes name:string,age:integer
npx sequelize-cli model:generate --name Product --attributes product:string,value:float,userId:integer

models/user.js

User.hasMany(models.Product);

models/product.js

Product.belongsTo(models.User);

migrations/create-product

Precisamos implementar a nossa chave estrangeira:

userId: {
    type: Sequelize.INTEGER,
      references:{
          model: 'users',
          key:'id'
      },
      onUpdate:'cascade',
      onDelete:'cascade'
  },

Em seguida vamos rodar o comando pra migrar o nosso banco:

npx sequelize-cli db:migrate

Controller.js

Vamos criar duas rotas: uma rota inicial para criação de um dado qualquer no nosso banco e uma rota para selecionar esses dados:

app.get('/',async(req,res)=>{
   let response=await models.User.create({
      name:'Thiago',
      age:18,
      createdAt:new Date(),
      updatedAt: new Date()
   });
   console.log(response);
   //res.send(config.urlRoot);
});

app.get('/data',async(req,res)=>{
    let response=await models.User.findAll({
        raw:true,
        include:[{all:true}]
    });
    res.send(response);
});

Para exibir no navegador (http://localhost:3000), não esqueça de iniciar o servidor no terminal:

nodemon Controller

Por hoje é só! Sucesso nos códigos e na vida!

Precisa de um professor? Suporte premium já: webdesignemfoco@gmail.com

Receba as aulas da Webdesign em Foco em Seu Email
Suporte Webdesign em Foco

Posts Relacionados

MVC, MVT e Template Engine - #10 MVC no Javascript
Nesse tutorial ensinarei uma forma de utilizar o padrão de arquitetura MVC no Javascript utilizando o módulo Sequelize e template engine handlebars.
Saiba mais!
MVC, MVT e Template Engine - #12 Views no JS
Nesse tutorial aprenderemos como implementar as views do nosso sistema MVC no Javascript. Para isso, utilizaremos o módulo Handlebars.
Saiba mais!
MVC Completo
Neste curso aprenderemos como criar o padrão de projeto MVC completo, analisando desde sua estrutura até a programação.
Saiba mais!