Delete PFUser on Parse Server

92 Views Asked by At

Since Apple is requiring all apps that allow for account creation to also allow for account deletion in app, I am trying to update my app that uses Parse to follow guidelines. I have a CloudCode function set up:

Parse.Cloud.define("deleteUserWithId", function(request, response) {
        var userId = request.params.userId;
        var query = new Parse.Query(Parse.User);
        
        query.get(userId).then(function(user) {
           
            return user.destroy();  { useMasterKey: true }
        }).then(function() {
            response.success(user);
        }, function(error) {
            response.error(error);
        });
    });

I then call it from the app as:

PFUser *me = [[PFUser currentUser] fetch];
        NSString *objectID = me.username;
        [PFCloud callFunctionInBackground:@"deleteUserWithId"
                           withParameters:@{@"userId": objectID}
                                    block:^(NSString *success, NSError *error) {
                                        if (!error) {
                                            NSLog(@"Successful deletion");
                                        }
                                        else {
                                            NSLog(@"%@", error.description);
                                        }
                                    }];

The NSLog prints out "Successful deletion", but in my Parse database, the user still shows up. In Cloud Code section I get this message:

UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 2)
0

There are 0 best solutions below