Ejemplo n.º 1
0
 /// <summary>Initializes a new instance of the <see cref="ParameterModel" /> class.</summary>
 /// <param name="typeName">The type name.</param>
 /// <param name="operation">The operation.</param>
 /// <param name="parameter">The parameter.</param>
 /// <param name="settings">The settings.</param>
 public ParameterModel(string typeName, SwaggerOperation operation, SwaggerParameter parameter, CodeGeneratorSettingsBase settings)
 {
     Type       = typeName;
     _operation = operation;
     _parameter = parameter;
     _settings  = settings;
 }
Ejemplo n.º 2
0
        /// <summary>Initializes a new instance of the <see cref="ClientGeneratorBase{TOperationModel, TParameterModel, TResponseModel}"/> class.</summary>
        /// <param name="document">The document.</param>
        /// <param name="settings">The code generator settings.</param>
        /// <param name="resolver">The type resolver.</param>
        protected ClientGeneratorBase(OpenApiDocument document, CodeGeneratorSettingsBase settings, TypeResolverBase resolver)
        {
            _document = document;
            Resolver  = resolver;

            settings.SchemaType = document.SchemaType; // enforce Swagger schema output
        }
Ejemplo n.º 3
0
 /// <summary>Initializes a new instance of the <see cref="TemplateFactory" /> class.</summary>
 /// <param name="settings">The settings.</param>
 /// <param name="assemblies">The assemblies.</param>
 public TemplateFactory(CodeGeneratorSettingsBase settings, string templateAssemblyName, List <Assembly> assemblies)
     : base(settings, assemblies?.ToArray())
 {
     Assemblies           = assemblies;
     TemplateAssemblyName = templateAssemblyName;
     TemplateDirectory    = settings.TemplateDirectory;
 }
Ejemplo n.º 4
0
        /// <summary>Initializes a new instance of the <see cref="PropertyModelBase"/> class.</summary>
        /// <param name="classTemplateModel">The class template model.</param>
        /// <param name="property">The property.</param>
        /// <param name="defaultValueGenerator">The default value generator.</param>
        /// <param name="settings">The settings.</param>
        protected PropertyModelBase(ClassTemplateModelBase classTemplateModel, JsonProperty property, DefaultValueGenerator defaultValueGenerator, CodeGeneratorSettingsBase settings)
        {
            _classTemplateModel    = classTemplateModel;
            _property              = property;
            _defaultValueGenerator = defaultValueGenerator;
            _settings              = settings;

            PropertyName = _settings.PropertyNameGenerator.Generate(_property);
        }
Ejemplo n.º 5
0
        /// <summary>Initializes a new instance of the <see cref="ResponseModelBase" /> class.</summary>
        /// <param name="statusCode">The status code.</param>
        /// <param name="response">The response.</param>
        /// <param name="isSuccessResponse">Specifies whether this is the success response.</param>
        /// <param name="exceptionSchema">The exception schema.</param>
        /// <param name="settings">The settings.</param>
        /// <param name="generator">The client generator.</param>
        protected ResponseModelBase(string statusCode, SwaggerResponse response, bool isSuccessResponse, JsonSchema4 exceptionSchema, CodeGeneratorSettingsBase settings, IClientGenerator generator)
        {
            _response        = response;
            _exceptionSchema = exceptionSchema;
            _generator       = generator;
            _settings        = settings;

            IsSuccess  = isSuccessResponse;
            StatusCode = statusCode;
        }
Ejemplo n.º 6
0
        /// <summary>Initializes a new instance of the <see cref="ParameterModel" /> class.</summary>
        /// <param name="typeName">The type name.</param>
        /// <param name="operation">The operation.</param>
        /// <param name="parameter">The parameter.</param>
        /// <param name="parameterName">Name of the parameter.</param>
        /// <param name="settings">The settings.</param>
        /// <param name="clientGeneratorBase">The client generator base.</param>
        public ParameterModel(string typeName, SwaggerOperation operation, SwaggerParameter parameter,
                              string parameterName, CodeGeneratorSettingsBase settings, ClientGeneratorBase clientGeneratorBase)
        {
            Type = typeName;
            Name = parameterName;

            _operation           = operation;
            _parameter           = parameter;
            _settings            = settings;
            _clientGeneratorBase = clientGeneratorBase;
        }
Ejemplo n.º 7
0
        /// <summary>Initializes a new instance of the <see cref="ParameterModel" /> class.</summary>
        /// <param name="typeName">The type name.</param>
        /// <param name="operation">The operation.</param>
        /// <param name="parameter">The parameter.</param>
        /// <param name="parameterName">Name of the parameter.</param>
        /// <param name="variableName">Name of the variable.</param>
        /// <param name="settings">The settings.</param>
        /// <param name="clientGeneratorBase">The client generator base.</param>
        public ParameterModel(string typeName, SwaggerOperation operation, SwaggerParameter parameter, 
            string parameterName, string variableName, CodeGeneratorSettingsBase settings, ClientGeneratorBase clientGeneratorBase)
        {
            Type = typeName;
            Name = parameterName;
            VariableName = variableName;

            _operation = operation;
            _parameter = parameter;
            _settings = settings;
            _clientGeneratorBase = clientGeneratorBase;
        }
Ejemplo n.º 8
0
 /// <summary>Initializes a new instance of the <see cref="ResponseModelBase" /> class.</summary>
 /// <param name="operationModel">The operation model.</param>
 /// <param name="statusCode">The status code.</param>
 /// <param name="response">The response.</param>
 /// <param name="isPrimarySuccessResponse">Specifies whether this is the success response.</param>
 /// <param name="exceptionSchema">The exception schema.</param>
 /// <param name="settings">The settings.</param>
 /// <param name="generator">The client generator.</param>
 protected ResponseModelBase(IOperationModel operationModel,
                             string statusCode, SwaggerResponse response, bool isPrimarySuccessResponse,
                             JsonSchema4 exceptionSchema, CodeGeneratorSettingsBase settings, IClientGenerator generator)
 {
     _response                 = response;
     _exceptionSchema          = exceptionSchema;
     _generator                = generator;
     _settings                 = settings;
     _isPrimarySuccessResponse = isPrimarySuccessResponse;
     _operationModel           = operationModel;
     StatusCode                = statusCode;
 }
Ejemplo n.º 9
0
 /// <summary>Initializes a new instance of the <see cref="CSharpParameterModel" /> class.</summary>
 /// <param name="parameterName">Name of the parameter.</param>
 /// <param name="variableName">Name of the variable.</param>
 /// <param name="typeName">The type name.</param>
 /// <param name="parameter">The parameter.</param>
 /// <param name="allParameters">All parameters.</param>
 /// <param name="settings">The settings.</param>
 /// <param name="generator">The client generator base.</param>
 /// <param name="typeResolver">The type resolver.</param>
 public CSharpParameterModel(
     string parameterName,
     string variableName,
     string typeName,
     OpenApiParameter parameter,
     IList <OpenApiParameter> allParameters,
     CodeGeneratorSettingsBase settings,
     IClientGenerator generator,
     TypeResolverBase typeResolver)
     : base(parameterName, variableName, typeName, parameter, allParameters, settings, generator, typeResolver)
 {
 }
Ejemplo n.º 10
0
        /// <summary>Initializes a new instance of the <see cref="ParameterModelBase" /> class.</summary>
        /// <param name="parameterName">Name of the parameter.</param>
        /// <param name="variableName">Name of the variable.</param>
        /// <param name="typeName">The type name.</param>
        /// <param name="parameter">The parameter.</param>
        /// <param name="allParameters">All parameters.</param>
        /// <param name="settings">The settings.</param>
        /// <param name="generator">The client generator base.</param>
        protected ParameterModelBase(string parameterName, string variableName, string typeName,
                                     SwaggerParameter parameter, IList <SwaggerParameter> allParameters, CodeGeneratorSettingsBase settings, IClientGenerator generator)
        {
            Type         = typeName;
            Name         = parameterName;
            VariableName = variableName;

            _allParameters = allParameters;
            _parameter     = parameter;
            _settings      = settings;
            _generator     = generator;
        }
