Warning:
Fauna is decommissioning FQL v4 on June 30, 2025.

This driver is not compatible with FQL v10, the latest version. Fauna accounts created after August 21, 2024 must use FQL v10.
Ensure you migrate existing projects to the official v10 driver by the v4 EOL date: https://github.com/fauna/fauna-jvm.

For more information, see the v4 end of life (EOL) announcement and related FAQ.

class FaunaClient extends AnyRef

The Scala native client for FaunaDB.

Create a new client using faunadb.FaunaClient.apply.

Query requests are made asynchronously: All methods will return a scala.concurrent.Future.

Example:

case class User(ref: RefV, name: String, age: Int)

val client = FaunaClient(secret = "myKeySecret")

val fut = client.query(Get(Ref(Class("users"), "123")))
val instance = Await.result(fut, 5.seconds)

val userCast =
  for {
    ref <- instance("ref").to[RefV]
    name <- instance("data", "name").to[String]
    age <- instance("data", "age").to[Int]
  } yield {
    User(ref, name, age)
  }

userCast.get
Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. FaunaClient
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new FaunaClient(connection: Connection)

    create a new client with a configured com.faunadb.common.Connection.

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  6. def close(): Unit

    Frees any resources held by the client and close the underlying connection.

  7. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  8. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  9. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  10. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
  11. def hashCode(): Int
    Definition Classes
    AnyRef → Any
  12. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  13. def lastTxnTime: Long

    Get the freshest timestamp reported to this client.

  14. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  15. final def notify(): Unit
    Definition Classes
    AnyRef
  16. final def notifyAll(): Unit
    Definition Classes
    AnyRef
  17. def query(exprs: Iterable[Expr])(implicit ec: ExecutionContext): Future[IndexedSeq[Value]]

    Issues multiple queries as a single transaction.

    Issues multiple queries as a single transaction.

    exprs

    the queries to run.

    returns

    A scala.concurrent.Future containing an IndexedSeq of the results of each query. Each result is an instance of faunadb.values.Value, which can be cast to a typed value using the faunadb.values.Field API. If *any* query fails, a failed future is returned.

  18. def query(expr: Expr)(implicit ec: ExecutionContext): Future[Value]

    Issues a query.

    Issues a query.

    expr

    the query to run, created using the query dsl helpers in faunadb.query.

    returns

    A scala.concurrent.Future containing the query result. The result is an instance of faunadb.values.Result, which can be cast to a typed value using the faunadb.values.Field API. If the query fails, failed future is returned.

  19. def sessionClient(secret: String): FaunaClient

    Create a new session client.

    Create a new session client. The returned session client shares its parent com.faunadb.common.Connection instance. The returned session client must be closed after its usage.

    secret

    user secret for the session client

    returns

    a new session client

  20. def sessionWith[A](secret: String)(session: (FaunaClient) ⇒ A): A

    Creates a new scope to execute session queries.

    Creates a new scope to execute session queries. Queries submitted within the session scope will be authenticated with the secret provided. A session client shares its parent's com.faunadb.common.Connection instance and is closed as soon as the session scope ends.

    secret

    user secret for the session scope

    session

    a function that receives a session client

    returns

    the value produced by the session function

  21. def syncLastTxnTime(timestamp: Long): Unit

    Sync the freshest timestamp seen by this client.

    Sync the freshest timestamp seen by this client.

    This has no effect if staler than currently stored timestamp. WARNING: This should be used only when coordinating timestamps across multiple clients. Moving the timestamp arbitrarily forward into the future will cause transactions to stall.

  22. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  23. def toString(): String
    Definition Classes
    AnyRef → Any
  24. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  25. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  26. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from AnyRef

Inherited from Any

Ungrouped