All Downloads are FREE. Search and download functionalities are using the official Maven repository.

scala.googleapis.bigquery.JoinRestrictionPolicy.scala Maven / Gradle / Ivy

There is a newer version: 0.6.1-v2-20241111
Show newest version
package googleapis.bigquery

import io.circe._
import io.circe.syntax._

final case class JoinRestrictionPolicy(
    /** Optional. The only columns that joins are allowed on. This field is must be specified for join_conditions JOIN_ANY and JOIN_ALL and it cannot be set for JOIN_BLOCKED.
      */
    joinAllowedColumns: Option[List[String]] = None,
    /** Optional. Specifies if a join is required or not on queries for the view. Default is JOIN_CONDITION_UNSPECIFIED.
      */
    joinCondition: Option[JoinRestrictionPolicyJoinCondition] = None,
)
object JoinRestrictionPolicy {
  implicit val encoder: Encoder[JoinRestrictionPolicy] = Encoder.instance { x =>
    Json.obj(
      "joinAllowedColumns" := x.joinAllowedColumns,
      "joinCondition" := x.joinCondition,
    )
  }
  implicit val decoder: Decoder[JoinRestrictionPolicy] = Decoder.instance { c =>
    for {
      v0 <- c.get[Option[List[String]]]("joinAllowedColumns")
      v1 <- c.get[Option[JoinRestrictionPolicyJoinCondition]]("joinCondition")
    } yield JoinRestrictionPolicy(v0, v1)

  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy