Advertisement
Guest User

Untitled

a guest
Jul 16th, 2016
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. 'use strict';
  2. var Adapter;
  3. var UserTable;
  4.  
  5. function setAdapter(adapter) {
  6.     Adapter = adapter;
  7.     setUser();
  8. }
  9.  
  10. function setUser() {
  11.     UserTable = Adapter.User;
  12. }
  13.  
  14. class User{
  15.  
  16.     constructor(){}
  17.  
  18.     //create
  19.     createUser (name, email,pass,address,phone){
  20.       return new Promise(function (resolve,reject){
  21.         UserTable.find({
  22.           where: {email : email}
  23.         })
  24.         .then(function(user){
  25.           if (user) {
  26.             console.log("error! already has user with email " + email);
  27.             //res.send(user);
  28.             reject(user);
  29.             //return ("Erro! Já existe um usuário cadastrado com o email " + email);
  30.           } else {
  31.             UserTable.create({
  32.               name: name,
  33.               email: email,
  34.               password: pass,
  35.               address:address,
  36.               phone: phone
  37.             }).then((user2) => {
  38.               console.log("created user: " + JSON.stringify(user2.dataValues) );
  39.               resolve(user2);
  40.             });
  41.           }
  42.         });
  43.     });
  44.     }
  45.  
  46.     readUser(email){ // get mesmo?
  47.         return new Promise(function (resolve,reject){
  48.         UserTable.find({
  49.             where: {email : email}
  50.         }).then(function(user){
  51.             if (user) { // not found returns null
  52.                     console.log("found user: " + JSON.stringify(user.dataValues) );
  53.                     console.log("\n\n");
  54.                     user.getKids().then((kids) => {
  55.                         var counter = 0;
  56.                         for (counter; counter < kids.length; counter++) {
  57.                             var values = kids[counter].dataValues;
  58.                             console.log(JSON.stringify(values)+"\n\n");
  59.                         }
  60.  
  61.                     });
  62.                     resolve (user);
  63.  
  64.             } else{
  65.                     reject ("not found");
  66.                 //res.send("Erro! Não encontrou usuário com email " + email);
  67.                 console.log("did not found user with email " + email);
  68.             }
  69.         });
  70.         });
  71.     };
  72.  
  73.     readUsers(){
  74.         return new Promise(function (resolve,reject){
  75.             UserTable.findAll({
  76.             }).then(function(users){
  77.                 resolve(users);
  78.             });
  79.         });
  80.     };
  81.  
  82.     updateUser(name, email,password,address,phone){
  83.         return new Promise(function (resolve,reject){
  84.             UserTable.update({
  85.                 name: name,
  86.                 email: email,
  87.                 password: password,
  88.                 address:address,
  89.                 phone: phone
  90.             }, { where : {email : email }
  91.             }).then((query) => {
  92.                 UserTable.find({
  93.                     where: {email : email}
  94.                 }).then(function(user){
  95.                     if (user)
  96.                         resolve (user);
  97.                     else
  98.                         reject (user);
  99.                     console.log('updated %d users to: (%s,%s,%s)',user,name,email,password,address,phone);
  100.                 });
  101.             });
  102.         });
  103.     }
  104.     deleteUser(email){
  105.     // TODO falta verificar se a senha bate
  106.     // TODO falta verificar se existe pedidos em andamento
  107.     // TODO falta apagar os pedidos e as crianças dependentes.
  108.         return new Promise(function (resolve,reject){
  109.  
  110.         UserTable.destroy({
  111.             where : { email: email}
  112.         }).then(function (user) {
  113.                 resolve([user]);
  114.             console.log("removed %d users and references with email: %s",user, email);
  115.         });
  116.         });
  117.  
  118.     }
  119.  
  120.  
  121. }
  122.  
  123.  
  124. module.exports = {
  125.     User: User,
  126.     setAdapter: setAdapter
  127. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement