Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- model.addUser = ( obj ) => {
- //Inicia uma transação
- const beginTransaction = ( connection ) => {
- return new Promise((resolve, reject) => {
- connection.beginTransaction((err) => {
- if ( err ) reject(err)
- resolve(connection)
- })
- })
- }
- //Adiciona o usuário, propriamente dito, no banco
- const addUser = ( user ) => ( connection ) => {
- const cpf = user.cpf
- const name = user.name
- const mail = user.mail
- const password = user.password
- const genre = user.genre
- const fields = {
- cpf: cpf,
- nome: name,
- email: mail,
- senha: password,
- sexo: genre
- }
- return new Promise((resolve, reject) => {
- connection.query('INSERT INTO usuarios SET ?', fields, (error, results, fields) => {
- if ( error ) {
- return connection.rollback(() => {
- reject(error)
- })
- }
- resolve(results.insertId)
- })
- })
- }
- //Vincula o endereço informado ao último cliente cadastrado
- const addUserAddress = ( address ) => ( last_id ) => {
- const id_usuario = last_id
- const cep = address.cep
- const logradouro = address.logradouro
- const numero = address.numero
- const complemento = address.complemento
- const bairro = address.bairro
- const cidade = address.cidade
- const uf = address.uf
- return new Promise((resolve, reject) => {
- resolve(last_id)
- })
- }
- return new Promise((resolve, reject) => {
- beginTransaction(connection)
- .then(addUser(obj))
- .then(addUserAddress(connection))
- .catch(error => reject(error))
- })
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement