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);
            }
        }
Exemple #2
0
        public override OpenApiSchema GetSchema()
        {
            OpenApiSchema schema = new OpenApiSchema();

            schema.Type = "object";
            var names = namingMappingHandler
                        .GetNames(fields.Select(f => f.Name))
                        .GetEnumerator();

            foreach (var prop in fields)
            {
                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);
            }
            return(schema);
        }
        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);
                }
            }
        }