R/QueryRequestSql.r

# REST API
#
# Rockset's REST API allows for creating and managing all resources in Rockset. Each supported endpoint is documented below.  All requests must be authorized with a Rockset API key, which can be created in the [Rockset console](https://console.rockset.com). The API key must be provided as `ApiKey <api_key>` in the `Authorization` request header. For example: ``` Authorization: ApiKey aB35kDjg93J5nsf4GjwMeErAVd832F7ad4vhsW1S02kfZiab42sTsfW5Sxt25asT ```  All endpoints are only accessible via https.  Build something awesome!
#
# OpenAPI spec version: v1
# 
# Generated by: https://github.com/swagger-api/swagger-codegen.git


#' QueryRequestSql Class
#'
#' @field query 
#' @field parameters 
#'
#' @importFrom R6 R6Class
#' @importFrom jsonlite fromJSON toJSON
#' @export
QueryRequestSql <- R6::R6Class(
  'QueryRequestSql',
  public = list(
    `query` = NULL,
    `parameters` = NULL,
    initialize = function(`query`, `parameters`){
      if (!missing(`query`)) {
        stopifnot(is.character(`query`), length(`query`) == 1)
        self$`query` <- `query`
      }
      if (!missing(`parameters`) && length(`parameters`) != 0) {
        stopifnot(is.list(`parameters`))
        lapply(`parameters`, function(x) stopifnot(R6::is.R6(x)))
        self$`parameters` <- `parameters`
      }
    },
    toJSON = function() {
      QueryRequestSqlObject <- list()
      if (!is.null(self$`query`)) {
        QueryRequestSqlObject[['query']] <- self$`query`
      }
      if (!is.null(self$`parameters`)) {
        QueryRequestSqlObject[['parameters']] <- lapply(self$`parameters`, function(x) x$toJSON())
      }

      QueryRequestSqlObject
    },
    fromJSON = function(QueryRequestSqlJson) {
      QueryRequestSqlObject <- jsonlite::fromJSON(QueryRequestSqlJson)
      if (!is.null(QueryRequestSqlObject$`query`)) {
        self$`query` <- QueryRequestSqlObject$`query`
      }
      if (!is.null(QueryRequestSqlObject$`parameters`)) {
        self$`parameters` <- lapply(QueryRequestSqlObject$`parameters`, function(x) {
          parametersObject <- QueryParameter$new()
          parametersObject$fromJSON(jsonlite::toJSON(x, auto_unbox = TRUE))
          parametersObject
        })
      }
    },
    toJSONString = function() {
      params = ""
      for (p in self$`parameters`) {
        params = paste(p$toJSONString(), params, sep=",")
      }
      
      params <- substr(params, 1, nchar(params) - 1)
      
       sprintf(
        '{
           "query": "%s",
           "parameters": [%s]
        }',
        self$`query`,
        params
      )
    },
    fromJSONString = function(QueryRequestSqlJson) {
      QueryRequestSqlObject <- jsonlite::fromJSON(QueryRequestSqlJson)
      self$`query` <- QueryRequestSqlObject$`query`
      self$`parameters` <- lapply(QueryRequestSqlObject$`parameters`, function(x) QueryParameter$new()$fromJSON(jsonlite::toJSON(x, auto_unbox = TRUE)))
    }
  )
)
rockset/RRockset documentation built on June 20, 2019, 2:51 p.m.