PFInstallation currentInstallation clearCache

时间:2017-08-03 08:06:33

标签: ios parse-platform

我们是否能够有力地清除PFInstallation数据?

当我想强制注销用户时,需要重新创建另一个PFInstallation。

当前问题: 新帐户正在使用旧帐户的PFInstallation,新帐户无法更新PF安装(在注销时清除它)。

其他可能的解决方案: 使用新帐户的数据通过云代码更新PFInstallation的ACL。这可能吗?

1 个答案:

答案 0 :(得分:1)

在安装的beforeSave触发器中,检查用户是否已设置。如果是这样,请关闭公共读/写访问权限并为该用户提供读/写访问权限。注销时,应删除用户,并且可以返回公共读/写访问权限。

Parse.Cloud.beforeSave(Parse.Installation, function(request, response) {
    var installation = request.object;
    if( installation.dirty("user") ) {
        var acl = new Parse.ACL();
        var user = installation.get("user");
        if( user ) {
            acl.setPublicReadAccess(false);
            acl.setPublicWriteAccess(false);
            acl.setReadAccess(user.id, true);
            acl.setWriteAccess(user.id, true);
        }
        else {
            acl.setPublicReadAccess(true);
            acl.setPublicWriteAccess(true);
        }
        installation.setACL(acl);
    }
    response.success();
});