Roles

Roles( [database] )
Roles( )
ScopedRole( name, database )
Roles( [database] )
Roles( [database] )
roles( [database] )
Roles( [database] )
Roles( [database] )

Description

The Roles function, when executed with Paginate, returns an Array of References for user-defined roles in the specified child database. If a child database is not specified, the role references returned all belong to the current database.

When a child database is specified, an admin key must be used to call Roles (server or client keys, or ABAC tokens, cannot be used to access a child database).

Also, Go does not support optional function parameters, nor function overloading. To specify a child database using the Go driver, call the ScopedRoles function instead of Roles.

Parameters

Argument Type Definition and requirements

database

Optional - A Reference to a child database. If not specified, the current database is used.

A Reference to a child database.

Optional - A Reference to a child database. If not specified, the current database is used.

Optional - A Reference to a child database. If not specified, the current database is used.

Optional - A Reference to a child database. If not specified, the current database is used.

Optional - A Reference to a child database. If not specified, the current database is used.

Returns

An Set Reference for the available user-defined roles in the specified child database (or the current database if database is not specified).

Examples

  1. The following query lists any user-defined roles (up to the pagination limit) in the current database:

    try
    {
        Value result = await client.Query(
            Paginate(Roles())
        );
        Console.WriteLine(result);
    }
    catch (Exception e)
    {
        Console.WriteLine($"ERROR: {e.Message}");
    }
    ObjectV(data: Arr(RefV(id = "employees", collection = RefV(id = "roles"))))
    result, err := client.Query(
    	f.Paginate(f.Roles()))
    
    if err != nil {
    	fmt.Fprintln(os.Stderr, err)
    } else {
    	fmt.Println(result)
    }
    map[data:[{employees 0xc00017e0c0 0xc00017e0c0 <nil>}]]
    System.out.println(
        client.query(
            Paginate(Roles())
        ).get());
    {data: [ref(id = "employees", collection = ref(id = "roles"))]}
    client.query(
      q.Paginate(q.Roles())
    )
    .then((result) => console.log(result))
    .catch((err) => console.error('Error: %s', err))
    { data: [ Role("employees") ] }
    result = client.query(
      q.paginate(q.roles())
    )
    print(result)
    {'data': [Ref(id=employees, collection=Ref(id=roles))]}
    try {
      println(Await.result(
        client.query(Paginate(Roles())),
        5.seconds
      ))
    } catch {
      case unknown: Throwable => println("Error: " + unknown.getMessage())
    }
    {data: [ref(id = "employees", collection = ref(id = "roles"))]}
    Paginate(Roles())
    { data: [ Role("employees") ] }
  2. The following query lists the References for any user-defined roles (up to the pagination limit) in a child database named "child_db":

    try
    {
        Value result = await client.Query(
            Paginate(Roles(Database("child_db")))
        );
        Console.WriteLine(result);
    }
    catch (Exception e)
    {
        Console.WriteLine($"ERROR: {e.Message}");
    }
    ObjectV(data: Arr())
    result, err := client.Query(
    	f.Paginate(f.ScopedRoles(f.Database("child_db"))))
    
    if err != nil {
    	fmt.Fprintln(os.Stderr, err)
    } else {
    	fmt.Println(result)
    }
    map[data:[]]
    System.out.println(
        client.query(
            Paginate(Roles(Database("child_db")))
        ).get());
    {data: []}
    client.query(
      q.Paginate(q.Roles(q.Database('child_db')))
    )
    .then((result) => console.log(result))
    .catch((err) => console.error('Error: %s', err))
    { data: [] }
    result = client.query(
      q.paginate(q.roles(q.database("child_db")))
    )
    print(result)
    {'data': []}
    try {
      println(Await.result(
        client.query(Paginate(Roles(Database("child_db")))),
        5.seconds
      ))
    } catch {
      case unknown: Throwable => println("Error: " + unknown.getMessage())
    }
    {data: []}
    Paginate(Roles(Database('child_db')))
    { data: [] }

Was this article helpful?

We're sorry to hear that.
Tell us how we can improve!
Visit Fauna's Discourse forums or email docs@fauna.com

Thank you for your feedback!