From 1086fcbc287d7e84a07574246cb2fb4e523be0f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sybren=20A=2E=20St=C3=BCvel?= Date: Thu, 19 May 2022 16:04:10 +0200 Subject: [PATCH] OAPI: Regenerate code --- addon/flamenco/manager/__init__.py | 2 +- addon/flamenco/manager/api_client.py | 2 +- addon/flamenco/manager/configuration.py | 2 +- .../manager/docs/AvailableJobSetting.md | 2 +- .../docs/AvailableJobSettingVisibility.md | 12 + .../manager/model/available_job_setting.py | 8 +- .../model/available_job_setting_visibility.py | 276 ++++++++++++++++++ addon/flamenco/manager/models/__init__.py | 1 + addon/flamenco/manager_README.md | 3 +- pkg/api/openapi_spec.gen.go | 241 +++++++-------- pkg/api/openapi_types.gen.go | 18 +- web/app/src/manager-api/ApiClient.js | 2 +- web/app/src/manager-api/index.js | 7 + .../manager-api/model/AvailableJobSetting.js | 9 +- .../model/AvailableJobSettingVisibility.js | 60 ++++ 15 files changed, 509 insertions(+), 136 deletions(-) create mode 100644 addon/flamenco/manager/docs/AvailableJobSettingVisibility.md create mode 100644 addon/flamenco/manager/model/available_job_setting_visibility.py create mode 100644 web/app/src/manager-api/model/AvailableJobSettingVisibility.js diff --git a/addon/flamenco/manager/__init__.py b/addon/flamenco/manager/__init__.py index 9fb11e3e..b79d8cee 100644 --- a/addon/flamenco/manager/__init__.py +++ b/addon/flamenco/manager/__init__.py @@ -10,7 +10,7 @@ """ -__version__ = "7753e65b" +__version__ = "476f5841" # import ApiClient from flamenco.manager.api_client import ApiClient diff --git a/addon/flamenco/manager/api_client.py b/addon/flamenco/manager/api_client.py index a4dbc994..f502011b 100644 --- a/addon/flamenco/manager/api_client.py +++ b/addon/flamenco/manager/api_client.py @@ -76,7 +76,7 @@ class ApiClient(object): self.default_headers[header_name] = header_value self.cookie = cookie # Set default User-Agent. - self.user_agent = 'Flamenco/7753e65b (Blender add-on)' + self.user_agent = 'Flamenco/476f5841 (Blender add-on)' def __enter__(self): return self diff --git a/addon/flamenco/manager/configuration.py b/addon/flamenco/manager/configuration.py index f15467b8..75f2bee9 100644 --- a/addon/flamenco/manager/configuration.py +++ b/addon/flamenco/manager/configuration.py @@ -404,7 +404,7 @@ conf = flamenco.manager.Configuration( "OS: {env}\n"\ "Python Version: {pyversion}\n"\ "Version of the API: 1.0.0\n"\ - "SDK Package Version: 7753e65b".\ + "SDK Package Version: 476f5841".\ format(env=sys.platform, pyversion=sys.version) def get_host_settings(self): diff --git a/addon/flamenco/manager/docs/AvailableJobSetting.md b/addon/flamenco/manager/docs/AvailableJobSetting.md index 5f74c901..9d7d8846 100644 --- a/addon/flamenco/manager/docs/AvailableJobSetting.md +++ b/addon/flamenco/manager/docs/AvailableJobSetting.md @@ -13,7 +13,7 @@ Name | Type | Description | Notes **description** | **bool, date, datetime, dict, float, int, list, str, none_type** | The description/tooltip shown in the user interface. | [optional] **default** | **bool, date, datetime, dict, float, int, list, str, none_type** | The default value shown to the user when determining this setting. | [optional] **eval** | **str** | Python expression to be evaluated in order to determine the default value for this setting. | [optional] -**visible** | **bool** | Whether to show this setting in the UI of a job submitter (like a Blender add-on). Set to `false` when it is an internal setting that shouldn't be shown to end users. | [optional] if omitted the server will use the default value of True +**visible** | [**AvailableJobSettingVisibility**](AvailableJobSettingVisibility.md) | | [optional] **required** | **bool** | Whether to immediately reject a job definition, of this type, without this particular setting. | [optional] if omitted the server will use the default value of False **editable** | **bool** | Whether to allow editing this setting after the job has been submitted. Would imply deleting all existing tasks for this job, and recompiling it. | [optional] if omitted the server will use the default value of False **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] diff --git a/addon/flamenco/manager/docs/AvailableJobSettingVisibility.md b/addon/flamenco/manager/docs/AvailableJobSettingVisibility.md new file mode 100644 index 00000000..1f75044b --- /dev/null +++ b/addon/flamenco/manager/docs/AvailableJobSettingVisibility.md @@ -0,0 +1,12 @@ +# AvailableJobSettingVisibility + +When to show this setting. `visible`: always show. `submission`: only show in the UI of a job submitter (like a Blender add-on). `web`: only show in the web interface for management, but not when submitting the job. `hidden`: never show; only available to the job compiler script as internal setting. + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**value** | **str** | When to show this setting. `visible`: always show. `submission`: only show in the UI of a job submitter (like a Blender add-on). `web`: only show in the web interface for management, but not when submitting the job. `hidden`: never show; only available to the job compiler script as internal setting. | defaults to "visible", must be one of ["visible", "hidden", "submission", "web", ] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/addon/flamenco/manager/model/available_job_setting.py b/addon/flamenco/manager/model/available_job_setting.py index 3971be98..bc81c4f8 100644 --- a/addon/flamenco/manager/model/available_job_setting.py +++ b/addon/flamenco/manager/model/available_job_setting.py @@ -32,8 +32,10 @@ from flamenco.manager.exceptions import ApiAttributeError def lazy_import(): from flamenco.manager.model.available_job_setting_subtype import AvailableJobSettingSubtype from flamenco.manager.model.available_job_setting_type import AvailableJobSettingType + from flamenco.manager.model.available_job_setting_visibility import AvailableJobSettingVisibility globals()['AvailableJobSettingSubtype'] = AvailableJobSettingSubtype globals()['AvailableJobSettingType'] = AvailableJobSettingType + globals()['AvailableJobSettingVisibility'] = AvailableJobSettingVisibility class AvailableJobSetting(ModelNormal): @@ -97,7 +99,7 @@ class AvailableJobSetting(ModelNormal): 'description': (bool, date, datetime, dict, float, int, list, str, none_type,), # noqa: E501 'default': (bool, date, datetime, dict, float, int, list, str, none_type,), # noqa: E501 'eval': (str,), # noqa: E501 - 'visible': (bool,), # noqa: E501 + 'visible': (AvailableJobSettingVisibility,), # noqa: E501 'required': (bool,), # noqa: E501 'editable': (bool,), # noqa: E501 } @@ -172,7 +174,7 @@ class AvailableJobSetting(ModelNormal): description (bool, date, datetime, dict, float, int, list, str, none_type): The description/tooltip shown in the user interface.. [optional] # noqa: E501 default (bool, date, datetime, dict, float, int, list, str, none_type): The default value shown to the user when determining this setting.. [optional] # noqa: E501 eval (str): Python expression to be evaluated in order to determine the default value for this setting.. [optional] # noqa: E501 - visible (bool): Whether to show this setting in the UI of a job submitter (like a Blender add-on). Set to `false` when it is an internal setting that shouldn't be shown to end users. . [optional] if omitted the server will use the default value of True # noqa: E501 + visible (AvailableJobSettingVisibility): [optional] # noqa: E501 required (bool): Whether to immediately reject a job definition, of this type, without this particular setting. . [optional] if omitted the server will use the default value of False # noqa: E501 editable (bool): Whether to allow editing this setting after the job has been submitted. Would imply deleting all existing tasks for this job, and recompiling it. . [optional] if omitted the server will use the default value of False # noqa: E501 """ @@ -268,7 +270,7 @@ class AvailableJobSetting(ModelNormal): description (bool, date, datetime, dict, float, int, list, str, none_type): The description/tooltip shown in the user interface.. [optional] # noqa: E501 default (bool, date, datetime, dict, float, int, list, str, none_type): The default value shown to the user when determining this setting.. [optional] # noqa: E501 eval (str): Python expression to be evaluated in order to determine the default value for this setting.. [optional] # noqa: E501 - visible (bool): Whether to show this setting in the UI of a job submitter (like a Blender add-on). Set to `false` when it is an internal setting that shouldn't be shown to end users. . [optional] if omitted the server will use the default value of True # noqa: E501 + visible (AvailableJobSettingVisibility): [optional] # noqa: E501 required (bool): Whether to immediately reject a job definition, of this type, without this particular setting. . [optional] if omitted the server will use the default value of False # noqa: E501 editable (bool): Whether to allow editing this setting after the job has been submitted. Would imply deleting all existing tasks for this job, and recompiling it. . [optional] if omitted the server will use the default value of False # noqa: E501 """ diff --git a/addon/flamenco/manager/model/available_job_setting_visibility.py b/addon/flamenco/manager/model/available_job_setting_visibility.py new file mode 100644 index 00000000..5bdfdfa6 --- /dev/null +++ b/addon/flamenco/manager/model/available_job_setting_visibility.py @@ -0,0 +1,276 @@ +""" + Flamenco manager + + Render Farm manager API # noqa: E501 + + The version of the OpenAPI document: 1.0.0 + Generated by: https://openapi-generator.tech +""" + + +import re # noqa: F401 +import sys # noqa: F401 + +from flamenco.manager.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from flamenco.manager.exceptions import ApiAttributeError + + + +class AvailableJobSettingVisibility(ModelSimple): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + + Attributes: + allowed_values (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + with a capitalized key describing the allowed value and an allowed + value. These dicts store the allowed enum values. + validations (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + that stores validations for max_length, min_length, max_items, + min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, + inclusive_minimum, and regex. + additional_properties_type (tuple): A tuple of classes accepted + as additional properties values. + """ + + allowed_values = { + ('value',): { + 'VISIBLE': "visible", + 'HIDDEN': "hidden", + 'SUBMISSION': "submission", + 'WEB': "web", + }, + } + + validations = { + } + + additional_properties_type = None + + _nullable = False + + @cached_property + def openapi_types(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + + Returns + openapi_types (dict): The key is attribute name + and the value is attribute type. + """ + return { + 'value': (str,), + } + + @cached_property + def discriminator(): + return None + + + attribute_map = {} + + read_only_vars = set() + + _composed_schemas = None + + required_properties = set([ + '_data_store', + '_check_type', + '_spec_property_naming', + '_path_to_item', + '_configuration', + '_visited_composed_classes', + ]) + + @convert_js_args_to_python_args + def __init__(self, *args, **kwargs): + """AvailableJobSettingVisibility - a model defined in OpenAPI + + Note that value can be passed either in args or in kwargs, but not in both. + + Args: + args[0] (str): When to show this setting. `visible`: always show. `submission`: only show in the UI of a job submitter (like a Blender add-on). `web`: only show in the web interface for management, but not when submitting the job. `hidden`: never show; only available to the job compiler script as internal setting. . if omitted defaults to "visible", must be one of ["visible", "hidden", "submission", "web", ] # noqa: E501 + + Keyword Args: + value (str): When to show this setting. `visible`: always show. `submission`: only show in the UI of a job submitter (like a Blender add-on). `web`: only show in the web interface for management, but not when submitting the job. `hidden`: never show; only available to the job compiler script as internal setting. . if omitted defaults to "visible", must be one of ["visible", "hidden", "submission", "web", ] # noqa: E501 + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + """ + # required up here when default value is not given + _path_to_item = kwargs.pop('_path_to_item', ()) + + if 'value' in kwargs: + value = kwargs.pop('value') + elif args: + args = list(args) + value = args.pop(0) + else: + value = "visible" + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + self.value = value + if kwargs: + raise ApiTypeError( + "Invalid named arguments=%s passed to %s. Remove those invalid named arguments." % ( + kwargs, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, *args, **kwargs): + """AvailableJobSettingVisibility - a model defined in OpenAPI + + Note that value can be passed either in args or in kwargs, but not in both. + + Args: + args[0] (str): When to show this setting. `visible`: always show. `submission`: only show in the UI of a job submitter (like a Blender add-on). `web`: only show in the web interface for management, but not when submitting the job. `hidden`: never show; only available to the job compiler script as internal setting. . if omitted defaults to "visible", must be one of ["visible", "hidden", "submission", "web", ] # noqa: E501 + + Keyword Args: + value (str): When to show this setting. `visible`: always show. `submission`: only show in the UI of a job submitter (like a Blender add-on). `web`: only show in the web interface for management, but not when submitting the job. `hidden`: never show; only available to the job compiler script as internal setting. . if omitted defaults to "visible", must be one of ["visible", "hidden", "submission", "web", ] # noqa: E501 + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + """ + # required up here when default value is not given + _path_to_item = kwargs.pop('_path_to_item', ()) + + self = super(OpenApiModel, cls).__new__(cls) + + if 'value' in kwargs: + value = kwargs.pop('value') + elif args: + args = list(args) + value = args.pop(0) + else: + value = "visible" + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + self.value = value + if kwargs: + raise ApiTypeError( + "Invalid named arguments=%s passed to %s. Remove those invalid named arguments." % ( + kwargs, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + return self diff --git a/addon/flamenco/manager/models/__init__.py b/addon/flamenco/manager/models/__init__.py index 0d14b1a6..720dd7d1 100644 --- a/addon/flamenco/manager/models/__init__.py +++ b/addon/flamenco/manager/models/__init__.py @@ -13,6 +13,7 @@ from flamenco.manager.model.assigned_task import AssignedTask from flamenco.manager.model.available_job_setting import AvailableJobSetting from flamenco.manager.model.available_job_setting_subtype import AvailableJobSettingSubtype from flamenco.manager.model.available_job_setting_type import AvailableJobSettingType +from flamenco.manager.model.available_job_setting_visibility import AvailableJobSettingVisibility from flamenco.manager.model.available_job_type import AvailableJobType from flamenco.manager.model.available_job_types import AvailableJobTypes from flamenco.manager.model.command import Command diff --git a/addon/flamenco/manager_README.md b/addon/flamenco/manager_README.md index 391ac5f7..3511c8aa 100644 --- a/addon/flamenco/manager_README.md +++ b/addon/flamenco/manager_README.md @@ -4,7 +4,7 @@ Render Farm manager API The `flamenco.manager` package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project: - API version: 1.0.0 -- Package version: 7753e65b +- Package version: 476f5841 - Build package: org.openapitools.codegen.languages.PythonClientCodegen For more information, please visit [https://flamenco.io/](https://flamenco.io/) @@ -102,6 +102,7 @@ Class | Method | HTTP request | Description - [AvailableJobSetting](flamenco\manager\docs/AvailableJobSetting.md) - [AvailableJobSettingSubtype](flamenco\manager\docs/AvailableJobSettingSubtype.md) - [AvailableJobSettingType](flamenco\manager\docs/AvailableJobSettingType.md) + - [AvailableJobSettingVisibility](flamenco\manager\docs/AvailableJobSettingVisibility.md) - [AvailableJobType](flamenco\manager\docs/AvailableJobType.md) - [AvailableJobTypes](flamenco\manager\docs/AvailableJobTypes.md) - [Command](flamenco\manager\docs/Command.md) diff --git a/pkg/api/openapi_spec.gen.go b/pkg/api/openapi_spec.gen.go index b3a0f74d..64f51b6b 100644 --- a/pkg/api/openapi_spec.gen.go +++ b/pkg/api/openapi_spec.gen.go @@ -18,126 +18,127 @@ import ( // Base64 encoded, gzipped, json marshaled Swagger object var swaggerSpec = []string{ - "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", - "rt9c//8AAAD//+w6HDYyhAAA", + "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", } // GetSwagger returns the content of the embedded swagger specification file diff --git a/pkg/api/openapi_types.gen.go b/pkg/api/openapi_types.gen.go index 4d00658b..034ce57b 100644 --- a/pkg/api/openapi_types.gen.go +++ b/pkg/api/openapi_types.gen.go @@ -35,6 +35,17 @@ const ( AvailableJobSettingTypeString AvailableJobSettingType = "string" ) +// Defines values for AvailableJobSettingVisibility. +const ( + AvailableJobSettingVisibilityHidden AvailableJobSettingVisibility = "hidden" + + AvailableJobSettingVisibilitySubmission AvailableJobSettingVisibility = "submission" + + AvailableJobSettingVisibilityVisible AvailableJobSettingVisibility = "visible" + + AvailableJobSettingVisibilityWeb AvailableJobSettingVisibility = "web" +) + // Defines values for JobStatus. const ( JobStatusActive JobStatus = "active" @@ -162,8 +173,8 @@ type AvailableJobSetting struct { // Type of job setting, must be usable as IDProperty type in Blender. No nested structures (arrays, dictionaries) are supported. Type AvailableJobSettingType `json:"type"` - // Whether to show this setting in the UI of a job submitter (like a Blender add-on). Set to `false` when it is an internal setting that shouldn't be shown to end users. - Visible *bool `json:"visible,omitempty"` + // When to show this setting. `visible`: always show. `submission`: only show in the UI of a job submitter (like a Blender add-on). `web`: only show in the web interface for management, but not when submitting the job. `hidden`: never show; only available to the job compiler script as internal setting. + Visible *AvailableJobSettingVisibility `json:"visible,omitempty"` } // Sub-type of the job setting. Currently only available for string types. `HASHED_FILE_PATH` is a directory path + `"/######"` appended. @@ -172,6 +183,9 @@ type AvailableJobSettingSubtype string // Type of job setting, must be usable as IDProperty type in Blender. No nested structures (arrays, dictionaries) are supported. type AvailableJobSettingType string +// When to show this setting. `visible`: always show. `submission`: only show in the UI of a job submitter (like a Blender add-on). `web`: only show in the web interface for management, but not when submitting the job. `hidden`: never show; only available to the job compiler script as internal setting. +type AvailableJobSettingVisibility string + // Job type supported by this Manager, and its parameters. type AvailableJobType struct { Label string `json:"label"` diff --git a/web/app/src/manager-api/ApiClient.js b/web/app/src/manager-api/ApiClient.js index c761932e..8f6119cb 100644 --- a/web/app/src/manager-api/ApiClient.js +++ b/web/app/src/manager-api/ApiClient.js @@ -55,7 +55,7 @@ class ApiClient { * @default {} */ this.defaultHeaders = { - 'User-Agent': 'Flamenco/7753e65b / webbrowser' + 'User-Agent': 'Flamenco/476f5841 / webbrowser' }; /** diff --git a/web/app/src/manager-api/index.js b/web/app/src/manager-api/index.js index 0b2171b4..a13244f0 100644 --- a/web/app/src/manager-api/index.js +++ b/web/app/src/manager-api/index.js @@ -17,6 +17,7 @@ import AssignedTask from './model/AssignedTask'; import AvailableJobSetting from './model/AvailableJobSetting'; import AvailableJobSettingSubtype from './model/AvailableJobSettingSubtype'; import AvailableJobSettingType from './model/AvailableJobSettingType'; +import AvailableJobSettingVisibility from './model/AvailableJobSettingVisibility'; import AvailableJobType from './model/AvailableJobType'; import AvailableJobTypes from './model/AvailableJobTypes'; import Command from './model/Command'; @@ -126,6 +127,12 @@ export { */ AvailableJobSettingType, + /** + * The AvailableJobSettingVisibility model constructor. + * @property {module:model/AvailableJobSettingVisibility} + */ + AvailableJobSettingVisibility, + /** * The AvailableJobType model constructor. * @property {module:model/AvailableJobType} diff --git a/web/app/src/manager-api/model/AvailableJobSetting.js b/web/app/src/manager-api/model/AvailableJobSetting.js index 8fa179eb..c47da02a 100644 --- a/web/app/src/manager-api/model/AvailableJobSetting.js +++ b/web/app/src/manager-api/model/AvailableJobSetting.js @@ -14,6 +14,7 @@ import ApiClient from '../ApiClient'; import AvailableJobSettingSubtype from './AvailableJobSettingSubtype'; import AvailableJobSettingType from './AvailableJobSettingType'; +import AvailableJobSettingVisibility from './AvailableJobSettingVisibility'; /** * The AvailableJobSetting model module. @@ -79,7 +80,7 @@ class AvailableJobSetting { obj['eval'] = ApiClient.convertToType(data['eval'], 'String'); } if (data.hasOwnProperty('visible')) { - obj['visible'] = ApiClient.convertToType(data['visible'], 'Boolean'); + obj['visible'] = AvailableJobSettingVisibility.constructFromObject(data['visible']); } if (data.hasOwnProperty('required')) { obj['required'] = ApiClient.convertToType(data['required'], 'Boolean'); @@ -141,11 +142,9 @@ AvailableJobSetting.prototype['default'] = undefined; AvailableJobSetting.prototype['eval'] = undefined; /** - * Whether to show this setting in the UI of a job submitter (like a Blender add-on). Set to `false` when it is an internal setting that shouldn't be shown to end users. - * @member {Boolean} visible - * @default true + * @member {module:model/AvailableJobSettingVisibility} visible */ -AvailableJobSetting.prototype['visible'] = true; +AvailableJobSetting.prototype['visible'] = undefined; /** * Whether to immediately reject a job definition, of this type, without this particular setting. diff --git a/web/app/src/manager-api/model/AvailableJobSettingVisibility.js b/web/app/src/manager-api/model/AvailableJobSettingVisibility.js new file mode 100644 index 00000000..cd9f8aa3 --- /dev/null +++ b/web/app/src/manager-api/model/AvailableJobSettingVisibility.js @@ -0,0 +1,60 @@ +/** + * Flamenco manager + * Render Farm manager API + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + * + */ + +import ApiClient from '../ApiClient'; +/** +* Enum class AvailableJobSettingVisibility. +* @enum {} +* @readonly +*/ +export default class AvailableJobSettingVisibility { + + /** + * value: "visible" + * @const + */ + "visible" = "visible"; + + + /** + * value: "hidden" + * @const + */ + "hidden" = "hidden"; + + + /** + * value: "submission" + * @const + */ + "submission" = "submission"; + + + /** + * value: "web" + * @const + */ + "web" = "web"; + + + + /** + * Returns a AvailableJobSettingVisibility enum value from a Javascript object name. + * @param {Object} data The plain JavaScript object containing the name of the enum value. + * @return {module:model/AvailableJobSettingVisibility} The enum AvailableJobSettingVisibility value. + */ + static constructFromObject(object) { + return object; + } +} +