Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Cannot delete Realm User

I login to Realm by SyncCredentials allow create User as code below:

SyncCredentials credentials = SyncCredentials.usernamePassword(username, password, true);
SyncUser.logInAsync(credentials, AUTH_URL, new SyncUser.Callback<SyncUser>() {
}

And after I want to delete this User on Realm with code below:

String id = SyncUser.current().getIdentity();
PermissionUser permissionUser = realm.where(PermissionUser.class).equalTo("id", id).findFirst();
if (permissionUser != null) {
    permissionUser.getPrivateRole().removeMember(id);
    permissionUser.getPrivateRole().deleteFromRealm();
    if (permissionUser.getRoles() != null) {
        permissionUser.getRoles().deleteAllFromRealm();
    }
    permissionUser.deleteFromRealm();
}

This code run successfully but I have checked on Realm Studio, this User still existed. Please help me this problem, thank you so much.

like image 361
Ben Jima Avatar asked Jun 24 '26 17:06

Ben Jima


1 Answers

All changes to data must happen in a transaction

source: https://realm.io/docs/java/latest/

example:

// obtain the results of a query
final RealmResults<Dog> results = realm.where(Dog.class).findAll();

realm.executeTransaction(new Realm.Transaction() {
@Override
public void execute(Realm realm) {
    // remove single match
    results.deleteFirstFromRealm();
    results.deleteLastFromRealm();

    // remove a single object
    Dog dog = results.get(5);
    dog.deleteFromRealm();

    // Delete all matches
    results.deleteAllFromRealm();
}
});
like image 172
DennisVA Avatar answered Jun 26 '26 06:06

DennisVA



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!