<?php

declare (strict_types=1);
namespace idoit\Module\JDisc\Graphql\Schema\Model;

use Axtiva\FlexibleGraphql\Type\InputType;

/**
 * This code is @generated by axtiva/flexible-graphql-php do not edit it
 * PHP representation of graphql type CustomReportInput
 * The custom report definition. A custom report is defined by the properties it displays and optional conditions on properties. * @property mixed $creationTime = null The custom report creation time.
 * @property null|string $description = null The description of the custom report
 * @property mixed $inventoryUserGroupId = null The usergroup id of the user of the custom report
 * @property mixed $inventoryUserId = null The user id of the user of the custom report
 * @property mixed $modificationTime = null The custom report modification time.
 * @property null|string $name = null The name of the custom report
 * @property null|CustomReportInputInputType $parentCustomReport = null The xml description of the custom report
 * @property null|string $sqlQuery = null The sql query of the custom report
 * @property null|CustomReportTypeEnum $type = null The type of the custom report
 * @property null|string $xmlDescription = null The xml description of the custom report
 */
final class CustomReportInputInputType extends InputType
{
    protected function decorate($name, $value)
    {
        if ($value === null) {
            return null;
        }

        if ($name === 'parentCustomReport') {
            return new CustomReportInputInputType($value);
        }

        if ($name === 'type') {
            return new CustomReportTypeEnum($value);
        }

        return $value;
    }
}