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; }
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")); } }
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); } } }