Ejemplo n.º 11
0
        /// <summary>Initializes a new instance of the <see cref="PropertyModelBase"/> class.</summary>
        /// <param name="property">The property.</param>
        /// <param name="classTemplateModel">The class template model.</param>
        /// <param name="typeResolver">The type resolver.</param>
        /// <param name="settings">The settings.</param>
        protected PropertyModelBase(
            JsonSchemaProperty property,
            ClassTemplateModelBase classTemplateModel,
            TypeResolverBase typeResolver,
            CodeGeneratorSettingsBase settings)
        {
            _classTemplateModel = classTemplateModel;
            _property           = property;
            _settings           = settings;
            _typeResolver       = typeResolver;

            PropertyName = _settings.PropertyNameGenerator.Generate(_property);
        }
Ejemplo n.º 12
0
        /// <summary>Initializes a new instance of the <see cref="PropertyModelBase"/> class.</summary>
        /// <param name="property">The property.</param>
        /// <param name="classTemplateModel">The class template model.</param>
        /// <param name="valueGenerator">The default value generator.</param>
        /// <param name="settings">The settings.</param>
        protected PropertyModelBase(
            JsonProperty property,
            ClassTemplateModelBase classTemplateModel,
            ValueGeneratorBase valueGenerator,
            CodeGeneratorSettingsBase settings)
        {
            _classTemplateModel = classTemplateModel;
            _property           = property;
            ValueGenerator      = valueGenerator;
            _settings           = settings;

            PropertyName = _settings.PropertyNameGenerator.Generate(_property);
        }
Ejemplo n.º 13
0
        /// <summary>Initializes a new instance of the <see cref="ResponseModelBase" /> class.</summary>
        /// <param name="operationModel">The operation model.</param>
        /// <param name="operation">The operation.</param>
        /// <param name="statusCode">The status code.</param>
        /// <param name="response">The response.</param>
        /// <param name="isPrimarySuccessResponse">Specifies whether this is the success response.</param>
        /// <param name="exceptionSchema">The exception schema.</param>
        /// <param name="resolver">The resolver.</param>
        /// <param name="settings">The settings.</param>
        /// <param name="generator">The client generator.</param>
        protected ResponseModelBase(IOperationModel operationModel,
                                    SwaggerOperation operation,
                                    string statusCode, SwaggerResponse response, bool isPrimarySuccessResponse,
                                    JsonSchema4 exceptionSchema, TypeResolverBase resolver, CodeGeneratorSettingsBase settings, IClientGenerator generator)
        {
            _response        = response;
            _exceptionSchema = exceptionSchema;
            _generator       = generator;
            _settings        = settings;
            _resolver        = resolver;
            _operationModel  = operationModel;

            StatusCode = statusCode;
            IsPrimarySuccessResponse = isPrimarySuccessResponse;
            ActualResponseSchema     = response.GetActualResponseSchema(operation);
        }
Ejemplo n.º 14
0
        /// <summary>Initializes a new instance of the <see cref="ParameterModelBase" /> class.</summary>
        /// <param name="parameterName">Name of the parameter.</param>
        /// <param name="variableName">Name of the variable.</param>
        /// <param name="typeName">The type name.</param>
        /// <param name="parameter">The parameter.</param>
        /// <param name="allParameters">All parameters.</param>
        /// <param name="settings">The settings.</param>
        /// <param name="generator">The client generator base.</param>
        /// <param name="typeResolver">The type resolver.</param>
        protected ParameterModelBase(string parameterName, string variableName, string typeName,
                                     SwaggerParameter parameter, IList <SwaggerParameter> allParameters, CodeGeneratorSettingsBase settings,
                                     IClientGenerator generator, TypeResolverBase typeResolver)
        {
            _allParameters = allParameters;
            _parameter     = parameter;
            _settings      = settings;
            _generator     = generator;
            _typeResolver  = typeResolver;

            Type         = typeName;
            Name         = parameterName;
            VariableName = variableName;

            var propertyNameGenerator = settings?.PropertyNameGenerator ?? throw new InvalidOperationException("PropertyNameGenerator not set.");

            _properties = _parameter.ActualSchema.ActualProperties
                          .Select(p => new PropertyModel(p.Key, p.Value, propertyNameGenerator.Generate(p.Value)))
                          .ToList();
        }
