Role.where()
Learn: Roles |
---|
Get the Set of accessible Roles in the database.
Signature
Role.where(predicate: () => Boolean)) => Set<Role>
Role.where(predicate: (val: Role) => Boolean)) => Set<Role>
Description
Each Role in a Fauna database is represented by a Role
object. The
Role.where()
method gets the Set of accessible roles that match the
predicate function.
If Role.where()
is the last
value in a query, the first page of the Set
is returned.
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 |
---|---|---|---|
predicate |
Yes |
An anonymous function that compares values in each document and returns
|
Examples
Role.where(.name.includes("manager"))
{
data: [
{
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!