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!