Advertisement
Guest User

Untitled

a guest
Oct 20th, 2017
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. model.addUser = ( obj ) => {
  2.  
  3.     //Inicia uma transação
  4.     const beginTransaction = ( connection ) => {
  5.         return new Promise((resolve, reject) => {
  6.             connection.beginTransaction((err) => {
  7.                 if ( err ) reject(err)
  8.        
  9.                 resolve(connection)
  10.             })
  11.         })
  12.     }
  13.  
  14.     //Adiciona o usuário, propriamente dito, no banco
  15.     const addUser = ( user ) => ( connection ) => {
  16.        
  17.         const cpf = user.cpf
  18.         const name = user.name
  19.         const mail = user.mail
  20.         const password = user.password
  21.         const genre = user.genre
  22.  
  23.         const fields = {
  24.             cpf: cpf,
  25.             nome: name,
  26.             email: mail,
  27.             senha: password,
  28.             sexo: genre
  29.         }
  30.  
  31.         return new Promise((resolve, reject) => {
  32.             connection.query('INSERT INTO usuarios SET ?', fields, (error, results, fields) => {
  33.                 if ( error ) {
  34.                     return connection.rollback(() => {
  35.                         reject(error)
  36.                     })
  37.                 }
  38.  
  39.                 resolve(results.insertId)
  40.             })
  41.         })
  42.     }
  43.    
  44.     //Vincula o endereço informado ao último cliente cadastrado
  45.     const addUserAddress = ( address ) => ( last_id ) => {
  46.  
  47.         const id_usuario = last_id
  48.         const cep = address.cep
  49.         const logradouro = address.logradouro
  50.         const numero = address.numero
  51.         const complemento = address.complemento
  52.         const bairro = address.bairro
  53.         const cidade = address.cidade
  54.         const uf = address.uf
  55.  
  56.         return new Promise((resolve, reject) => {
  57.             resolve(last_id)
  58.         })
  59.     }
  60.  
  61.     return new Promise((resolve, reject) => {
  62.         beginTransaction(connection)
  63.         .then(addUser(obj))
  64.         .then(addUserAddress(connection))
  65.         .catch(error => reject(error))
  66.     })
  67. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement