R/ProjectModel.r

# Dkube api server
#
# No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)
#
# OpenAPI spec version: 2.2.1.11
# 
# Generated by: https://github.com/swagger-api/swagger-codegen.git


#' ProjectModel Class
#'
#' @field name Name
#' @field description Description
#' @field image Image
#' @field leaderboard Leaderboard
#' @field id Id
#' @field owner Owner
#' @field last_updated Last Updated
#' @field details Project Details
#' @field eval_repo Eval Repo
#' @field eval_commit_id Eval Commit Id
#' @field eval_image Eval Image
#' @field eval_script Eval Script
#' @field eval_details Eval Details
#' @field submissions 
#' @field status 
#'
#' @importFrom R6 R6Class
#' @importFrom jsonlite fromJSON toJSON
#' @export
ProjectModel <- R6::R6Class(
  'ProjectModel',
  public = list(
    `name` = NULL,
    `description` = NULL,
    `image` = NULL,
    `leaderboard` = NULL,
    `id` = NULL,
    `owner` = NULL,
    `last_updated` = NULL,
    `details` = NULL,
    `eval_repo` = NULL,
    `eval_commit_id` = NULL,
    `eval_image` = NULL,
    `eval_script` = NULL,
    `eval_details` = NULL,
    `submissions` = NULL,
    `status` = NULL,
    initialize = function(`name`, `description`, `image`, `leaderboard`, `id`, `owner`, `last_updated`, `details`, `eval_repo`, `eval_commit_id`, `eval_image`, `eval_script`, `eval_details`, `submissions`, `status`){
      if (!missing(`name`)) {
        stopifnot(is.character(`name`), length(`name`) == 1)
        self$`name` <- `name`
      }
      if (!missing(`description`)) {
        stopifnot(is.character(`description`), length(`description`) == 1)
        self$`description` <- `description`
      }
      if (!missing(`image`)) {
        stopifnot(is.character(`image`), length(`image`) == 1)
        self$`image` <- `image`
      }
      if (!missing(`leaderboard`)) {
        self$`leaderboard` <- `leaderboard`
      }
      if (!missing(`id`)) {
        stopifnot(is.character(`id`), length(`id`) == 1)
        self$`id` <- `id`
      }
      if (!missing(`owner`)) {
        stopifnot(is.character(`owner`), length(`owner`) == 1)
        self$`owner` <- `owner`
      }
      if (!missing(`last_updated`)) {
        stopifnot(is.character(`last_updated`), length(`last_updated`) == 1)
        self$`last_updated` <- `last_updated`
      }
      if (!missing(`details`)) {
        stopifnot(is.character(`details`), length(`details`) == 1)
        self$`details` <- `details`
      }
      if (!missing(`eval_repo`)) {
        stopifnot(is.character(`eval_repo`), length(`eval_repo`) == 1)
        self$`eval_repo` <- `eval_repo`
      }
      if (!missing(`eval_commit_id`)) {
        stopifnot(is.character(`eval_commit_id`), length(`eval_commit_id`) == 1)
        self$`eval_commit_id` <- `eval_commit_id`
      }
      if (!missing(`eval_image`)) {
        stopifnot(is.character(`eval_image`), length(`eval_image`) == 1)
        self$`eval_image` <- `eval_image`
      }
      if (!missing(`eval_script`)) {
        stopifnot(is.character(`eval_script`), length(`eval_script`) == 1)
        self$`eval_script` <- `eval_script`
      }
      if (!missing(`eval_details`)) {
        stopifnot(is.character(`eval_details`), length(`eval_details`) == 1)
        self$`eval_details` <- `eval_details`
      }
      if (!missing(`submissions`)) {
        stopifnot(is.list(`submissions`), length(`submissions`) != 0)
        lapply(`submissions`, function(x) stopifnot(R6::is.R6(x)))
        self$`submissions` <- `submissions`
      }
      if (!missing(`status`)) {
        stopifnot(R6::is.R6(`status`))
        self$`status` <- `status`
      }
    },
    toJSON = function() {
      ProjectModelObject <- list()
      if (!is.null(self$`name`)) {
        ProjectModelObject[['name']] <- self$`name`
      }
      if (!is.null(self$`description`)) {
        ProjectModelObject[['description']] <- self$`description`
      }
      if (!is.null(self$`image`)) {
        ProjectModelObject[['image']] <- self$`image`
      }
      if (!is.null(self$`leaderboard`)) {
        ProjectModelObject[['leaderboard']] <- self$`leaderboard`
      }
      if (!is.null(self$`id`)) {
        ProjectModelObject[['id']] <- self$`id`
      }
      if (!is.null(self$`owner`)) {
        ProjectModelObject[['owner']] <- self$`owner`
      }
      if (!is.null(self$`last_updated`)) {
        ProjectModelObject[['last_updated']] <- self$`last_updated`
      }
      if (!is.null(self$`details`)) {
        ProjectModelObject[['details']] <- self$`details`
      }
      if (!is.null(self$`eval_repo`)) {
        ProjectModelObject[['eval_repo']] <- self$`eval_repo`
      }
      if (!is.null(self$`eval_commit_id`)) {
        ProjectModelObject[['eval_commit_id']] <- self$`eval_commit_id`
      }
      if (!is.null(self$`eval_image`)) {
        ProjectModelObject[['eval_image']] <- self$`eval_image`
      }
      if (!is.null(self$`eval_script`)) {
        ProjectModelObject[['eval_script']] <- self$`eval_script`
      }
      if (!is.null(self$`eval_details`)) {
        ProjectModelObject[['eval_details']] <- self$`eval_details`
      }
      if (!is.null(self$`submissions`)) {
        ProjectModelObject[['submissions']] <- lapply(self$`submissions`, function(x) x$toJSON())
      }
      if (!is.null(self$`status`)) {
        ProjectModelObject[['status']] <- self$`status`$toJSON()
      }

      ProjectModelObject
    },
    fromJSON = function(ProjectModelJson) {
      ProjectModelObject <- jsonlite::fromJSON(ProjectModelJson)
      if (!is.null(ProjectModelObject$`name`)) {
        self$`name` <- ProjectModelObject$`name`
      }
      if (!is.null(ProjectModelObject$`description`)) {
        self$`description` <- ProjectModelObject$`description`
      }
      if (!is.null(ProjectModelObject$`image`)) {
        self$`image` <- ProjectModelObject$`image`
      }
      if (!is.null(ProjectModelObject$`leaderboard`)) {
        self$`leaderboard` <- ProjectModelObject$`leaderboard`
      }
      if (!is.null(ProjectModelObject$`id`)) {
        self$`id` <- ProjectModelObject$`id`
      }
      if (!is.null(ProjectModelObject$`owner`)) {
        self$`owner` <- ProjectModelObject$`owner`
      }
      if (!is.null(ProjectModelObject$`last_updated`)) {
        self$`last_updated` <- ProjectModelObject$`last_updated`
      }
      if (!is.null(ProjectModelObject$`details`)) {
        self$`details` <- ProjectModelObject$`details`
      }
      if (!is.null(ProjectModelObject$`eval_repo`)) {
        self$`eval_repo` <- ProjectModelObject$`eval_repo`
      }
      if (!is.null(ProjectModelObject$`eval_commit_id`)) {
        self$`eval_commit_id` <- ProjectModelObject$`eval_commit_id`
      }
      if (!is.null(ProjectModelObject$`eval_image`)) {
        self$`eval_image` <- ProjectModelObject$`eval_image`
      }
      if (!is.null(ProjectModelObject$`eval_script`)) {
        self$`eval_script` <- ProjectModelObject$`eval_script`
      }
      if (!is.null(ProjectModelObject$`eval_details`)) {
        self$`eval_details` <- ProjectModelObject$`eval_details`
      }
      if (!is.null(ProjectModelObject$`submissions`)) {
        self$`submissions` <- lapply(ProjectModelObject$`submissions`, function(x) {
          submissionsObject <- SubmissionModel$new()
          submissionsObject$fromJSON(jsonlite::toJSON(x, auto_unbox = TRUE))
          submissionsObject
        })
      }
      if (!is.null(ProjectModelObject$`status`)) {
        statusObject <- ProjectStatusModel$new()
        statusObject$fromJSON(jsonlite::toJSON(ProjectModelObject$status, auto_unbox = TRUE))
        self$`status` <- statusObject
      }
    },
    toJSONString = function() {
       sprintf(
        '{
           "name": %s,
           "description": %s,
           "image": %s,
           "leaderboard": %s,
           "id": %s,
           "owner": %s,
           "last_updated": %s,
           "details": %s,
           "eval_repo": %s,
           "eval_commit_id": %s,
           "eval_image": %s,
           "eval_script": %s,
           "eval_details": %s,
           "submissions": [%s],
           "status": %s
        }',
        self$`name`,
        self$`description`,
        self$`image`,
        self$`leaderboard`,
        self$`id`,
        self$`owner`,
        self$`last_updated`,
        self$`details`,
        self$`eval_repo`,
        self$`eval_commit_id`,
        self$`eval_image`,
        self$`eval_script`,
        self$`eval_details`,
        lapply(self$`submissions`, function(x) paste(x$toJSON(), sep=",")),
        self$`status`$toJSON()
      )
    },
    fromJSONString = function(ProjectModelJson) {
      ProjectModelObject <- jsonlite::fromJSON(ProjectModelJson)
      self$`name` <- ProjectModelObject$`name`
      self$`description` <- ProjectModelObject$`description`
      self$`image` <- ProjectModelObject$`image`
      self$`leaderboard` <- ProjectModelObject$`leaderboard`
      self$`id` <- ProjectModelObject$`id`
      self$`owner` <- ProjectModelObject$`owner`
      self$`last_updated` <- ProjectModelObject$`last_updated`
      self$`details` <- ProjectModelObject$`details`
      self$`eval_repo` <- ProjectModelObject$`eval_repo`
      self$`eval_commit_id` <- ProjectModelObject$`eval_commit_id`
      self$`eval_image` <- ProjectModelObject$`eval_image`
      self$`eval_script` <- ProjectModelObject$`eval_script`
      self$`eval_details` <- ProjectModelObject$`eval_details`
      self$`submissions` <- lapply(ProjectModelObject$`submissions`, function(x) SubmissionModel$new()$fromJSON(jsonlite::toJSON(x, auto_unbox = TRUE)))
      ProjectStatusModelObject <- ProjectStatusModel$new()
      self$`status` <- ProjectStatusModelObject$fromJSON(jsonlite::toJSON(ProjectModelObject$status, auto_unbox = TRUE))
    }
  )
)
riteshkarvaloc/dkubeR documentation built on Feb. 25, 2021, 9:28 p.m.