有没有办法在嵌套突变中使用@can?

时间:2020-08-27 14:38:42

标签: php lumen laravel-lighthouse graphql-php

我正在与流明上的Lighthouse-Php一起使用,我很好地使用策略来检查用户对某些模型和所有事物的访问权限,但仅在主层级别上。有一种使用嵌套突变策略的方法吗?想象一下这样的嵌套模式。

UpdateMyOrder(input: UpdateOrderInput! @spread) : Order @update @can(ability:"update") #here @can works fine

input UpdateOrderInput{
  id: ID!
  estimates: EstimatesOperations @nest
}

input EstimatesOperations {
    update: UpdateEstimateInput @update(relation: "estimates")
}

input UpdateEstimateInput {
    id: ID!
    revisions: RevisionOperations @nest
}

input RevisionOperations {
    update: UpdateRevisionInput
        @can(ability: "update") # this can should work with RevisionPolicy, but it is not even called.
        @update(relation: "revisions")
}

input UpdateRevisionInput {
    id: ID!
    revision_status: String!
}

简而言之,订单具有估算,而估算具有修订。我可以在订单中使用 @can ,但不能在修订版中使用。有没有一种方法可以定义通过嵌套突变对突变修订版本的访问?

0 个答案:

没有答案