Cursos / Informática para Internet / Plataformas de aplicações Web / Aula
O sistema administrativo precisa inicialmente de um mecanismo de autenticação. No nosso modelo do banco de dados, um usuário "administrador" do sistema é na verdade um registro na tabela "employees" especialmente com o campo is_admin = true;
Antes de iniciar, vamos precisar de uma biblioteca para tratar com criptografia de senhas chamada "bcrypt". Para instalar no projeto admin:
npm install bcrypt
Vamos inicialmente criar alguns usuários na tabela "employees" no banco de dados. Para isso vamos utilizar o recurso chamado de "seeds" do knex.
Seed são similares às migrations, mas são normalmente usadas para se adicionar dados iniciais no banco de dados e não alterar ou criar tabelas.
Crie uma seed para se criar o primeiro administrador com o comando:
npx knex seed:make create_initial_employees
O arquivo criado estará na pasta "seeds" na aplicação, com o nome "create_initial_employees.js". Edite o arquivo e salve-o com o seguinte conteúdo:
const bcrypt = require('bcrypt');
exports.seed = function(knex) {
// Remove todos os employees
return knex('employees').del()
.then(function () {
// Depois insere os seguintes:
return knex('employees').insert([
{
id: 1,
name: 'Maria Admin',
email: 'maria@pettopstore.com',
password: bcrypt.hashSync('123456', 10),
is_admin: true
},
{
id: 2,
name: 'João Vendedor',
email: 'joao@pettopstore.com',
password: bcrypt.hashSync('654321', 10),
is_admin: false
},
]);
});
};
Repare que o arquivo create_initial_employees.js realiza as ações:
Para rodar o seed execute no terminal:
npx knex seed:run
Versão 5.3 - Todos os Direitos reservados