Ejemplo n.º 15
0
 /// <summary>Initializes a new instance of the <see cref="ClientGeneratorBase{TOperationModel, TParameterModel, TResponseModel}"/> class.</summary>
 /// <param name="document">The document.</param>
 /// <param name="codeGeneratorSettings">The code generator settings.</param>
 /// <param name="resolver">The type resolver.</param>
 protected ClientGeneratorBase(SwaggerDocument document, CodeGeneratorSettingsBase codeGeneratorSettings, TypeResolverBase resolver)
 {
     Resolver = resolver;
     codeGeneratorSettings.SchemaType = document.SchemaType; // enforce Swagger schema output
 }
Ejemplo n.º 16
0
 /// <summary>Initializes a new instance of the <see cref="ClientGeneratorBase" /> class.</summary>
 /// <param name="resolver">The type resolver.</param>
 /// <param name="codeGeneratorSettings">The code generator settings.</param>
 protected ClientGeneratorBase(ITypeResolver resolver, CodeGeneratorSettingsBase codeGeneratorSettings)
 {
     Resolver = resolver;
     codeGeneratorSettings.NullHandling = NullHandling.Swagger; // Enforce Swagger null handling 
 }
Ejemplo n.º 17
0
 /// <summary>Initializes a new instance of the <see cref="ClientGeneratorBase{TOperationModel, TParameterModel, TResponseModel}"/> class.</summary>
 /// <param name="resolver">The type resolver.</param>
 /// <param name="codeGeneratorSettings">The code generator settings.</param>
 protected ClientGeneratorBase(ITypeResolver resolver, CodeGeneratorSettingsBase codeGeneratorSettings)
 {
     Resolver = resolver;
     codeGeneratorSettings.SchemaType = SchemaType.Swagger2; // enforce Swagger schema output
 }
Ejemplo n.º 18
0
 /// <summary>Initializes a new instance of the <see cref="CSharpParameterModel" /> class.</summary>
 /// <param name="parameterName">Name of the parameter.</param>
 /// <param name="variableName">Name of the variable.</param>
 /// <param name="typeName">The type name.</param>
 /// <param name="parameter">The parameter.</param>
 /// <param name="allParameters">All parameters.</param>
 /// <param name="settings">The settings.</param>
 /// <param name="generator">The client generator base.</param>
 public CSharpParameterModel(string parameterName, string variableName, string typeName, SwaggerParameter parameter,
                             IList <SwaggerParameter> allParameters, CodeGeneratorSettingsBase settings, IClientGenerator generator)
     : base(parameterName, variableName, typeName, parameter, allParameters, settings, generator,
            new CSharpValueGenerator(new CSharpTypeResolver((CSharpGeneratorSettings)settings), (CSharpGeneratorSettings)settings))
 {
 }
Ejemplo n.º 19
0
 /// <summary>Initializes a new instance of the <see cref="DefaultTemplateFactory" /> class.</summary>
 /// <param name="settings">The settings.</param>
 /// <param name="assemblies">The assemblies.</param>
 public DefaultTemplateFactory(CodeGeneratorSettingsBase settings, Assembly[] assemblies)
     : base(settings, assemblies)
 {
 }
Ejemplo n.º 20
0
 public PropertyModelBase(JsonProperty property, DefaultValueGenerator defaultValueGenerator, CodeGeneratorSettingsBase settings)
 {
     _property = property;
     _defaultValueGenerator = defaultValueGenerator;
     _settings = settings;
 }
Ejemplo n.º 21
0
 /// <summary>Initializes a new instance of the <see cref="CSharpParameterModel" /> class.</summary>
 /// <param name="parameterName">Name of the parameter.</param>
 /// <param name="variableName">Name of the variable.</param>
 /// <param name="typeName">The type name.</param>
 /// <param name="parameter">The parameter.</param>
 /// <param name="allParameters">All parameters.</param>
 /// <param name="settings">The settings.</param>
 /// <param name="generator">The client generator base.</param>
 public CSharpParameterModel(string parameterName, string variableName, string typeName, SwaggerParameter parameter,
                             IList <SwaggerParameter> allParameters, CodeGeneratorSettingsBase settings, IClientGenerator generator)
     : base(parameterName, variableName, typeName, parameter, allParameters, settings, generator)
 {
 }
