@@ -87,7 +87,7 @@ export function transformKeyValue(schema, className, restKey, restValue, options
87
87
return transformWhere ( schema , className , s ) ;
88
88
} ) ;
89
89
return { key : '$and' , value : mongoSubqueries } ;
90
- default :
90
+ default :
91
91
// Other auth data
92
92
var authDataMatch = key . match ( / ^ a u t h D a t a \. ( [ a - z A - Z 0 - 9 _ ] + ) \. i d $ / ) ;
93
93
if ( authDataMatch ) {
@@ -224,7 +224,7 @@ function transformUpdate(schema, className, restUpdate) {
224
224
if ( className == '_User' ) {
225
225
restUpdate = transformAuthData ( restUpdate ) ;
226
226
}
227
-
227
+
228
228
var mongoUpdate = { } ;
229
229
var acl = transformACL ( restUpdate ) ;
230
230
if ( acl . _rperm || acl . _wperm ) {
@@ -260,7 +260,14 @@ function transformUpdate(schema, className, restUpdate) {
260
260
function transformAuthData ( restObject ) {
261
261
if ( restObject . authData ) {
262
262
Object . keys ( restObject . authData ) . forEach ( ( provider ) => {
263
- restObject [ `_auth_data_${ provider } ` ] = restObject . authData [ provider ] ;
263
+ let providerData = restObject . authData [ provider ] ;
264
+ if ( providerData == null ) {
265
+ restObject [ `_auth_data_${ provider } ` ] = {
266
+ __op : 'Delete'
267
+ }
268
+ } else {
269
+ restObject [ `_auth_data_${ provider } ` ] = providerData ;
270
+ }
264
271
} ) ;
265
272
delete restObject . authData ;
266
273
}
@@ -823,4 +830,3 @@ module.exports = {
823
830
transformWhere : transformWhere ,
824
831
untransformObject : untransformObject
825
832
} ;
826
-
0 commit comments