Advertisement
Guest User

tabela

a guest
Nov 3rd, 2016
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.43 KB | None | 0 0
  1. 'use strict';
  2. var Adapter;
  3. var UserTable;
  4.  
  5. function setUser() {
  6. UserTable = Adapter.User;
  7. }
  8.  
  9. class User {
  10.  
  11. constructor(adapter) {
  12. Adapter = adapter;
  13. setUser();
  14. }
  15.  
  16. //create
  17. createUser(userB) {
  18. return new Promise(function(resolve, reject) {
  19. console.log(UserTable);
  20. UserTable.find({
  21. where: {
  22. email: userB.email
  23. }
  24. })
  25. .then(function(user) {
  26. if (user) {
  27. console.log("Error! Already has user with email " + email);
  28. //res.send(user);
  29. reject("Error! Already has user with email ");
  30. //return ("Erro! Já existe um usuário cadastrado com o email " + email);
  31. } else {
  32. console.log("cheguei");
  33. UserTable.create({
  34. userB
  35. }).then((user2) => {
  36. console.log("created user: " + JSON.stringify(user2.dataValues));
  37. resolve(user2);
  38. });
  39. }
  40. });
  41. });
  42. }
  43.  
  44. //TODO userB params
  45. readUser(email, userB) {
  46. return new Promise(function(resolve, reject) {
  47. UserTable.find({
  48. where: {
  49. email: email
  50. }
  51. }).then(function(user) {
  52. if (user) { // not found returns null
  53. console.log("found user: " + JSON.stringify(user.dataValues));
  54. console.log("\n\n");
  55. resolve(user);
  56.  
  57. } else {
  58. reject("Error! Not found");
  59. console.log("did not found user with email " + email);
  60. }
  61. });
  62. });
  63. };
  64.  
  65. readUsers() {
  66. return new Promise(function(resolve, reject) {
  67. UserTable.findAll({}).then(function(users) {
  68. resolve(users);
  69. });
  70. });
  71. };
  72.  
  73. updateUser(email, userB) {
  74. return new Promise(function(resolve, reject) {
  75. UserTable.update({
  76. userB
  77. }, {
  78. where: {
  79. email: email
  80. }
  81. }).then(() => {
  82. UserTable.find({
  83. where: {
  84. email: email
  85. }
  86. }).then(function(user) {
  87. if (user)
  88. resolve(user);
  89. else
  90. reject("Error! No user found");
  91. console.log('updated %d users to: (%s,%s,%s)', user, name, email, password, address, phone);
  92. });
  93. });
  94. });
  95. }
  96.  
  97. deleteUser(email) {
  98. // TODO falta verificar se a senha bate
  99. // TODO falta verificar se existe pedidos em andamento
  100. // TODO falta apagar os pedidos dependentes.
  101. return new Promise(function(resolve, reject) {
  102.  
  103. UserTable.destroy({
  104. where: {
  105. email: email
  106. }
  107. }).then(function(user) {
  108. if(!user){
  109. reject("Error! no user found")
  110. }
  111. resolve(user);
  112. console.log("removed %d users and references with email: %s", user, email);
  113. });
  114. });
  115.  
  116. }
  117.  
  118. auth(userB){
  119. var email = userB.email;
  120. var senha = userB.password;
  121. return new Promise(function (resolve,reject){
  122. UserTable.find({
  123. where: {email:email}
  124. }).then(function(user){
  125. if(!user){
  126. reject("Error! No user found")
  127. }else{
  128. if(user.password==senha){
  129. resolve(user);
  130. }else{
  131. reject("Error! Wrong password")
  132. }
  133.  
  134. }
  135. });
  136. });
  137. }
  138.  
  139. socialAuth(userB){
  140. var email = userB.email;
  141. var name = userB.name;
  142. return new Promise(function (resolve,reject){
  143. UserTable.find({
  144. where: {email:email}
  145. }).then(function(user){
  146. if(!user){
  147. UserTable.create({
  148. name: name,
  149. email: email
  150. }).then((user2) => {
  151. console.log("created user: " + JSON.stringify(user2.dataValues));
  152. resolve(user2);
  153. });
  154. }else{
  155. resolve(user);
  156. }
  157. });
  158. });
  159. }
  160.  
  161.  
  162.  
  163. }
  164.  
  165.  
  166. module.exports = {
  167. User: User
  168. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement