Skip to content

Commit

Permalink
Use default values as examples in OpenAPI
Browse files Browse the repository at this point in the history
  • Loading branch information
photino committed Aug 31, 2024
1 parent 5ebd871 commit e73e435
Show file tree
Hide file tree
Showing 7 changed files with 32 additions and 24 deletions.
1 change: 0 additions & 1 deletion zino-cli/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@ name = "zli"
path = "src/main.rs"

[dependencies]
env_logger = "0.11.5"
git2 = "0.19.0"
include_dir = "0.7.4"
log = "0.4.22"
Expand Down
13 changes: 2 additions & 11 deletions zino-cli/src/main.rs
Original file line number Diff line number Diff line change
@@ -1,19 +1,10 @@
use clap::Parser;
use std::env;
use zino_cli::{Cli, Subcommands::*};

fn main() {
env::set_var("RUST_LOG", "info");

let result = match Cli::parse().action() {
Init(opts) => {
env_logger::init();
opts.run()
}
New(opts) => {
env_logger::init();
opts.run()
}
Init(opts) => opts.run(),
New(opts) => opts.run(),
Serve(opts) => opts.run(),
};
if let Err(err) = result {
Expand Down
8 changes: 4 additions & 4 deletions zino-core/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -226,7 +226,7 @@ version = "0.5.3"
features = ["std"]

[dependencies.async-openai]
version = "0.23.4"
version = "0.24.0"
optional = true

[dependencies.card-validate]
Expand Down Expand Up @@ -271,7 +271,7 @@ version = "0.5.2"
optional = true

[dependencies.jwt-simple]
version = "0.12.9"
version = "0.12.10"
optional = true
default-features = false
features = ["pure-rust"]
Expand All @@ -292,7 +292,7 @@ optional = true
features = ["debug", "loader"]

[dependencies.opendal]
version = "0.49.1"
version = "0.49.2"
optional = true
default-features = false
features = ["layers-tracing"]
Expand Down Expand Up @@ -437,7 +437,7 @@ criterion = "0.5.1"
data-encoding = "2.6.0"
libsm = "0.6.0"
sm3 = "0.4.2"
sonic-rs = "0.3.11"
sonic-rs = "0.3.12"
tinyvec = { version = "1.8.0", features = ["alloc"] }
uuid-simd = "0.8.0"

Expand Down
28 changes: 23 additions & 5 deletions zino-core/src/openapi/parser.rs
Original file line number Diff line number Diff line change
Expand Up @@ -197,7 +197,10 @@ pub(super) fn parse_schema(config: &Table) -> Schema {
let mut object_builder = ObjectBuilder::new().schema_type(schema_type);
for (key, value) in config {
if key == "default" {
object_builder = object_builder.default(Some(value.to_json_value()));
let default_value = value.to_json_value();
object_builder = object_builder
.default(Some(default_value.clone()))
.example(Some(default_value));
} else if key == "example" {
object_builder = object_builder.example(Some(value.to_json_value()));
} else {
Expand Down Expand Up @@ -325,7 +328,10 @@ fn parse_array_schema(config: &Table) -> Array {
let mut array_builder = ArrayBuilder::new().items(item_schema);
for (key, value) in config {
if key == "default" {
array_builder = array_builder.default(Some(value.to_json_value()));
let default_value = value.to_json_value();
array_builder = array_builder
.default(Some(default_value.clone()))
.example(Some(default_value));
} else if key == "example" {
array_builder = array_builder.example(Some(value.to_json_value()));
} else {
Expand Down Expand Up @@ -466,7 +472,11 @@ fn parse_query_parameters(query: &Table) -> Vec<Parameter> {
} else {
parse_schema(config).into()
};
parameter_builder = parameter_builder.schema(Some(schema));
parameter_builder = parameter_builder
.schema(Some(schema))
.description(config.get_str("description"))
.explode(config.get_bool("explode"))
.allow_reserved(config.get_bool("allow_reserved"));
} else if let Some(basic_type) = value.as_str() {
let object = Object::with_type(parse_schema_type(basic_type));
parameter_builder = parameter_builder.schema(Some(object));
Expand All @@ -489,7 +499,11 @@ fn parse_header_parameters(headers: &Table) -> Vec<Parameter> {
} else {
parse_schema(config).into()
};
parameter_builder = parameter_builder.schema(Some(schema));
parameter_builder = parameter_builder
.schema(Some(schema))
.description(config.get_str("description"))
.explode(config.get_bool("explode"))
.allow_reserved(config.get_bool("allow_reserved"));
} else if let Some(basic_type) = value.as_str() {
let object = Object::with_type(parse_schema_type(basic_type));
parameter_builder = parameter_builder.schema(Some(object));
Expand All @@ -512,7 +526,11 @@ fn parse_cookie_parameters(cookies: &Table) -> Vec<Parameter> {
} else {
parse_schema(config).into()
};
parameter_builder = parameter_builder.schema(Some(schema));
parameter_builder = parameter_builder
.schema(Some(schema))
.description(config.get_str("description"))
.explode(config.get_bool("explode"))
.allow_reserved(config.get_bool("allow_reserved"));
} else if let Some(basic_type) = value.as_str() {
let object = Object::with_type(parse_schema_type(basic_type));
parameter_builder = parameter_builder.schema(Some(object));
Expand Down
2 changes: 1 addition & 1 deletion zino-derive/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ proc-macro = true
convert_case = "0.6.0"
proc-macro2 = "1.0.86"
quote = "1.0.37"
syn = "2.0.76"
syn = "2.0.77"

[dependencies.zino-core]
path = "../zino-core"
Expand Down
2 changes: 1 addition & 1 deletion zino-dioxus/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ version = "0.5.0"
optional = true

[dependencies.tokio]
version = "1.39.3"
version = "1.40.0"
features = ["time"]

[dependencies.uuid]
Expand Down
2 changes: 1 addition & 1 deletion zino/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -150,7 +150,7 @@ version = "2.0.0"
optional = true

[dependencies.tokio]
version = "1.39.3"
version = "1.40.0"
optional = true
features = [
"macros",
Expand Down

0 comments on commit e73e435

Please sign in to comment.