Advertisement
Guest User

inscription modele

a guest
Aug 1st, 2017
595
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //Fonction d'inscription utilisateur
  2.  
  3. //username = 'toto'
  4. //email = 'aaa@aol.com'
  5.  
  6. //Lancement de la transaction (le callback doit retourner un Promise)
  7. this.sequelize.transaction((t: Transaction) => {
  8.    
  9.     //SELECT: on cherche s'il existe un user avec l'username
  10.     return User.findOne({
  11.         where: {username: username},
  12.         transaction://Il faut préciser que la transaction
  13.     }).then(data => {
  14.         if(data) {
  15.             //La recherche a retourné un résultat, inscription impossible
  16.             throw new Error('...'); //Provoque un ROLLBACK
  17.         }
  18.        
  19.         //SELECT: on cherche s'il existe un user avec l'email
  20.         return User.findOne({
  21.             where: {email: email},
  22.             transaction: t
  23.         }).then(data => {
  24.             if(data) {
  25.                 //La recherche a retourné un résultat, inscription impossible
  26.                 throw new Error('...'); //Provoque un ROLLBACK
  27.             }
  28.  
  29.             //etc...
  30.  
  31.         }).catch(err => {
  32.             //La requete a échouée (problème avec la BDD)
  33.             throw new Error('...'); //Provoque un ROLLBACK
  34.         });
  35.     }).catch(err => {
  36.         //La requete a échouée (problème avec la BDD)
  37.         throw new Error('...'); //Provoque un ROLLBACK
  38.     });
  39. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement