【发布时间】:2021-08-12 05:28:46
【问题描述】:
我在 Postgres 中使用 Hasura
是否可以允许用户将表中的列只增加一而不让他们更改整数?
例如,我害怕让用户“更新”“喜欢”
mutation update_likes {
update_article(
where: {id: {_eq: 1}},
_inc: {likes: 1}
) {
affected_rows
returning {
id
likes
}
}
}
我害怕用户将能够修改查询并将喜欢更新为他想要的数字。
谢谢!
P.S 代码是来自 hasura 官方网站的示例: https://hasura.io/blog/updating-data-using-mutations-on-hasura-graphql-87c7e22503bc/
【问题讨论】:
-
不要简单地通过用户输入来改变数字的值,而是简单地增加现有值。查看您的代码,您需要在 graphql 之外增加值才能进行自定义处理。至于用户角色的不同增量,那么只需获取他们的角色并有条件地允许他们根据他们的角色类型“incrementBy”。
-
在这种类型的用例中,我认为你应该考虑使用 hasura 动作。