File tree Expand file tree Collapse file tree 2 files changed +32
-2
lines changed Expand file tree Collapse file tree 2 files changed +32
-2
lines changed Original file line number Diff line number Diff line change @@ -1026,6 +1026,32 @@ describe('Parse.User testing', () => {
10261026 } ) ;
10271027 } ) ;
10281028
1029+ it ( "login with provider should not call beforeSave trigger" , ( done ) => {
1030+ var provider = getMockFacebookProvider ( ) ;
1031+ Parse . User . _registerAuthenticationProvider ( provider ) ;
1032+ Parse . User . _logInWith ( "facebook" , {
1033+ success : function ( model ) {
1034+ Parse . User . logOut ( ) ;
1035+
1036+ Parse . Cloud . beforeSave ( Parse . User , function ( req , res ) {
1037+ res . error ( "Before save shouldn't be called on login" ) ;
1038+ } ) ;
1039+
1040+ Parse . User . _logInWith ( "facebook" , {
1041+ success : function ( innerModel ) {
1042+ Parse . Cloud . _removeHook ( 'Triggers' , 'beforeSave' , Parse . User . className ) ;
1043+ done ( ) ;
1044+ } ,
1045+ error : function ( model , error ) {
1046+ ok ( undefined , error ) ;
1047+ Parse . Cloud . _removeHook ( 'Triggers' , 'beforeSave' , Parse . User . className ) ;
1048+ done ( ) ;
1049+ }
1050+ } ) ;
1051+ }
1052+ } ) ;
1053+ } ) ;
1054+
10291055 it ( "link with provider" , ( done ) => {
10301056 var provider = getMockFacebookProvider ( ) ;
10311057 Parse . User . _registerAuthenticationProvider ( provider ) ;
Original file line number Diff line number Diff line change @@ -67,12 +67,12 @@ RestWrite.prototype.execute = function() {
6767 return this . handleInstallation ( ) ;
6868 } ) . then ( ( ) => {
6969 return this . handleSession ( ) ;
70+ } ) . then ( ( ) => {
71+ return this . validateAuthData ( ) ;
7072 } ) . then ( ( ) => {
7173 return this . runBeforeTrigger ( ) ;
7274 } ) . then ( ( ) => {
7375 return this . setRequiredFieldsIfNeeded ( ) ;
74- } ) . then ( ( ) => {
75- return this . validateAuthData ( ) ;
7676 } ) . then ( ( ) => {
7777 return this . transformUser ( ) ;
7878 } ) . then ( ( ) => {
@@ -136,6 +136,10 @@ RestWrite.prototype.validateSchema = function() {
136136// Runs any beforeSave triggers against this operation.
137137// Any change leads to our data being mutated.
138138RestWrite . prototype . runBeforeTrigger = function ( ) {
139+ if ( this . response ) {
140+ return ;
141+ }
142+
139143 // Avoid doing any setup for triggers if there is no 'beforeSave' trigger for this class.
140144 if ( ! triggers . triggerExists ( this . className , triggers . Types . beforeSave , this . config . applicationId ) ) {
141145 return Promise . resolve ( ) ;
You can’t perform that action at this time.
0 commit comments