Ejemplo n.º 22
0
 /// <summary>Initializes a new instance of the <see cref="ClientGeneratorBase" /> class.</summary>
 /// <param name="resolver">The type resolver.</param>
 /// <param name="codeGeneratorSettings">The code generator settings.</param>
 protected ClientGeneratorBase(ITypeResolver resolver, CodeGeneratorSettingsBase codeGeneratorSettings)
 {
     Resolver = resolver;
     codeGeneratorSettings.NullHandling = NullHandling.Swagger; // Enforce Swagger null handling
 }
Ejemplo n.º 23
0
 /// <summary>Initializes a new instance of the <see cref="CSharpResponseModel"/> class.</summary>
 /// <param name="operationModel">The operation model.</param>
 /// <param name="operation">The operation.</param>
 /// <param name="statusCode">The status code.</param>
 /// <param name="response">The response.</param>
 /// <param name="isPrimarySuccessResponse">Specifies whether this is the success response.</param>
 /// <param name="exceptionSchema">The exception schema.</param>
 /// <param name="generator">The client generator.</param>
 /// <param name="resolver">The resolver.</param>
 /// <param name="settings">The settings.</param>
 public CSharpResponseModel(IOperationModel operationModel, SwaggerOperation operation, string statusCode, SwaggerResponse response,
                            bool isPrimarySuccessResponse, JsonSchema4 exceptionSchema, IClientGenerator generator, TypeResolverBase resolver, CodeGeneratorSettingsBase settings)
     : base(operationModel, operation, statusCode, response, isPrimarySuccessResponse, exceptionSchema, resolver, settings, generator)
 {
 }
Ejemplo n.º 24
0
 public DotvvmCSharpParameterModel(string parameterName, string variableName, string typeName, SwaggerParameter parameter, IList <SwaggerParameter> allParameters, CodeGeneratorSettingsBase settings, IClientGenerator generator, DotvvmCSharpOperationModel operation) : base(parameterName, variableName, typeName, parameter, allParameters, settings, generator)
 {
     this.operation = operation;
 }
Ejemplo n.º 25
0
 /// <summary>Initializes a new instance of the <see cref="CSharpResponseModel"/> class.</summary>
 /// <param name="statusCode">The status code.</param>
 /// <param name="response">The response.</param>
 /// <param name="isPrimarySuccessResponse">Specifies whether this is the success response.</param>
 /// <param name="exceptionSchema">The exception schema.</param>
 /// <param name="generator">The client generator.</param>
 /// <param name="settings">The settings.</param>
 public CSharpResponseModel(string statusCode, SwaggerResponse response, bool isPrimarySuccessResponse, JsonSchema4 exceptionSchema, IClientGenerator generator, CodeGeneratorSettingsBase settings)
     : base(statusCode, response, isPrimarySuccessResponse, exceptionSchema, settings, generator)
 {
 }
Ejemplo n.º 26
0
 /// <summary>Initializes a new instance of the <see cref="DefaultTemplateFactory" /> class.</summary>
 /// <param name="settings">The settings.</param>
 public DefaultTemplateFactory(CodeGeneratorSettingsBase settings) : base(settings)
 {
 }
Ejemplo n.º 27
0
 public TemplateFactory(CodeGeneratorSettingsBase settings)
     : base(settings, null)
 {
     TemplateDirectory = settings.TemplateDirectory;
 }
 public SigSpecToTypeScriptGeneratorSettingsBase(CodeGeneratorSettingsBase codeGeneratorSettings)
 {
     this.CodeGeneratorSettings = codeGeneratorSettings;
 }
Ejemplo n.º 29
0
 public SigSpecToCSharpGeneratorSettingsBase(CodeGeneratorSettingsBase codeGeneratorSettings)
 {
     CodeGeneratorSettings = codeGeneratorSettings;
 }