【发布时间】:2021-06-05 01:06:58
【问题描述】:
我有以下用户定义的安全角色,在创建名为 formEntryData 的集合时使用谓词函数。如果我没有下面的功能,现在我可以创建。
在创建函数选项下
Lambda("values", Equals(Identity(), Select(["data"], Var("values"))))
现在我正在使用以下代码创建一个请求,当通过选中该框将创建设置为全部时,该代码有效,但如果我使用上面的函数,它会因权限被拒绝而失败。我一定是做错了什么
import { query as q } from "faunadb";
import { serverClient } from "../../utils/fauna-auth";
import { authClient } from "../../utils/fauna-auth";
import { getAuthCookie } from "../../utils/auth-cookies";
export default async (req, res) => {
// const { firstName, lastName, telephone, creditCardNumber } = req.body;
const token = getAuthCookie(req);
console.log(token);
const data = req.body.data;
var element = req.body.data;
element["FormID"] = req.body.id;
try {
await authClient(token).query(
q.Create(q.Collection("FormEntryData"), {
data: element,
})
);
res.status(200).end();
} catch (e) {
res.status(500).json({ error: e.message });
}
};
任何帮助将不胜感激。
更新:我还为该集合添加了一个索引,并在角色中赋予它读取权限
【问题讨论】:
标签: javascript next.js faunadb