Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Fonction d'inscription utilisateur
- //username = 'toto'
- //email = 'aaa@aol.com'
- //Lancement de la transaction (le callback doit retourner un Promise)
- this.sequelize.transaction((t: Transaction) => {
- //SELECT: on cherche s'il existe un user avec l'username
- return User.findOne({
- where: {username: username},
- transaction: t //Il faut préciser que la transaction
- }).then(data => {
- if(data) {
- //La recherche a retourné un résultat, inscription impossible
- throw new Error('...'); //Provoque un ROLLBACK
- }
- //SELECT: on cherche s'il existe un user avec l'email
- return User.findOne({
- where: {email: email},
- transaction: t
- }).then(data => {
- if(data) {
- //La recherche a retourné un résultat, inscription impossible
- throw new Error('...'); //Provoque un ROLLBACK
- }
- //etc...
- }).catch(err => {
- //La requete a échouée (problème avec la BDD)
- throw new Error('...'); //Provoque un ROLLBACK
- });
- }).catch(err => {
- //La requete a échouée (problème avec la BDD)
- throw new Error('...'); //Provoque un ROLLBACK
- });
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement