在after中控制访问保存解析服务器以修改用户

Control access in afterSave Parse Server to modify User

提问人:Peter Julian 提问时间:11/3/2023 更新时间:11/3/2023 访问量:5

问:

在我的应用程序中,用户应该写入一些数据,一个类(名为),然后触发器应该添加该用户与数据的关系。因此,我使用ContributionsafterSave

final contribution = ParseObject('Contributions')
      ..set('contribution', newContrib)
      ..set('roundId', round.toPointer())
      ..set('commonId', common.toPointer())
      ..set('userId', user.toPointer())
      ..setACL(ParseACL(owner: user));

保存数据后,将触发呼叫。在此调用中,我想添加一个关系,从 到 中新添加的数据。但是,即使我指定了 ACL(见上文),由于afterSaveUserContributionsafterSave

我尝试了以下方法,这导致了 但是,我希望能够修改用户,因为我在 Flutter 代码中添加了 ACL。Parse error: Cannot modify user Yd9uidQxz9.

Parse.Cloud.afterSave("Contributions", async (request) => {
  const contribution = request.object.get('contribution');
  const round = request.object.get('roundId');
  await round.fetch();
  
  const user = request.object.get('userId');
  await user.fetch();

  const query = new Parse.Query('Rounds');
  
  query.get(round.id).then(
    function(round) {
    round.increment('contribution', contribution);
    round.save();
  }).then(function(savedRound) {
      const userRelation = user.relation('contributions');
      userRelation.add(request.object);
      return user.save();
    }).catch(function(error) {
    throw "Got an error " + error.code + " : " + error.message;
  });
});
flutter 解析服务器

评论


答: 暂无答案