Class/Object

faunadb

FaunaClient

Related Docs: object FaunaClient | package faunadb

Permalink

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

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  5. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate() @throws( ... )
  6. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  7. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  8. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
    Annotations
    @HotSpotIntrinsicCandidate()
  9. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
    Annotations
    @HotSpotIntrinsicCandidate()
  10. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  11. def lastTxnTime: Long

    Permalink

    Get the freshest timestamp reported to this client.

  12. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  13. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate()
  14. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate()
  15. def query(exprs: Iterable[Expr], timeout: Option[FiniteDuration])(implicit ec: ExecutionContext): Future[IndexedSeq[Value]]

    Permalink

    Issues multiple queries as a single transaction.

    Issues multiple queries as a single transaction.

    exprs

    the queries to run.

    timeout

    the timeout for the current query. It replaces the timeout value set for this faunadb.FaunaClient if any, for the scope of this query. The timeout value has milliseconds precision.

    ec

    the ExecutionContext used to run the query asynchronously.

    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.

  16. def query(exprs: Iterable[Expr], timeout: FiniteDuration)(implicit ec: ExecutionContext): Future[IndexedSeq[Value]]

    Permalink

    Issues multiple queries as a single transaction.

    Issues multiple queries as a single transaction.

    exprs

    the queries to run.

    timeout

    the timeout for the current query. It replaces the timeout value set for this faunadb.FaunaClient if any, for the scope of this query. The timeout value has milliseconds precision.

    ec

    the ExecutionContext used to run the query asynchronously.

    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.

  17. def query(exprs: Iterable[Expr])(implicit ec: ExecutionContext): Future[IndexedSeq[Value]]

    Permalink

    Issues multiple queries as a single transaction.

    Issues multiple queries as a single transaction.

    exprs

    the queries to run.

    ec

    the ExecutionContext used to run the query asynchronously.

    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, timeout: Option[FiniteDuration])(implicit ec: ExecutionContext): Future[Value]

    Permalink

    Issues a query.

    Issues a query.

    expr

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

    timeout

    the timeout for the current query. It replaces the timeout value set for this faunadb.FaunaClient if any for the scope of this query. The timeout value has milliseconds precision.

    ec

    the ExecutionContext used to run the query asynchronously.

    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 query(expr: Expr, timeout: FiniteDuration)(implicit ec: ExecutionContext): Future[Value]

    Permalink

    Issues a query.

    Issues a query.

    expr

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

    timeout

    the timeout for the current query. It replaces the timeout value set for this faunadb.FaunaClient if any for the scope of this query. The timeout value has milliseconds precision.

    ec

    the ExecutionContext used to run the query asynchronously.

    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.

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

    Permalink

    Issues a query.

    Issues a query.

    expr

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

    ec

    the ExecutionContext used to run the query asynchronously.

    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.

  21. def queryWithMetrics(expr: Expr, timeout: Option[FiniteDuration])(implicit ec: ExecutionContext): Future[MetricsResponse]

    Permalink

    Issues a query.

    Issues a query.

    expr

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

    timeout

    the timeout for the current query. It replaces the timeout value set for this faunadb.FaunaClient if any for the scope of this query. The timeout value has milliseconds precision.

    ec

    the ExecutionContext used to run the query asynchronously.

    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.

  22. def sessionClient(secret: String): FaunaClient

    Permalink

    Create a new session client.

    Create a new session client. The returned session client shares its parent com.faunadb.common.Connection instance.

    secret

    user secret for the session client

    returns

    a new session client

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

    Permalink

    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.

    secret

    user secret for the session scope

    session

    a function that receives a session client

    returns

    the value produced by the session function

  24. def stream(expr: Expr, fields: Seq[EventField] = Nil, snapshot: Boolean = false)(implicit ec: ExecutionContext): Future[Publisher[Value]]

    Permalink

    Creates a subscription to the result of the given read-only expression.

    Creates a subscription to the result of the given read-only expression. When executed, the expression must only perform reads and produce a single streamable type, such as a reference or a version. Expressions that attempt to perform writes or produce non-streamable types will result in an error. Otherwise, any expression can be used to initiate a stream, including user-defined function calls.

    expr

    the query to subscribe to.

    fields

    fields to opt-in on the events.

    snapshot

    if true the second event will be a snapshot event of the target

    ec

    the ExecutionContext used to run the query asynchronously.

    returns

    A scala.concurrent.Future containing a java.util.concurrent.Flow.Publisher which yields element of type faunadb.values.Value. The scala.concurrent.Future fails if the stream cannot be setup.

  25. def syncLastTxnTime(timestamp: Long): Unit

    Permalink

    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.

  26. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  27. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  28. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  29. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  30. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Deprecated Value Members

  1. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @Deprecated @deprecated @throws( classOf[java.lang.Throwable] )
    Deprecated

    (Since version ) see corresponding Javadoc for more information.

Inherited from AnyRef

Inherited from Any

Ungrouped