Exemple #1
0
        private static void WriteJsonSchema(OpenApiSchema schema,
                                            IEnumerable <SqlFieldDescription> props,
                                            NamingMappingHandler namingMappingHandler)
        {
            schema.Type = "object";
            var names = namingMappingHandler.GetNames(props.Select(p => p.Name))
                        .GetEnumerator();

            if (schema.Xml == null)
            {
                schema.Xml = new OpenApiXml();
            }
            schema.Xml.Name = "tr";//it's always tr
            foreach (var prop in props)
            {
                OpenApiSchema property = new OpenApiSchema();
                property.Type = prop.DbType.JsType;
                if (prop.DbType.JsFormat != null)
                {
                    property.Format = prop.DbType.JsFormat;
                }
                property.Nullable = prop.IsNullable;

                names.MoveNext();
                schema.Properties.Add(names.Current, property);
            }
        }
 public DatabaseOperations(
     SPMiddlewareOptions sPMiddlewareOptions,
     SwaggerFromSPOptions options,
     SqlHelper sqlHelper,
     ILogger <DatabaseOperations> logger,
     DbConnection dbConnection,
     ParameterProvider parametersProvider,
     SerializerResolver serializerResolver,
     NamingMappingHandler namingMappingHandler,
     CodeConvention codeConvention,
     ConfigProvider configProvider,
     IWebHostEnvironment hostingEnvironment)
 {
     this.codeConvention      = codeConvention;
     this.hostingEnvironment  = hostingEnvironment;
     this.sPMiddlewareOptions = sPMiddlewareOptions;
     this.options             = options;
     this.sqlHelper           = sqlHelper;
     this.logger               = logger;
     this.serializerResolver   = serializerResolver;
     this.dbConnection         = dbConnection;
     this.parametersProvider   = parametersProvider;
     this.namingMappingHandler = namingMappingHandler;
     entities = configProvider.Entities;
 }
Exemple #3
0
 public TableValuedParameter(string webApiName,
                             DBObjectName userDefinedType,
                             SqlHelper sqlHelper,
                             NamingMappingHandler namingMappingHandler
                             ) : base(null, webApiName)
 {
     UserDefinedType           = userDefinedType;
     this.namingMappingHandler = namingMappingHandler;
     this.fields = sqlHelper.GetTableTypeFields(userDefinedType);
 }
 public TableValuedParameter(string webApiName,
                             DBObjectName userDefinedType,
                             NamingMappingHandler namingMappingHandler,
                             IReadOnlyCollection <SqlFieldDescription> fields
                             ) : base(null, webApiName)
 {
     UserDefinedType           = userDefinedType;
     this.namingMappingHandler = namingMappingHandler;
     this.fields = fields;
 }
 public DbApiParameter(string sqlName, string webApiName,
                       SqlType sqlType, bool isNullable,
                       DBObjectName userDefinedType,
                       SqlHelper sqlHelper,
                       NamingMappingHandler namingMappingHandler) : base(sqlName, webApiName)
 {
     this.DbType     = sqlType;
     this.IsNullable = isNullable;
     UserDefinedType = userDefinedType;
     if (userDefinedType != null)
     {
         this.TableParameter = new TableValuedParameter(
             GetSqlTypeWebApiName(this.UserDefinedType),
             this.UserDefinedType,
             sqlHelper, namingMappingHandler);
     }
 }
 public DbApiParameter(string sqlName, string webApiName,
                       SqlType sqlType, bool isNullable,
                       DBObjectName?userDefinedType,
                       IReadOnlyCollection <SqlFieldDescription>?userDefinedTypeFields,
                       NamingMappingHandler namingMappingHandler) : base(sqlName, webApiName)
 {
     this.DbType     = sqlType;
     this.IsNullable = isNullable;
     UserDefinedType = userDefinedType;
     if (userDefinedType != null)
     {
         this.TableParameter = new TableValuedParameter(
             GetSqlTypeWebApiName(userDefinedType),
             userDefinedType,
             namingMappingHandler, userDefinedTypeFields ?? throw new ArgumentNullException("userDefinedTypeFields"));
     }
 }
Exemple #7
0
        public DatabaseOperations(Microsoft.Extensions.Configuration.IConfiguration conf,
                                  SPMiddlewareOptions sPMiddlewareOptions,
                                  SwaggerFromSPOptions options,
                                  SqlHelper sqlHelper,
                                  ILogger <DatabaseOperations> logger,
                                  DbConnection dbConnection,
                                  ParameterProvider parametersProvider,
                                  NamingMappingHandler namingMappingHandler)
        {
            this.sPMiddlewareOptions = sPMiddlewareOptions;
            this.options             = options;
            this.sqlHelper           = sqlHelper;
            this.logger               = logger;
            this.dbConnection         = dbConnection;
            this.parametersProvider   = parametersProvider;
            this.namingMappingHandler = namingMappingHandler;
            var ent = conf.GetSection("Entities");

            entities = ent.GetChildren()
                       .Select(s => Entity.GetFromSection(s)).ToList();
        }
        private static void WriteJsonSchema(OpenApiSchema schema,
                                            IEnumerable <OutputParameter> props,
                                            NamingMappingHandler namingMappingHandler,
                                            bool addRequired,
                                            bool forSwagger2)
        {
            schema.Type = "object";
            var names = namingMappingHandler.GetNames(props.Select(p => p.SqlName))
                        .GetEnumerator();

            if (schema.Xml == null)
            {
                schema.Xml = new OpenApiXml();
            }
            schema.Xml.Name = "tr";//it's always tr
            if (schema.Required == null && addRequired)
            {
                schema.Required = new HashSet <string>();
            }
            foreach (var prop in props)
            {
                OpenApiSchema property = new OpenApiSchema();
                property.Type = prop.DbType.JsType;
                if (prop.DbType.JsFormat != null)
                {
                    property.Format = prop.DbType.JsFormat;
                }
                property.Nullable = true;
                if (forSwagger2)
                {
                    property.AddExtension("x-nullable", new OpenApiBoolean(true));
                }
                names.MoveNext();
                schema.Properties.Add(names.Current, property);
                if (addRequired)
                {
                    schema.Required !.Add(names.Current);
                }
            }
        }