Check out v4 of the Fauna CLI
v4 of the Fauna CLI is now in beta. The new version introduces enhancements to the developer experience, including an improved authentication workflow. To get started, check out the CLI v4 quick start. |
Role.firstWhere()
Description
Gets the first Role
document that
matches a provided predicate
function.
Staged schema
If a database has staged schema, this method interacts with the database’s staged schema, not the active schema.
Parameters
Parameter | Type | Required | Description |
---|---|---|---|
pred |
Yes |
Anonymous predicate function that:
The method returns the first |
Examples
Role.firstWhere(.name.includes("manager"))
{
name: "manager",
coll: Role,
ts: Time("2099-10-28T16:01:40.805Z"),
privileges: [
{
resource: "OrderItem",
actions: {
create: true,
read: true,
write: true,
delete: true
}
},
{
resource: "Customer",
actions: {
read: true
}
},
{
resource: "Manager",
actions: {
read: "(doc) => Query.identity() == doc && Date.today().dayOfWeek < 6"
}
},
{
resource: "getOrCreateCart",
actions: {
call: true
}
},
{
resource: "checkout",
actions: {
call: <<-END
(args) => {
let order = Order.byId(args[0])!
order?.customer == Query.identity()
}
END
}
}
],
membership: [
{
resource: "Manager"
},
{
resource: "User",
predicate: "(user) => user.accessLevel == \"manager\""
}
]
}
Is this article helpful?
Tell Fauna how the article can be improved:
Visit Fauna's forums
or email docs@fauna.com
Thank you for your feedback!