PFInstallation currentInstallation clearCache
PFInstallation currentInstallation clearCache
我们可以强制清除 PFInstallation 数据吗?
当我想强制注销用户时需要它来重新创建另一个 PFInstallation。
当前问题:
新帐户正在使用旧帐户的 PFInstallation,新帐户无法更新 PFInstallation(注销时清除它)。
其他可能的解决方案:
使用新帐户的数据通过云代码更新 PFInstallation 的 ACL。这可能吗?
在安装的 beforeSave 触发器中,检查用户是否正在设置。如果是这样,请关闭 public read/write 访问权限并授予该用户 read/write 访问权限。注销时,用户应该被删除,你可以return public read/write访问。
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();
});
我们可以强制清除 PFInstallation 数据吗?
当我想强制注销用户时需要它来重新创建另一个 PFInstallation。
当前问题: 新帐户正在使用旧帐户的 PFInstallation,新帐户无法更新 PFInstallation(注销时清除它)。
其他可能的解决方案: 使用新帐户的数据通过云代码更新 PFInstallation 的 ACL。这可能吗?
在安装的 beforeSave 触发器中,检查用户是否正在设置。如果是这样,请关闭 public read/write 访问权限并授予该用户 read/write 访问权限。注销时,用户应该被删除,你可以return public read/write访问。
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();
});