public ConvertDataRequest(
            string inputData,
            ConversionInputDataType inputDataType,
            string registryServer,
            bool isDefaultTemplateReference,
            string templateCollectionReference,
            string rootTemplate)
        {
            EnsureArg.IsNotNullOrEmpty(inputData, nameof(inputData));
            EnsureArg.IsNotNull <ConversionInputDataType>(inputDataType, nameof(inputDataType));
            EnsureArg.IsNotNull(registryServer, nameof(registryServer));
            EnsureArg.IsNotNull(templateCollectionReference, nameof(templateCollectionReference));
            EnsureArg.IsNotNullOrEmpty(rootTemplate, nameof(rootTemplate));

            InputData                   = inputData;
            InputDataType               = inputDataType;
            RegistryServer              = registryServer;
            IsDefaultTemplateReference  = isDefaultTemplateReference;
            TemplateCollectionReference = templateCollectionReference;
            RootTemplate                = rootTemplate;
        }
Exemplo n.º 2
0
        public async Task <IActionResult> ConvertData([FromBody] Parameters inputParams)
        {
            CheckIfConvertDataIsEnabled();

            ValidateParams(inputParams);

            string inputData = ReadStringParameter(inputParams, ConvertDataProperties.InputData);
            string templateCollectionReference = ReadStringParameter(inputParams, ConvertDataProperties.TemplateCollectionReference);
            string rootTemplate = ReadStringParameter(inputParams, ConvertDataProperties.RootTemplate);
            ConversionInputDataType inputDataType = ReadEnumParameter <ConversionInputDataType>(inputParams, ConvertDataProperties.InputDataType);

            // Validate template reference format.
            if (!ImageInfo.IsValidImageReference(templateCollectionReference))
            {
                _logger.LogInformation("Templates collection reference format is invalid.");
                throw new RequestNotValidException(string.Format(Resources.InvalidTemplateCollectionReference, templateCollectionReference));
            }

            // Validate template registry has been configured.
            bool   isDefaultTemplateReference = IsDefaultTemplateReference(templateCollectionReference);
            string registryServer             = ExtractRegistryServer(templateCollectionReference);

            if (!isDefaultTemplateReference)
            {
                CheckIfRegistryIsConfigured(registryServer);
            }

            var convertDataRequest       = new ConvertDataRequest(inputData, inputDataType, registryServer, isDefaultTemplateReference, templateCollectionReference, rootTemplate);
            ConvertDataResponse response = await _mediator.Send(convertDataRequest, cancellationToken : default);

            return(new ContentResult
            {
                Content = response.Resource,
                ContentType = "text/plain",
            });
        }