绑架-限制用户仅删除/销毁与他有关的数据

时间:2019-04-20 10:42:45

标签: strapi

我想写几行内容,以防止用户删除他不拥有的数据。 如何自定义以下“破坏”部分?

    const https = require('https')
    const url = https.get('https://api.pro.coinbase.com/products/btc-eur/ticker')

    const myObject = JSON.parse(url)
    console.log(myObject)

预先感谢,复活节快乐。

2 个答案:

答案 0 :(得分:0)

我已经为我的应用做了同样的事情,请在下面的示例代码中找到:

findOne: async (ctx) => {
    var rent = await strapi.services.rent.fetch(ctx.params);
    var user = ctx.state.user;
    rent = rent.toJSON ? rent.toJSON() : rent;
    if (user.id === rent.tenant.user) {
      return rent;
    }
    else {
      return ctx.badRequest(null, 'Forbidden');
    }
  },

也许这不是最好的实现,但是效果很好:) 关键字“ await”很重要,因为您需要先等待完整的响应,然后才能验证响应(否则将返回“ undefined”)。

我认为您的代码将如下所示:

destroy: async (ctx, next) => {
  var contactnumber = await strapi.services.contactnumber.findOne(ctx.params);
  contactnumber = (contactnumber.toJSON ? contactnumber.toJSON() : contactnumber);
  if (ctx.state.user.id === contactnumber.user) {
     return strapi.services.contactnumber.remove(ctx.params);
  }
  else {
     return ctx.badRequest(null, 'Your error message');
  }
}

谢谢

答案 1 :(得分:0)

非常感谢Vanessa,

代码效果很好! :)

最诚挚的问候!