def runQuery()

in app/services/BigQueryService.scala [40:65]


  def runQuery(queryString: String): ZIO[ZEnv, BigQueryError, TableResult] =
    effectBlocking {
      val queryConfig = QueryJobConfiguration
        .newBuilder(queryString)
        .setUseLegacySql(false)
        .build()

      var queryJob = bigQuery.create(JobInfo.of(queryConfig))

      queryJob = queryJob.waitFor(RetryOption.maxAttempts(0))

      Option(queryJob)

    }.flatMap {
      case None => ZIO.fail(BigQueryError("Cannot create query job"))
      case Some(job) =>
        Option(job.getStatus.getError) match {
          case None => ZIO.succeed(
            job.getQueryResults()
          )
          case Some(error) => ZIO.fail(BigQueryError("Cannot retrieve results"))
        }
    }.mapError(error => {
      logger.error(s"Error running query: $error")
      BigQueryError(error.toString)
    })